]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
expmed: TRUNCATE value1 if needed in store_bit_field_using_insv
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
f2d01160
GA
12024-05-02 Jakub Jelinek <jakub@redhat.com>
2
3 * testsuite/libgomp.c/declare-variant-4.h (gfx90c, gfx1036, gfx1103):
4 New functions.
5 (f): Add #pragma omp declare variant directives for those.
6 * testsuite/libgomp.c/declare-variant-4-gfx90c.c: New test.
7 * testsuite/libgomp.c/declare-variant-4-gfx1036.c: New test.
8 * testsuite/libgomp.c/declare-variant-4-gfx1103.c: New test.
9
2781d809
GA
102024-04-26 Frederik Harwath <frederik@harwath.name>
11
12 * plugin/plugin-gcn.c (isa_hsa_name): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c.
13 (isa_code): Handle gfx90c.
14 (max_isa_vgprs): Handle EF_AMDGPU_MACH_AMDGCN_GFX90c.
15
9c7cf5d7
GA
162024-04-16 Chung-Lin Tang <cltang@baylibre.com>
17
18 * libgomp.h (REFCOUNT_ACC_MAP_DATA): Define as (REFCOUNT_SPECIAL | 2).
19 * oacc-mem.c (acc_map_data): Adjust to use REFCOUNT_ACC_MAP_DATA,
20 initialize dynamic_refcount as 1.
21 (acc_unmap_data): Adjust to use REFCOUNT_ACC_MAP_DATA,
22 (goacc_map_var_existing): Add REFCOUNT_ACC_MAP_DATA case.
23 (goacc_exit_datum_1): Add REFCOUNT_ACC_MAP_DATA case, respect
24 REFCOUNT_ACC_MAP_DATA when decrementing/finalizing. Force lowest
25 dynamic_refcount to be 1 for REFCOUNT_ACC_MAP_DATA.
26 (goacc_enter_data_internal): Add REFCOUNT_ACC_MAP_DATA case.
27 * target.c (gomp_increment_refcount): Return early for
28 REFCOUNT_ACC_MAP_DATA case.
29 (gomp_decrement_refcount): Likewise.
30 * testsuite/libgomp.oacc-c-c++-common/lib-96.c: New testcase.
31 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: Adjust
32 testcase error output scan test.
33
45532e3a
GA
342024-04-08 Thomas Schwinge <tschwinge@baylibre.com>
35
36 * plugin/plugin-gcn.c (init_hsa_context): Add and handle
37 'bool probe' parameter. Adjust all users; errors during device
38 probing are fatal.
39 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Aside from
40 'CUDA_ERROR_NO_DEVICE', errors during device probing are fatal.
41
1a96eb0a
GA
422024-04-05 Thomas Schwinge <tschwinge@baylibre.com>
43
44 * testsuite/libgomp.c/reverse-offload-sm30.c: Set 'GCC_COLORS' to the empty string.
45
462024-04-05 Jakub Jelinek <jakub@redhat.com>
47
48 PR c++/114572
49 * testsuite/libgomp.c++/pr114572.C: New test.
50
5192e72e
GA
512024-04-04 Tobias Burnus <tburnus@baylibre.com>
52
53 * libgomp.texi (TR12): Honor post-TR12 directive name change; add
54 item about curly braces/BLOCK permitted in canonical loop nests.
55
a1e6798a
GA
562024-04-02 Jakub Jelinek <jakub@redhat.com>
57
58 * libgomp.texi (OpenMP 5.2): Fix duplicated words; with with ->
59 with.
60 (omp_target_associate_ptr): Fix duplicated words; either either ->
61 either.
62 (omp_init_allocator): Fix duplicated words; be be -> be.
63 (omp_realloc): Fix duplicated words; is is -> is.
64 (OMP_ALLOCATOR): Fix duplicated words; other other -> other.
65 * priority_queue.h (priority_queue_multi_p): Fix duplicated words;
66 to to -> to.
67
7e6cdec4
GA
682024-03-25 Richard Biener <rguenther@suse.de>
69
70 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1036.
71 (gcn_gfx1103_s): New.
72 (isa_hsa_name): Handle gfx1036.
73 (isa_code): Likewise.
74 (max_isa_vgprs): Likewise.
75
e8985864
GA
762024-03-22 Kwok Cheung Yeung <kcyeung@baylibre.com>
77
78 * config/accel/target-indirect.c: Include string.h and hashtab.h.
79 Remove include of splay-tree.h. Update comments.
80 (splay_tree_prefix, splay_tree_c): Delete.
81 (struct indirect_map_t): New.
82 (hash_entry_type, htab_alloc, htab_free, htab_hash, htab_eq): New.
83 (GOMP_INDIRECT_ADD_MAP): Remove volatile qualifier.
84 (USE_SPLAY_TREE_LOOKUP): Rename to...
85 (USE_HASHTAB_LOOKUP): ..this.
86 (indirect_map, indirect_array): Delete.
87 (indirect_htab): New.
88 (build_indirect_map): Remove locking. Build indirect map using
89 hashtab.
90 (GOMP_target_map_indirect_ptr): Use indirect_htab to lookup target
91 address.
92 (GOMP_target_map_indirect_ptr): Remove volatile qualifier.
93 * config/gcn/team.c (gomp_gcn_enter_kernel): Call build_indirect_map
94 from first thread of first team only.
95 * config/nvptx/team.c (gomp_nvptx_main): Likewise.
96 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c (main):
97 Add missing break statements.
98 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: Remove
99 xfail.
100
1012024-03-22 Andrew Stubbs <ams@baylibre.com>
102
103 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): GFX1103.
104 (gcn_gfx1103_s): New.
105 (isa_hsa_name): Handle gfx1103.
106 (isa_code): Likewise.
107 (max_isa_vgprs): Likewise.
108
c1f6690b
GA
1092024-03-14 Thomas Schwinge <tschwinge@baylibre.com>
110
111 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: Fix 'char'
112 initialization, copy, check.
113
746b71e2
GA
1142024-03-13 Tobias Burnus <tburnus@baylibre.com>
115
116 PR fortran/114283
117 * testsuite/libgomp.fortran/declare-target-indirect-4.f90: New test.
118
f6d9426b
GA
1192024-03-12 Tobias Burnus <tburnus@baylibre.com>
120
121 * libgomp.texi (Device Memory Routines): Swap item order to match
122 the order of the '@node's of the '@subsection's.
123
c775a030
GA
1242024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
125
126 * plugin/plugin-gcn.c (GOMP_OFFLOAD_can_run): Don't consider
127 'GCN_SUPPRESS_HOST_FALLBACK' anymore (assume always-'true').
128 (init_hsa_context): Adjust 'GCN_SUPPRESS_HOST_FALLBACK' error
129 message.
130
1312024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
132
133 * plugin/plugin-nvptx.c (nvptx_get_num_devices):
134 'cuDeviceGetCount' failure is fatal.
135
1362024-03-08 Thomas Schwinge <tschwinge@baylibre.com>
137
138 * plugin/plugin-gcn.c (init_hsa_runtime_functions): Fatal error
139 for missing symbols.
140 * plugin/plugin-nvptx.c (init_cuda_lib): Likewise.
141
8b483cd5
GA
1422024-03-06 John David Anglin <danglin@gcc.gnu.org>
143
144 Revert:
145 2024-02-01 John David Anglin <danglin@gcc.gnu.org>
146
147 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
148 on 32-bit hppa.
149 * testsuite/libgomp.c/omp-loop03.c: Likewise.
150
264e3ad4
GA
1512024-03-04 Jakub Jelinek <jakub@redhat.com>
152
153 PR libgomp/114216
154 * target.c (gomp_target_rev): Change host_fn type and corresponding
155 cast from void (*)() to void (*) (void *).
156
306a4c32
GA
1572024-03-01 Jakub Jelinek <jakub@redhat.com>
158 Tobias Burnus <tburnus@baylibre.com>
159
160 PR c++/110347
161 * testsuite/libgomp.c++/target-lambda-3.C: Moved from
162 gcc/testsuite/g++.dg/gomp/ and fixed is-mapped handling.
163 * testsuite/libgomp.c++/target-lambda-1.C: Modify to also
164 also work without offloading.
165 * testsuite/libgomp.c++/firstprivate-1.C: New test.
166 * testsuite/libgomp.c++/firstprivate-2.C: New test.
167 * testsuite/libgomp.c++/private-1.C: New test.
168 * testsuite/libgomp.c++/private-2.C: New test.
169 * testsuite/libgomp.c++/target-lambda-4.C: New test.
170 * testsuite/libgomp.c++/use_device_ptr-1.C: New test.
171
6309ad25
GA
1722024-02-27 Tobias Burnus <tburnus@baylibre.com>
173
174 * libgomp.texi (OpenACC Runtime Library Routines): Document new 3.3
175 routines that simply map to their C counterpart.
176 * openacc.f90 (openacc): Add them.
177 * openacc_lib.h: Likewise.
178 * testsuite/libgomp.oacc-fortran/acc_host_device_ptr.f90: New test.
179 * testsuite/libgomp.oacc-fortran/acc-memcpy.f90: New test.
180 * testsuite/libgomp.oacc-fortran/acc-memcpy-2.f90: New test.
181 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Crossref to f90 test.
182 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
183 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
184
98004ca0
GA
1852024-02-21 Tobias Burnus <tburnus@baylibre.com>
186
187 * libgomp.texi (OpenMP Context Selectors): Add 'nvptx64' as additional
188 'arch' value for nvptx.
189
5c30ecfa
GA
1902024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
191
192 * libgomp.texi (OpenMP 5.1): Mark indirect call support as fully
193 implemented.
194
1952024-02-15 Kwok Cheung Yeung <kcyeung@baylibre.com>
196
197 * testsuite/libgomp.fortran/declare-target-indirect-1.f90: New.
198 * testsuite/libgomp.fortran/declare-target-indirect-2.f90: New.
199 * testsuite/libgomp.fortran/declare-target-indirect-3.f90: New.
200
bf074ee4
GA
2012024-02-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
202
203 PR testsuite/113448
204 * testsuite/libgomp.c/alloc-pinned-1.c [!__linux__] (CHECK_SIZE):
205 Call abort.
206 * testsuite/libgomp.c/alloc-pinned-2.c [!__linux__] (CHECK_SIZE):
207 Likewise.
208
cc136a0b
GA
2092024-02-11 John David Anglin <danglin@gcc.gnu.org>
210
211 PR libgomp/113843
212 * configure.tgt (hppa*-*-linux*): Define config_path.
213
e2554540
GA
2142024-02-01 John David Anglin <danglin@gcc.gnu.org>
215
216 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
217 on 32-bit hppa.
218 * testsuite/libgomp.c/omp-loop03.c: Likewise.
219
f0706819
GA
2202024-01-29 Tobias Burnus <tburnus@baylibre.com>
221
222 * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030
223 function not gfx90a for gfx1100/gfx1030 context selector.
224
ce9dae56
GA
2252024-01-26 Richard Biener <rguenther@suse.de>
226
227 * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out
228 agents with unsupported ISA.
229
2302024-01-26 Richard Biener <rguenther@suse.de>
231
232 * plugin/plugin-gcn.c
233 (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add.
234 (isa_code): Return that instead of -1.
235 (GOMP_OFFLOAD_init_device): Adjust.
236
2372024-01-26 Tobias Burnus <tburnus@baylibre.com>
238
239 * testsuite/libgomp.c/declare-variant-4.h: Add variant functions
240 for gfx1030 and gfx1100.
241 * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test.
242 * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test.
243
2442024-01-26 Andrew Stubbs <ams@baylibre.com>
245
246 * config/gcn/time.c (RTC_TICKS): Configure RDNA3.
247 (omp_get_wtime): Add RDNA3-compatible variant.
248 * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100.
249
2a9637b2
GA
2502024-01-24 Tobias Burnus <tburnus@baylibre.com>
251 Sandra Loosemore <sandra@codesourcery.com>
252
253 * libgomp.texi (Runtime Library Routines): Document
254 omp_pause_resource, omp_pause_resource_all and
255 omp_target_memcpy{,_rect}{,_async}.
256
e2d1f858
GA
2572024-01-22 Tobias Burnus <tburnus@baylibre.com>
258
259 * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
260 support is no longer enabled by default.
261 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
262
11a5f26c
GA
2632024-01-20 John David Anglin <danglin@gcc.gnu.org>
264
265 * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
266 timeout by 2 on hppa*-*-*.
267
2682024-01-20 John David Anglin <danglin@gcc.gnu.org>
269
270 * testsuite/libgomp.c/simd-math-1.c: Don't run on
271 hppa*-*-hpux*.
272
2c213ac9
GA
2732024-01-17 Jakub Jelinek <jakub@redhat.com>
274
275 PR middle-end/113409
276 * testsuite/libgomp.c/bitint-1.c: New test.
277
1a80e955
GA
2782024-01-11 Julian Brown <julian@codesourcery.com>
279
280 * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
281 * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
282 * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
283
45af8962
GA
2842024-01-10 Jakub Jelinek <jakub@redhat.com>
285
286 PR libgomp/113192
287 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
288 instead of \$(abs_top_srcdir)/testsuite/flock.
289 * configure: Regenerated.
290
73ce73fc
GA
2912024-01-09 Julian Brown <julian@codesourcery.com>
292
293 * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
294 now work.
295 * testsuite/libgomp.c++/baseptrs-6.C: New test.
296 * testsuite/libgomp.c++/ind-base-1.C: New test.
297 * testsuite/libgomp.c++/ind-base-2.C: New test.
298 * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
299 * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
300 * testsuite/libgomp.c++/map-comma-1.C: New test.
301 * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
302 * testsuite/libgomp.c++/struct-ref-1.C: New test.
303 * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
304 * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
305 * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
306
3072024-01-09 Jakub Jelinek <jakub@redhat.com>
308
309 PR libgomp/113192
310 * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
311 rather than $srcdir/testsuite/flock.
312 * configure: Regenerated.
313
6b1d6a2d
GA
3142024-01-08 Thomas Schwinge <thomas@codesourcery.com>
315
316 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
317 'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
318
3192024-01-08 Julian Brown <julian@codesourcery.com>
320
321 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
322 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
323 hsa_amd_memory_async_copy_rect_fn function pointers.
324 (init_hsa_runtime_functions): Add above functions, with
325 DLSYM_OPT_FN.
326 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
327
3282024-01-08 Tobias Burnus <tobias@codesourcery.com>
329
330 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
331 (gcn_isa_name_len): Fix length.
332 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
333
b368d799
GA
3342024-01-06 Tobias Burnus <tobias@codesourcery.com>
335
336 * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
337 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
338 omp_target_is_accessible.
339 (Environment Display Routine): Uncomment and add
340 omp_display_env description.
341 (OMP_DISPLAY_ENV): Update wording, add 'see also'.
342
3432024-01-06 Mark Wielaard <mark@klomp.org>
344
345 * configure: Regenerate.
346
eb84e8d3
GA
3472024-01-03 Jakub Jelinek <jakub@redhat.com>
348
349 * libgomp.texi: Bump @copying's copyright year.
350
cdfaa4aa
GA
3512023-12-21 Julian Brown <julian@codesourcery.com>
352
353 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
354
7ad9058c
GA
3552023-12-20 Julian Brown <julian@codesourcery.com>
356
357 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
358 avoid out-of-bounds array checks in CUDA runtime.
359 (GOMP_OFFLOAD_memcpy3d): Likewise.
360 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
361
08c5d26a
GA
3622023-12-18 Jakub Jelinek <jakub@redhat.com>
363
364 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
365 drop because of that unneeded target selector from other directives
366 and remove the aarch64 specific ones.
367
ea54b390
GA
3682023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
369
370 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
371 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
372
3732023-12-15 Thomas Schwinge <thomas@codesourcery.com>
374
375 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
376 'dg-output's to 'target offload_device_nonshared_as'.
377
3782023-12-15 Julian Brown <julian@codesourcery.com>
379
380 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
381 goacc_exit_data_internal, GOACC_enter_exit_data): Add
382 GOMP_MAP_STRUCT_UNORD support.
383 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
384 Detect incorrect use of variable indexing of arrays of structs.
385 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
386 GOMP_MAP_STRUCT_UNORD support.
387 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
388 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
389 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
390 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
391
e8018ccf
GA
3922023-12-13 Julian Brown <julian@codesourcery.com>
393
394 * testsuite/libgomp.fortran/map-subarray.f90: New test.
395 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
396 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
397 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
398 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
399 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
400 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
401 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
402 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
403 descriptor-mapping changes. Remove XFAIL.
404
4052023-12-13 Julian Brown <julian@codesourcery.com>
406
407 * target.c (gomp_map_pointer): Modify zero-length array section
408 pointer handling.
409 (gomp_attach_pointer): Likewise.
410 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
411 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
412 "unassociated" pointers).
413 (gomp_map_vars_internal): Handle zero-sized struct members. Add
414 diagnostic for unmapped struct pointer members.
415 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
416 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
417 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
418 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
419 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
420 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
421 "free".
422 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
423 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
424 * testsuite/libgomp.c++/class-array-1.C: New test.
425 * testsuite/libgomp.c++/baseptrs-3.C: New test.
426 * testsuite/libgomp.c++/baseptrs-4.C: New test.
427 * testsuite/libgomp.c++/baseptrs-5.C: New test.
428 * testsuite/libgomp.c++/baseptrs-8.C: New test.
429 * testsuite/libgomp.c++/baseptrs-9.C: New test.
430 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
431 * testsuite/libgomp.c++/target-48.C: New test.
432 * testsuite/libgomp.c++/target-49.C: New test.
433 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
434 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
435 semantics.
436 * testsuite/libgomp.c++/target-this-3.C: Likewise.
437 * testsuite/libgomp.c++/target-this-4.C: Likewise.
438 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
439 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
440
4412023-12-13 Thomas Schwinge <thomas@codesourcery.com>
442
443 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
444 vs. '%ld' format string mismatch.
445
4462023-12-13 Andrew Stubbs <ams@codesourcery.com>
447 Thomas Schwinge <thomas@codesourcery.com>
448
449 * allocator.c (MEMSPACE_ALLOC): Add PIN.
450 (MEMSPACE_CALLOC): Add PIN.
451 (MEMSPACE_REALLOC): Add PIN.
452 (MEMSPACE_FREE): Add PIN.
453 (MEMSPACE_VALIDATE): Add PIN.
454 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
455 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
456 (omp_aligned_calloc): Likewise.
457 (omp_realloc): Likewise.
458 (omp_free): Likewise.
459 * config/linux/allocator.c: New file.
460 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
461 (MEMSPACE_CALLOC): Add PIN.
462 (MEMSPACE_REALLOC): Add PIN.
463 (MEMSPACE_FREE): Add PIN.
464 (MEMSPACE_VALIDATE): Add PIN.
465 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
466 (MEMSPACE_CALLOC): Add PIN.
467 (MEMSPACE_REALLOC): Add PIN.
468 (MEMSPACE_FREE): Add PIN.
469 * libgomp.texi: Switch pinned trait to supported.
470 (MEMSPACE_VALIDATE): Add PIN.
471 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
472 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
473 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
474 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
475
d5c96225
GA
4762023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
477
478 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
479 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
480 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
481
4822023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
483
484 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
485 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
486
4872023-12-11 Tobias Burnus <tobias@codesourcery.com>
488
489 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
490
dd3b75d8
GA
4912023-12-08 Tobias Burnus <tobias@codesourcery.com>
492
493 * allocator.c (struct fort_alloc_splay_tree_key_s,
494 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
495 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
496 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
497 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
498 (GOMP_5.1.1): ... here.
499 * libgomp.texi (Impl. Status, Memory management): Update for
500 allocators/allocate directives.
501 * splay-tree.c: Handle splay_tree_static define to declare all
502 functions as static.
503 (splay_tree_lookup_node): New.
504 * splay-tree.h: Handle splay_tree_decl_only define.
505 (splay_tree_lookup_node): New prototype.
506 * target.c: Define splay_tree_static for 'reverse'.
507 * testsuite/libgomp.fortran/allocators-1.f90: New test.
508 * testsuite/libgomp.fortran/allocators-2.f90: New test.
509 * testsuite/libgomp.fortran/allocators-3.f90: New test.
510 * testsuite/libgomp.fortran/allocators-4.f90: New test.
511 * testsuite/libgomp.fortran/allocators-5.f90: New test.
512
ae9e48e5
GA
5132023-12-06 Andrew Stubbs <ams@codesourcery.com>
514
515 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
516 (TEAM_ARENA_FREE): Likewise.
517 (TEAM_ARENA_END): Likewise.
518 (GCN_LOWLAT_HEAP): New.
519 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
520 (__gcn_lowlat_init): New prototype.
521 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
522 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
523 (TEAM_ARENA_FREE): Likewise.
524 (TEAM_ARENA_END): Likewise.
525 * plugin/plugin-gcn.c (lowlat_size): New variable.
526 (print_kernel_dispatch): Label the group_segment_size purpose.
527 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
528 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
529 (run_kernel): Use shadow; don't assume values.
530 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
531 * config/gcn/allocator.c: New file.
532 * libgomp.texi: Document low-latency implementation details.
533
5342023-12-06 Andrew Stubbs <ams@codesourcery.com>
535
536 * allocator.c (MEMSPACE_VALIDATE): New macro.
537 (omp_init_allocator): Use MEMSPACE_VALIDATE.
538 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
539 (omp_aligned_calloc): Likewise.
540 (omp_realloc): Likewise.
541 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
542 (MEMSPACE_VALIDATE): New macro.
543 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
544 * libgomp.texi: Document low-latency implementation details.
545 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
546 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
547 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
548 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
549 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
550 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
551 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
552
5532023-12-06 Andrew Stubbs <ams@codesourcery.com>
554 Kwok Cheung Yeung <kcy@codesourcery.com>
555 Thomas Schwinge <thomas@codesourcery.com>
556
557 * allocator.c (MEMSPACE_ALLOC): New macro.
558 (MEMSPACE_CALLOC): New macro.
559 (MEMSPACE_REALLOC): New macro.
560 (MEMSPACE_FREE): New macro.
561 (predefined_alloc_mapping): New array. Add _Static_assert to match.
562 (ARRAY_SIZE): New macro.
563 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
564 Implement fall-backs for predefined allocators. Simplify existing
565 fall-backs.
566 (omp_free): Use MEMSPACE_FREE.
567 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
568 predefined allocators. Simplify existing fall-backs.
569 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
570 Implement fall-backs for predefined allocators. Simplify existing
571 fall-backs.
572 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
573 (__nvptx_lowlat_init): New prototype.
574 (gomp_nvptx_main): Call __nvptx_lowlat_init.
575 * libgomp.texi: Update memory space table.
576 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
577 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
578 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
579 * basic-allocator.c: New file.
580 * config/nvptx/allocator.c: New file.
581 * testsuite/libgomp.c/omp_alloc-1.c: New test.
582 * testsuite/libgomp.c/omp_alloc-2.c: New test.
583 * testsuite/libgomp.c/omp_alloc-3.c: New test.
584 * testsuite/libgomp.c/omp_alloc-4.c: New test.
585 * testsuite/libgomp.c/omp_alloc-5.c: New test.
586 * testsuite/libgomp.c/omp_alloc-6.c: New test.
587
8428bcd7
GA
5882023-11-30 Thomas Schwinge <thomas@codesourcery.com>
589
590 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
591 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
592 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
593 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
594 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
595 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
596 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
597 * testsuite/libgomp.c/declare-variant-4.c: New.
598
5992023-11-30 Thomas Schwinge <thomas@codesourcery.com>
600
601 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
602 into 'dg-do link'.
603 * testsuite/libgomp.c/declare-variant-3.c: New.
604 * testsuite/libgomp.c/declare-variant-3.h: Extend.
605
6062023-11-30 Thomas Schwinge <thomas@codesourcery.com>
607
608 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
609 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
610 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
611 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
612 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
613 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
614 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
615 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
616 'scan-offload-tree-dump' to
617 'only_for_offload_target amdgcn-amdhsa'.
618 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
619 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
620 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
621 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
622 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
623
6242023-11-30 Thomas Schwinge <thomas@codesourcery.com>
625
626 * testsuite/libgomp.c/declare-variant-3-sm30.c:
627 'dg-additional-options -foffload=nvptx-none'.
628 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
629 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
630 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
631 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
632 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
633
31d8cf17
GA
6342023-11-29 Thomas Schwinge <thomas@codesourcery.com>
635
636 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
637 'scan-offload-ipa-dump's to
638 'only_for_offload_target amdgcn-amdhsa'.
639 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
640 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
641
77cf1dba
GA
6422023-11-24 Tobias Burnus <tobias@codesourcery.com>
643
644 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
645 is now supported.
646
26a7e775
GA
6472023-11-22 Thomas Schwinge <thomas@codesourcery.com>
648
649 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
650 (f75, f80, f): Add '__attribute__ ((noipa))'.
651 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
652 (gfx908, gfx90a, f): Likewise.
653
17cc2e57
GA
6542023-11-15 Andrew Stubbs <ams@codesourcery.com>
655 Andrew Jenner <andrew@codesourcery.com>
656
657 * plugin/plugin-gcn.c (max_isa_vgprs): New.
658 (run_kernel): CDNA2 devices have more VGPRs.
659
b9fd8399
GA
6602023-11-10 Tobias Burnus <tobias@codesourcery.com>
661
662 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
663 renamed section from TR11.
664
c48f1056
GA
6652023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
666
667 * config/linux/target-indirect.c: Move to...
668 * target-indirect.c: ...here.
669
6702023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
671
672 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
673 * Makefile.in: Regenerate.
674 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
675 (GOMP_OFFLOAD_load_image): Add extra argument.
676 * libgomp.h (struct indirect_splay_tree_key_s): New.
677 (indirect_splay_tree_node, indirect_splay_tree,
678 indirect_splay_tree_key): New.
679 (indirect_splay_compare): New.
680 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
681 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
682 calls in target region and on indirect clause.
683 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
684 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
685 * oacc-host.c (host_load_image): Add extra argument.
686 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
687 enough, read host indirect functions table and pass to
688 load_image_func.
689 * config/accel/target-indirect.c: New.
690 * config/linux/target-indirect.c: New.
691 * config/gcn/team.c (build_indirect_map): Add prototype.
692 (gomp_gcn_enter_kernel): Initialize support for indirect
693 function calls on GCN target.
694 * config/nvptx/team.c (build_indirect_map): Add prototype.
695 (gomp_nvptx_main): Initialize support for indirect function
696 calls on NVPTX target.
697 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
698 indirect functions count.
699 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
700 is high enough, build address translation table and copy it to target
701 memory.
702 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
703 functions count.
704 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
705 is high enough, Build address translation table and copy it to target
706 memory.
707 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
708 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
709 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
710
459866ea
GA
7112023-11-05 Jakub Jelinek <jakub@redhat.com>
712
713 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
714 supported also in C.
715
eac0917b
GA
7162023-10-31 Thomas Schwinge <thomas@codesourcery.com>
717
718 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
719 'acc_map_data' variant.
720
f75fc1f0
GA
7212023-10-25 Thomas Schwinge <thomas@codesourcery.com>
722
723 * oacc-parallel.c (GOACC_data_start): Handle
724 'GOACC_FLAG_LOCAL_DEVICE'.
725 (GOACC_parallel_keyed): Simplify accordingly.
726 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
727
7282023-10-25 Thomas Schwinge <thomas@codesourcery.com>
729
730 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
731 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
732 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
733 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
734 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
735
7362023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
737
738 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
739 GOACC_FLAG_LOCAL_DEVICE case.
740 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
741
3b632746
GA
7422023-10-22 Iain Sandoe <iain@sandoe.co.uk>
743
744 * Makefile.am: Handle Darwin rpaths.
745 * Makefile.in: Regenerate.
746 * configure: Regenerate.
747 * configure.ac: Handle Darwin rpaths
748
6f684dd2
GA
7492023-10-20 Andrew Stubbs <ams@codesourcery.com>
750
751 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
752 (isa_hsa_name): Recognise gfx1030.
753 (isa_code): Likewise.
754 * team.c (defined): Remove s_endpgm.
755
7562023-10-20 Tobias Burnus <tobias@codesourcery.com>
757
758 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
759 _OPENMP >= 201811.
760
d5cfabc6
GA
7612023-10-15 Tobias Burnus <tobias@codesourcery.com>
762
763 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
764 improve wording especially for Fortran; mention -fopenmp-simd.
765 (Enabling OpenACC): Minor cleanup; remove conditional compilation
766 sentinel.
767
7682023-10-15 Tobias Burnus <tobias@codesourcery.com>
769
770 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
771 Actually document what the function does.
772 (GCC_ACC_NOTIFY): Remove unused env var.
773
7742023-10-15 Tobias Burnus <tobias@codesourcery.com>
775
776 * libgomp.texi: Replace most future tense by present tense.
777
b3cb98d7
GA
7782023-10-14 Tobias Burnus <tobias@codesourcery.com>
779
780 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
781 dg-additional-options "-fdump-tree-gimple"; fix scan.
782
7832023-10-14 Tobias Burnus <tobias@codesourcery.com>
784
785 * libgomp.texi: Fix some typos.
786 (Memory Management Routines): Document remaining 5.x routines.
787 (Memory allocation): Make clear when the section applies.
788
7892023-10-14 Tobias Burnus <tobias@codesourcery.com>
790
791 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
792 supports the allocate directive for stack variables.
793 * testsuite/libgomp.fortran/allocate-5.f90: New test.
794 * testsuite/libgomp.fortran/allocate-6.f90: New test.
795 * testsuite/libgomp.fortran/allocate-7.f90: New test.
796 * testsuite/libgomp.fortran/allocate-8.f90: New test.
797
f9ef2e6d
GA
7982023-10-12 Tobias Burnus <tobias@codesourcery.com>
799
800 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
801 OMP_TARGET_OFFLOAD.
802 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
803 clarify MANDATORY behavior.
804
8052023-10-12 Zhang, Jun <jun.zhang@intel.com>
806
807 * env.c (initialize_env): Use do_adjust_default_spincount.
808 * config/linux/x86/spincount.h: New file.
809
00c67d62
GA
8102023-10-08 Tobias Burnus <tobias@codesourcery.com>
811
812 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
813
0defa2a0
GA
8142023-10-06 Tobias Burnus <tobias@codesourcery.com>
815
816 * libgomp.texi (Device Memory Routines): New.
817
bf2e66e3
GA
8182023-10-04 Tobias Burnus <tobias@codesourcery.com>
819
820 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
821 and that other target archs have no 'arch'/'isa' traits implemented.
822
4907d220
GA
8232023-09-20 Tobias Burnus <tobias@codesourcery.com>
824
825 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
826 implemented for C only.
827 * testsuite/libgomp.c/allocate-4.c: New test.
828 * testsuite/libgomp.c/allocate-5.c: New test.
829 * testsuite/libgomp.c/allocate-6.c: New test.
830
8312023-09-20 Jakub Jelinek <jakub@redhat.com>
832
833 PR c++/111392
834 * libgomp.texi: Mark decl attribute was added to the C++ attribute
835 syntax as implemented.
836
590a8bec
GA
8372023-09-19 Jakub Jelinek <jakub@redhat.com>
838
839 PR libgomp/111413
840 * env.c (initialize_env): Don't dereference environ if it is NULL.
841 Reindent.
842
6b78e9a5
GA
8432023-09-18 Richard Biener <rguenther@suse.de>
844
845 PR tree-optimization/111294
846 * team.c (gomp_team_start): Assert alloca size to avoid false
847 positive alloc-size diagnostic.
848
a1c20158
GA
8492023-09-12 Thomas Schwinge <thomas@codesourcery.com>
850 Chung-Lin Tang <cltang@codesourcery.com>
851
852 PR testsuite/91884
853 PR testsuite/109951
854 * configure.ac: Revert earlier changes, instead
855 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
856 * Makefile.in: Regenerate.
857 * configure: Likewise.
858 * testsuite/Makefile.in: Likewise.
859 * testsuite/lib/libgomp.exp (libgomp_init): Remove
860 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
861 If '--with-build-sysroot=[...]' was specified, use it for
862 build-tree testing.
863 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
864 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
865 (SYSROOT_CFLAGS_FOR_TARGET): Set.
866 * testsuite/libgomp.c++/c++.exp (lang_source_re)
867 (lang_include_flags): Set for build-tree testing.
868 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
869 (lang_include_flags): Likewise.
870
109c11f6
GA
8712023-09-07 Tobias Burnus <tobias@codesourcery.com>
872
873 * libgomp.texi (Memory Management Routines): New; add documentation for
874 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
875 omp_get_default_allocator.
876 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
877
478c37e7
TB
8782023-09-07 Tobias Burnus <tobias@codesourcery.com>
879
880 * target.c (gomp_unload_device): Remove tailing whitespace.
881
d820cd78
GA
8822023-09-04 Tobias Burnus <tobias@codesourcery.com>
883 Thomas Schwinge <thomas@codesourcery.com>
884
885 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
886
b8863640
GA
8872023-08-25 Sandra Loosemore <sandra@codesourcery.com>
888
889 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
890
8912023-08-25 Sandra Loosemore <sandra@codesourcery.com>
892
893 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
894 * testsuite/libgomp.fortran/imperfect1.f90: New.
895 * testsuite/libgomp.fortran/imperfect2.f90: New.
896 * testsuite/libgomp.fortran/imperfect3.f90: New.
897 * testsuite/libgomp.fortran/imperfect4.f90: New.
898 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
899 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
900 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
901 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
902
9032023-08-25 Sandra Loosemore <sandra@codesourcery.com>
904
905 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
906 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
907 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
908 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
909 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
910 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
911 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
912 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
913 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
914 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
915
9162023-08-25 Sandra Loosemore <sandra@codesourcery.com>
917
918 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
919 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
920 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
921 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
922 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
923 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
924 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
925 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
926 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
927 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
928 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
929 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
930 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
931
6cd85273
GA
9322023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
933
934 * testsuite/lib/libgomp.exp: Add effective target.
935 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
936 functions.
937
9382023-08-22 Tobias Burnus <tobias@codesourcery.com>
939
940 * libgomp.texi (OpenMP 5.2 status): Add depobj with
941 destroy-var argument as 'N'. Mark defaultmap with
942 'all' category as 'Y'.
943
1ba33636
GA
9442023-08-19 Tobias Burnus <tobias@codesourcery.com>
945
946 PR middle-end/111017
947 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
948
1eb2433f
GA
9492023-08-17 Tobias Burnus <tobias@codesourcery.com>
950
951 PR libgomp/111024
952 * allocator.c (gomp_init_libnuma): Call numa_available; if
953 not available or not returning 0, disable libnuma usage.
954
4b92dba7
GA
9552023-08-07 Nick Alcock <nick.alcock@oracle.com>
956
957 * configure: Regenerate.
958
9592023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
960
961 * configure: Regenerate.
962
9632023-08-07 Nick Alcock <nick.alcock@oracle.com>
964
965 * configure: Regenerate.
966
9672023-08-07 Nick Alcock <nick.alcock@oracle.com>
968
969 * configure: Regenerate.
970
9712023-08-07 H.J. Lu <hjl.tools@gmail.com>
972
973 * configure: Regenerate.
974
9752023-08-07 H.J. Lu <hjl.tools@gmail.com>
976
977 * configure: Regenerate.
978
861962ee
GA
9792023-07-29 Tobias Burnus <tobias@codesourcery.com>
980
981 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
982 GOMP_OFFLOAD_CAP_SHARED_MEM.
983 (omp_target_memcpy_rect_copy): Likewise for lock condition.
984 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
985 memcpy3d/memcpy2d.
986 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
987 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
988 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
989
5278cd6a
GA
9902023-07-26 Tobias Burnus <tobias@codesourcery.com>
991
992 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
993 GOMP_OFFLOAD_memcpy3d): New prototypes.
994 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
995 and memcpy3d_func.
996 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
997 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
998 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
999 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
1000 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
1001 GOMP_OFFLOAD_memcpy3d): New.
1002 * target.c (omp_target_memcpy_rect_worker):
1003 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
1004 Permit all device-to-device copyies; invoke new plugins for
1005 2D and 3D copying when available.
1006 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
1007 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
1008 * testsuite/libgomp.fortran/target-12.f90: Likewise.
1009 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
1010
10112023-07-26 Tobias Burnus <tobias@codesourcery.com>
1012
1013 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
1014 (Tasking Routines): Document omp_in_explicit_task.
1015 (Implementation-defined ICV Initialization): Use @ref not @code.
1016
e2bf82d5
GA
10172023-07-20 Tobias Burnus <tobias@codesourcery.com>
1018
1019 * libgomp.texi (OpenMP Runtime Library Routines):
1020 Split long list by adding sections and moving routines there.
1021 (OMP_ALLOCATORS): Fix typo.
1022
49bed11d
GA
10232023-07-19 Tobias Burnus <tobias@codesourcery.com>
1024
1025 PR fortran/107424
1026 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
1027 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
1028 commented tests.
1029 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
1030 test file; tests are in non-rectangular-loop-1.f90.
1031 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
1032 testcase to use a non-constant step to retain the 'sorry' test.
1033 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
1034
473c1b58
GA
10352023-07-17 Tobias Burnus <tobias@codesoucery.com>
1036 Chung-Lin Tang <cltang@codesourcery.com>
1037
1038 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
1039 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
1040
18dac101
GA
10412023-07-14 Tobias Burnus <tobias@codesourcery.com>
1042
1043 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
1044 the traits. Add crossref to 'Memory allocation'.
1045 (Memory allocation): Refer to OMP_ALLOCATOR for the available
1046 traits and allocators/mem spaces; document the default value
1047 for the pool_size trait.
1048
10492023-07-14 Tobias Burnus <tobias@codesourcery.com>
1050
1051 * allocator.c (omp_init_allocator): Check whether symbol from
1052 dlopened libnuma is available before using libnuma for
1053 allocations.
1054
3d0ca8b5
GA
10552023-07-13 David Edelsohn <dje.gcc@gmail.com>
1056
1057 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
1058 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
1059 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
1060
15939bae
GA
10612023-07-12 Tobias Burnus <tobias@codesourcery.com>
1062
1063 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
1064 'Memory allocation' section which contains the full status.
1065 (TR11): Remove differently worded duplicated entry.
1066
10672023-07-12 Tobias Burnus <tobias@codesourcery.com>
1068
1069 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
1070 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
1071 add GOMP_MEMKIND_LIBNUMA.
1072 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
1073 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
1074 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
1075 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
1076 needed.
1077 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
1078 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
1079 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
1080 updated for libnuma usage.
1081 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
1082 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
1083
af3d3ce3
GA
10842023-07-11 Tobias Burnus <tobias@codesourcery.com>
1085
1086 * allocator.c (omp_init_allocator): Use malloc for
1087 omp_high_bw_mem_space when the memkind lib is unavailable
1088 instead of returning omp_null_allocator.
1089 * libgomp.texi (OpenMP 5.0): Fix typo.
1090 (Memory allocation with libmemkind): Document implementation
1091 in more detail.
1092
270742ce
GA
10932023-06-22 Tobias Burnus <tobias@codesourcery.com>
1094
1095 * libgomp.texi: Use @var for ICV vars.
1096 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
1097 document which ICV is set and which scope the ICV has; extend/cleanup
1098 some @ref.
1099 (Implementation-defined ICV Initialization): New.
1100 (nvptx): Document the implementation-defined used per-warp stack size.
1101
e517d3f5
GA
11022023-06-19 Thomas Schwinge <thomas@codesourcery.com>
1103
1104 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
1105 error.
1106
11072023-06-19 Tobias Burnus <tobias@codesourcery.com>
1108
1109 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
1110 as expected dg-output.
1111
11122023-06-19 Tobias Burnus <tobias@codesourcery.com>
1113
1114 PR middle-end/110270
1115 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
1116 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
1117 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
1118 * testsuite/libgomp.c/target-19.c: Update expected value.
1119 * testsuite/libgomp.c++/target-18.C: Likewise.
1120 * testsuite/libgomp.c++/target-19.C: Likewise.
1121 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
1122 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
1123 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
1124
f10a4ce0
GA
11252023-06-16 Tobias Burnus <tobias@codesourcery.com>
1126
1127 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
1128 gomp_init_targets_once was called before using default-device-var.
1129 * testsuite/libgomp.c/target-55.c: New test.
1130 * testsuite/libgomp.c/target-55a.c: New test.
1131
7ff79341
GA
11322023-06-15 Tobias Burnus <tobias@codesourcery.com>
1133
1134 * env.c (gomp_def_allocator_envvar): New var.
1135 (parse_allocator): Handle OpenMP 5.1 syntax.
1136 (cleanup_env): New.
1137 (omp_display_env): Output gomp_def_allocator_envvar
1138 for an allocator with traits.
1139 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
1140 OMP_DISPLAY_AFFINITY): New.
1141 * testsuite/libgomp.c/allocator-1.c: New test.
1142 * testsuite/libgomp.c/allocator-2.c: New test.
1143 * testsuite/libgomp.c/allocator-3.c: New test.
1144 * testsuite/libgomp.c/allocator-4.c: New test.
1145 * testsuite/libgomp.c/allocator-5.c: New test.
1146 * testsuite/libgomp.c/allocator-6.c: New test.
1147
c1c5edef
GA
11482023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1149
1150 * target.c (resolve_device): Align a
1151 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
1152 * testsuite/libgomp.c/target-51.c: Adjust.
1153
11542023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1155
1156 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
1157 set.
1158 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
1159 Likewise.
1160 * testsuite/libgomp.c/simd-math-1.c: Remove
1161 '-foffload-options=-lm'.
1162 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
1163 Likewise.
1164 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1165 Likewise.
1166
11672023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1168
1169 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
1170 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
1171 Likewise.
1172
11732023-06-14 Thomas Schwinge <thomas@codesourcery.com>
1174
1175 * testsuite/libgomp.c/target-51.c: Fix typo.
1176
11772023-06-14 Tobias Burnus <tobias@codesourcery.com>
1178
1179 * env.c (gomp_default_icv_values): Init default_device_var to
1180 an nonconforming value - INT_MIN.
1181 (initialize_env): After env-var parsing, set default_device_var to
1182 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
1183 (omp_display_env): If default_device_var is INT_MIN, call
1184 gomp_init_targets_once.
1185 * icv-device.c (omp_get_default_device): Likewise.
1186 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
1187 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
1188 * target.c (resolve_device): Improve error message device-num < 0
1189 with 'mandatory' and no no-host devices available.
1190 (gomp_target_init): Set default-device-var if INT_MIN.
1191 * testsuite/libgomp.c/target-48.c: New test.
1192 * testsuite/libgomp.c/target-49.c: New test.
1193 * testsuite/libgomp.c/target-50.c: New test.
1194 * testsuite/libgomp.c/target-50a.c: New test.
1195 * testsuite/libgomp.c/target-51.c: New test.
1196 * testsuite/libgomp.c/target-52.c: New test.
1197 * testsuite/libgomp.c/target-53.c: New test.
1198 * testsuite/libgomp.c/target-54.c: New test.
1199
532fb120
GA
12002023-06-13 Tobias Burnus <tobias@codesourcery.com>
1201
1202 PR libgomp/109837
1203 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
1204 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
1205
9d250bdb
GA
12062023-06-12 Tobias Burnus <tobias@codesourcery.com>
1207
1208 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
1209 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
1210 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
1211 error message.
1212 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
1213 changed error message.
1214 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1215 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
1216 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1217 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
1218 extend testcase to check that data is copied when needed.
1219 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1220 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1221
8c5b1365
GA
12222023-06-07 Thomas Schwinge <thomas@codesourcery.com>
1223 Tobias Burnus <tobias@codesourcery.com>
1224
1225 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
1226 also for non-offload_device targets; check that it runs
1227 successfully for those and for all until a checkpoint for all
1228 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
1229 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1230 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1231 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1232 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
1233 add missing vars to map clause.
1234
4f0d4825
GA
12352023-06-06 Tobias Burnus <tobias@codesourcery.com>
1236
1237 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
1238 unified_address requirement as supported.
1239 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
1240 'unified_address' from the not-supported requirements.
1241
12422023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1243 Tobias Burnus <tobias@codesourcery.com>
1244
1245 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
1246 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
1247 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
1248 modifier.
1249 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
1250 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
1251 Emit runtime error if memory region not present.
1252 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
1253 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
1254 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
1255 * testsuite/libgomp.fortran/target-present-1.f90: New test.
1256 * testsuite/libgomp.fortran/target-present-2.f90: New test.
1257 * testsuite/libgomp.fortran/target-present-3.f90: New test.
1258
829d5975
GA
12592023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1260
1261 PR testsuite/66005
1262 * testsuite/lib/libgomp.exp: 'flock' through stdout.
1263 * testsuite/flock: New.
1264 * configure.ac (FLOCK): Point to that if no 'flock' available, but
1265 'perl' is.
1266 * configure: Regenerate.
1267
12682023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1269
1270 * configure.ac (PERL): Remove.
1271 * configure: Regenerate.
1272 * Makefile.in: Likewise.
1273 * testsuite/Makefile.in: Likewise.
1274
84749914
GA
12752023-06-01 Tobias Burnus <tobias@codesourcery.com>
1276
1277 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1278
6e6bb373
GA
12792023-05-26 Tobias Burnus <tobias@codesourcery.com>
1280
1281 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1282
4579954f
GA
12832023-05-21 Tobias Burnus <tobias@codesourcery.com>
1284
1285 PR libgomp/109875
1286 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1287 * config/nvptx/target.c (GOMP_teams4): Likewise.
1288 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1289 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1290 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1291 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1292
5df01f89
GA
12932023-05-19 Jakub Jelinek <jakub@redhat.com>
1294
1295 PR libgomp/109904
1296 * configure.ac (link_gomp): Include also $DL_LIBS.
1297 * configure: Regenerated.
1298
ff2dcddf
GA
12992023-05-17 Tobias Burnus <tobias@codesourcery.com>
1300
1301 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1302 'target exit data'.
1303 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1304 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1305 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1306 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1307
3427b51b
GA
13082023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1309
1310 PR testsuite/66005
1311 * configure.ac: Look for 'flock'.
1312 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1313 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1314 * testsuite/lib/libgomp.exp: ... but here, instead.
1315 (libgomp_load): Override for parallel testing.
1316 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1317 * configure: Regenerate.
1318 * Makefile.in: Regenerate.
1319 * testsuite/Makefile.in: Regenerate.
1320
13212023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1322 Thomas Schwinge <thomas@codesourcery.com>
1323
1324 PR testsuite/66005
1325 * testsuite/Makefile.am (PWD_COMMAND): New variable.
1326 (%/site.exp): New target.
1327 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1328 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1329 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1330 (check_p_subdirs)
1331 (check_DEJAGNU_libgomp_targets): New variables.
1332 ($(check_DEJAGNU_libgomp_targets)): New target.
1333 ($(check_DEJAGNU_libgomp_targets)): New dependency.
1334 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1335 * testsuite/Makefile.in: Regenerate.
1336 * testsuite/lib/libgomp.exp: For parallel testing,
1337 'load_file ../libgomp-test-support.exp'.
1338
13392023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1340
1341 PR testsuite/91884
1342 * configure.ac: 'AC_SUBST(CXX)'.
1343 * configure: Regenerate.
1344 * Makefile.in: Likewise.
1345 * testsuite/Makefile.in: Likewise.
1346 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1347 (GFORTRAN_UNDER_TEST): Set.
1348 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1349 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1350 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1351 * testsuite/libgomp.fortran/fortran.exp: Use
1352 'GFORTRAN_UNDER_TEST'.
1353 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1354
13552023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1356
1357 PR testsuite/91884
1358 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1359 specify compiler.
1360 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1361 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1362 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1363 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1364 Likewise.
1365 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1366 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1367 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1368 Likewise.
1369
20ca33db
GA
13702023-05-12 Tobias Burnus <tobias@codesourcery.com>
1371
1372 PR libstdc++/109816
1373 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1374 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1375
13762023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1377
1378 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1379 'lang_library_path' into a list of 'lang_library_paths'.
1380 * testsuite/libgomp.c++/c++.exp: Adjust.
1381 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1382 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1383 libquadmath, too.
1384 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1385
13862023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1387
1388 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1389 at 'lang_test_file_found'.
1390 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1391 'return' early if not able to test. Simplify 'ld_library_path' setup.
1392 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1393 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1394 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1395
13962023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1397
1398 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1399 first.
1400 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1401 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1402 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1403
14042023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1405
1406 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1407 * testsuite/libgomp.c/c.exp: Likewise.
1408 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1409 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1410 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1411 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1412 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1413
35e324da
GA
14142023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1415
1416 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1417 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1418 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1419 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1420 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1421 'lang_test_file'.
1422 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1423 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1424 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1425 'lang_test_file_found' instead of 'lang_test_file'.
1426
14272023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1428
1429 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1430 set.
1431 * testsuite/libgomp.c++/c++.exp: Likewise.
1432 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1433
14342023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1435
1436 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1437 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1438
212905a4
GA
14392023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1440
1441 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1442 of 'libstdcxx_includes'.
1443 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1444
14452023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1446
1447 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1448 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1449 * libgomp.h (gomp_target_rev): Adjust.
1450 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1451 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1452 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1453 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1454 (rev_off_host_to_dev_cpy): Remove.
1455 (GOMP_OFFLOAD_run): Adjust.
1456
fde093b7
GA
14572023-05-04 Julian Brown <julian@codesourcery.com>
1458
1459 PR fortran/109622
1460 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1461 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1462 vector length warning.
1463 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1464 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1465 missing copyin/copyout variable. Ignore vector length warnings.
1466 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1467 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1468 vector length warnings.
1469 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1470
50205195
GA
14712023-04-28 Julian Brown <julian@codesourcery.com>
1472
1473 PR fortran/109622
1474 * testsuite/libgomp.fortran/pr109622.f90: New test.
1475 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1476 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1477
49cea02d
GA
14782023-04-25 Tobias Burnus <tobias@codesourcery.com>
1479
1480 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1481 * testsuite/libgomp.c/scan-23.c: New test.
1482 * testsuite/libgomp.fortran/scan-2.f90: New test.
1483
579cdc1e
GA
14842023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1485
1486 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1487 weak_undefined options.
1488
13ec81eb
GA
14892023-03-24 Tobias Burnus <tobias@codesourcery.com>
1490
1491 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1492
14932023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1494
1495 PR fortran/104949
1496 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1497 caveat/safeguard.
1498
c8065441
GA
14992023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1500
1501 PR libgomp/90596
1502 * target.c (gomp_map_vars_internal): Allow for
1503 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1504 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1505 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1506 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1507 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1508 Adjust, simplify.
1509 (gomp_offload_free): Remove.
1510 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1511 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1512 (cuda_free_argmem): Remove.
1513 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1514 Adjust.
1515
15162023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1517
1518 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1519 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1520 data.
1521
15222023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1523
1524 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1525 'GOMP_MAP_IF_PRESENT'.
1526 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1527 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1528 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1529 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1530 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1531 testing.
1532 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1533
15342023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1535
1536 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1537 shortcut.
1538
15392023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1540
1541 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1542 another aspect of OpenACC 'async' semantics.
1543
15442023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1545
1546 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1547 position.
1548 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1549 Verify 'acc_ev_alloc', 'acc_ev_free'.
1550
da2b9c6e
GA
15512023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1552
1553 PR libgomp/109062
1554 * env.c (wait_policy): Initialize to -1.
1555 (initialize_icvs): Initialize icvs->wait_policy to -1.
1556 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1557
6a87fdd3
GA
15582023-03-08 Tobias Burnus <tobias@codesourcery.com>
1559
1560 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1561
14db9ed5
GA
15622023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1563 Paul-Antoine Arras <pa@codesourcery.com>
1564
1565 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1566
c88a7c63
GA
15672023-03-01 Tobias Burnus <tobias@codesourcery.com>
1568
1569 PR middle-end/108546
1570 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1571 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1572
b6f98991
GA
15732023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1574
1575 * testsuite/libgomp.fortran/alloc-10.f90: Use
1576 '-Wno-complain-wrong-lang'.
1577 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1578 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1579 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1580 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1581 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1582 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1583 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1584 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1585 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1586 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1587 Likewise.
1588 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1589 Likewise.
1590 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1591 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1592 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1593 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1594 'dg-prune-output'.
1595
88cc4495
GA
15962023-02-16 Jakub Jelinek <jakub@redhat.com>
1597
1598 * libgomp.texi: Fix typos - theads -> threads.
1599
16002023-02-16 Jakub Jelinek <jakub@redhat.com>
1601
1602 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1603 comment typo and improve its wording.
1604
29a35391
GA
16052023-02-15 Tobias Burnus <tobias@codesourcery.com>
1606
1607 * target.c (gomp_target_rev): Dereference ptr
1608 to get device address.
1609 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1610 for unallocated allocatable.
1611
16122023-02-15 Tobias Burnus <tobias@codesourcery.com>
1613
1614 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1615 kind check.
1616 (GOMP_target_enter_exit_data): If the next map item is
1617 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1618 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1619
e92e2c96
GA
16202023-02-09 Tobias Burnus <tobias@codesourcery.com>
1621
1622 PR fortran/107424
1623 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1624 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1625 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1626 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1627 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1628 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1629
8f3b85ef
GA
16302023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1631
1632 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1633 offloading compilation.
1634
49e52115
GA
16352023-02-03 Tobias Burnus <tobias@codesourcery.com>
1636
1637 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1638 freeing not allocated memory.
1639 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1640
16412023-02-03 Tobias Burnus <tobias@codesourcery.com>
1642
1643 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1644 reverse offload.
1645 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1646 reverse-offload requirement.
1647
a37a0cb3
GA
16482023-02-02 Andrew Stubbs <ams@codesourcery.com>
1649
1650 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1651 (DEFAULT_TEAM_ARENA_SIZE): New define.
1652 (struct heap): Move to this file.
1653 (struct kernargs_abi): Likewise.
1654 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1655 the kernargs.
1656 * libgomp.h: Include libgomp-gcn.h.
1657 (TEAM_ARENA_SIZE): Remove.
1658 (team_malloc): Update the error message.
1659 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1660 struct kernargs_abi.
1661 (struct agent_info): Rename team arenas to ephemeral memories.
1662 (struct team_arena_list): Rename ....
1663 (struct ephemeral_memories_list): to this.
1664 (struct heap): Delete.
1665 (team_arena_size): New variable.
1666 (stack_size): New variable.
1667 (print_kernel_dispatch): Update debug messages.
1668 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1669 Read GCN_STACK_SIZE.
1670 (get_team_arena): Rename ...
1671 (configure_ephemeral_memories): ... to this, and set up stacks.
1672 (release_team_arena): Rename ...
1673 (release_ephemeral_memories): ... to this.
1674 (destroy_team_arenas): Rename ...
1675 (destroy_ephemeral_memories): ... to this.
1676 (create_kernel_dispatch): Add num_threads parameter.
1677 Adjust for kernargs_abi refactor and ephemeral memories.
1678 (release_kernel_dispatch): Adjust for ephemeral memories.
1679 (run_kernel): Pass thread-count to create_kernel_dispatch.
1680 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1681 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1682
16832023-02-02 Tobias Burnus <tobias@codesourcery.com>
1684
1685 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1686
0a251e74
GA
16872023-02-01 Tobias Burnus <tobias@codesourcery.com>
1688
1689 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1690 usage, remove unused -fdump-tree-original.
1691 * testsuite/libgomp.fortran/allocate-4.f90: New.
1692
16932023-02-01 Tobias Burnus <tobias@codesourcery.com>
1694
1695 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1696 (GCN): Add item about 'omp requires'.
1697 (nvptx): Likewise; add item about reverse offload.
1698
338eb0f0
GA
16992023-01-27 Tobias Burnus <tobias@codesourcery.com>
1700
1701 PR fortran/108558
1702 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1703
607f278a
GA
17042023-01-23 Tobias Burnus <tobias@codesourcery.com>
1705
1706 * libgomp.texi (OpenMP 5.0): Set non-rectangular
1707 loop nest back to 'P' as Fortran support is incomplete.
1708
0846336d
GA
17092023-01-19 Jakub Jelinek <jakub@redhat.com>
1710
1711 PR middle-end/108459
1712 * testsuite/libgomp.c/pr108459.c: New test.
1713
8d07b193
GA
17142023-01-17 Martin Liska <mliska@suse.cz>
1715
1716 * Makefile.in: Regenerate.
1717 * configure: Regenerate.
1718
d901bf8a
GA
17192023-01-07 LIU Hao <lh_mouse@126.com>
1720
1721 PR middle-end/108300
1722 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1723 <windows.h>.
1724
53ef7c1d
GA
17252023-01-05 Jakub Jelinek <jakub@redhat.com>
1726
1727 PR c++/108286
1728 * testsuite/libgomp.c++/pr108286.C: New test.
1729
fee53a31
GA
17302023-01-02 Jakub Jelinek <jakub@redhat.com>
1731
1732 * libgomp.texi: Bump @copying's copyright year.
1733
de282a20
GA
17342022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1735
1736 PR target/99555
1737 * config/nvptx/bar.c (generation_to_barrier): Remove.
1738 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1739 (GOMP_WAIT_H): Remove.
1740 (#include "../linux/bar.c"): Remove.
1741 (gomp_barrier_wait_end): New function.
1742 (gomp_barrier_wait): Likewise.
1743 (gomp_barrier_wait_last): Likewise.
1744 (gomp_team_barrier_wait_end): Likewise.
1745 (gomp_team_barrier_wait): Likewise.
1746 (gomp_team_barrier_wait_final): Likewise.
1747 (gomp_team_barrier_wait_cancel_end): Likewise.
1748 (gomp_team_barrier_wait_cancel): Likewise.
1749 (gomp_team_barrier_cancel): Likewise.
1750 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1751 (gomp_barrier_init): Remove init of waiters, lock fields.
1752 (gomp_team_barrier_wake): Remove prototype, add new static inline
1753 function.
1754
17552022-12-21 Jakub Jelinek <jakub@redhat.com>
1756
1757 PR c++/108180
1758 * testsuite/libgomp.c++/pr108180.C: New test.
1759
5fb1e674
GA
17602022-12-16 Tobias Burnus <tobias@codesourcery.com>
1761
1762 PR libfortran/108056
1763 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1764 accidentally added file.
1765
c8f767b2
GA
17662022-12-15 Tobias Burnus <tobias@codesourcery.com>
1767
1768 PR libfortran/108056
1769 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1770
26f4aefa
GA
17712022-12-14 Julian Brown <julian@codesourcery.com>
1772
1773 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1774 test.
1775
c6b12b80
GA
17762022-12-10 Tobias Burnus <tobias@codesourcery.com>
1777
1778 * libgomp.h (struct target_mem_desc): Predeclare; move
1779 below after 'reverse_splay_tree_node' and add rev_array
1780 member.
1781 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1782 (reverse_splay_tree_node, reverse_splay_tree,
1783 reverse_splay_tree_key): New typedef.
1784 (struct gomp_device_descr): Add mem_map_rev member.
1785 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1786 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1787 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1788 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1789 splay_tree_callback but returning int not void.
1790 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1791 taking splay_tree_callback_stop as argument.
1792 * splay-tree.c (splay_tree_foreach_internal_lazy,
1793 splay_tree_foreach_lazy): New; but early exit if callback returns
1794 nonzero.
1795 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1796 (gomp_map_lookup_rev): New.
1797 (gomp_load_image_to_device): Handle reverse-offload function
1798 lookup table.
1799 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1800 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1801 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1802 gomp_map_cdata_lookup): New auxiliary structs and functions for
1803 gomp_target_rev.
1804 (gomp_target_rev): Implement reverse offloading and its mapping.
1805 (gomp_target_init): Init current_device.mem_map_rev.root.
1806 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1807 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1808 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1809 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1810 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1811 mapping of on-device allocated variables.
1812
40ce6485
GA
18132022-12-09 Tobias Burnus <tobias@codesourcery.com>
1814
1815 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1816 item about 'align'; mark clause as 'Y' and directive as 'N'.
1817 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1818 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1819
3fe66f7f
GA
18202022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1821
1822 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1823 allow processing of device-specific values.
1824 (omp_set_teams_thread_limit): Likewise.
1825 (ialias): Likewise.
1826 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1827 (omp_set_teams_thread_limit): Likewise.
1828 (ialias): Likewise.
1829 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1830 (ialias): Likewise.
1831 (omp_set_teams_thread_limit): Likewise.
1832 * icv.c (omp_set_teams_thread_limit): Removed.
1833 (omp_get_teams_thread_limit): Likewise.
1834 (ialias): Likewise.
1835 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1836 to the limitation of the number of teams.
1837 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1838 the number of teams by twice the number of compute units.
1839 (parse_target_attributes): Limit the number of teams on gcn offload
1840 devices.
1841 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1842 handling.
1843 (gomp_load_image_to_device): Added a size check for the ICVs struct
1844 variable.
1845 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1846 copy back the ICV values from device to host.
1847 (GOMP_target_ext): Update the number of teams and threads in the kernel
1848 args also considering device-specific values.
1849 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1850 of OMP_TEAMS_THREAD_LIMIT from the environment.
1851 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1852 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1853 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1854 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1855 * testsuite/libgomp.fortran/icv-5.f90: New test.
1856 * testsuite/libgomp.fortran/icv-6.f90: New test.
1857
18582022-12-06 Tobias Burnus <tobias@codesourcery.com>
1859
1860 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1861 (TR11): Add missing '@tab N @tab'.
1862
6eea85a9
GA
18632022-11-30 Tobias Burnus <tobias@codesourcery.com>
1864
1865 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1866
18672022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1868
1869 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1870 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1871 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1872 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1873 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1874 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1875 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1876
b7748535
GA
18772022-11-28 Tobias Burnus <tobias@codesourcery.com>
1878
1879 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1880
d769c504
GA
18812022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1882
1883 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1884 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1885 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1886 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1887
18882022-11-25 Tobias Burnus <tobias@codesourcery.com>
1889
1890 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1891 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1892 as valid and the code having no reverse-offload code.
1893 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1894
18952022-11-25 Tobias Burnus <tobias@codesourcery.com>
1896
1897 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1898 and status for Technical Report (TR) 11.
1899
8b7fee1d
GA
19002022-11-21 Tobias Burnus <tobias@codesourcery.com>
1901
1902 * config/gcn/libgomp-gcn.h (struct output):
1903 Remove 'msg_u64' from the union, change
1904 value_u64[2] to value_u64[6].
1905 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1906 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1907 Likewise.
1908
fb98ede8
GA
19092022-11-19 Tobias Burnus <tobias@codesourcery.com>
1910
1911 * config/gcn/libgomp-gcn.h: New file; contains
1912 struct output, declared previously in plugin-gcn.c.
1913 * config/gcn/target.c: Include it.
1914 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1915 (GOMP_target_ext): Handle reverse offload.
1916 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1917 (struct kernargs): Replace struct def by the one
1918 from libgomp-gcn.h for output_data.
1919 (process_reverse_offload): New.
1920 (console_output): Call it.
1921
80909529
GA
19222022-11-16 Tobias Burnus <tobias@codesourcery.com>
1923 Andrew Stubbs <ams@codesourcery.com>
1924
1925 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1926 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1927
83d400bd
GA
19282022-11-14 Martin Liska <mliska@suse.cz>
1929
1930 Revert:
1931 2022-11-14 Martin Liska <mliska@suse.cz>
1932
1933 * doc/amd-radeon-gcn.rst: New file.
1934 * doc/conf.py: New file.
1935 * doc/copyright.rst: New file.
1936 * doc/cuda-streams-usage.rst: New file.
1937 * doc/enabling-openacc.rst: New file.
1938 * doc/enabling-openmp.rst: New file.
1939 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1940 * doc/first-invocation-openacc-library-api.rst: New file.
1941 * doc/funding.rst: New file.
1942 * doc/general-public-license-3.rst: New file.
1943 * doc/gnu-free-documentation-license.rst: New file.
1944 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1945 * doc/index.rst: New file.
1946 * doc/indices-and-tables.rst: New file.
1947 * doc/introduction.rst: New file.
1948 * doc/memory-allocation-with-libmemkind.rst: New file.
1949 * doc/nvptx.rst: New file.
1950 * doc/offload-target-specifics.rst: New file.
1951 * doc/openacc-environment-variables.rst: New file.
1952 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1953 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1954 * doc/openacc-environment-variables/accproflib.rst: New file.
1955 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1956 * doc/openacc-introduction.rst: New file.
1957 * doc/openacc-library-and-environment-variables.rst: New file.
1958 * doc/openacc-library-interoperability.rst: New file.
1959 * doc/openacc-profiling-interface.rst: New file.
1960 * doc/openacc-runtime-library-routines.rst: New file.
1961 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1962 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1963 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1964 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1965 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1966 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1967 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1968 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1969 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1970 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1971 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1972 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1973 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1974 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1975 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1976 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1977 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1978 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1979 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1980 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1981 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1982 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1983 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1984 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1985 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1986 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1987 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1988 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1989 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1990 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1991 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1992 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1993 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1994 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1995 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1996 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1997 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1998 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1999 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2000 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2001 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2002 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2003 * doc/openmp-context-selectors.rst: New file.
2004 * doc/openmp-environment-variables.rst: New file.
2005 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2006 * doc/openmp-environment-variables/gompdebug.rst: New file.
2007 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2008 * doc/openmp-environment-variables/gompspincount.rst: New file.
2009 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2010 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2011 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2012 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2013 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2014 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2015 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2016 * doc/openmp-environment-variables/ompnested.rst: New file.
2017 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2018 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2019 * doc/openmp-environment-variables/ompplaces.rst: New file.
2020 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2021 * doc/openmp-environment-variables/ompschedule.rst: New file.
2022 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2023 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2024 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2025 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2026 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2027 * doc/openmp-implementation-specifics.rst: New file.
2028 * doc/openmp-implementation-status.rst: New file.
2029 * doc/openmp-implementation-status/openmp-45.rst: New file.
2030 * doc/openmp-implementation-status/openmp-50.rst: New file.
2031 * doc/openmp-implementation-status/openmp-51.rst: New file.
2032 * doc/openmp-implementation-status/openmp-52.rst: New file.
2033 * doc/openmp-runtime-library-routines.rst: New file.
2034 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2035 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2036 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2037 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2038 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2039 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2040 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2041 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2042 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2043 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2044 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2045 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2046 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2047 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2048 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2049 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2050 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2051 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2052 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2053 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2054 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2055 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2056 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2057 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2058 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2059 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2060 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2061 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2062 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2063 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2064 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2065 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2066 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2067 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2068 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2069 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2070 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2071 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2072 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2073 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2074 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2075 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2076 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2077 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2078 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2079 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2080 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2081 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2082 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2083 * doc/reporting-bugs.rst: New file.
2084 * doc/the-libgomp-abi.rst: New file.
2085 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2086 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2087 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2088 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2089 New file.
2090 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2091 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2092 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2093 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2094 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2095 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2096 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2097 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2098 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2099 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2100 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2101
21022022-11-14 Martin Liska <mliska@suse.cz>
2103
2104 Revert:
2105 2022-11-14 Martin Liska <mliska@suse.cz>
2106
2107 * Makefile.in: Support Sphinx based documentation.
2108
21092022-11-14 Martin Liska <mliska@suse.cz>
2110
2111 Revert:
2112 2022-11-14 Martin Liska <mliska@suse.cz>
2113
2114 * libgomp.texi: Removed.
2115
21162022-11-14 Martin Liska <mliska@suse.cz>
2117
2118 Revert:
2119 2022-11-14 Martin Liska <mliska@suse.cz>
2120
2121 * Makefile.in: Support --with-sphinx-build.
2122 * configure.ac: Likewise..
2123 * configure: Regenerate.
2124
21252022-11-14 Martin Liska <mliska@suse.cz>
2126
2127 Revert:
2128 2022-11-09 Martin Liska <mliska@suse.cz>
2129
2130 * Makefile.in: Build info pages conditionally.
2131
21322022-11-14 Martin Liska <mliska@suse.cz>
2133
2134 Revert:
2135 2022-11-14 Martin Liska <mliska@suse.cz>
2136
2137 * doc/amd-radeon-gcn.rst:
3d3b561f 2138 Add trailing newline.
83d400bd 2139 * doc/copyright.rst:
3d3b561f 2140 Add trailing newline.
83d400bd 2141 * doc/cuda-streams-usage.rst:
3d3b561f 2142 Add trailing newline.
83d400bd 2143 * doc/enabling-openacc.rst:
3d3b561f 2144 Add trailing newline.
83d400bd 2145 * doc/enabling-openmp.rst:
3d3b561f 2146 Add trailing newline.
83d400bd 2147 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 2148 Add trailing newline.
83d400bd 2149 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 2150 Add trailing newline.
83d400bd 2151 * doc/funding.rst:
3d3b561f 2152 Add trailing newline.
83d400bd 2153 * doc/general-public-license-3.rst:
3d3b561f 2154 Add trailing newline.
83d400bd 2155 * doc/gnu-free-documentation-license.rst:
3d3b561f 2156 Add trailing newline.
83d400bd 2157 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 2158 Add trailing newline.
83d400bd 2159 * doc/index.rst:
3d3b561f 2160 Add trailing newline.
83d400bd 2161 * doc/indices-and-tables.rst:
3d3b561f 2162 Add trailing newline.
83d400bd 2163 * doc/introduction.rst:
3d3b561f 2164 Add trailing newline.
83d400bd 2165 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 2166 Add trailing newline.
83d400bd 2167 * doc/nvptx.rst:
3d3b561f 2168 Add trailing newline.
83d400bd 2169 * doc/offload-target-specifics.rst:
3d3b561f 2170 Add trailing newline.
83d400bd 2171 * doc/openacc-environment-variables.rst:
3d3b561f 2172 Add trailing newline.
83d400bd 2173 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 2174 Add trailing newline.
83d400bd 2175 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 2176 Add trailing newline.
83d400bd 2177 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 2178 Add trailing newline.
83d400bd 2179 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 2180 Add trailing newline.
83d400bd 2181 * doc/openacc-introduction.rst:
3d3b561f 2182 Add trailing newline.
83d400bd 2183 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 2184 Add trailing newline.
83d400bd 2185 * doc/openacc-library-interoperability.rst:
3d3b561f 2186 Add trailing newline.
83d400bd 2187 * doc/openacc-profiling-interface.rst:
3d3b561f 2188 Add trailing newline.
83d400bd 2189 * doc/openacc-runtime-library-routines.rst:
3d3b561f 2190 Add trailing newline.
83d400bd 2191 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 2192 Add trailing newline.
83d400bd 2193 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 2194 Add trailing newline.
83d400bd 2195 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 2196 Add trailing newline.
83d400bd 2197 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 2198 Add trailing newline.
83d400bd 2199 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 2200 Add trailing newline.
83d400bd 2201 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 2202 Add trailing newline.
83d400bd 2203 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 2204 Add trailing newline.
83d400bd 2205 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 2206 Add trailing newline.
83d400bd 2207 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 2208 Add trailing newline.
83d400bd 2209 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 2210 Add trailing newline.
83d400bd 2211 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 2212 Add trailing newline.
83d400bd 2213 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 2214 Add trailing newline.
83d400bd 2215 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 2216 Add trailing newline.
83d400bd 2217 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 2218 Add trailing newline.
83d400bd 2219 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 2220 Add trailing newline.
83d400bd 2221 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 2222 Add trailing newline.
83d400bd 2223 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 2224 Add trailing newline.
83d400bd 2225 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 2226 Add trailing newline.
83d400bd 2227 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 2228 Add trailing newline.
83d400bd 2229 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 2230 Add trailing newline.
83d400bd 2231 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 2232 Add trailing newline.
83d400bd 2233 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 2234 Add trailing newline.
83d400bd 2235 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 2236 Add trailing newline.
83d400bd 2237 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 2238 Add trailing newline.
83d400bd 2239 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 2240 Add trailing newline.
83d400bd 2241 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 2242 Add trailing newline.
83d400bd 2243 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 2244 Add trailing newline.
83d400bd 2245 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 2246 Add trailing newline.
83d400bd 2247 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 2248 Add trailing newline.
83d400bd 2249 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 2250 Add trailing newline.
83d400bd 2251 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 2252 Add trailing newline.
83d400bd 2253 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 2254 Add trailing newline.
83d400bd 2255 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 2256 Add trailing newline.
83d400bd 2257 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 2258 Add trailing newline.
83d400bd 2259 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 2260 Add trailing newline.
83d400bd 2261 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 2262 Add trailing newline.
83d400bd 2263 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 2264 Add trailing newline.
83d400bd 2265 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 2266 Add trailing newline.
83d400bd 2267 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 2268 Add trailing newline.
83d400bd 2269 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 2270 Add trailing newline.
83d400bd 2271 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 2272 Add trailing newline.
83d400bd 2273 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 2274 Add trailing newline.
83d400bd 2275 * doc/openmp-context-selectors.rst:
3d3b561f 2276 Add trailing newline.
83d400bd 2277 * doc/openmp-environment-variables.rst:
3d3b561f 2278 Add trailing newline.
83d400bd 2279 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 2280 Add trailing newline.
83d400bd 2281 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 2282 Add trailing newline.
83d400bd 2283 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 2284 Add trailing newline.
83d400bd 2285 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 2286 Add trailing newline.
83d400bd 2287 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 2288 Add trailing newline.
83d400bd 2289 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 2290 Add trailing newline.
83d400bd 2291 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 2292 Add trailing newline.
83d400bd 2293 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 2294 Add trailing newline.
83d400bd 2295 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 2296 Add trailing newline.
83d400bd 2297 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 2298 Add trailing newline.
83d400bd 2299 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 2300 Add trailing newline.
83d400bd 2301 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 2302 Add trailing newline.
83d400bd 2303 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 2304 Add trailing newline.
83d400bd 2305 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 2306 Add trailing newline.
83d400bd 2307 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 2308 Add trailing newline.
83d400bd 2309 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 2310 Add trailing newline.
83d400bd 2311 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 2312 Add trailing newline.
83d400bd 2313 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 2314 Add trailing newline.
83d400bd 2315 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 2316 Add trailing newline.
83d400bd 2317 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 2318 Add trailing newline.
83d400bd 2319 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 2320 Add trailing newline.
83d400bd 2321 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 2322 Add trailing newline.
83d400bd 2323 * doc/openmp-implementation-specifics.rst:
3d3b561f 2324 Add trailing newline.
83d400bd 2325 * doc/openmp-implementation-status.rst:
3d3b561f 2326 Add trailing newline.
83d400bd 2327 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 2328 Add trailing newline.
83d400bd 2329 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 2330 Add trailing newline.
83d400bd 2331 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 2332 Add trailing newline.
83d400bd 2333 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 2334 Add trailing newline.
83d400bd 2335 * doc/openmp-runtime-library-routines.rst:
3d3b561f 2336 Add trailing newline.
83d400bd 2337 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 2338 Add trailing newline.
83d400bd 2339 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 2340 Add trailing newline.
83d400bd 2341 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 2342 Add trailing newline.
83d400bd 2343 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 2344 Add trailing newline.
83d400bd 2345 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2346 Add trailing newline.
83d400bd 2347 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2348 Add trailing newline.
83d400bd 2349 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2350 Add trailing newline.
83d400bd 2351 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2352 Add trailing newline.
83d400bd 2353 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2354 Add trailing newline.
83d400bd 2355 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2356 Add trailing newline.
83d400bd 2357 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2358 Add trailing newline.
83d400bd 2359 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2360 Add trailing newline.
83d400bd 2361 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2362 Add trailing newline.
83d400bd 2363 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2364 Add trailing newline.
83d400bd 2365 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2366 Add trailing newline.
83d400bd 2367 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2368 Add trailing newline.
83d400bd 2369 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2370 Add trailing newline.
83d400bd 2371 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2372 Add trailing newline.
83d400bd 2373 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2374 Add trailing newline.
83d400bd 2375 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2376 Add trailing newline.
83d400bd 2377 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2378 Add trailing newline.
83d400bd 2379 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2380 Add trailing newline.
83d400bd 2381 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2382 Add trailing newline.
83d400bd 2383 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2384 Add trailing newline.
83d400bd 2385 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2386 Add trailing newline.
83d400bd 2387 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2388 Add trailing newline.
83d400bd 2389 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2390 Add trailing newline.
83d400bd 2391 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2392 Add trailing newline.
83d400bd 2393 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2394 Add trailing newline.
83d400bd 2395 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2396 Add trailing newline.
83d400bd 2397 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2398 Add trailing newline.
83d400bd 2399 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2400 Add trailing newline.
83d400bd 2401 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2402 Add trailing newline.
83d400bd 2403 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2404 Add trailing newline.
83d400bd 2405 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2406 Add trailing newline.
83d400bd 2407 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2408 Add trailing newline.
83d400bd 2409 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2410 Add trailing newline.
83d400bd 2411 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2412 Add trailing newline.
83d400bd 2413 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2414 Add trailing newline.
83d400bd 2415 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2416 Add trailing newline.
83d400bd 2417 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2418 Add trailing newline.
83d400bd 2419 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2420 Add trailing newline.
83d400bd 2421 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2422 Add trailing newline.
83d400bd 2423 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2424 Add trailing newline.
83d400bd 2425 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2426 Add trailing newline.
83d400bd 2427 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2428 Add trailing newline.
83d400bd 2429 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2430 Add trailing newline.
83d400bd 2431 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2432 Add trailing newline.
83d400bd 2433 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2434 Add trailing newline.
83d400bd 2435 * doc/reporting-bugs.rst:
3d3b561f 2436 Add trailing newline.
83d400bd 2437 * doc/the-libgomp-abi.rst:
3d3b561f 2438 Add trailing newline.
83d400bd 2439 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2440 Add trailing newline.
83d400bd 2441 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2442 Add trailing newline.
83d400bd 2443 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2444 Add trailing newline.
83d400bd 2445 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2446 Add trailing newline.
83d400bd 2447 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2448 Add trailing newline.
83d400bd 2449 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2450 Add trailing newline.
83d400bd 2451 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2452 Add trailing newline.
83d400bd 2453 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2454 Add trailing newline.
83d400bd 2455 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2456 Add trailing newline.
83d400bd 2457 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2458 Add trailing newline.
83d400bd 2459 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2460 Add trailing newline.
83d400bd 2461 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2462 Add trailing newline.
83d400bd 2463 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2464 Add trailing newline.
83d400bd 2465 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2466 Add trailing newline.
83d400bd 2467 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2468 Add trailing newline.
83d400bd
GA
2469
24702022-11-14 Martin Liska <mliska@suse.cz>
2471
2472 Revert:
2473 2022-11-09 Martin Liska <mliska@suse.cz>
2474
2475 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2476
24772022-11-14 Martin Liska <mliska@suse.cz>
2478
2479 Revert:
2480 2022-11-14 Martin Liska <mliska@suse.cz>
2481
2482 * doc/conf.py: Add newline at last line.
2483
24842022-11-14 Martin Liska <mliska@suse.cz>
2485
2486 Revert:
2487 2022-11-14 Martin Liska <mliska@suse.cz>
2488
2489 PR other/107620
2490 * configure: Regenerate.
2491 * configure.ac: Always set sphinx-build.
2492
eefbfbc7
GA
24932022-11-13 Martin Liska <mliska@suse.cz>
2494
2495 PR other/107620
2496 * configure: Regenerate.
2497 * configure.ac: Always set sphinx-build.
2498
30d77d49
GA
24992022-11-12 Jakub Jelinek <jakub@redhat.com>
2500
2501 PR libgomp/107641
2502 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2503 unsigned long. Change type of upper from unsigned to unsigned long.
2504
f225b813
GA
25052022-11-10 Martin Liska <mliska@suse.cz>
2506
2507 * doc/conf.py: Add newline at last line.
2508
1cdfd0e5
GA
25092022-11-09 Martin Liska <mliska@suse.cz>
2510
2511 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2512
25132022-11-09 Martin Liska <mliska@suse.cz>
2514
2515 * doc/amd-radeon-gcn.rst:
3d3b561f 2516 Add trailing newline.
1cdfd0e5 2517 * doc/copyright.rst:
3d3b561f 2518 Add trailing newline.
1cdfd0e5 2519 * doc/cuda-streams-usage.rst:
3d3b561f 2520 Add trailing newline.
1cdfd0e5 2521 * doc/enabling-openacc.rst:
3d3b561f 2522 Add trailing newline.
1cdfd0e5 2523 * doc/enabling-openmp.rst:
3d3b561f 2524 Add trailing newline.
1cdfd0e5 2525 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 2526 Add trailing newline.
1cdfd0e5 2527 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 2528 Add trailing newline.
1cdfd0e5 2529 * doc/funding.rst:
3d3b561f 2530 Add trailing newline.
1cdfd0e5 2531 * doc/general-public-license-3.rst:
3d3b561f 2532 Add trailing newline.
1cdfd0e5 2533 * doc/gnu-free-documentation-license.rst:
3d3b561f 2534 Add trailing newline.
1cdfd0e5 2535 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 2536 Add trailing newline.
1cdfd0e5 2537 * doc/index.rst:
3d3b561f 2538 Add trailing newline.
1cdfd0e5 2539 * doc/indices-and-tables.rst:
3d3b561f 2540 Add trailing newline.
1cdfd0e5 2541 * doc/introduction.rst:
3d3b561f 2542 Add trailing newline.
1cdfd0e5 2543 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 2544 Add trailing newline.
1cdfd0e5 2545 * doc/nvptx.rst:
3d3b561f 2546 Add trailing newline.
1cdfd0e5 2547 * doc/offload-target-specifics.rst:
3d3b561f 2548 Add trailing newline.
1cdfd0e5 2549 * doc/openacc-environment-variables.rst:
3d3b561f 2550 Add trailing newline.
1cdfd0e5 2551 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 2552 Add trailing newline.
1cdfd0e5 2553 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 2554 Add trailing newline.
1cdfd0e5 2555 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 2556 Add trailing newline.
1cdfd0e5 2557 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 2558 Add trailing newline.
1cdfd0e5 2559 * doc/openacc-introduction.rst:
3d3b561f 2560 Add trailing newline.
1cdfd0e5 2561 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 2562 Add trailing newline.
1cdfd0e5 2563 * doc/openacc-library-interoperability.rst:
3d3b561f 2564 Add trailing newline.
1cdfd0e5 2565 * doc/openacc-profiling-interface.rst:
3d3b561f 2566 Add trailing newline.
1cdfd0e5 2567 * doc/openacc-runtime-library-routines.rst:
3d3b561f 2568 Add trailing newline.
1cdfd0e5 2569 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 2570 Add trailing newline.
1cdfd0e5 2571 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 2572 Add trailing newline.
1cdfd0e5 2573 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 2574 Add trailing newline.
1cdfd0e5 2575 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 2576 Add trailing newline.
1cdfd0e5 2577 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 2578 Add trailing newline.
1cdfd0e5 2579 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 2580 Add trailing newline.
1cdfd0e5 2581 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 2582 Add trailing newline.
1cdfd0e5 2583 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 2584 Add trailing newline.
1cdfd0e5 2585 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 2586 Add trailing newline.
1cdfd0e5 2587 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 2588 Add trailing newline.
1cdfd0e5 2589 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 2590 Add trailing newline.
1cdfd0e5 2591 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 2592 Add trailing newline.
1cdfd0e5 2593 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 2594 Add trailing newline.
1cdfd0e5 2595 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 2596 Add trailing newline.
1cdfd0e5 2597 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 2598 Add trailing newline.
1cdfd0e5 2599 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 2600 Add trailing newline.
1cdfd0e5 2601 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 2602 Add trailing newline.
1cdfd0e5 2603 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 2604 Add trailing newline.
1cdfd0e5 2605 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 2606 Add trailing newline.
1cdfd0e5 2607 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 2608 Add trailing newline.
1cdfd0e5 2609 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 2610 Add trailing newline.
1cdfd0e5 2611 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 2612 Add trailing newline.
1cdfd0e5 2613 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 2614 Add trailing newline.
1cdfd0e5 2615 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 2616 Add trailing newline.
1cdfd0e5 2617 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 2618 Add trailing newline.
1cdfd0e5 2619 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 2620 Add trailing newline.
1cdfd0e5 2621 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 2622 Add trailing newline.
1cdfd0e5 2623 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 2624 Add trailing newline.
1cdfd0e5 2625 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 2626 Add trailing newline.
1cdfd0e5 2627 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 2628 Add trailing newline.
1cdfd0e5 2629 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 2630 Add trailing newline.
1cdfd0e5 2631 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 2632 Add trailing newline.
1cdfd0e5 2633 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 2634 Add trailing newline.
1cdfd0e5 2635 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 2636 Add trailing newline.
1cdfd0e5 2637 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 2638 Add trailing newline.
1cdfd0e5 2639 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 2640 Add trailing newline.
1cdfd0e5 2641 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 2642 Add trailing newline.
1cdfd0e5 2643 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 2644 Add trailing newline.
1cdfd0e5 2645 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 2646 Add trailing newline.
1cdfd0e5 2647 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 2648 Add trailing newline.
1cdfd0e5 2649 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 2650 Add trailing newline.
1cdfd0e5 2651 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 2652 Add trailing newline.
1cdfd0e5 2653 * doc/openmp-context-selectors.rst:
3d3b561f 2654 Add trailing newline.
1cdfd0e5 2655 * doc/openmp-environment-variables.rst:
3d3b561f 2656 Add trailing newline.
1cdfd0e5 2657 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 2658 Add trailing newline.
1cdfd0e5 2659 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 2660 Add trailing newline.
1cdfd0e5 2661 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 2662 Add trailing newline.
1cdfd0e5 2663 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 2664 Add trailing newline.
1cdfd0e5 2665 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 2666 Add trailing newline.
1cdfd0e5 2667 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 2668 Add trailing newline.
1cdfd0e5 2669 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 2670 Add trailing newline.
1cdfd0e5 2671 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 2672 Add trailing newline.
1cdfd0e5 2673 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 2674 Add trailing newline.
1cdfd0e5 2675 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 2676 Add trailing newline.
1cdfd0e5 2677 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 2678 Add trailing newline.
1cdfd0e5 2679 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 2680 Add trailing newline.
1cdfd0e5 2681 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 2682 Add trailing newline.
1cdfd0e5 2683 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 2684 Add trailing newline.
1cdfd0e5 2685 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 2686 Add trailing newline.
1cdfd0e5 2687 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 2688 Add trailing newline.
1cdfd0e5 2689 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 2690 Add trailing newline.
1cdfd0e5 2691 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 2692 Add trailing newline.
1cdfd0e5 2693 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 2694 Add trailing newline.
1cdfd0e5 2695 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 2696 Add trailing newline.
1cdfd0e5 2697 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 2698 Add trailing newline.
1cdfd0e5 2699 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 2700 Add trailing newline.
1cdfd0e5 2701 * doc/openmp-implementation-specifics.rst:
3d3b561f 2702 Add trailing newline.
1cdfd0e5 2703 * doc/openmp-implementation-status.rst:
3d3b561f 2704 Add trailing newline.
1cdfd0e5 2705 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 2706 Add trailing newline.
1cdfd0e5 2707 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 2708 Add trailing newline.
1cdfd0e5 2709 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 2710 Add trailing newline.
1cdfd0e5 2711 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 2712 Add trailing newline.
1cdfd0e5 2713 * doc/openmp-runtime-library-routines.rst:
3d3b561f 2714 Add trailing newline.
1cdfd0e5 2715 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 2716 Add trailing newline.
1cdfd0e5 2717 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 2718 Add trailing newline.
1cdfd0e5 2719 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 2720 Add trailing newline.
1cdfd0e5 2721 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 2722 Add trailing newline.
1cdfd0e5 2723 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2724 Add trailing newline.
1cdfd0e5 2725 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2726 Add trailing newline.
1cdfd0e5 2727 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2728 Add trailing newline.
1cdfd0e5 2729 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2730 Add trailing newline.
1cdfd0e5 2731 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2732 Add trailing newline.
1cdfd0e5 2733 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2734 Add trailing newline.
1cdfd0e5 2735 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2736 Add trailing newline.
1cdfd0e5 2737 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2738 Add trailing newline.
1cdfd0e5 2739 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2740 Add trailing newline.
1cdfd0e5 2741 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2742 Add trailing newline.
1cdfd0e5 2743 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2744 Add trailing newline.
1cdfd0e5 2745 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2746 Add trailing newline.
1cdfd0e5 2747 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2748 Add trailing newline.
1cdfd0e5 2749 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2750 Add trailing newline.
1cdfd0e5 2751 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2752 Add trailing newline.
1cdfd0e5 2753 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2754 Add trailing newline.
1cdfd0e5 2755 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2756 Add trailing newline.
1cdfd0e5 2757 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2758 Add trailing newline.
1cdfd0e5 2759 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2760 Add trailing newline.
1cdfd0e5 2761 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2762 Add trailing newline.
1cdfd0e5 2763 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2764 Add trailing newline.
1cdfd0e5 2765 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2766 Add trailing newline.
1cdfd0e5 2767 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2768 Add trailing newline.
1cdfd0e5 2769 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2770 Add trailing newline.
1cdfd0e5 2771 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2772 Add trailing newline.
1cdfd0e5 2773 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2774 Add trailing newline.
1cdfd0e5 2775 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2776 Add trailing newline.
1cdfd0e5 2777 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2778 Add trailing newline.
1cdfd0e5 2779 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2780 Add trailing newline.
1cdfd0e5 2781 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2782 Add trailing newline.
1cdfd0e5 2783 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2784 Add trailing newline.
1cdfd0e5 2785 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2786 Add trailing newline.
1cdfd0e5 2787 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2788 Add trailing newline.
1cdfd0e5 2789 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2790 Add trailing newline.
1cdfd0e5 2791 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2792 Add trailing newline.
1cdfd0e5 2793 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2794 Add trailing newline.
1cdfd0e5 2795 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2796 Add trailing newline.
1cdfd0e5 2797 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2798 Add trailing newline.
1cdfd0e5 2799 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2800 Add trailing newline.
1cdfd0e5 2801 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2802 Add trailing newline.
1cdfd0e5 2803 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2804 Add trailing newline.
1cdfd0e5 2805 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2806 Add trailing newline.
1cdfd0e5 2807 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2808 Add trailing newline.
1cdfd0e5 2809 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2810 Add trailing newline.
1cdfd0e5 2811 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2812 Add trailing newline.
1cdfd0e5 2813 * doc/reporting-bugs.rst:
3d3b561f 2814 Add trailing newline.
1cdfd0e5 2815 * doc/the-libgomp-abi.rst:
3d3b561f 2816 Add trailing newline.
1cdfd0e5 2817 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2818 Add trailing newline.
1cdfd0e5 2819 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2820 Add trailing newline.
1cdfd0e5 2821 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2822 Add trailing newline.
1cdfd0e5 2823 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2824 Add trailing newline.
1cdfd0e5 2825 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2826 Add trailing newline.
1cdfd0e5 2827 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2828 Add trailing newline.
1cdfd0e5 2829 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2830 Add trailing newline.
1cdfd0e5 2831 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2832 Add trailing newline.
1cdfd0e5 2833 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2834 Add trailing newline.
1cdfd0e5 2835 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2836 Add trailing newline.
1cdfd0e5 2837 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2838 Add trailing newline.
1cdfd0e5 2839 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2840 Add trailing newline.
1cdfd0e5 2841 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2842 Add trailing newline.
1cdfd0e5 2843 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2844 Add trailing newline.
1cdfd0e5 2845 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2846 Add trailing newline.
1cdfd0e5
GA
2847
28482022-11-09 Martin Liska <mliska@suse.cz>
2849
2850 * Makefile.in: Build info pages conditionally.
2851
28522022-11-09 Martin Liska <mliska@suse.cz>
2853
2854 * Makefile.in: Support --with-sphinx-build.
2855 * configure.ac: Likewise..
2856 * configure: Regenerate.
2857
28582022-11-09 Martin Liska <mliska@suse.cz>
2859
2860 * libgomp.texi: Removed.
2861
28622022-11-09 Martin Liska <mliska@suse.cz>
2863
2864 * Makefile.in: Support Sphinx based documentation.
2865
28662022-11-09 Martin Liska <mliska@suse.cz>
2867
2868 * doc/amd-radeon-gcn.rst: New file.
2869 * doc/conf.py: New file.
2870 * doc/copyright.rst: New file.
2871 * doc/cuda-streams-usage.rst: New file.
2872 * doc/enabling-openacc.rst: New file.
2873 * doc/enabling-openmp.rst: New file.
2874 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2875 * doc/first-invocation-openacc-library-api.rst: New file.
2876 * doc/funding.rst: New file.
2877 * doc/general-public-license-3.rst: New file.
2878 * doc/gnu-free-documentation-license.rst: New file.
2879 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2880 * doc/index.rst: New file.
2881 * doc/indices-and-tables.rst: New file.
2882 * doc/introduction.rst: New file.
2883 * doc/memory-allocation-with-libmemkind.rst: New file.
2884 * doc/nvptx.rst: New file.
2885 * doc/offload-target-specifics.rst: New file.
2886 * doc/openacc-environment-variables.rst: New file.
2887 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2888 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2889 * doc/openacc-environment-variables/accproflib.rst: New file.
2890 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2891 * doc/openacc-introduction.rst: New file.
2892 * doc/openacc-library-and-environment-variables.rst: New file.
2893 * doc/openacc-library-interoperability.rst: New file.
2894 * doc/openacc-profiling-interface.rst: New file.
2895 * doc/openacc-runtime-library-routines.rst: New file.
2896 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2897 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2898 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2899 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2900 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2901 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2902 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2903 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2904 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2905 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2906 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2907 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2908 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2909 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2910 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2911 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2912 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2913 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2914 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2915 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2916 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2917 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2918 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2919 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2920 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2921 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2922 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2923 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2924 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2925 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2926 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2927 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2928 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2929 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2930 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2931 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2932 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2933 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2934 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2935 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2936 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2937 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2938 * doc/openmp-context-selectors.rst: New file.
2939 * doc/openmp-environment-variables.rst: New file.
2940 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2941 * doc/openmp-environment-variables/gompdebug.rst: New file.
2942 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2943 * doc/openmp-environment-variables/gompspincount.rst: New file.
2944 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2945 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2946 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2947 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2948 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2949 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2950 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2951 * doc/openmp-environment-variables/ompnested.rst: New file.
2952 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2953 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2954 * doc/openmp-environment-variables/ompplaces.rst: New file.
2955 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2956 * doc/openmp-environment-variables/ompschedule.rst: New file.
2957 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2958 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2959 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2960 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2961 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2962 * doc/openmp-implementation-specifics.rst: New file.
2963 * doc/openmp-implementation-status.rst: New file.
2964 * doc/openmp-implementation-status/openmp-45.rst: New file.
2965 * doc/openmp-implementation-status/openmp-50.rst: New file.
2966 * doc/openmp-implementation-status/openmp-51.rst: New file.
2967 * doc/openmp-implementation-status/openmp-52.rst: New file.
2968 * doc/openmp-runtime-library-routines.rst: New file.
2969 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2970 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2971 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2972 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2973 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2974 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2975 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2976 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2977 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2978 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2979 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2980 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2981 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2982 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2983 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2984 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2985 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2986 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2987 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2988 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2989 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2990 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2991 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2992 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2993 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2994 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2995 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2996 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2997 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2998 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2999 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
3000 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
3001 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
3002 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
3003 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
3004 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
3005 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
3006 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
3007 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
3008 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
3009 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
3010 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
3011 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
3012 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
3013 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
3014 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
3015 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
3016 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
3017 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
3018 * doc/reporting-bugs.rst: New file.
3019 * doc/the-libgomp-abi.rst: New file.
3020 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
3021 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
3022 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
3023 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3024 New file.
3025 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
3026 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
3027 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
3028 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
3029 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
3030 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
3031 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
3032 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
3033 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
3034 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
3035 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
3036
89d0a14a
JJ
30372022-11-04 Thomas Schwinge <thomas@codesourcery.com>
3038
3039 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
3040 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
3041 documentation.
3042 * plugin/configfrag.ac <enable_offload_targets>
3043 [*-intelmic-* | *-intelmicemul-*]: Remove.
3044 * configure: Regenerate.
3045 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
3046 handling.
3047 (offload_target_to_openacc_device_type)
3048 [$offload_target = *-intelmic*]: Remove.
3049 (check_effective_target_offload_device_intel_mic)
3050 (check_effective_target_offload_device_any_intel_mic): Remove.
3051 * testsuite/libgomp.c-c++-common/on_device_arch.h
3052 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
3053 (any_device_arch_intel_mic): Remove.
3054 * testsuite/libgomp.c-c++-common/target-45.c: Remove
3055 'offload_device_any_intel_mic' XFAIL.
3056 * testsuite/libgomp.fortran/target10.f90: Likewise.
3057
d29260ce
GA
30582022-11-03 Tobias Burnus <tobias@codesourcery.com>
3059
3060 * testsuite/libgomp.fortran/target-11.f90: New test.
3061 * testsuite/libgomp.fortran/target-13.f90: New test.
3062
58035eee
GA
30632022-11-02 Thomas Schwinge <thomas@codesourcery.com>
3064
3065 PR libgomp/106643
3066 PR fortran/96668
3067 * oacc-mem.c (goacc_enter_data_internal): Support
3068 OpenACC 'declare create' with Fortran allocatable arrays, part II.
3069 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
3070 Adjust.
3071 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
3072
30732022-11-02 Thomas Schwinge <thomas@codesourcery.com>
3074
3075 PR libgomp/106643
3076 * oacc-mem.c (goacc_enter_data_internal): Support
3077 OpenACC 'declare create' with Fortran allocatable arrays, part I.
3078 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
3079 New.
3080 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
3081 New.
3082
30832022-11-02 Thomas Schwinge <thomas@codesourcery.com>
3084
3085 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
3086 New.
3087
30882022-11-02 Thomas Schwinge <thomas@codesourcery.com>
3089
3090 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
3091 New.
3092
30932022-11-02 Cesar Philippidis <cesar@codesourcery.com>
3094 Thomas Schwinge <thomas@codesourcery.com>
3095
3096 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
3097
3055829a
GA
30982022-10-28 Julian Brown <julian@codesourcery.com>
3099 Thomas Schwinge <thomas@codesourcery.com>
3100
3101 PR middle-end/90115
3102 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
3103 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
3104 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3105 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
3106 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3107
4e939ae1
GA
31082022-10-24 Thomas Schwinge <thomas@codesourcery.com>
3109
3110 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
3111 'ptx_dev->rev_data'.
3112
31132022-10-24 Tobias Burnus <tobias@codesourcery.com>
3114
3115 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
3116 'static' for this variable.
3117 * config/nvptx/libgomp-nvptx.h: New file.
3118 * config/nvptx/target.c: Include it.
3119 (GOMP_ADDITIONAL_ICVS): Declare extern var.
3120 (GOMP_REV_OFFLOAD_VAR): Declare var.
3121 (GOMP_target_ext): Handle reverse offload.
3122 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
3123 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
3124 * target.c (gomp_target_rev): ... this new stub function.
3125 * libgomp.h (gomp_target_rev): Declare.
3126 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
3127 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
3128 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
3129 (struct ptx_device): Add rev_data member.
3130 (nvptx_open_device): Remove async_engines query, last used in
3131 r10-304-g1f4c5b9b; add unified-address assert check.
3132 (GOMP_OFFLOAD_get_num_devices): Claim unified address
3133 support.
3134 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
3135 offload functions exist. Make offload var available
3136 on host and device.
3137 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
3138 (GOMP_OFFLOAD_run): Handle reverse offload.
3139
10439719
GA
31402022-10-21 Thomas Schwinge <thomas@codesourcery.com>
3141
3142 PR tree-optimization/107195
3143 PR target/107344
3144 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
3145 regions checking.
3146
47a6ae56
GA
31472022-10-20 Tobias Burnus <tobias@codesourcery.com>
3148
3149 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
3150 New.
3151 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
3152 on_device_arch_gcn): New.
3153 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
3154 requires-4.c but using heap-allocated memory.
3155
31562022-10-20 Thomas Schwinge <thomas@codesourcery.com>
3157
3158 PR target/105421
3159 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
3160
6237663c
GA
31612022-10-17 Thomas Schwinge <thomas@codesourcery.com>
3162
3163 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
3164 '-foffload-options' syntax.
3165
621a911d
GA
31662022-10-13 Tobias Burnus <tobias@codesourcery.com>
3167
3168 * testsuite/libgomp.fortran/task-7.f90: New test.
3169 * testsuite/libgomp.fortran/task-8.f90: New test.
3170 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
3171 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
3172 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
3173 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
3174 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
3175
781f477a
GA
31762022-10-12 Jakub Jelinek <jakub@redhat.com>
3177
3178 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
3179 in deprecation bullet.
3180
31812022-10-12 Jakub Jelinek <jakub@redhat.com>
3182
3183 * omp.h.in (omp_in_explicit_task): Declare.
3184 * omp_lib.h.in (omp_in_explicit_task): Likewise.
3185 * omp_lib.f90.in (omp_in_explicit_task): New interface.
3186 * libgomp.map (OMP_5.2): New symbol version, export
3187 omp_in_explicit_task and omp_in_explicit_task_.
3188 * task.c (omp_in_explicit_task): New function.
3189 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
3190 (omp_in_explicit_task_): New function.
3191 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
3192 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
3193 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
3194 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
3195
31962022-10-12 Jakub Jelinek <jakub@redhat.com>
3197
3198 * task.c (gomp_create_artificial_team): Fix up handling of invocations
3199 from within explicit task.
3200 * target.c (GOMP_target_ext): Likewise.
3201 * testsuite/libgomp.c/task-7.c: New test.
3202 * testsuite/libgomp.c/task-8.c: New test.
3203 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
3204 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
3205
32062022-10-12 Martin Liska <mliska@suse.cz>
3207
3208 * configure: Regenerate.
3209
ab332cd7
GA
32102022-10-11 Olivier Hainque <hainque@adacore.com>
3211 Olivier Hainque <hainque@adacore.com>
3212
3213 * configure: Regenerate.
3214
966010b2
GA
32152022-10-05 Tobias Burnus <tobias@codesourcery.com>
3216
3217 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
3218
85872a69
GA
32192022-10-04 Jakub Jelinek <jakub@redhat.com>
3220
3221 * libgomp.texi (Support begin/end declare target syntax in C/C++):
3222 Mark as implemented.
3223
3a221b73
GA
32242022-09-30 Tobias Burnus <tobias@codesourcery.com>
3225
3226 PR fortran/105318
3227 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
3228
9e79a25b
GA
32292022-09-28 Tobias Burnus <tobias@codesourcery.com>
3230
3231 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
3232 for C/C++. Remove duplicated 'begin declare target' entry.
3233
28a61ecd
GA
32342022-09-24 Jakub Jelinek <jakub@redhat.com>
3235
3236 PR c/106981
3237 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
3238
ff822367
GA
32392022-09-14 Julian Brown <julian@codesourcery.com>
3240
3241 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
3242 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
3243 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
3244 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
3245 test to here, make "run" test.
3246
1995a022
GA
32472022-09-13 Jakub Jelinek <jakub@redhat.com>
3248
3249 PR libgomp/106906
3250 * env.c (get_icv_member_addr): Cast false to void * before assigning
3251 it to icv_addr[1], and comment the whole assignment out.
3252
32532022-09-13 Tobias Burnus <tobias@codesourcery.com>
3254
3255 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3256 (nvptx): ... here.
3257
b5f09bd7
GA
32582022-09-12 Tobias Burnus <tobias@codesourcery.com>
3259
3260 * libgomp.texi (Offload-Target Specifics: nvptx): Document
3261 that reverse offload requires >= -march=sm_35.
3262 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3263 with -misa=sm_35.
3264 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3265 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3266 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3267 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3268 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3269
32702022-09-12 Tobias Burnus <tobias@codesourcery.com>
3271
3272 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3273 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3274
32752022-09-12 Jakub Jelinek <jakub@redhat.com>
3276
3277 PR libgomp/106894
3278 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3279 (main): Avoid tests for which corresponding non-_ALL suffixed variable
3280 is in the environment, or for OMP_NUM_TEAMS on the device
3281 OMP_NUM_TEAMS_DEV_?.
3282
5b3496e2
GA
32832022-09-10 Iain Sandoe <iain@sandoe.co.uk>
3284
3285 * env.c (initialize_env): Include libiberty environ.h.
3286
861d1a11
GA
32872022-09-09 Tobias Burnus <tobias@codesourcery.com>
3288
3289 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3290 function address table '$offload_func_table' if rev_fn_table
3291 is not NULL.
3292
32932022-09-09 Tobias Burnus <tobias@codesourcery.com>
3294
3295 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3296 .offload_func_table to populate rev_fn_table when requested.
3297
32982022-09-09 Tobias Burnus <tobias@codesourcery.com>
3299
3300 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3301 'uint64_t **rev_fn_table' argument.
3302 * oacc-host.c (host_load_image): Likewise.
3303 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3304 currently unused.
3305 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3306 * target.c (gomp_load_image_to_device): Update call but pass
3307 NULL for now.
3308
33092022-09-09 Jakub Jelinek <jakub@redhat.com>
3310
3311 PR libgomp/106894
3312 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3313 char * for dest[1] initialization from params[1]. Formatting fixes.
3314
2e7ad70c
GA
33152022-09-08 Tobias Burnus <tobias@codesourcery.com>
3316
3317 PR fortran/106670
3318 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3319
33202022-09-08 Tobias Burnus <tobias@codesourcery.com>
3321
3322 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3323 section; move OpenMP Context Selectors from ...
3324 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3325 'nvptx' sections.
3326
33272022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
3328
3329 * config/gcn/icv-device.c (omp_get_default_device): Return device-
3330 specific ICV.
3331 (omp_get_max_teams): Added for GCN devices.
3332 (omp_set_num_teams): Likewise.
3333 (ialias): Likewise.
3334 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3335 specific ICV.
3336 (omp_get_max_teams): Added for NVPTX devices.
3337 (omp_set_num_teams): Likewise.
3338 (ialias): Likewise.
3339 * env.c (struct gomp_icv_list): New struct to store entries of initial
3340 ICV values.
3341 (struct gomp_offload_icv_list): New struct to store entries of device-
3342 specific ICV values that are copied to the device and back.
3343 (struct gomp_default_icv_values): New struct to store default values of
3344 ICVs according to the OpenMP standard.
3345 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3346 (print_env_var_error): Function that prints an error for invalid values
3347 for ICVs.
3348 (parse_unsigned_long_1): Removed getenv. Generalized.
3349 (parse_unsigned_long): Likewise.
3350 (parse_int_1): Likewise.
3351 (parse_int): Likewise.
3352 (parse_int_secure): Likewise.
3353 (parse_unsigned_long_list): Likewise.
3354 (parse_target_offload): Likewise.
3355 (parse_bind_var): Likewise.
3356 (parse_stacksize): Likewise.
3357 (parse_boolean): Likewise.
3358 (parse_wait_policy): Likewise.
3359 (parse_allocator): Likewise.
3360 (omp_display_env): Extended to output different variants of environment
3361 variables.
3362 (print_schedule): New helper function for omp_display_env which prints
3363 the values of run_sched_var.
3364 (print_proc_bind): New helper function for omp_display_env which prints
3365 the values of proc_bind_var.
3366 (enum gomp_parse_type): Collection of types used for parsing environment
3367 variables.
3368 (ENTRY): Preprocess string lengths of environment variables.
3369 (OMP_VAR_CNT): Preprocess table size.
3370 (OMP_HOST_VAR_CNT): Likewise.
3371 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3372 number.
3373 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3374 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3375 (print_device_specific_icvs): New helper function for omp_display_env to
3376 print device specific ICV values.
3377 (get_device_num): New helper function for parse_device_specific.
3378 Extracts the device number from an environment variable name.
3379 (get_icv_member_addr): Gets the memory address for a particular member
3380 of an ICV struct.
3381 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3382 (initialize_icvs): New function to initialize a gomp_initial_icvs
3383 struct.
3384 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3385 (startswith): Checks if a string starts with a given prefix.
3386 (initialize_env): Extended to parse the new syntax of environment
3387 variables.
3388 * icv-device.c (omp_get_max_teams): Added.
3389 (ialias): Likewise.
3390 (omp_set_num_teams): Likewise.
3391 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3392 (omp_get_max_teams): Likewise.
3393 (ialias): Likewise.
3394 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3395 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3396 holds the designated ICVs of the target device.
3397 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3398 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3399 no suffix.
3400 (enum gomp_env_suffix): Collection of possible suffixes of environment
3401 variables.
3402 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3403 initial values.
3404 (struct gomp_default_icv):New struct to hold ICVs for which we need
3405 to store initial values.
3406 (struct gomp_icv_list): Definition of a linked list that is used for
3407 storing ICVs for the devices and also for _DEV, _ALL, and without
3408 suffix.
3409 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3410 a device.
3411 (struct gomp_offload_icv_list): Definition of a linked list that holds
3412 device-specific ICVs that are copied to devices.
3413 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3414 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3415 * libgomp.texi: Updated.
3416 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3417 further ICVs from the offload image.
3418 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3419 * target.c (gomp_get_offload_icv_item): Get a list item of
3420 gomp_offload_icv_list.
3421 (get_gomp_offload_icvs): New. Returns the ICV values
3422 depending on the device num and the variable hierarchy.
3423 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3424 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3425 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3426 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3427 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3428 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3429 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3430
34312022-09-08 Jakub Jelinek <jakub@redhat.com>
3432
3433 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3434 fully supported.
3435 * testsuite/libgomp.c/doacross-4.c: New test.
3436 * testsuite/libgomp.c/doacross-5.c: New test.
3437 * testsuite/libgomp.c/doacross-6.c: New test.
3438 * testsuite/libgomp.c/doacross-7.c: New test.
3439
47d2dcd1
GA
34402022-09-05 Tobias Burnus <tobias@codesourcery.com>
3441
3442 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3443
16f542d6
GA
34442022-08-26 Tobias Burnus <tobias@codesourcery.com>
3445
3446 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3447 refer to 'requires'.
3448 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3449 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3450 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3451 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3452
0342f034
GA
34532022-08-17 Tobias Burnus <tobias@codesourcery.com>
3454
3455 PR middle-end/106548
3456 * testsuite/libgomp.c/linear-2.c: New test.
3457
34582022-08-17 Tobias Burnus <tobias@codesourcery.com>
3459
3460 * splay-tree.h: Fix splay_* macro unsetting if
3461 splay_tree_prefix is defined.
3462
b2bf0473
GA
34632022-07-29 Tobias Burnus <tobias@codesourcery.com>
3464
3465 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3466
34672022-07-29 Jakub Jelinek <jakub@redhat.com>
3468
3469 PR middle-end/106449
3470 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3471
43997608
GA
34722022-07-12 Tobias Burnus <tobias@codesourcery.com>
3473
3474 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3475
34762022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3477
3478 PR middle-end/101551
3479 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3480 'offloading_enabled' diagnostics issue.
3481
c72d4714
GA
34822022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3483
3484 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3485 '_Pragma' diagnostics verification.
3486
b53ebbc5
GA
34872022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3488
3489 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3490 improved warning locations.
3491 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3492
0fe604a2
GA
34932022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3494
3495 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3496 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3497 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3498 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3499 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3500
6345c414
GA
35012022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3502
3503 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3504 Denote as legacy entry points.
3505 * testsuite/lib/libgomp.exp
3506 (check_effective_target_offload_target_any): New proc.
3507 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3508 'offload_target_any'.
3509 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3510 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3511 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3512
35132022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3514
3515 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3516 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3517
35182022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3519
3520 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3521
4bc92c3b
GA
35222022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3523
3524 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3525 'data'.
3526 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3527
8467574d
GA
35282022-07-04 Tobias Burnus <tobias@codesourcery.com>
3529 Jakub Jelinek <jakub@redhat.com>
3530
3531 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3532
35332022-07-04 Tobias Burnus <tobias@codesourcery.com>
3534 Chung-Lin Tang <cltang@codesourcery.com>
3535 Thomas Schwinge <thomas@codesourcery.com>
3536
3537 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3538 omp_requires_mask arg.
3539 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3540 return -1 when device available but omp_requires_mask != 0.
3541 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3542 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3543 Update call.
3544 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3545 goacc_attach_host_thread_to_device, acc_get_num_devices,
3546 acc_set_device_num, get_property_any): Likewise.
3547 * target.c (omp_requires_mask): New global var.
3548 (gomp_requires_to_name): New.
3549 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3550 (gomp_target_init): Handle omp_requires_mask.
3551 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3552 (OpenMP 5.1): Add a missed item.
3553 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3554 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3555 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3556 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3557 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3558 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3559 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3560 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3561 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3562 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3563 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3564 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3565 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3566 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3567 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3568 * testsuite/libgomp.fortran/requires-1.f90: New test.
3569
ed974488
GA
35702022-07-01 Tobias Burnus <tobias@codesourcery.com>
3571
3572 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3573 with fromto as implemented.
3574
fb29fdea
GA
35752022-06-28 Martin Liska <mliska@suse.cz>
3576
3577 * acinclude.m4: Fix typo in mold linker detection.
3578 * Makefile.in: Regenerate.
3579 * configure: Regenerate.
3580
de89b078
GA
35812022-06-21 Jakub Jelinek <jakub@redhat.com>
3582 Paul Iannetta <piannetta@kalrayinc.com>
3583
3584 PR libgomp/106045
3585 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3586
5a66d7dd
GA
35872022-06-17 Martin Liska <mliska@suse.cz>
3588
3589 * libgomp.texi: Add table header for new features of
3590 OpenMP 5.2.
3591
499b9c5f
GA
35922022-06-15 Jakub Jelinek <jakub@redhat.com>
3593
3594 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3595 q to ddress of an automatic variable. Use -5 instead of -1 in
3596 omp_get_mapped_ptr call. Add test with omp_initial_device.
3597 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3598 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3599 Renumber stop arguments afterwards.
3600
c3642271
GA
36012022-06-13 Jakub Jelinek <jakub@redhat.com>
3602
3603 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3604 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3605 parameters.
3606 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3607 * target.c (resolve_device): Add remapped argument, handle
3608 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3609 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3610 if remapped, otherwise treat omp_initial_device that way. For
3611 omp_invalid_device, always emit gomp_fatal, even when
3612 OMP_TARGET_OFFLOAD isn't mandatory.
3613 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3614 GOMP_target_update, GOMP_target_update_ext,
3615 GOMP_target_enter_exit_data): Pass true as remapped argument to
3616 resolve_device.
3617 (omp_target_alloc, omp_target_free, omp_target_is_present,
3618 omp_target_memcpy_check, omp_target_associate_ptr,
3619 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3620 omp_target_is_accessible): Pass false as remapped argument to
3621 resolve_device. Treat omp_initial_device the same as
3622 gomp_get_num_devices (). Don't bypass resolve_device calls if
3623 device_num is negative.
3624 (omp_pause_resource): Treat omp_initial_device the same as
3625 gomp_get_num_devices (). Call resolve_device.
3626 * icv-device.c (omp_set_default_device): Always set to device_num
3627 even when it is negative.
3628 * libgomp.texi: Document that Conforming device numbers,
3629 omp_initial_device and omp_invalid_device is implemented.
3630 * testsuite/libgomp.c/target-41.c (main): Add test with
3631 omp_initial_device.
3632 * testsuite/libgomp.c/target-45.c: New test.
3633 * testsuite/libgomp.c/target-46.c: New test.
3634 * testsuite/libgomp.c/target-47.c: New test.
3635 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3636 test with omp_initial_device. Use -5 instead of -1 for negative value
3637 test.
3638 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3639 Likewise. Reorder stop numbers.
3640
ef1e4d80
GA
36412022-06-10 Jakub Jelinek <jakub@redhat.com>
3642
3643 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3644 rather than "libmemkind.so".
3645
36462022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3647
3648 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3649 * plugin/configfrag.ac (--with-cuda-driver)
3650 (--with-cuda-driver-include, --with-cuda-driver-lib)
3651 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3652 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3653 Remove.
3654 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3655 (cuda_driver_lib): Remove.
3656 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3657 * Makefile.in: Regenerate.
3658 * configure: Likewise.
3659 * testsuite/Makefile.in: Likewise.
3660
e3bba42f
GA
36612022-06-09 Jakub Jelinek <jakub@redhat.com>
3662
3663 * config/linux/allocator.c: Fix up #include directive.
3664
36652022-06-09 Jakub Jelinek <jakub@redhat.com>
3666
3667 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3668 (enum gomp_memkind_kind): New type.
3669 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3670 is defined.
3671 (struct gomp_memkind_data): New type.
3672 (memkind_data, memkind_data_once): New variables.
3673 (gomp_init_memkind, gomp_get_memkind): New functions.
3674 (omp_init_allocator): Initialize data.memkind, don't fail for
3675 omp_high_bw_mem_space if libmemkind supports it.
3676 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3677 memkind support of LIBGOMP_USE_MEMKIND is defined.
3678 * config/linux/allocator.c: New file.
3679
58b67140
GA
36802022-06-03 Tobias Burnus <tobias@codesourcery.com>
3681
3682 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3683 * testsuite/libgomp.fortran/scope-2.f90: New test.
3684
b168441c
GA
36852022-06-02 David Malcolm <dmalcolm@redhat.com>
3686
3687 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3688
820ead45
GA
36892022-05-31 Jakub Jelinek <jakub@redhat.com>
3690
3691 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3692 scope construct with allocate clause.
3693 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3694 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3695
37b3b5da
GA
36962022-05-28 Tobias Burnus <tobias@codesourcery.com>
3697
3698 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3699 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3700 explicit 'to' and 'enter' clause.
3701 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3702
37032022-05-28 Jakub Jelinek <jakub@redhat.com>
3704
3705 PR libgomp/105745
3706 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3707 defined(HAVE__ALIGNED_MALLOC) case.
3708 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3709 handling as last option before fallback instead of first.
3710 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3711 _aligned_free.
3712
d9176e64
GA
37132022-05-27 Jakub Jelinek <jakub@redhat.com>
3714
3715 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3716 clauses to enter.
3717 * testsuite/libgomp.c/target-41.c: Likewise.
3718
37192022-05-27 Tobias Burnus <tobias@codesourcery.com>
3720
3721 * libgomp.texi (Other new OpenMP 5.1 features): Add
3722 'begin declare target'.
3723 (Other new OpenMP 5.2 features): New.
3724
3dff965c
GA
37252022-05-25 Jakub Jelinek <jakub@redhat.com>
3726
3727 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3728 is the last task taskwait depend depends on, wake it up.
3729 Similarly if it is the last child of a taskgroup, use atomic
3730 store instead of decrement and awak taskgroup wait if any.
3731 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3732
768f49a2
GA
37332022-05-24 Andrew Stubbs <ams@codesourcery.com>
3734
3735 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3736 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3737 (gcn_gfx90a_s): New.
3738 (isa_hsa_name): Support gfx90a.
3739 (isa_code): Likewise.
3740
37412022-05-24 Tobias Burnus <tobias@codesourcery.com>
3742
3743 PR c/105378
3744 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3745 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3746
37472022-05-24 Jakub Jelinek <jakub@redhat.com>
3748
3749 PR c/105378
3750 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3751 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3752 * task.c (empty_task): New function.
3753 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3754 (gomp_task_run_post_handle_depend): Declare.
3755 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3756 for.
3757 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3758 (GOMP_taskwait_depend_nowait): New function.
3759 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3760
168fc8bd
GA
37612022-05-23 Tobias Burnus <tobias@codesourcery.com>
3762
3763 PR fortran/104949
3764 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3765 Support attach for GOMP_MAP_FIRSTPRIVATE.
3766 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3767 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3768 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3769
57f2ce6a
GA
37702022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3771
3772 * libgomp.map: Added omp_target_memcpy_async and
3773 omp_target_memcpy_rect_async.
3774 * libgomp.texi: Both functions are now supported.
3775 * omp.h.in: Added omp_target_memcpy_async and
3776 omp_target_memcpy_rect_async.
3777 * omp_lib.f90.in: Added interfaces for both new functions.
3778 * omp_lib.h.in: Likewise.
3779 * target.c (ialias_redirect): Added for GOMP_task.
3780 (omp_target_memcpy): Restructured into check and copy part.
3781 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3782 omp_target_memcpy_async that checks requirements.
3783 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3784 omp_target_memcpy_async that performs the memcpy.
3785 (omp_target_memcpy_async_helper): New helper function that is used in
3786 omp_target_memcpy_async for the asynchronous task.
3787 (omp_target_memcpy_async): Added.
3788 (omp_target_memcpy_rect): Restructured into check and copy part.
3789 (omp_target_memcpy_rect_check): New helper function for
3790 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3791 requirements.
3792 (omp_target_memcpy_rect_copy): New helper function for
3793 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3794 the memcpy.
3795 (omp_target_memcpy_rect_async_helper): New helper function that is used
3796 in omp_target_memcpy_rect_async for the asynchronous task.
3797 (omp_target_memcpy_rect_async): Added.
3798 * task.c (ialias): Added for GOMP_task.
3799 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3800 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3801 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3802 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3803 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3804 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3805 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3806 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3807
1cda629f
GA
38082022-05-18 Tobias Burnus <tobias@codesourcery.com>
3809
3810 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3811 (OpenMP Context Selectors): Add missing comma.
3812 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3813 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3814 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3815 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3816
3d9439b1
GA
38172022-05-17 Jakub Jelinek <jakub@redhat.com>
3818
3819 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3820 comment for omp_display_env feature.
3821
38222022-05-17 Tobias Burnus <tobias@codesourcery.com>
3823
3824 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3825 to document OpenMP context selectors.
3826
38272022-05-17 Jakub Jelinek <jakub@redhat.com>
3828
3829 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3830 from bool to unsigned char.
3831 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3832 Ignore dependencies where
3833 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3834 rather than just task->depend[i].is_in && ent->is_in. Remember
3835 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3836 conditional.
3837 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3838 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3839 rather than just elem.is_in && ent->is_in.
3840 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3841 inoutset depend-kind.
3842 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3843 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3844 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3845
38462022-05-17 Tobias Burnus <tobias@codesourcery.com>
3847
3848 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3849
38502022-05-17 Tobias Burnus <tobias@codesourcery.com>
3851
3852 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3853 * testsuite/libgomp.fortran/depend-5.f90: New test.
3854 * testsuite/libgomp.fortran/depend-6.f90: New test.
3855 * testsuite/libgomp.fortran/depend-7.f90: New test.
3856
702bd11f
GA
38572022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3858
3859 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3860 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3861 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3862
9df4ffe4
GA
38632022-05-13 Tobias Burnus <tobias@codesourcery.com>
3864
3865 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3866
38672022-05-13 Tobias Burnus <tobias@codesourcery.com>
3868
3869 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3870
38712022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3872
3873 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3874 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3875 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3876 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3877 * Makefile.in: Regenerate.
3878
49ace834
GA
38792022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3880
3881 * Makefile.am (libgomp_la_LIBADD): Initialize.
3882 * plugin/configfrag.ac (DL_LIBS): New.
3883 (PLUGIN_GCN_LIBS): Remove.
3884 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3885 * plugin/Makefrag.am (libgomp_la_LIBADD)
3886 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3887 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3888 * Makefile.in: Regenerate.
3889 * config.h.in: Likewise.
3890 * configure: Likewise.
3891 * testsuite/Makefile.in: Likewise.
3892
38932022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3894
3895 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3896 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3897 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3898 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3899 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3900 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3901 * Makefile.in: Regenerate.
3902 * config.h.in: Likewise.
3903 * configure: Likewise.
3904
39052022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3906
3907 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3908 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3909 * Makefile.in: Regenerate.
3910 * config.h.in: Likewise.
3911 * configure: Likewise.
3912 * testsuite/Makefile.in: Likewise.
3913
39142022-05-12 Jakub Jelinek <jakub@redhat.com>
3915
3916 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3917 * task.c (gomp_init_task): Initialize depend_all_memory.
3918 (gomp_task_handle_depend): Handle omp_all_memory.
3919 (gomp_task_run_post_handle_depend_hash): Clear
3920 parent->depend_all_memory if equal to current task.
3921 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3922 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3923 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3924 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3925
d0d513b5
GA
39262022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3927
3928 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3929 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3930 * Makefile.in: Regenerate.
3931 * configure: Likewise.
3932 * testsuite/Makefile.in: Likewise.
3933
39342022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3935
3936 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3937 consider 'PLUGIN_GCN_CPPFLAGS'.
3938 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3939 'PLUGIN_GCN_LDFLAGS'.
3940 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3941 Remove.
3942 * Makefile.in: Regenerate.
3943 * configure: Likewise.
3944 * testsuite/Makefile.in: Likewise.
3945
39462022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3947
3948 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3949 (HSA_RUNTIME_LDFLAGS): Remove.
3950 * configure: Regenerate.
3951
39522022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3953
3954 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3955 'append always_ld_library_path ":$hsa_runtime_lib"'.
3956 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3957
e8778989
GA
39582022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3959
3960 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3961 multi-device testing.
3962
ea3fbfda
GA
39632022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3964
3965 * libgomp.map: Added omp_target_is_accessible.
3966 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3967 * omp.h.in: Added omp_target_is_accessible.
3968 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3969 * omp_lib.h.in: Likewise.
3970 * target.c (omp_target_is_accessible): Added implementation of
3971 omp_target_is_accessible.
3972 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3973 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3974
ab869e7f
GA
39752022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3976
3977 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3978
3e7db517
GA
39792022-05-04 Tobias Burnus <tobias@codesourcery.com>
3980
3981 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3982
39832022-05-04 Tobias Burnus <tobias@codesourcery.com>
3984
3985 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3986
e66af28d
GA
39872022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3988
3989 * libgomp.map: Added omp_get_mapped_ptr.
3990 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3991 * omp.h.in: Added omp_get_mapped_ptr.
3992 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3993 * omp_lib.h.in: Likewise.
3994 * target.c (omp_get_mapped_ptr): Added implementation of
3995 omp_get_mapped_ptr.
3996 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3997 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3998 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3999 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
4000 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
4001 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
4002 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
4003 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
4004
6b6f53d8
GA
40052022-04-28 Thomas Schwinge <thomas@codesourcery.com>
4006
4007 PR fortran/104717
4008 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
4009 privatization scanning. For GCN offloading compilation, raise
4010 '-mgang-private-size'.
4011
01ad093b
GA
40122022-04-26 Jakub Jelinek <jakub@redhat.com>
4013
4014 PR libgomp/105358
4015 * work.c (gomp_init_work_share): Don't mask of adjustment for
4016 dynamic long long realignment if struct gomp_work_share has smaller
4017 alignof than long long.
4018 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
4019 struct gomp_work_share has smaller alignof than long long or if
4020 sizeof (struct gomp_work_share) is smaller than
4021 INLINE_ORDERED_TEAM_IDS_OFF.
4022 * loop_ull.c (GOMP_loop_ull_start): Likewise.
4023 * sections.c (GOMP_sections2_start): Likewise.
4024
98de0da6
GA
40252022-04-25 Jakub Jelinek <jakub@redhat.com>
4026 Thomas Schwinge <thomas@codesourcery.com>
4027
4028 PR fortran/104717
4029 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
4030
247bbed1
GA
40312022-04-13 Jakub Jelinek <jakub@redhat.com>
4032
4033 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
4034
80eb8ec6
GA
40352022-04-06 Thomas Schwinge <thomas@codesourcery.com>
4036
4037 * plugin/cuda/cuda.h: Remove file.
4038 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
4039 "cuda/cuda.h" instead of <cuda.h>.
4040 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
4041 'PLUGIN_NVPTX_CPPFLAGS'.
4042 * configure: Regenerate.
4043
9d84ed68
GA
40442022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
4045
4046 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
4047
5e09bb1b
GA
40482022-04-04 Tom de Vries <tdevries@suse.de>
4049
4050 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
4051 on_device_arch_nvptx instead of offload_target_nvptx.
4052 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4053
8af4270d
GA
40542022-04-01 Tom de Vries <tdevries@suse.de>
4055
4056 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
4057 and use REC_DEPTH.
4058 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4059
40602022-04-01 Tom de Vries <tdevries@suse.de>
4061
4062 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
4063 num_workers check.
4064
9f774626
GA
40652022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
4066 Lulu Cheng <chenglulu@loongson.cn>
4067
4068 * configure.tgt: Add LoongArch triplet.
4069
aab0127d
GA
40702022-03-28 Tom de Vries <tdevries@suse.de>
4071
4072 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
4073 instead of /libexec/.
4074 * configure: Regenerate.
4075
31e989a2
GA
40762022-03-25 Tom de Vries <tdevries@suse.de>
4077
4078 PR libgomp/105042
4079 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
4080 execution time.
4081 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
4082 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
4083
d1ca63a1
GA
40842022-03-23 Tobias Burnus <tobias@codesourcery.com>
4085
4086 PR middle-end/104285
4087 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
4088 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
4089 * testsuite/libgomp.c++/target-same-name-2.C: New test.
4090 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
4091 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
4092 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
4093
a2287813
GA
40942022-03-22 Tom de Vries <tdevries@suse.de>
4095
4096 PR target/104916
4097 PR target/104783
4098 * testsuite/libgomp.c/pr104783-2.c: New test.
4099
8ca61ad1
GA
41002022-03-18 Tobias Burnus <tobias@codesourcery.com>
4101
4102 PR fortran/103039
4103 * testsuite/libgomp.fortran/associate4.f90: New test.
4104
41052022-03-18 Tom de Vries <tdevries@suse.de>
4106
4107 PR target/104952
4108 * testsuite/libgomp.c/pr104952-1.c: New test.
4109 * testsuite/libgomp.c/pr104952-2.c: New test.
4110
41112022-03-18 Jakub Jelinek <jakub@redhat.com>
4112
4113 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
4114 variable next to pl variable.
4115
e9ea3016
GA
41162022-03-17 Thomas Schwinge <thomas@codesourcery.com>
4117
4118 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4119 Enhance.
4120 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4121 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4122
41232022-03-17 Thomas Schwinge <thomas@codesourcery.com>
4124
4125 PR middle-end/90115
4126 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
4127 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4128
9fc8f278
GA
41292022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
4130
4131 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
4132 omp_set_max_active_levels.
4133 * testsuite/libgomp.fortran/icv-8.f90: New test.
4134
41352022-03-16 Thomas Schwinge <thomas@codesourcery.com>
4136
4137 PR testsuite/102841
4138 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
4139
b9756c08
GA
41402022-03-13 Tobias Burnus <tobias@codesourcery.com>
4141
4142 * libgomp.texi: Fix typo.
4143
57eeedda
GA
41442022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4145
4146 PR middle-end/100280
4147 PR middle-end/104892
4148 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
4149 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
4150 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4151 Likewise.
4152 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4153 Likewise.
4154 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4155 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4156 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4157 Likewise.
4158
41592022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4160
4161 PR middle-end/104892
4162 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
4163 to PR104892.
4164 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
4165 enable '--param=openacc-kernels=decompose' and adjust.
4166 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
4167 Likewise.
4168 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4169 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
4170 Likewise.
4171
41722022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4173
4174 PR middle-end/90115
4175 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
4176 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
4177 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4178 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
4179
41802022-03-12 Thomas Schwinge <thomas@codesourcery.com>
4181
4182 PR middle-end/100280
4183 PR middle-end/104086
4184 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4185 Merge this...
4186 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4187 ..., and this...
4188 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
4189 this, and adjust.
4190 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4191 Extend.
4192
5e28be89
GA
41932022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
4194
4195 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
4196 trait. Test last index in w and v array. Remove redundant
4197 assignment to V(1). Move alignment checks at the end of
4198 parallel region.
4199
42002022-03-10 Tom de Vries <tdevries@suse.de>
4201
4202 * testsuite/libgomp.c/pr104783.c: New test.
4203
42042022-03-10 Thomas Schwinge <thomas@codesourcery.com>
4205
4206 PR middle-end/90115
4207 PR middle-end/102330
4208 PR middle-end/104774
4209 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4210 Enhance.
4211 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4212 Adjust.
4213 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4214 Likewise.
4215 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4216 Likewise.
4217 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4218 Likewise.
4219 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4220 Likewise.
4221 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4222 Likewise.
4223 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4224 Likewise.
4225 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4226 Likewise.
4227 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4228 Likewise.
4229 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4230 Likewise.
4231 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4232 Likewise.
4233 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4234 Likewise.
4235 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4236 Likewise.
4237 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4238 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4239 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4240
42412022-03-10 Thomas Schwinge <thomas@codesourcery.com>
4242
4243 PR middle-end/90115
4244 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
4245 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4246 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4247 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4248
8d96e14c
GA
42492022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4250
4251 PR testsuite/104791
4252 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
4253 expected diagnostics.
4254
42552022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4256
4257 PR middle-end/104784
4258 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4259 Test with '--param=openacc-kernels=decompose'.
4260 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4261 Likewise.
4262 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4263 Likewise.
4264 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4265 Likewise.
4266 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4267 Likewise.
4268 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4269 Likewise.
4270 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4271 Likewise.
4272 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4273 Likewise.
4274 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4275 Likewise.
4276 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4277 Likewise.
4278 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4279 Likewise.
4280 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4281 Likewise.
4282 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4283 Likewise.
4284 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4285 Likewise.
4286 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4287 Likewise.
4288 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4289 Likewise.
4290 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4291 Likewise.
4292 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4293 Likewise.
4294 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4295 Likewise.
4296 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4297 Likewise.
4298 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4299 Likewise.
4300 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4301 Likewise.
4302 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4303 Likewise.
4304 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4305 Likewise.
4306 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4307 Likewise.
4308 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4309 Likewise.
4310 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4311 Likewise.
4312 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4313 Likewise.
4314 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4315 Likewise.
4316 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4317 Likewise.
4318 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4319 Likewise.
4320 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4321 Likewise.
4322 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4323 Likewise.
4324
43252022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4326
4327 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4328 Test '-fopt-info-omp-all'.
4329 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4330 Likewise.
4331 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4332 Likewise.
4333 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4334 Likewise.
4335 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4336 Likewise.
4337 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4338 Likewise.
4339 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4340 Likewise.
4341 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4342 Likewise.
4343 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4344 Likewise.
4345 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4346 Likewise.
4347 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4348 Likewise.
4349 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4350 Likewise.
4351 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4352 Likewise.
4353 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4354 Likewise.
4355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4356 Likewise.
4357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4358 Likewise.
4359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4360 Likewise.
4361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4362 Likewise.
4363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4364 Likewise.
4365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4366 Likewise.
4367 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4368 Likewise.
4369 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4370 Likewise.
4371 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4372 Likewise.
4373 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4374 Likewise.
4375 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4376 Likewise.
4377 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4378 Likewise.
4379 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4380 Likewise.
4381 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4382 Likewise.
4383 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4384 Likewise.
4385 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4386 Likewise.
4387 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4388 Likewise.
4389 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4390 Likewise.
4391 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4392 Likewise.
4393
43942022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4395
4396 PR middle-end/100280
4397 PR middle-end/104132
4398 PR middle-end/104133
4399 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4400 Extend.
4401
44022022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4403
4404 PR middle-end/100280
4405 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4406 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4407 Likewise.
4408
44092022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4410
4411 PR middle-end/100280
4412 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4413 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4414 Likewise.
4415
a35f1697
GA
44162022-02-28 Tom de Vries <tdevries@suse.de>
4417
4418 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4419 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4420 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4421 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4422 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4423 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4424
756a6185
GA
44252022-02-24 Tom de Vries <tdevries@suse.de>
4426
4427 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4428 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4429 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4430 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4431 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4432 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4433 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4434
2cfb33fc
GA
44352022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4436
4437 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4438 gang-redundant execution.
4439
44402022-02-22 Tom de Vries <tdevries@suse.de>
4441
4442 PR target/99555
4443 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4444 from config/rtems/bar.c.
4445 (futex_wait, futex_wake): New function.
4446 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4447 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4448 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4449 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4450 and replace with include of config/linux/bar.c.
4451 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4452 (gomp_barrier_init): Init new fields.
4453 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4454 workarounds.
4455 * testsuite/libgomp.c/pr99555-1.c: Same.
4456 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4457
44582022-02-22 Tom de Vries <tdevries@suse.de>
4459
4460 PR testsuite/104146
4461 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4462 -foffload=-Wa,--verify for nvptx.
4463 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4464
875e493b
GA
44652022-02-15 Tobias Burnus <tobias@codesourcery.com>
4466
4467 * testsuite/libgomp.fortran/depend-4.f90: New test.
4468
a645583d
GA
44692022-02-10 Tobias Burnus <tobias@codesourcery.com>
4470
4471 PR c++/102204
4472 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4473
44742022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4475
4476 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4477 * target.c (copy_firstprivate_data): Copy only if host address is not
4478 NULL.
4479 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4480 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4481 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4482 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4483 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4484 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4485 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4486 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4487 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4488 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4489
2a2fda2d
GA
44902022-02-08 Jakub Jelinek <jakub@redhat.com>
4491
4492 PR libgomp/104385
4493 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4494 clear task->parent.
4495 * testsuite/libgomp.c/pr104385.c: New test.
4496
3c1cbde1
GA
44972022-02-04 Tobias Burnus <tobias@codesourcery.com>
4498
4499 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4500 STOP of previous commit.
4501
45022022-02-04 Tobias Burnus <tobias@codesourcery.com>
4503
4504 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4505 from is_64bit_aligned_.
4506 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4507 and use it, more implicit none, remove unused argument.
4508
682ede39
GA
45092022-02-03 David Seifert <soap@gentoo.org>
4510 Jakub Jelinek <jakub@redhat.com>
4511
4512 * configure.ac: Support --disable-werror.
4513 * configure: Regenerate.
4514
ae7e4af9
GA
45152022-02-01 Tom de Vries <tdevries@suse.de>
4516
4517 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4518 PR83812 workaround.
4519 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4520 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4521
45222022-02-01 Tom de Vries <tdevries@suse.de>
4523
4524 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4525 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4526 resources'.
4527 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4528 Same.
4529 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4530
45312022-02-01 Tom de Vries <tdevries@suse.de>
4532
4533 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4534 recursion depth.
4535 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4536
1bb52662
GA
45372022-01-31 Martin Liska <mliska@suse.cz>
4538
4539 * acinclude.m4: Detect *_ld_is_mold and use it.
4540 * configure: Regenerate.
4541
99f17e99
GA
45422022-01-27 Tobias Burnus <tobias@codesourcery.com>
4543
4544 * libgomp.texi (OpenMP 5.0): Update implementation status.
4545
9dd44357
GA
45462022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4547
4548 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4549 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4550 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4551 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4552 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4553 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4554 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4555 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4556 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4557 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4558 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4559 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4560 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4561 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4562 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4563
fe1ad141
GA
45642022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4565
4566 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4567 "static") to make the device num available in the offload image.
4568
45692022-01-19 Martin Liska <mliska@suse.cz>
4570 Thomas Schwinge <thomas@codesourcery.com>
4571
4572 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4573 patterns.
4574 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4575 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4576 Likewise.
4577 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4578 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4579 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4580 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4581 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4582 Likewise.
4583 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4584 Likewise.
4585 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4586 Likewise.
4587 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4588 Likewise.
4589 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4590 Likewise.
4591 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4592 Likewise.
4593 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4594 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4595 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4596
7a761ae6
GA
45972022-01-18 Martin Liska <mliska@suse.cz>
4598
4599 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4600 in dg-warning.
4601 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4602 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4603 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4604 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4605 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4606 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4607 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4608 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4609 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4610 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4611 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4612 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4613 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4614 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4615 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4616
fc829782
GA
46172022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4618
4619 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4620 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4621 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4622
46232022-01-17 Julian Brown <julian@codesourcery.com>
4624 Thomas Schwinge <thomas@codesourcery.com>
4625
4626 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4627 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4628 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4629
1e942d7c
GA
46302022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4631 Andrew Stubbs <ams@codesourcery.com>
4632
4633 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4634 the number of teams and threads if necessary.
4635 (gcn_exec): Automatically set the number of gangs and workers if
4636 necessary.
4637
ad3f0d08
GA
46382022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4639
4640 * testsuite/libgomp.fortran/allocate-1.c: New test.
4641 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4642 * libgomp.texi: Remove string that says that allocate clause
4643 support is for C/C++ only.
4644
46452022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4646
4647 * testsuite/libgomp.c-c++-common/on_device_arch.h
4648 (any_device_arch, any_device_arch_intel_mic): New.
4649 * testsuite/lib/libgomp.exp
4650 (check_effective_target_offload_device_any_intel_mic): New.
4651 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4652 * testsuite/libgomp.fortran/target10.f90: Likewise.
4653
46542022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4655
4656 PR tree-optimization/102192
4657 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4658 '-Wuninitialized' diagnostics.
4659
46602022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4661
4662 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4663 current '-Wuninitialized' diagnostics.
4664 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4665 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4666 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4667 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4668 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4669 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4670 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4671 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4672 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4673 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4674 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4675 Likewise.
4676
46772022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4678
4679 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4680 for 'offload_device_intel_mic'.
4681
46822022-01-13 Julian Brown <julian@codesourcery.com>
4683 Thomas Schwinge <thomas@codesourcery.com>
4684
4685 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4686 offloading execution XFAIL.
4687
46882022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4689
4690 PR middle-end/100280
4691 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4692 Update.
4693 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4694 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4695 Likewise.
4696
46972022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4698
4699 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4700 Enhance.
4701 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4702 Likewise.
4703 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4704 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4705 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4706 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4707 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4708 Likewise.
4709 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4710 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4711 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4712 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4713
7d11b64b
GA
47142022-01-04 Tobias Burnus <tobias@codesourcery.com>
4715
4716 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4717 * testsuite/libgomp.fortran/target10.f90: Likewise.
4718
47192022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4720
4721 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4722 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4723 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4724
a4ae8c37
GA
47252022-01-03 Jakub Jelinek <jakub@redhat.com>
4726
4727 * libgomp.texi: Bump @copying's copyright year.
4728
7f1239cb
GA
47292021-12-13 Tobias Burnus <tobias@codesourcery.com>
4730
4731 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4732 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4733
0bceef16
GA
47342021-12-10 Andrew Stubbs <ams@codesourcery.com>
4735
4736 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4737 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4738 table, not individual symbols.
4739
4b4839e3
GA
47402021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4741
4742 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4743 "target offload_device_nonshared_as"
4744 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4745 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4746
641ff219
GA
47472021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4748
4749 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4750 not overwritten during cross-host/device copying.
4751 (gomp_update): Likewise.
4752 (gomp_exit_data): Likewise.
4753 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4754 * testsuite/libgomp.c++/target-12.C: Likewise.
4755 * testsuite/libgomp.c++/target-15.C: Likewise.
4756 * testsuite/libgomp.c++/target-16.C: Likewise.
4757 * testsuite/libgomp.c++/target-17.C: Likewise.
4758 * testsuite/libgomp.c++/target-21.C: Likewise.
4759 * testsuite/libgomp.c++/target-23.C: Likewise.
4760 * testsuite/libgomp.c/target-23.c: Likewise.
4761 * testsuite/libgomp.c/target-29.c: Likewise.
4762 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4763
47642021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4765
4766 PR middle-end/92120
4767 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4768 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4769 (goacc_enter_data_internal): Likewise.
4770 * target.c (gomp_map_vars_existing): Update assert condition to
4771 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4772 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4773 parameter, add support for mapping a pointer with NULL target.
4774 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4775 parameter, add support for attaching a pointer with NULL target.
4776 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4777 gomp_attach_pointer, add handling for
4778 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4779 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4780 * testsuite/libgomp.c++/target-23.C: New testcase.
4781 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4782 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4783 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4784 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4785 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4786 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4787 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4788
70e4cb66
GA
47892021-12-04 Tobias Burnus <tobias@codesourcery.com>
4790
4791 * libgomp.texi (OpenMP 5.1): Update status.
4792
47932021-12-04 Tobias Burnus <tobias@codesourcery.com>
4794
4795 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4796
ea6ef320
GA
47972021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4798
4799 PR fortran/90030
4800 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4801 * testsuite/libgomp.fortran/pr90030.f90: New test.
4802
c177e806
GA
48032021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4804 Thomas Schwinge <thomas@codesourcery.com>
4805
4806 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4807 temporary skip.
4808
48092021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4810 Thomas Schwinge <thomas@codesourcery.com>
4811
4812 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4813 skip.
4814
87cd82c8
GA
48152021-11-29 Richard Biener <rguenther@suse.de>
4816
4817 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4818 return.
4819
d9ca4b45
GA
48202021-11-24 Jakub Jelinek <jakub@redhat.com>
4821
4822 PR middle-end/103384
4823 * testsuite/libgomp.c/declare-variant-2.c: New test.
4824
483092d3
GA
48252021-11-18 David Edelsohn <dje.gcc@gmail.com>
4826
4827 * alloc.c (gomp_aligned_alloc): Fix typo.
4828
48292021-11-18 Jakub Jelinek <jakub@redhat.com>
4830
4831 PR libgomp/102838
4832 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4833 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4834 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4835 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4836 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4837 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4838 gomp_aligned_alloc instead of team_malloc.
4839
48402021-11-18 Jakub Jelinek <jakub@redhat.com>
4841
4842 PR libgomp/102838
4843 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4844 memalign over posix_memalign over aligned_alloc over fallback
4845 with malloc instead of aligned_alloc over _aligned_alloc over
4846 posix_memalign over memalign over fallback with malloc. For
4847 aligned_alloc, round up size up to multiple of al.
4848
6b1695f4
GA
48492021-11-16 Jakub Jelinek <jakub@redhat.com>
4850
4851 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4852 construct as implemented.
4853
e2b57363
GA
48542021-11-15 Tobias Burnus <tobias@codesourcery.com>
4855
4856 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4857
48582021-11-15 Jakub Jelinek <jakub@redhat.com>
4859
4860 * task.c (gomp_create_target_task): Copy args array as well.
4861 * target.c (gomp_target_fallback): Add args argument.
4862 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4863 (GOMP_target): Adjust gomp_target_fallback caller.
4864 (GOMP_target_ext): Likewise.
4865 (gomp_target_task_fn): Likewise.
4866 * config/nvptx/team.c (gomp_nvptx_main): Set
4867 gomp_global_icv.thread_limit_var.
4868 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4869
48702021-11-15 Jakub Jelinek <jakub@redhat.com>
4871
4872 * config/nvptx/team.c (__gomp_team_num): Define as
4873 __attribute__((shared)) var.
4874 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4875 * config/nvptx/target.c (__gomp_team_num): Declare as
4876 extern __attribute__((shared)) var.
4877 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4878 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4879 is bigger than num_blocks, use num_teams_lower teams and arrange for
4880 bumping of __gomp_team_num if !first and returning false once we run
4881 out of teams.
4882 * config/nvptx/teams.c (__gomp_team_num): Declare as
4883 extern __attribute__((shared)) var.
4884 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4885
48862021-11-15 Jakub Jelinek <jakub@redhat.com>
4887
4888 * testsuite/libgomp.c/teams-5.c: New test.
4889
af2852b9
GA
48902021-11-12 Jakub Jelinek <jakub@redhat.com>
4891
4892 PR target/103201
4893 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4894 to ...
4895 * config/gcn/teams.c: ... here. New file.
4896
48972021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4898
4899 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4900 implicit map handling to allow a "superset" existing map as valid case.
4901 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4902 (get_implicit): New function to extract implicit status.
4903 (gomp_map_fields_existing): Adjust arguments in calls to
4904 gomp_map_vars_existing, and add uses of get_implicit.
4905 (gomp_map_vars_internal): Likewise.
4906 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4907
49082021-11-12 Jakub Jelinek <jakub@redhat.com>
4909
4910 * libgomp_g.h (GOMP_teams4): Declare.
4911 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4912 * target.c (GOMP_teams4): New function.
4913 * config/nvptx/target.c (GOMP_teams): Remove.
4914 (GOMP_teams4): New function.
4915 * config/gcn/target.c (GOMP_teams): Remove.
4916 (GOMP_teams4): New function.
4917 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4918 teams instead of <= 2.
4919 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4920
b39265d4
GA
49212021-11-11 Tobias Burnus <tobias@codesourcery.com>
4922
4923 * testsuite/libgomp.fortran/teams-1.f90: New test.
4924
49252021-11-11 Jakub Jelinek <jakub@redhat.com>
4926
4927 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4928 * team.c (struct gomp_thread_start_data): Likewise.
4929 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4930 (gomp_team_start): Initialize start_data->num_teams and
4931 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4932 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4933 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4934 instead of gomp_num_teams and gomp_team_num.
4935 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4936 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4937 * testsuite/libgomp.c/teams-4.c: New test.
4938
49392021-11-11 Jakub Jelinek <jakub@redhat.com>
4940
4941 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4942
c9b1334e
GA
49432021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4944
4945 * env.c (parse_gomp_openacc_dim): Restore parsing.
4946
0ef94462
GA
49472021-10-30 Tobias Burnus <tobias@codesourcery.com>
4948
4949 PR middle-end/102972
4950 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4951 parallel construct.
4952 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4953 * testsuite/libgomp.c/target-3.c: Likewise.
4954 * testsuite/libgomp.c/target-5.c: Likewise.
4955 * testsuite/libgomp.c/target-6.c: Likewise.
4956 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4957 * testsuite/libgomp.c/teams-1.c: Likewise.
4958 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4959 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4960 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4961 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4962 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4963 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4964 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4965
4c61300f
GA
49662021-10-29 Aldy Hernandez <aldyh@redhat.com>
4967
4968 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4969 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4970
04a2cf3f
GA
49712021-10-27 Jakub Jelinek <jakub@redhat.com>
4972
4973 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4974 aren't implemented for Fortran yet.
4975
49762021-10-27 Jakub Jelinek <jakub@redhat.com>
4977
4978 * testsuite/libgomp.c/loop-26.c: New test.
4979 * testsuite/libgomp.c/loop-27.c: New test.
4980
b621508d
GA
49812021-10-25 Tobias Burnus <tobias@codesourcery.com>
4982
4983 PR testsuite/102910
4984 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4985 instead of #include <alloca.h> + alloca.
4986
ae5c5406
GA
49872021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4988
4989 * libgomp.texi (Support of strictly structured blocks in Fortran):
4990 Adjust to 'Y'.
4991 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4992
674dda6b
GA
49932021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4994
4995 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4996 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4997
49982021-10-20 Jakub Jelinek <jakub@redhat.com>
4999
5000 PR libgomp/102838
5001 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
5002 (struct gomp_work_share): Only use aligned(64) attribute if
5003 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
5004 add padding before lock to ensure lock is at offset 64 bytes
5005 into the structure.
5006 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
5007 New poor man's static assertions.
5008 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
5009 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
5010
50112021-10-20 Aldy Hernandez <aldyh@redhat.com>
5012 Richard Biener <rguenther@suse.de>
5013
5014 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
5015
ce4d1f63
GA
50162021-10-18 Jakub Jelinek <jakub@redhat.com>
5017
5018 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
5019 && gomp_places_list_len < count after nfirst <= nlast loop condition.
5020
50212021-10-18 Tobias Burnus <tobias@codesourcery.com>
5022
5023 PR fortran/102086
5024 PR fortran/92189
5025 PR fortran/92621
5026 PR fortran/101308
5027 PR fortran/101309
5028 PR fortran/101635
5029 PR fortran/92482
5030 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
5031
93d183a5
GA
50322021-10-15 Jakub Jelinek <jakub@redhat.com>
5033
5034 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
5035 type from char [50] to const char *.
5036 (places_array): Add a testcase for simplified syntax place followed
5037 by length or length and stride.
5038
50392021-10-15 Jakub Jelinek <jakub@redhat.com>
5040
5041 * env.c (parse_one_place): Handle non-negative-number the same
5042 as { non-negative-number }. Reject even !number:1 and
5043 !number:1:stride or !place:1 or !place:1:stride instead of just
5044 length other than 1.
5045 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
5046 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
5047 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
5048 as implemented.
5049 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
5050 simplified syntax.
5051
50522021-10-15 Jakub Jelinek <jakub@redhat.com>
5053
5054 * env.c (parse_schedule): For strtoul or strtoull calls which don't
5055 clearly reject return value 0 as invalid handle the case where end
5056 pointer is the same as first argument as invalid.
5057 (parse_unsigned_long_1): Likewise.
5058 (parse_one_place): Likewise.
5059 (parse_places_var): Likewise.
5060 (parse_stacksize): Likewise.
5061 (parse_spincount): Likewise.
5062 (parse_affinity): Likewise.
5063 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
5064 Make code valid C89.
5065 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
5066 For strtoul calls which don't clearly reject return value 0 as
5067 invalid handle the case where end pointer is the same as first
5068 argument as invalid.
5069 (gomp_affinity_init_level_1): Likewise.
5070 (gomp_affinity_init_numa_domains): Likewise.
5071 * config/rtems/proc.c (parse_thread_pools): Likewise.
5072
50732021-10-15 Jakub Jelinek <jakub@redhat.com>
5074
5075 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
5076 after creating count places clean up and return immediately.
5077 * testsuite/libgomp.c/places-6.c: New test.
5078 * testsuite/libgomp.c/places-7.c: New test.
5079 * testsuite/libgomp.c/places-8.c: New test.
5080 * testsuite/libgomp.c/places-9.c: New test.
5081 * testsuite/libgomp.c/places-10.c: New test.
5082
50832021-10-15 Jakub Jelinek <jakub@redhat.com>
5084
5085 * env.c (parse_places_var): Handle numa_domains as level 5.
5086 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
5087 function.
5088 (gomp_affinity_init_level): Use it instead of
5089 gomp_affinity_init_level_1 for level == 5.
5090 * testsuite/libgomp.c/places-5.c: New test.
5091
50922021-10-15 Jakub Jelinek <jakub@redhat.com>
5093
5094 * env.c (parse_places_var): Handle ll_caches as level 4.
5095 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
5096 function.
5097 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
5098 last level cache.
5099 (gomp_affinity_init_level): Likewise.
5100 * testsuite/libgomp.c/places-1.c: New test.
5101 * testsuite/libgomp.c/places-2.c: New test.
5102 * testsuite/libgomp.c/places-3.c: New test.
5103 * testsuite/libgomp.c/places-4.c: New test.
5104
5d5885c9
GA
51052021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
5106
5107 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
5108 directive.
5109
51102021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
5111
5112 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
5113
52055987
GA
51142021-10-12 Julian Brown <julian@codesourcery.com>
5115
5116 * target.c (gomp_copy_host2dev): Release device lock on cbuf
5117 error path.
5118
51192021-10-12 Tobias Burnus <tobias@codesourcery.com>
5120
5121 * testsuite/libgomp.fortran/icv-3.f90: New.
5122 * testsuite/libgomp.fortran/icv-4.f90: New.
5123
51242021-10-12 Jakub Jelinek <jakub@redhat.com>
5125
5126 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
5127 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
5128 OMP_TEAMS_THREAD_LIMIT): Document.
5129
51302021-10-12 Jakub Jelinek <jakub@redhat.com>
5131
5132 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
5133 to avoid makeinfo warnings.
5134
51352021-10-12 Jakub Jelinek <jakub@redhat.com>
5136
5137 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
5138 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
5139
51402021-10-12 Jakub Jelinek <jakub@redhat.com>
5141
5142 PR libgomp/102628
5143 PR libgomp/102668
5144 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
5145 allocation sizes from 420 to 320 and from 768 to 568.
5146 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
5147 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
5148 for cr from 16 to 4.
5149
51502021-10-12 Jakub Jelinek <jakub@redhat.com>
5151
5152 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
5153 * testsuite/libgomp.c/scan-12.c: Likewise.
5154 * testsuite/libgomp.c/scan-13.c: Likewise.
5155 * testsuite/libgomp.c/scan-14.c: Likewise.
5156 * testsuite/libgomp.c/scan-15.c: Likewise.
5157 * testsuite/libgomp.c/scan-16.c: Likewise.
5158 * testsuite/libgomp.c/scan-17.c: Likewise.
5159 * testsuite/libgomp.c/scan-18.c: Likewise.
5160 * testsuite/libgomp.c/scan-19.c: Likewise.
5161 * testsuite/libgomp.c/scan-20.c: Likewise.
5162 * testsuite/libgomp.c/scan-21.c: Likewise.
5163 * testsuite/libgomp.c/scan-22.c: Likewise.
5164 * testsuite/libgomp.c++/scan-9.C: Likewise.
5165 * testsuite/libgomp.c++/scan-10.C: Likewise.
5166 * testsuite/libgomp.c++/scan-11.C: Likewise.
5167 * testsuite/libgomp.c++/scan-12.C: Likewise.
5168 * testsuite/libgomp.c++/scan-13.C: Likewise.
5169 * testsuite/libgomp.c++/scan-14.C: Likewise.
5170 * testsuite/libgomp.c++/scan-15.C: Likewise.
5171 * testsuite/libgomp.c++/scan-16.C: Likewise.
5172
51732021-10-12 Kewen Lin <linkw@linux.ibm.com>
5174
5175 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
5176
732d7638
GA
51772021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
5178
5179 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
5180 omp_atv_serialized.
5181 * omp.h.in: Add deprecated flag for omp_atv_sequential.
5182 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
5183 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
5184 * testsuite/libgomp.fortran/alloc-12.f90: New test.
5185
51862021-10-11 Jakub Jelinek <jakub@redhat.com>
5187
5188 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
5189 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5190 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
5191 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5192 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
5193 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
5194 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
5195 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
5196 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
5197 omp_set_teams_thread_limit{,_,_8_}.
5198 * icv.c (omp_set_num_teams, omp_get_max_teams,
5199 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
5200 functions.
5201 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
5202 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
5203 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
5204 vars.
5205 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
5206 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
5207 is not specified, use gomp_nteams_var.
5208 * fortran.c (omp_set_num_teams, omp_get_max_teams,
5209 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
5210 ialias_redirect.
5211 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
5212 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
5213 omp_get_teams_thread_limit_): New functions.
5214
c9db17b8
GA
52152021-10-09 liuhongt <hongtao.liu@intel.com>
5216
5217 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
5218 * testsuite/libgomp.c++/scan-11.C: Ditto.
5219 * testsuite/libgomp.c++/scan-12.C: Ditto.
5220 * testsuite/libgomp.c++/scan-13.C: Ditto.
5221 * testsuite/libgomp.c++/scan-14.C: Ditto.
5222 * testsuite/libgomp.c++/scan-15.C: Ditto.
5223 * testsuite/libgomp.c++/scan-16.C: Ditto.
5224 * testsuite/libgomp.c++/scan-9.C: Ditto.
5225 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
5226 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
5227 * testsuite/libgomp.c/scan-11.c: Ditto.
5228 * testsuite/libgomp.c/scan-12.c: Ditto.
5229 * testsuite/libgomp.c/scan-13.c: Ditto.
5230 * testsuite/libgomp.c/scan-14.c: Ditto.
5231 * testsuite/libgomp.c/scan-15.c: Ditto.
5232 * testsuite/libgomp.c/scan-16.c: Ditto.
5233 * testsuite/libgomp.c/scan-17.c: Ditto.
5234 * testsuite/libgomp.c/scan-18.c: Ditto.
5235 * testsuite/libgomp.c/scan-19.c: Ditto.
5236 * testsuite/libgomp.c/scan-20.c: Ditto.
5237 * testsuite/libgomp.c/scan-21.c: Ditto.
5238 * testsuite/libgomp.c/scan-22.c: Ditto.
5239
52402021-10-09 Jakub Jelinek <jakub@redhat.com>
5241
5242 * libgomp.texi (OpenMP 5.1): Mention implemented support for
5243 structured block sequences in C/C++. Mention support for
5244 unconstrained/reproducible modifiers on order clause.
5245 Mention partial (C/C++ only) support of extentensions to atomics
5246 construct. Mention partial (C/C++ on clause only) support of
5247 align/allocator modifiers on allocate clause.
5248
e3e07b89
GA
52492021-10-02 Tobias Burnus <tobias@codesourcery.com>
5250
5251 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
5252 based on libgomp.c-c++-common/order-reproducible-1.c.
5253 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
5254 * testsuite/libgomp.fortran/my-usleep.c: New test.
5255
9d116bcc
GA
52562021-10-01 Tobias Burnus <tobias@codesourcery.com>
5257
5258 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5259 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5260 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5261 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5262 based on libgomp.c-c++-common/alloc-9.c.
5263
52642021-10-01 Jakub Jelinek <jakub@redhat.com>
5265
5266 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5267 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5268
52692021-10-01 Jakub Jelinek <jakub@redhat.com>
5270
5271 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5272 ialias_redirect.
5273 * env.c (handle_omp_display_env): Use ialias_call.
5274 * icv-device.c: Move ialias right below each function.
5275 (omp_get_device_num): Use ialias_call.
5276 * fortran.c (omp_fulfill_event): Add ialias_redirect.
5277 * icv.c (omp_get_active_level): Add ialias_redirect.
5278
52792021-10-01 Jakub Jelinek <jakub@redhat.com>
5280
5281 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5282 __alloc_align__ (1) attribute.
5283 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5284
24679983
GA
52852021-09-30 Tobias Burnus <tobias@codesourcery.com>
5286
5287 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5288 for -fintrinsic-modules-path= warning of the C compiler.
5289 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5290 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5291
52922021-09-30 Tobias Burnus <tobias@codesourcery.com>
5293
5294 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5295 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5296 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5297 omp_realloc): Add.
5298 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5299 omp_realloc): Add.
5300 * testsuite/libgomp.fortran/alloc-10.f90: New test.
5301 * testsuite/libgomp.fortran/alloc-6.f90: New test.
5302 * testsuite/libgomp.fortran/alloc-7.c: New test.
5303 * testsuite/libgomp.fortran/alloc-7.f90: New test.
5304 * testsuite/libgomp.fortran/alloc-8.f90: New test.
5305 * testsuite/libgomp.fortran/alloc-9.f90: New test.
5306
53072021-09-30 Jakub Jelinek <jakub@redhat.com>
5308
5309 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5310 omp_realloc): New prototypes.
5311 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5312 attribute.
5313 * allocator.c: Include string.h.
5314 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
5315 variable and use it instead of alignment so that when retrying the old
5316 alignment is used again. Don't retry if new alignment is the same
5317 as old alignment, unless allocator had pool size.
5318 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5319 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5320 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5321 omp_aligned_calloc and omp_realloc.
5322 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5323 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5324 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5325 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5326 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5327 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5328
fd133479
GA
53292021-09-28 Tobias Burnus <tobias@codesourcery.com>
5330
5331 PR libgomp/96661
5332 * configure.ac: Only check for int-type = 2*size_t support when
5333 building with Fortran support.
5334 * configure: Regenerate.
5335
53362021-09-28 Thomas Schwinge <thomas@codesourcery.com>
5337
5338 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5339 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5340
cf966403
GA
53412021-09-27 Aldy Hernandez <aldyh@redhat.com>
5342
5343 * team.c: Initialize start_data.
5344 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5345 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5346
53472021-09-27 Tobias Burnus <tobias@codesourcery.com>
5348
5349 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5350 dg-message back to dg-note.
5351
53522021-09-27 Tobias Burnus <tobias@codesourcery.com>
5353
5354 PR fortran/94070
5355 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5356 expected dg-note output.
5357
e4777439
GA
53582021-09-22 Tobias Burnus <tobias@codesourcery.com>
5359
5360 PR fortran/55534
5361 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5362 r12-3722 by removing -Wno-missing-include-dirs.
5363 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5364
53652021-09-22 Jakub Jelinek <jakub@redhat.com>
5366
5367 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5368 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5369
2c41dd82
GA
53702021-09-21 Tobias Burnus <tobias@codesourcery.com>
5371
5372 PR fortran/55534
5373 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5374 to ALWAYS_CFLAGS.
5375 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5376
cf74e7b5
GA
53772021-09-18 Jakub Jelinek <jakub@redhat.com>
5378
5379 * testsuite/libgomp.c++/default-1.C: New test.
5380 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5381 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5382 to default clause in C and C++" as implemented.
5383
0a4cb439
GA
53842021-09-17 Julian Brown <julian@codesourcery.com>
5385
5386 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5387
53882021-09-17 Julian Brown <julian@codesourcery.com>
5389
5390 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5391
53922021-09-17 Jakub Jelinek <jakub@redhat.com>
5393
5394 * libgomp.texi (OpenMP 5.1): Spelling fix,
5395 declare variante -> declare variant.
5396
53972021-09-17 Jakub Jelinek <jakub@redhat.com>
5398
5399 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5400 Use /* */ comments instead of //.
5401 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5402 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5403 * testsuite/libgomp.c++/atomic-16.C: New test.
5404 * testsuite/libgomp.c++/atomic-17.C: New test.
5405
a26206ec
GA
54062021-09-10 Jakub Jelinek <jakub@redhat.com>
5407
5408 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5409 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5410 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5411
b2748138
GA
54122021-09-07 Tobias Burnus <tobias@codesourcery.com>
5413
5414 * libgomp.texi (OpenMP Implementation Status): Extend
5415 OpenMP 5.0 section.
5416 (OpenACC Profiling Interface): Fix typo.
5417
54182021-09-07 Tobias Burnus <tobias@codesourcery.com>
5419
5420 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5421 not to 4.5; link to new section.
5422 (OpenMP Implementation Status): New.
5423
9f99555f
GA
54242021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5425
5426 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5427
7b739540
GA
54282021-09-03 Tobias Burnus <tobias@codesourcery.com>
5429
5430 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5431 dg-output.
5432 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5433
38b19c5b
GA
54342021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5435 Jakub Jelinek <jakub@redhat.com>
5436
5437 * testsuite/libgomp.c/address-space-1.c: New file.
5438
54392021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5440
5441 * testsuite/lib/libgomp.exp
5442 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5443 (check_effective_target_offload_device_intel_mic): New 'proc'.
5444 * testsuite/libgomp.c-c++-common/on_device_arch.h
5445 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5446 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5447 'dg-xfail-run-if'.
5448 * testsuite/libgomp.fortran/target10.f90: Likewise.
5449
54502021-08-23 Tobias Burnus <tobias@codesourcery.com>
5451
5452 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5453 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5454 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5455 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5456
54572021-08-23 Jakub Jelinek <jakub@redhat.com>
5458
5459 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5460 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5461 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5462
5b2876f9
GA
54632021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5464
5465 * config/nvptx/error.c (fwrite, exit): Override, too.
5466 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5467 of offloading testing.
5468 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5469
7c9e1645
GA
54702021-08-20 Tobias Burnus <tobias@codesourcery.com>
5471
5472 * testsuite/libgomp.fortran/error-1.f90: New test.
5473
54742021-08-20 Jakub Jelinek <jakub@redhat.com>
5475
5476 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5477 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5478 * error.c (GOMP_warning, GOMP_error): New functions.
5479 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5480
6e529985
GA
54812021-08-18 Tobias Burnus <tobias@codesourcery.com>
5482
5483 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5484 omp_target_free. omp_target_is_present, omp_target_memcpy,
5485 omp_target_memcpy_rect, omp_target_associate_ptr,
5486 omp_target_disassociate_ptr): Add interface.
5487 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5488 omp_target_free. omp_target_is_present, omp_target_memcpy,
5489 omp_target_memcpy_rect, omp_target_associate_ptr,
5490 omp_target_disassociate_ptr): Add interface.
5491 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5492 interface block for omp_alloc + omp_free.
5493 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5494 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5495 * testsuite/libgomp.fortran/target-12.f90: New test.
5496
54972021-08-18 Jakub Jelinek <jakub@redhat.com>
5498
5499 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5500
2d14d64b
GA
55012021-08-17 Tobias Burnus <tobias@codesourcery.com>
5502
5503 * testsuite/libgomp.fortran/scope-1.f90: New test.
5504 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5505
55062021-08-17 Jakub Jelinek <jakub@redhat.com>
5507
5508 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5509 * Makefile.in: Regenerated.
5510 * libgomp_g.h (GOMP_scope_start): Declare.
5511 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5512 * scope.c: New file.
5513 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5514 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5515
9d1d9fc8
GA
55162021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5517
5518 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5519 '?:' issues.
5520
55212021-08-16 Tobias Burnus <tobias@codesourcery.com>
5522
5523 * testsuite/libgomp.fortran/masked-1.f90: New test.
5524
261512fa
GA
55252021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5526
5527 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5528
72be20e2
GA
55292021-08-12 Jakub Jelinek <jakub@redhat.com>
5530
5531 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5532
55332021-08-12 Tobias Burnus <tobias@codesourcery.com>
5534
5535 * env.c (parse_bind_var): Accept 'primary' as alias for
5536 'master'.
5537 (omp_display_env): Add TODO comment to
5538 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5539 * libgomp.texi: Change 'master thread' to 'primary thread'
5540 in line with OpenMP 5.1.
5541 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5542 omp_proc_bind_master is an alias of it.
5543 (OMP_PROC_BIND): Mention 'PRIMARY'.
5544 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5545 (omp_proc_bind_primary): Add.
5546 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5547 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5548 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5549 * omp_lib.h.in (omp_proc_bind_primary): Add.
5550 * testsuite/libgomp.c/affinity-1.c: Check that
5551 'primary' works and is identical to 'master'.
5552
37768150
GA
55532021-08-09 Julian Brown <julian@codesourcery.com>
5554 Kwok Cheung Yeung <kcy@codesourcery.com>
5555 Thomas Schwinge <thomas@codesourcery.com>
5556
5557 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5558 16.
5559 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5560 [acc_device_radeon]: Update.
5561 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5562 [ACC_DEVICE_TYPE_radeon]: Likewise.
5563 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5564 [acc_device_radeon]: Likewise.
5565 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5566 [ACC_DEVICE_TYPE_radeon]: Likewise.
5567 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5568 'openacc_radeon_accel_selected' and '-O0'.
5569 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5570
8ebf4fb5
GA
55712021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5572
5573 * icv-device.c (omp_get_device_num): New API function, host side.
5574 * fortran.c (omp_get_device_num_): New interface function.
5575 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5576 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5577 omp_get_device_num_.
5578 * libgomp.texi (omp_get_device_num): Add documentation for new API
5579 function.
5580 * omp.h.in (omp_get_device_num): Add declaration.
5581 * omp_lib.f90.in (omp_get_device_num): Likewise.
5582 * omp_lib.h.in (omp_get_device_num): Likewise.
5583 * target.c (gomp_load_image_to_device): If additional entry for device
5584 number exists at end of returned entries from 'load_image_func' hook,
5585 copy the assigned device number over to the device variable.
5586 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5587 (omp_get_device_num): New API function, device side.
5588 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5589 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5590 at end of returned 'target_table' entries.
5591 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5592 (omp_get_device_num): New API function, device side.
5593 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5594 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5595 at end of returned 'target_table' entries.
5596 * testsuite/lib/libgomp.exp
5597 (check_effective_target_offload_target_intelmic): New function for
5598 testing for intelmic offloading.
5599 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5600 * testsuite/libgomp.fortran/target10.f90: New test.
5601
4d17ca1b
GA
56022021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5603 Ulrich Drepper <drepper@redhat.com>
5604
5605 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5606 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5607
56082021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5609 Julian Brown <julian@codesourcery.com>
5610 Kwok Cheung Yeung <kcy@codesourcery.com>
5611
5612 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5613 's%oaccdevlow%oaccloops%g'.
5614 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5615 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5616 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5617 Likewise.
5618 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5619 Likewise.
5620 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5621 Likewise.
5622 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5623 Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5625 Likewise.
5626 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5627 Likewise.
5628 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5629 Likewise.
5630 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5631 Likewise.
5632 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5633
872c1a56
ML
56342021-07-29 Aldy Hernandez <aldyh@redhat.com>
5635
5636 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5637 threader.
5638 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5639
af3f12e6
GA
56402021-07-27 Ulrich Drepper <drepper@gmail.com>
5641
5642 * env.c (wait_policy, stacksize): New static variables,
5643 move out of handle_omp_display_env.
5644 (omp_display_env): New function. The meat of the old
5645 handle_omp_display_env function.
5646 (handle_omp_display_env): Change to not take parameters
5647 and instead use the global variables. Only perform
5648 parsing, defer to omp_display_env for the implementation.
5649 (initialize_env): Remove local variables wait_policy and
5650 stacksize. Don't pass parameters to handle_omp_display_env.
5651 * fortran.c: Add ialias_redirect for omp_display_env.
5652 (omp_display_env_, omp_display_env_8_): New functions.
5653 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5654 omp_display_env_, and omp_display_env_8_.
5655 * omp.h.in: Declare omp_display_env.
5656 * omp_lib.f90.in: Likewise.
5657 * omp_lib.h.in: Likewise.
5658
56592021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5660 Julian Brown <julian@codesourcery.com>
5661
5662 * target.c (gomp_coalesce_buf_add): Update comment.
5663 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5664 'aq && cbuf'.
5665 (gomp_map_vars_internal): Only 'if (!aq)', do
5666 'gomp_coalesce_buf_add'.
5667 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5668 XFAIL.
5669
56702021-07-27 Julian Brown <julian@codesourcery.com>
5671 Thomas Schwinge <thomas@codesourcery.com>
5672
5673 * libgomp.h (gomp_copy_host2dev): Update prototype.
5674 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5675 argument to gomp_copy_host2dev (false).
5676 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5677 (copy_data): Don't free src.
5678 (queue_push_copy): Remove free_src handling.
5679 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5680 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5681 snapshotting.
5682 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5683 queue_push_copy.
5684 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5685 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5686 data when true, and set up deferred freeing of temporary buffer.
5687 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5688 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5689 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5690 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5691 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5692 XFAIL.
5693
56942021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5695 Tom de Vries <tom@codesourcery.com>
5696
5697 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5698 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5699
57002021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5701
5702 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5703 sequencing of 'async' data copying vs. profiling events.
5704 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5705 Likewise.
5706
57072021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5708 Julian Brown <julian@codesourcery.com>
5709
5710 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5711 'async'/'wait' issue.
5712 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5713 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5714 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5715
419c6c68
GA
57162021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5717 Joseph Myers <joseph@codesourcery.com>
5718 Cesar Philippidis <cesar@codesourcery.com>
5719
5720 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5721 file.
5722 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5723 Likewise.
5724 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5725 Likewise.
5726 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5727
92d45509
GA
57282021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5729
5730 PR target/101484
5731 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5732 '-Wno-error=array-bounds'.
5733 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5734 * libgomp.h [__AMDGCN__]: Likewise.
5735
21ea2f93
GA
57362021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5737
5738 PR target/101484
5739 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5740 * libgomp.h [__AMDGCN__]: Likewise.
5741
0e775456
GA
57422021-07-13 Jakub Jelinek <jakub@redhat.com>
5743 Florian Weimer <fweimer@redhat.com>
5744
5745 * config/linux/sem.h: Don't include limits.h.
5746 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5747 * config/linux/affinity.c: Include limits.h.
5748
bea7c16a
GA
57492021-07-01 Jakub Jelinek <jakub@redhat.com>
5750
5751 PR middle-end/94366
5752 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5753
6bc18203
GA
57542021-06-29 Tobias Burnus <tobias@codesourcery.com>
5755
5756 PR other/67300
5757 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5758 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5759 avoid disabling other offload targets.
5760 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5761 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5762 * testsuite/libgomp.c/target-44.c: Likewise.
5763
57642021-06-29 Tobias Burnus <tobias@codesourcery.com>
5765
5766 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5767 target has shared memory and disable some scalar pointer/allocatable
5768 checks if not as firstprivate does not work.
5769
90708f87
GA
57702021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5771
5772 PR testsuite/101114
5773 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5774 Add "target offload_device_nonshared_as" condition for enabling test.
5775
9aa8327e
GA
57762021-06-24 Jakub Jelinek <jakub@redhat.com>
5777
5778 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5779 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5780 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5781 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5782
fcf617f0
GA
57832021-06-23 Jakub Jelinek <jakub@redhat.com>
5784
5785 PR middle-end/101167
5786 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5787
688359a2
GA
57882021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5789
5790 * hashtab.h (htab_clear): New function with initialization code
5791 factored out from...
5792 (htab_create): ...here, adjust to use htab_clear function.
5793 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5794 special refcount values, add comments.
5795 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5796 (REFCOUNT_LINK): Likewise.
5797 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5798 element siblings.
5799 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5800 sibling maps.
5801 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5802 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5803 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5804 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5805 (struct splay_tree_key_s): Add structelem_refcount and
5806 structelem_refcount_ptr fields into a union with dynamic_refcount.
5807 Add comments.
5808 (gomp_map_vars): Delete declaration.
5809 (gomp_map_vars_async): Likewise.
5810 (gomp_unmap_vars): Likewise.
5811 (gomp_unmap_vars_async): Likewise.
5812 (goacc_map_vars): New declaration.
5813 (goacc_unmap_vars): Likewise.
5814 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5815 (goacc_enter_datum): Likewise.
5816 (goacc_enter_data_internal): Likewise.
5817 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5818 and goacc_unmap_vars.
5819 (GOACC_data_start): Adjust to use goacc_map_vars.
5820 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5821 * target.c (hash_entry_type): New typedef.
5822 (htab_alloc): New function hook for hashtab.h.
5823 (htab_free): Likewise.
5824 (htab_hash): Likewise.
5825 (htab_eq): Likewise.
5826 (hashtab.h): Add file include.
5827 (gomp_increment_refcount): New function.
5828 (gomp_decrement_refcount): Likewise.
5829 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5830 gomp_increment_refcount.
5831 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5832 to gomp_map_vars_existing.
5833 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5834 variable to guard OpenMP specific paths, adjust calls to
5835 gomp_map_vars_existing, add structure element sibling splay_tree_key
5836 sequence creation code, adjust Fortran map case to avoid increment
5837 under OpenMP.
5838 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5839 local refcount_set if caller passed in NULL, adjust call to
5840 gomp_map_vars_internal.
5841 (gomp_map_vars_async): Adjust and rename into...
5842 (goacc_map_vars): ...this new function, adjust call to
5843 gomp_map_vars_internal.
5844 (gomp_remove_splay_tree_key): New function with code factored out from
5845 gomp_remove_var_internal.
5846 (gomp_remove_var_internal): Add code to handle removing multiple
5847 splay_tree_key sequence for structure elements, adjust code to use
5848 gomp_remove_splay_tree_key for splay-tree key removal.
5849 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5850 gomp_decrement_refcount.
5851 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5852 local refcount_set if caller passed in NULL, adjust call to
5853 gomp_unmap_vars_internal.
5854 (gomp_unmap_vars_async): Adjust and rename into...
5855 (goacc_unmap_vars): ...this new function, adjust call to
5856 gomp_unmap_vars_internal.
5857 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5858 gomp_unmap_vars.
5859 (GOMP_target_ext): Likewise.
5860 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5861 (GOMP_target_data): Likewise.
5862 (GOMP_target_data_ext): Likewise.
5863 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5864 (gomp_exit_data): Add refcount_set parameter, adjust to use
5865 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5866 after main loop.
5867 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5868 gomp_map_vars and gomp_exit_data.
5869 (gomp_target_task_fn): Likewise.
5870 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5871 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5872 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5873 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5874 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5875 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5876
ede6c356
GA
58772021-06-15 Tobias Burnus <tobias@codesourcery.com>
5878
5879 PR fortran/92568
5880 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5881
43c35d0d
GA
58822021-06-10 Andrew Stubbs <ams@codesourcery.com>
5883 Thomas Schwinge <thomas@codesourcery.com>
5884
5885 * libgomp.map (GOACC_2.0.2): New symbol version.
5886 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5887 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5888
58892021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5890 Andrew Stubbs <ams@codesourcery.com>
5891
5892 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5893 extracted from...
5894 (GOACC_enter_exit_data): ... here.
5895 (GOACC_declare): Use it.
5896
58972021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5898
5899 * oacc-parallel.c (GOACC_declare): Move...
5900 * oacc-mem.c: ... here.
5901 * libgomp_g.h: Adjust.
5902
59032021-06-10 Andrew Stubbs <ams@codesourcery.com>
5904 Thomas Schwinge <thomas@codesourcery.com>
5905
5906 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5907 handling.
5908
59092021-06-10 Jakub Jelinek <jakub@redhat.com>
5910
5911 PR tree-optimization/100981
5912 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5913 dsdotr and dsdoti to 0.
5914
4f625f47
GA
59152021-06-09 H.J. Lu <hjl.tools@gmail.com>
5916
5917 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5918 if atomic compare-and-swap is supported on 'int'.
5919
59202021-06-09 Richard Biener <rguenther@suse.de>
5921
5922 PR tree-optimization/100981
5923 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5924
c6038721
GA
59252021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5926
5927 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5928 unconditionally.
5929 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5930 Update.
5931 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5932 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5933
59342021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5935
5936 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5937 '-DACC_MEM_SHARED=0'.
5938 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5939 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5940 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5941 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5942 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5943 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5944 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5945 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5946 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5947 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5948 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5949 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5950 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5951 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5952 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5953 'acc_device_radeon' testing.
5954 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5955 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5956 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5957 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5958 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5959 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5960 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5961 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5962 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5963 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5964 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5965 for non-'openacc_nvidia_accel_selected'.
5966 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5967 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5968 all implement this checking".
5969 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5970 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5971 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5972 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5973 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5974
59752021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5976
5977 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5978 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5979
59802021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5981
5982 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5983 for 'acc_device_radeon'.
5984
59852021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5986
5987 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5988 for non-'acc_device_nvidia'.
5989
59902021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5991
5992 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5993 'acc_device_radeon' testing.
5994 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5995 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5996 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5997
59982021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5999
6000 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
6001 require 'openacc_nvidia_accel_selected'. Fix up for
6002 'ACC_DEVICE_TYPE_radeon'.
6003
60042021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6005
6006 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
6007 'openacc_nvidia_accel_selected'.
6008 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
6009
60102021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6011
6012 * testsuite/lib/libgomp.exp
6013 (check_effective_target_openacc_radeon_accel_selected):
6014 Streamline.
6015
60162021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6017
6018 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
6019 PR80547 workaround.
6020
60212021-06-08 Thomas Schwinge <thomas@codesourcery.com>
6022
6023 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
6024 <acc_device_nvidia>: Update comment.
6025
48166757
GA
60262021-05-28 Tobias Burnus <tobias@codesourcery.com>
6027
6028 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
6029
cd62d089
GA
60302021-05-27 Jakub Jelinek <jakub@redhat.com>
6031
6032 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
6033 check_effective_target_openacc_cublas,
6034 check_effective_target_openacc_cudart): New.
6035 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
6036 target openacc_cublas.
6037 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
6038 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
6040 target openacc_cuda.
6041 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6043 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6044 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6045 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6046 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6047 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6048 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6049 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
6050 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6051 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6052 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6053 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6054 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6055 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6056 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6057 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
6058 targets openacc_cublas and openacc_cudart.
6059 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6060 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6061 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6062 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6063 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
6064 Require effective target openacc_cudart.
6065 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
6066 for effective target openacc_cuda and add && defined USE_CUDA_H to
6067 preprocessor conditionals. Guard -lcuda also on openacc_cuda
6068 effective target.
6069
01c59ef2
GA
60702021-05-26 Jakub Jelinek <jakub@redhat.com>
6071
6072 PR libgomp/100573
6073 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
6074 GOMP_target_end_data, GOMP_target_update_ext,
6075 GOMP_target_enter_exit_data): New dummy entrypoints.
6076 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
6077 GOMP_target_end_data, GOMP_target_update_ext,
6078 GOMP_target_enter_exit_data): Likewise.
6079 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
6080 OMPFROM, OMPTO): Define.
6081 (main): Remove #pragma omp target teams around all the tests.
6082 * testsuite/libgomp.c-c++-common/target-41.c: New test.
6083 * testsuite/libgomp.c-c++-common/target-42.c: New test.
6084
2bc6dace
GA
60852021-05-25 Jakub Jelinek <jakub@redhat.com>
6086
6087 PR middle-end/99928
6088 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
6089
637569df
GA
60902021-05-24 Tobias Burnus <tobias@codesourcery.com>
6091
6092 PR fortran/86470
6093 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
6094 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
6095 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
6096
15d30d2f
GA
60972021-05-22 Thomas Schwinge <thomas@codesourcery.com>
6098
6099 PR testsuite/90115
6100 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
6101 uninteresting/varying diagnostics.
6102
2832d51b
GA
61032021-05-21 Thomas Schwinge <thomas@codesourcery.com>
6104
6105 PR middle-end/90115
6106 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
6107 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6108
61092021-05-21 Thomas Schwinge <thomas@codesourcery.com>
6110
6111 PR middle-end/90115
6112 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
6113 file.
6114 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
6115 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
6116 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6117 Likewise.
6118 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
6119 Likewise.
6120 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
6121 Likewise.
6122 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
6123 Likewise.
6124 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
6125 Likewise.
6126 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
6127 Likewise.
6128 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
6129 Likewise.
6130 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
6131 Likewise.
6132 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
6133 Likewise.
6134 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
6135 Likewise.
6136 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
6137 Likewise.
6138 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
6139 Likewise.
6140 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
6141 Likewise.
6142 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
6143 Likewise.
6144 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
6145 Likewise.
6146 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
6147 Likewise.
6148 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
6149 Likewise.
6150 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
6151 Likewise.
6152 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
6153 Likewise.
6154 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
6155 Likewise.
6156 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
6157 Likewise.
6158 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
6159 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
6160 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
6161 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
6162 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
6163 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
6166 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6167 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6168 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
6169 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
6170 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6171 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
6172 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6173 Likewise.
6174 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
6175 Likewise.
6176 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
6177 Likewise.
6178 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6179 Likewise.
6180 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
6181 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6182 Likewise.
6183 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6184 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6185 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6186 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
6187 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
6188 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
6189 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
6190 Likewise.
6191 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
6192 Likewise.
6193 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
6194 Likewise.
6195 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
6196 Likewise.
6197 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
6198 Likewise.
6199 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
6200 Likewise.
6201 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
6202 Likewise.
6203 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
6204 Likewise.
6205 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
6206 Likewise.
6207 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6208 Likewise.
6209 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6210 Likewise.
6211 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6212 Likewise.
6213 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6214 Likewise.
6215 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6216 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6217 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6218 Likewise.
6219 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6220 Likewise.
6221 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6222 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6223 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6224
62252021-05-21 Julian Brown <julian@codesourcery.com>
6226 Chung-Lin Tang <cltang@codesourcery.com>
6227 Thomas Schwinge <thomas@codesourcery.com>
6228
6229 PR middle-end/90115
6230 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
6231 test.
6232 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6233 Likewise.
6234 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6235 Likewise.
6236
62372021-05-21 Thomas Schwinge <thomas@codesourcery.com>
6238
6239 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
6240 for nvptx offloading.
6241
62422021-05-21 Tobias Burnus <tobias@codesourcery.com>
6243
6244 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
6245
65f32e5d
GA
62462021-05-19 Thomas Schwinge <thomas@codesourcery.com>
6247
6248 PR target/83812
6249 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
6250
62512021-05-19 Julian Brown <julian@codesourcery.com>
6252
6253 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
6254
a8daf9a1
GA
62552021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6256
6257 * testsuite/lib/libgomp.exp
6258 (check_effective_target_offload_target_nvptx): Don't shadow global
6259 'offload_targets' variable.
6260
62612021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6262
6263 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6264 '-latomic' to nvptx offloading compilation.
6265 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6266
62672021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6268
6269 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6270 offloading compilation.
6271
a7ffc1ef
GA
62722021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
6273
6274 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6275 if new tasks generated.
6276 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6277
87a7d10c
GA
62782021-05-14 Tobias Burnus <tobias@codesourcery.com>
6279
6280 * testsuite/libgomp.fortran/parallel-master.f90: New test.
6281
f9af11c7
GA
62822021-05-13 Martin Liska <mliska@suse.cz>
6283
6284 PR testsuite/100569
6285 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6286 * testsuite/libgomp.c/pr46032-2.c: Likewise.
6287 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6288 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6289
0ff3a0f2
GA
62902021-05-12 Tobias Burnus <tobias@codesourcery.com>
6291
6292 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6293 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6294
037e3661
GA
62952021-05-11 Jakub Jelinek <jakub@redhat.com>
6296
6297 PR middle-end/100471
6298 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6299 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6300 reduction pointer.
6301 * testsuite/libgomp.c/task-reduction-4.c: New test.
6302
62d87a32
GA
63032021-05-07 Tobias Burnus <tobias@codesourcery.com>
6304 Tom de Vries <tdevries@suse.de>
6305
6306 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6307 complex/floating-point || + && reduction with 'omp target'.
6308 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6309
99e8df7a
GA
63102021-05-04 Tobias Burnus <tobias@codesourcery.com>
6311
6312 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6313 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6314 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6315 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6316
63172021-05-04 Tobias Burnus <tobias@codesourcery.com>
6318
6319 PR testsuite/100397
6320 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6321 declaration to scope of non-'depend'-guarded assignment to avoid races.
6322
e690396d
GA
63232021-05-03 Tom de Vries <tdevries@suse.de>
6324
6325 PR target/100321
6326 * testsuite/libgomp.c/target-44.c: New test.
6327
9326049e
GA
63282021-04-30 Roman Zhuykov <zhroma@ispras.ru>
6329
6330 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6331
3c8e539d
GA
63322021-04-29 Tom de Vries <tdevries@suse.de>
6333
6334 * testsuite/libgomp.c/pr81778.c: New test.
6335
63362021-04-29 Tom de Vries <tdevries@suse.de>
6337
6338 PR target/100232
6339 * testsuite/libgomp.c/target-43.c: New file.
6340
e4ff4ffb
GA
63412021-04-28 Jakub Jelinek <jakub@redhat.com>
6342 Tobias Burnus <tobias@codesourcery.com>
6343
6344 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6345 * target.c (gomp_load_plugin_for_device): If set and if a plugin
6346 can't be dlopened, silently assume it has no devices.
6347 * Makefile.in: Regenerate.
6348 * config.h.in: Regenerate.
6349 * configure: Regenerate.
6350
c0fa3f2f
GA
63512021-04-26 Tobias Burnus <tobias@codesourcery.com>
6352
6353 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6354 Use [Ww]arning in dg-bogus as FE diagnostic and default
6355 diagnostic differ and the result depends on ENABLE_OFFLOAD.
6356 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6357 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6358 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6359
63602021-04-26 Tobias Burnus <tobias@codesourcery.com>
6361
6362 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6363 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6364 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6365 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6366 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6367
63682021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6369 Nathan Sidwell <nathan@codesourcery.com>
6370 Tom de Vries <vries@codesourcery.com>
6371 Julian Brown <julian@codesourcery.com>
6372 Kwok Cheung Yeung <kcy@codesourcery.com>
6373
6374 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6375 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6376 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6377 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6378 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6379 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6380 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6381 Likewise.
6382 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6383 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6384 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6385 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6386 Likewise.
6387 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6388 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6389 Likewise.
6390 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6391 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6392 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6393 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6394 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6395 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6396 Likewise.
6397 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6398 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6399 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6400 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6401 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6402 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6403 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6404 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6405 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6406 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6407 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6408
64092021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6410
6411 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6412 compile with '-w'.
6413 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6414 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6415 Likewise.
6416 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6417 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6418 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6419 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6420 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6421 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6422 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6423
e3948473
GA
64242021-04-22 Richard Biener <rguenther@suse.de>
6425
6426 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6427 only on nvptx-none.
6428
c1ef0c92
GA
64292021-04-21 Tobias Burnus <tobias@codesourcery.com>
6430
6431 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6432 omp_depend_kind instead of defining it as 16.
6433
64342021-04-21 Tobias Burnus <tobias@codesourcery.com>
6435
6436 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6437 New, based on check_effective_target_offload_target_nvptx.
6438 (check_effective_target_offload_target_nvptx): Call it.
6439 (check_effective_target_offload_target_amdgcn): New.
6440 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6441 Require target offload_target_nvptx || offload_target_amdgcn.
6442 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6443 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6444 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6445
64462021-04-21 Tobias Burnus <tobias@codesourcery.com>
6447
6448 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6449
6e81e015
GA
64502021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6451
6452 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6453 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6454 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6455 Likewise.
6456 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6457 Likewise.
6458 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6459
ee351f7f
GA
64602021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6461
6462 PR target/99555
6463 * testsuite/lib/libgomp.exp
6464 (check_effective_target_offload_device_nvptx): New.
6465 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6466 resolved, make sure that we exit quickly, with error status,
6467 XFAILed.
6468 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6469 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6470
df3b1289
GA
64712021-04-14 Jakub Jelinek <jakub@redhat.com>
6472
6473 PR testsuite/100071
6474 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6475 cp = omp_alloc with cp, p arguments instead of cq, q and call
6476 c_f_pointer after last cq = omp_alloc with cq, q.
6477
a0ecde22
GA
64782021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6479
6480 PR middle-end/98088
6481 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6482 for loop with GT/GE condition.
6483 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6484
3115aba8
GA
64852021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6486
6487 PR middle-end/84991
6488 PR middle-end/84992
6489 PR middle-end/90779
6490 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6491
64922021-04-09 Jakub Jelinek <jakub@redhat.com>
6493
6494 PR libgomp/99984
6495 * team.c (gomp_thread_start): Call pthread_setspecific for
6496 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6497 has been initialized to avoid false positive warning.
6498
65374af2
GA
64992021-03-29 Tobias Burnus <tobias@codesourcery.com>
6500
6501 PR target/99555
6502 * testsuite/lib/on_device_arch.c: Move to ...
6503 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6504 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6505 #include on_device_arch.h.
6506 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6507 on_device_arch.h instead of using dg-additional-source.
6508 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6509 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6510 on_device_arch.c without relative paths.
6511
4493b1c1
GA
65122021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6513
6514 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6515 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6516 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6517 * config.h.in: Regenerate.
6518 * configure: Likewise.
6519
65202021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6521
6522 PR target/99555
6523 * testsuite/lib/on_device_arch.c: New file.
6524 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6525 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6526 skip for nvptx offloading, with error status.
6527 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6528
65292021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6530
6531 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6532 OpenACC 'serial' construct diagnostic for nvptx offloading.
6533
3c5b6d24
GA
65342021-03-15 Tobias Burnus <tobias@codesourcery.com>
6535
6536 PR c++/99509
6537 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6538
6da2762a
GA
65392021-03-12 Tobias Burnus <tobias@codesourcery.com>
6540
6541 PR fortran/98858
6542 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6543
67f10d28
GA
65442021-03-04 Jakub Jelinek <jakub@redhat.com>
6545
6546 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6547 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6548 checking of -m32 or -mx32 options on the command line.
6549 * config.h.in: Regenerated.
6550 * configure: Regenerated.
6551
ec9dc4fa
GA
65522021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6553
6554 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6555 support from the target.
6556
daa68844
GA
65572021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6558 Jakub Jelinek <jakub@redhat.com>
6559
6560 PR libgomp/98738
6561 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6562 (struct gomp_task): Replace detach and completion_sem fields with
6563 union containing completion_sem and detach_team. Add deferred_p
6564 field.
6565 (struct gomp_team): Remove task_detach_queue.
6566 * task.c: Include assert.h.
6567 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6568 Rearrange initialization order of fields.
6569 (task_fulfilled_p): Delete.
6570 (GOMP_task): Use address of task as the event handle. Remove
6571 initialization of detach field. Initialize deferred_p field.
6572 Use automatic local for completion_sem. Initialize detach_team field
6573 for deferred tasks.
6574 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6575 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6576 decrement task_running_count. Move finish_cancelled block out of
6577 else branch. Relocate call to gomp_team_barrier_done.
6578 (GOMP_taskwait): Handle tasks with completion events that have not
6579 been fulfilled.
6580 (GOMP_taskgroup_end): Likewise.
6581 (omp_fulfill_event): Use address of task as event handle. Post to
6582 completion_sem for undeferred tasks. Clear detach_team if task
6583 has not finished. For finished tasks, handle post-execution tasks,
6584 call gomp_team_barrier_wake if necessary, and free task.
6585 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6586 (free_team): Remove free of task_detach_queue.
6587 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6588 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6589 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6590 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6591 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6592 Change data-sharing of detach events on enclosing parallel to private.
6593 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6594 taskwait directive.
6595 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6596 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6597 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6598 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6599 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6600 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6601 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6602 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6603 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6604 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6605 Change data-sharing of detach events on enclosing parallel to private.
6606 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6607 taskwait directive.
6608 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6609 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6610 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6611 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6612 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6613
2f5765cf
GA
66142021-02-22 Tobias Burnus <tobias@codesourcery.com>
6615
6616 PR fortran/99171
6617 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6618
acc0ee5c
GA
66192021-02-17 Julian Brown <julian@codesourcery.com>
6620
6621 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6622 expected errors.
6623
66242021-02-17 Julian Brown <julian@codesourcery.com>
6625
6626 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6627 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6628
0c5cdb31
GA
66292021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6630
6631 * config/linux/x86/futex.h (__futex_wait):
6632 Revert output type back to long.
6633 (__futex_wake): Ditto.
6634 (futex_wait): Update for revert.
6635 (futex_wake): Ditto.
6636
66372021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6638
6639 * config/linux/x86/futex.h (__futex_wait): New static inline
6640 wrapper function. Correct output type to int and
6641 timeout type to void *.
6642 (__futex_wake): New static inline wrapper function.
6643 Correct output type to int.
6644 (futex_wait): Use __futex_wait.
6645 (futex_wake): Use __futex_wake.
6646
4b37c3ea
GA
66472021-02-10 Julian Brown <julian@codesourcery.com>
6648
6649 PR fortran/98979
6650 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6651 errors.
6652
a19dd5e6
GA
66532021-02-04 Julian Brown <julian@codesourcery.com>
6654
6655 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6656
9faaa807
GA
66572021-02-03 Andrew Stubbs <ams@codesourcery.com>
6658
6659 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6660 EF_AMDGPU_MACH_AMDGCN_GFX908.
6661 (gcn_gfx908_s): New constant string.
6662 (isa_hsa_name): Add gfx908.
6663 (isa_code): Add gfx908.
6664
161e4c08
GA
66652021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6666
6667 * libgomp.texi (omp_fulfill_event): New entry.
6668
b93d0e36
GA
66692021-01-20 Jakub Jelinek <jakub@redhat.com>
6670
6671 * task.c (GOMP_task): Rename priority argument to priority_arg,
6672 add priority automatic variable and modify that variable. Instead of
6673 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6674 check flags for that bit.
6675
f35a4f96
GA
66762021-01-19 Tobias Burnus <tobias@codesourcery.com>
6677
6678 PR fortran/98476
6679 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6680
ef1f8ee6
GA
66812021-01-18 Andreas Schwab <schwab@suse.de>
6682
6683 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6684
66852021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6686
6687 * config/rtems/sem.h (gomp_sem_getcount): New function.
6688
66892021-01-18 Jakub Jelinek <jakub@redhat.com>
6690
6691 * config/linux/sem.h (gomp_sem_getcount): New function.
6692 * config/posix/sem.h (gomp_sem_getcount): New function.
6693 * config/posix/sem.c (gomp_sem_getcount): New function.
6694 * config/accel/sem.h (gomp_sem_getcount): New function.
6695 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6696 (omp_fulfill_event): Likewise.
6697
59cf67d1
GA
66982021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6699
6700 * fortran.c (omp_fulfill_event_): New.
6701 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6702 (struct gomp_team): Add task_detach_queue and task_detach_count
6703 fields.
6704 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6705 * libgomp_g.h (GOMP_task): Add extra argument.
6706 * omp.h.in (enum omp_event_handle_t): New.
6707 (omp_fulfill_event): New.
6708 * omp_lib.f90.in (omp_event_handle_kind): New.
6709 (omp_fulfill_event): New.
6710 * omp_lib.h.in (omp_event_handle_kind): New.
6711 (omp_fulfill_event): Declare.
6712 * priority_queue.c (priority_tree_find): New.
6713 (priority_list_find): New.
6714 (priority_queue_find): New.
6715 * priority_queue.h (priority_queue_predicate): New.
6716 (priority_queue_find): New.
6717 * task.c (gomp_init_task): Initialize detach field.
6718 (task_fulfilled_p): New.
6719 (GOMP_task): Add detach argument. Ignore detach argument if
6720 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6721 field. Copy address of completion_sem into detach argument and
6722 into the start of the data record. Wait for detach event if task
6723 not deferred.
6724 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6725 Remove completed tasks and requeue dependent tasks.
6726 (omp_fulfill_event): New.
6727 * team.c (gomp_new_team): Initialize task_detach_queue and
6728 task_detach_count fields.
6729 (free_team): Free task_detach_queue field.
6730 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6731 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6732 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6733 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6734 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6735 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6736 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6737 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6738 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6739 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6740 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6741 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6742
2f7f0d32
GA
67432021-01-15 Jakub Jelinek <jakub@redhat.com>
6744
6745 PR target/70454
6746 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6747 be added through preprocessor check on
6748 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6749
5fff80fd
GA
67502021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6751
6752 PR libgomp/65099
6753 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6754 configurations.
6755 * configure: Regenerate.
6756 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6757 check.
6758
651b8a50
GA
67592021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6760
6761 * configure: Re-generate.
6762
67632021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6764
6765 * configure: Re-generate.
6766
67672021-01-05 Julian Brown <julian@codesourcery.com>
6768
6769 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6770 (struct ptx_device): Add omp_stacks struct.
6771 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6772 (nvptx_close_device): Free cached stacks block and mutex.
6773 (nvptx_stacks_free): New function.
6774 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6775 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6776 (nvptx_stacks_alloc): Rename to...
6777 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6778 size or smaller is required.
6779 (nvptx_stacks_free): Remove.
6780 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6781 during kernel execution.
6782
b6dd195a
GA
67832021-01-01 Jakub Jelinek <jakub@redhat.com>
6784
6785 * libgomp.texi: Bump @copying's copyright year.
6786
2d3425a5
GA
67872020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6788
6789 * libgomp.texi (Top): Avoid bad "up" link.
6790
b1a2242e
GA
67912020-12-18 Jakub Jelinek <jakub@redhat.com>
6792
6793 * testsuite/libgomp.c/task-6.c: New test.
6794
ca2bd949
GA
67952020-12-09 Andrew Stubbs <ams@codesourcery.com>
6796
6797 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6798 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6799
f6e8e279
GA
68002020-12-08 Tobias Burnus <tobias@codesourcery.com>
6801
6802 * testsuite/libgomp.fortran/scan-1.f90: New test.
6803
6e1edf48
GA
68042020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6805
6806 PR target/97865
6807 * configure: Regenerate.
6808
a9625c50
GA
68092020-11-29 John David Anglin <danglin@gcc.gnu.org>
6810
6811 * configure: Regenerate.
6812
360258da
GA
68132020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6814
6815 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6816 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6817
68182020-11-25 Andrew Stubbs <ams@codesourcery.com>
6819
6820 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6821 expected results.
6822
1e2c9a27
GA
68232020-11-24 Andrew Stubbs <ams@codesourcery.com>
6824
6825 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6826 (reserved): Delete unused define.
6827
68282020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6829
6830 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6831 Tcl 8.5-specific behavior.
6832 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6833
25bb75f8
GA
68342020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6835
6836 * env.c (gomp_global_icv): Remove nest_var field. Add
6837 max_active_levels_var field.
6838 (gomp_max_active_levels_var): Remove.
6839 (parse_boolean): Return true on success.
6840 (handle_omp_display_env): Express OMP_NESTED in terms of
6841 max_active_levels_var. Change format specifier for
6842 max_active_levels_var.
6843 (initialize_env): Set max_active_levels_var from
6844 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6845 OMP_PROC_BIND.
6846 * icv.c (omp_set_nested): Express in terms of
6847 max_active_levels_var.
6848 (omp_get_nested): Likewise.
6849 (omp_set_max_active_levels): Use max_active_levels_var field instead
6850 of gomp_max_active_levels_var.
6851 (omp_get_max_active_levels): Likewise.
6852 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6853 max_active_levels_var field.
6854 (gomp_supported_active_levels): Set to UCHAR_MAX.
6855 (gomp_max_active_levels_var): Delete.
6856 * libgomp.texi (omp_get_nested): Update documentation.
6857 (omp_set_nested): Likewise.
6858 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6859 (OMP_NESTED): Likewise.
6860 (OMP_NUM_THREADS): Likewise.
6861 (OMP_PROC_BIND): Likewise.
6862 * parallel.c (gomp_resolve_num_threads): Replace reference
6863 to nest_var with max_active_levels_var. Use max_active_levels_var
6864 field instead of gomp_max_active_levels_var.
6865
68662020-11-18 Tobias Burnus <tobias@codesourcery.com>
6867
6868 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6869 nvptx_usleep; use also for device={arch(gcn)}.
6870
faab61b5
GA
68712020-11-14 Jakub Jelinek <jakub@redhat.com>
6872
6873 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6874 (foo): Add tests for non-VLA private and firstprivate clauses on
6875 omp task.
6876 (bar): Likewise. Remove taking of address from private/firstprivate
6877 variables.
6878 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6879 (foo): Add p, q, px and s arguments. Add tests for array reductions
6880 and for non-VLA private and firstprivate clauses on omp task.
6881 (bar): Removed.
6882 (main): Adjust foo caller. Don't call bar.
6883
77f67db2
GA
68842020-11-13 Gergö Barany <gergo@codesourcery.com>
6885 Thomas Schwinge <thomas@codesourcery.com>
6886
6887 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6888 New.
6889 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6890 Likewise.
6891 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6892 Likewise.
6893 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6894 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6895
68962020-11-13 Gergö Barany <gergo@codesourcery.com>
6897 Thomas Schwinge <thomas@codesourcery.com>
6898
6899 PR fortran/94358
6900 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6901
69022020-11-13 Jakub Jelinek <jakub@redhat.com>
6903
6904 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6905 for array reductions.
6906 (main): Adjust foo callers.
6907
a5a11525
GA
69082020-11-12 Jakub Jelinek <jakub@redhat.com>
6909
6910 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6911 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6912 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6913 * allocator.c (omp_aligned_alloc): New for now static function,
6914 add alignment argument and handle it.
6915 (omp_alloc): Reimplement using omp_aligned_alloc.
6916 (GOMP_alloc, GOMP_free): New functions.
6917 (omp_free): Add ialias.
6918 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6919 * testsuite/libgomp.c++/allocate-1.C: New test.
6920
69212020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6922
6923 PR fortran/97782
6924 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6925
bb622641
GA
69262020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6927
6928 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6929 usable.
6930 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6931 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6932 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6933 (goacc_enter_data_internal): Likewise.
6934 * target.c (gomp_map_vars_internal):
6935 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6936 of gomp_attach_pointer for OpenMP cases.
6937 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6938 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6939 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6940
0cfd9109
GA
69412020-11-05 Ulrich Drepper <drepper@redhat.com>
6942 Kwok Cheung Yeung <kcy@codesourcery.com>
6943
6944 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6945 * Makefile.in: Regenerate.
6946 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6947 pragmas to ignore -Wdeprecated-declarations warnings.
6948 * icv.c: Likewise.
6949 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6950 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6951 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6952 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6953 deprecated.
6954 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6955 to test options.
6956 * testsuite/libgomp.c/affinity-1.c: Likewise.
6957 * testsuite/libgomp.c/affinity-2.c: Likewise.
6958 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6959 * testsuite/libgomp.c/lib-1.c: Likewise.
6960 * testsuite/libgomp.c/nested-1.c: Likewise.
6961 * testsuite/libgomp.c/nested-2.c: Likewise.
6962 * testsuite/libgomp.c/nested-3.c: Likewise.
6963 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6964 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6965 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6966 * testsuite/libgomp.c/pr35549.c: Likewise.
6967 * testsuite/libgomp.c/pr42942.c: Likewise.
6968 * testsuite/libgomp.c/pr61200.c: Likewise.
6969 * testsuite/libgomp.c/sort-1.c: Likewise.
6970 * testsuite/libgomp.c/target-5.c: Likewise.
6971 * testsuite/libgomp.c/target-6.c: Likewise.
6972 * testsuite/libgomp.c/teams-1.c: Likewise.
6973 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6974 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6975 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6976 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6977 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6978 * testsuite/libgomp.fortran/lib2.f: Likewise.
6979 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6980 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6981
88ce3d5f
GA
69822020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6983
6984 PR target/85486
6985 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6986 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6987 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6988
69892020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6990
6991 PR testsuite/80219
6992 PR testsuite/85303
6993 * testsuite/lib/libgomp.exp (libgomp_init): Set
6994 'gcc_warning_prefix', 'gcc_error_prefix'.
6995
69962020-10-30 Jakub Jelinek <jakub@redhat.com>
6997
6998 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6999 even in field_tgt_clear initializer.
7000
e93aae4a
GA
70012020-10-28 Jakub Jelinek <jakub@redhat.com>
7002
7003 * testsuite/libgomp.c/target-42.c: New test.
7004
70052020-10-28 Jakub Jelinek <jakub@redhat.com>
7006 Tom de Vries <tdevries@suse.de>
7007
7008 PR testsuite/81690
7009 * testsuite/libgomp.c/usleep.h: New file.
7010 * testsuite/libgomp.c/target-32.c: Include usleep.h.
7011 (main): Use tgt_usleep instead of usleep.
7012 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
7013 (main): Use tgt_usleep instead of usleep.
7014
70152020-10-28 Jakub Jelinek <jakub@redhat.com>
7016
7017 PR lto/96680
7018 * testsuite/libgomp.c/declare-variant-1.c: New test.
7019
56ddd5e2
GA
70202020-10-22 Jakub Jelinek <jakub@redhat.com>
7021
7022 * testsuite/libgomp.c/target-41.c: New test.
7023
70242020-10-22 Jakub Jelinek <jakub@redhat.com>
7025
7026 * icv.c (omp_get_initial_device): Remove including corresponding
7027 ialias.
7028 * icv-device.c (omp_get_initial_device): New function. Return
7029 gomp_get_num_devices (). Add ialias.
7030 * target.c (resolve_device): Don't fail with
7031 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
7032 gomp_get_num_devices ().
7033 (omp_target_alloc, omp_target_free, omp_target_is_present,
7034 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
7035 omp_target_disassociate_ptr, omp_pause_resource): Use
7036 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
7037 first use in the functions, in uses dominated by the
7038 gomp_get_num_devices call use num_devices_openmp instead.
7039 * libgomp.texi (omp_get_initial_device): Document.
7040 * config/gcn/icv-device.c (omp_get_initial_device): New function.
7041 Add ialias.
7042 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
7043 * testsuite/libgomp.c/target-40.c: New test.
7044
70452020-10-21 Jakub Jelinek <jakub@redhat.com>
7046
7047 * env.c (parse_target_offload): Change new_offload var type to int,
7048 preinitialize to -1, remove found var and test new_offload != -1
7049 instead of found.
7050
e2e04288
GA
70512020-10-20 Jakub Jelinek <jakub@redhat.com>
7052
7053 * target.c (gomp_target_init): Inside of the function, use automatic
7054 variables corresponding to num_devices, num_devices_openmp and devices
7055 global variables and update the globals only at the end of the
7056 function.
7057
70582020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
7059
7060 * env.c (gomp_target_offload_var): New.
7061 (parse_target_offload): New.
7062 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
7063 (initialize_env): Parse OMP_TARGET_OFFLOAD.
7064 * libgomp.h (gomp_target_offload_t): New.
7065 (gomp_target_offload_var): New.
7066 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
7067 * target.c (resolve_device): Generate error if device not found and
7068 offloading is mandatory.
7069 (gomp_target_fallback): Generate error if offloading is mandatory.
7070 (GOMP_target): Add argument in call to gomp_target_fallback.
7071 (GOMP_target_ext): Likewise.
7072 (gomp_target_data_fallback): Generate error if offloading is mandatory.
7073 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
7074 (GOMP_target_data_ext): Likewise.
7075 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
7076 (gomp_target_init): Return early if offloading is disabled.
7077
b85d5dc5
GA
70782020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
7079
7080 * libgomp.texi (omp_get_max_active_levels): Modify description.
7081 (omp_get_supported_active_levels): Make descriptions consistent.
7082
b2698c21
GA
70832020-10-14 Jakub Jelinek <jakub@redhat.com>
7084
7085 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
7086
bdd74cc2
GA
70872020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
7088
7089 * env.c (gomp_max_active_levels_var): Initialize to
7090 gomp_supported_active_levels.
7091 (initialize_env): Limit gomp_max_active_levels_var to be at most
7092 equal to gomp_supported_active_levels.
7093 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
7094 (omp_get_supported_active_levels_): New.
7095 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
7096 to at most equal to gomp_supported_active_levels.
7097 (omp_get_supported_active_levels): New.
7098 * libgomp.h (gomp_supported_active_levels): New.
7099 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
7100 omp_get_supported_active_levels_.
7101 * libgomp.texi (omp_get_supported_active_levels): New.
7102 (omp_set_max_active_levels): Update. Add reference to
7103 omp_get_supported_active_levels.
7104 * omp.h.in (omp_get_supported_active_levels): New.
7105 * omp_lib.f90.in (omp_get_supported_active_levels): New.
7106 * omp_lib.h.in (omp_get_supported_active_levels): New.
7107 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
7108 against omp_get_supported_active_levels.
7109 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
7110
2baa36d4
GA
71112020-10-11 Clement Chigot <clement.chigot@atos.net>
7112
7113 * config/t-aix: Delete and recreate libgomp before creating
7114 FAT library.
7115
da9df699
GA
71162020-10-08 Tom de Vries <tdevries@suse.de>
7117
7118 PR libgomp/81802
7119 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
7120 dimensions.
7121
8e97b905
GA
71222020-10-06 Tom de Vries <tdevries@suse.de>
7123
7124 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
7125
71262020-10-06 Tom de Vries <tdevries@suse.de>
7127
7128 PR middle-end/90861
7129 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
7130
7e9282ae
GA
71312020-10-05 Tom de Vries <tdevries@suse.de>
7132
7133 PR fortran/95654
7134 * testsuite/libgomp.fortran/pr95654.f90: New test.
7135
b0b9b8f0
GA
71362020-10-02 Tobias Burnus <tobias@codesourcery.com>
7137
7138 * Makefile.in: Regenerate with automake 1.15.1.
7139 * aclocal.m4: Likewise.
7140 * configure: Likewise.
7141 * testsuite/Makefile.in: Likewise.
7142
660bfe61
GA
71432020-09-30 Andrew Stubbs <ams@codesourcery.com>
7144
7145 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
7146 and amdgcn targets.
7147
71482020-09-30 Tobias Burnus <tobias@codesourcery.com>
7149
7150 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
7151
93bca37c
GA
71522020-09-29 Andrew Stubbs <ams@codesourcery.com>
7153
7154 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
7155 total number of threads is one.
7156 (gomp_team_barrier_wake): Likewise.
7157 (gomp_team_barrier_wait_end): Likewise.
7158 (gomp_team_barrier_wait_cancel_end): Likewise.
7159 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
7160 (gomp_team_barrier_wake): Likewise.
7161 (gomp_team_barrier_wait_end): Likewise.
7162 (gomp_team_barrier_wait_cancel_end): Likewise.
7163 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
7164
e84761c6
GA
71652020-09-28 Tobias Burnus <tobias@codesourcery.com>
7166
7167 PR middle-end/96390
7168 * testsuite/libgomp.c++/pr96390.C: New test.
7169 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
7170
4383c595
GA
71712020-09-27 Clement Chigot <clement.chigot@atos.net>
7172
7173 * config/t-aix: Use $(AR) without -X32_64.
7174
cdd8f031
GA
71752020-09-25 Jakub Jelinek <jakub@redhat.com>
7176
7177 * testsuite/libgomp.c/loop-25.c: New test.
7178
521d2711
GA
71792020-09-22 Tobias Burnus <tobias@codesourcery.com>
7180
7181 PR fortran/95654
7182 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
7183
71842020-09-22 Tom de Vries <tdevries@suse.de>
7185
7186 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
7187 fails.
7188
ecde1b0a
GA
71892020-09-16 Nathan Sidwell <nathan@acm.org>
7190
7191 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
7192
9f7ab8c5
GA
71932020-09-15 Tobias Burnus <tobias@codesourcery.com>
7194
7195 PR fortran/96668
7196 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
7197
71982020-09-15 Tobias Burnus <tobias@codesourcery.com>
7199
7200 PR fortran/96668
7201 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
7202 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
7203 (gomp_map_vars_existing): Update call to it.
7204 (gomp_map_fields_existing): Likewise
7205 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
7206 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
7207 remapped.
7208 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
7209 GOMP_MAP_POINTER.
7210 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
7211 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
7212
50a71cd0
GA
72132020-09-14 Tom de Vries <tdevries@suse.de>
7214
7215 * config/nvptx/atomic.c: New file. Add
7216 __sync_val_compare_and_swap_16.
7217 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
7218 target offload_target_nvptx.
7219
31a05046
GA
72202020-09-08 Julian Brown <julian@codesourcery.com>
7221
7222 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
7223 iteration-ordering assumptions.
7224
72252020-09-08 Julian Brown <julian@codesourcery.com>
7226
7227 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
7228 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7229
5b9a3d2a
GA
72302020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
7231
7232 * plugin/plugin-nvptx.c (nvptx_free):
7233 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
7234 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
7235 comments.
7236
72372020-08-20 Tobias Burnus <tobias@codesourcery.com>
7238
7239 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
7240
b3cb5606
GA
72412020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
7242
7243 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
7244
72452020-08-13 Jakub Jelinek <jakub@redhat.com>
7246
7247 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
7248 * testsuite/libgomp.c/loop-23.c (main): Likewise.
7249 * testsuite/libgomp.c/loop-24.c: New test.
7250
bc0ca715
GA
72512020-08-08 Jakub Jelinek <jakub@redhat.com>
7252 Tobias Burnus <tobias@codesourcery.com>
7253
7254 PR fortran/93553
7255 * testsuite/libgomp.fortran/pr93553.f90: New test.
7256
aa5ea20c
GA
72572020-08-05 Jakub Jelinek <jakub@redhat.com>
7258
7259 * testsuite/libgomp.c/loop-22.c: New test.
7260 * testsuite/libgomp.c/loop-23.c: New test.
7261
72622020-08-05 Jakub Jelinek <jakub@redhat.com>
7263
7264 PR middle-end/96459
7265 * testsuite/libgomp.c/teams-3.c: New test.
7266 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7267 if not defined yet.
7268 (N(test)): Use it before all N(f*) calls.
7269 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7270 (main): Don't call all test_* functions from within
7271 #pragma omp teams reduction(|:err), call them directly.
7272
abba2591
GA
72732020-08-04 Tom de Vries <tdevries@suse.de>
7274
7275 PR target/96428
7276 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7277 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7278
6a1ad710
GA
72792020-08-03 Julian Brown <julian@codesourcery.com>
7280 Thomas Schwinge <thomas@codesourcery.com>
7281
7282 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7283 shared-memory devices. Extend with further checking.
7284
72852020-08-03 Martin Jambor <mjambor@suse.cz>
7286
7287 * plugin/Makefrag.am: Remove configuration of HSA plugin.
7288 * aclocal.m4: Regenerated.
7289 * Makefile.in: Regenerated.
7290 * config.h.in: Regenerated.
7291 * configure: Regenerated.
7292 * plugin/configfrag.ac: Likewise.
7293 * plugin/hsa_ext_finalize.h: Removed.
7294 * plugin/plugin-hsa.c: Likewise.
7295 * testsuite/Makefile.in: Regenerated.
7296 * testsuite/lib/libgomp.exp
7297 (offload_target_to_openacc_device_type): Remove hsa case.
7298 (check_effective_target_hsa_offloading_selected_nocache): Removed
7299 (check_effective_target_hsa_offloading_selected): Likewise.
7300 (libgomp_init): Do not add -Wno-hsa to additional_flags.
7301 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7302 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7303 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7304 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7305 * testsuite/libgomp.hsa.c/c.exp: Likewise.
7306 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7307 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7308 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7309 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7310 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7311 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7312 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7313 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7314 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7315 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7316 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7317 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7318 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7319 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7320 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7321 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7322 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7323 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7324 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7325
e71dab87
GA
73262020-07-27 Julian Brown <julian@codesourcery.com>
7327 Thomas Schwinge <thomas@codesourcery.com>
7328
7329 * libgomp.h (struct target_var_desc): Rename do_detach field to
7330 is_attach.
7331 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
7332 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7333 (goacc_enter_data_internal): Don't affect reference counts
7334 for attach mappings.
7335 (goacc_exit_data_internal): Don't affect reference counts for detach
7336 mappings.
7337 * target.c (gomp_map_vars_existing): Don't affect reference counts for
7338 attach mappings.
7339 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7340 mark attach mappings.
7341 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7342 reference count for attach mappings.
7343 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7344 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7345 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7346 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7347 test as shouldfail.
7348 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7349 gracefully in no-finalize mode.
7350 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7351
53256ee3
GA
73522020-07-24 Thomas Schwinge <thomas@codesourcery.com>
7353
7354 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7355 use.
7356 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7357 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7358
9bb403dc
GA
73592020-07-23 Julian Brown <julian@codesourcery.com>
7360 Thomas Schwinge <thomas@codesourcery.com>
7361
7362 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7363 finalization for detach operation.
7364 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7365 New test.
7366
73672020-07-23 Tobias Burnus <tobias@codesourcery.com>
7368
7369 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7370 * libgomp_f.h.in (omp_check_defines): Check whether
7371 sizeof of determined Fortran kind and C typedef match.
7372 * omp_lib.f90.in: Add omp_depened_kind.
7373 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7374 * configure: Regenerate.
7375 * Makefile.in: Regenerate.
7376 * testsuite/Makefile.in: Regenerate.
7377
3ea9abca
GA
73782020-07-22 Tobias Burnus <tobias@codesourcery.com>
7379
7380 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7381 gcc/testsuite/c-c++-common/gomp/.
7382 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7383 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7384 from gcc/testsuite/gfortran.dg/gomp/.
7385 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7386
73872020-07-22 Tobias Burnus <tobias@codesourcery.com>
7388
7389 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7390 * omp_lib.h.in: Likewise.
7391
aeb34e15
GA
73922020-07-18 H.J. Lu <hjl.tools@gmail.com>
7393
7394 PR target/95620
7395 * testsuite/libgomp.c/pr95620.c: New test.
7396
96686b3f
GA
73972020-07-16 Julian Brown <julian@codesourcery.com>
7398 Thomas Schwinge <thomas@codesourcery.com>
7399
7400 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7401 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7402
fe8185b5
GA
74032020-07-15 Tobias Burnus <tobias@codesourcery.com>
7404
7405 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7406 avoid conversion on 32bit systems from 32bit to 64bit due
7407 to -fdefault-integer-8.
7408
74092020-07-15 Tobias Burnus <tobias@codesourcery.com>
7410
7411 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7412 variables; add character(kind=4) tests; update TODO comment.
7413
74142020-07-15 Tobias Burnus <tobias@codesourcery.com>
7415
7416 * allocator.c: Add ialias for omp_init_allocator and
7417 omp_destroy_allocator.
7418 * configure.ac: Set INTPTR_T_KIND.
7419 * configure: Regenerate.
7420 * Makefile.in: Regenerate.
7421 * testsuite/Makefile.in: Regenerate.
7422 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7423 omp_set_default_allocator_, omp_get_default_allocator_): New
7424 functions and ialias_redirect.
7425 * icv.c: Add ialias for omp_set_default_allocator and
7426 omp_get_default_allocator.
7427 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7428 omp_destroy_allocator_, omp_set_default_allocator_ and
7429 omp_get_default_allocator_.
7430 * omp_lib.f90.in: Add allocator traits parameters, declare
7431 allocator routines and add related kind parameters.
7432 * omp_lib.h.in: Likewise.
7433 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7434 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7435 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7436 * testsuite/libgomp.fortran/alloc-3.F: New test.
7437 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7438 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7439
8ca07a30
GA
74402020-07-14 Tom de Vries <tom@codesourcery.com>
7441 Cesar Philippidis <cesar@codesourcery.com>
7442 Thomas Schwinge <thomas@codesourcery.com>
7443 Kwok Cheung Yeung <kcy@codesourcery.com>
7444
7445 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7446 New variable.
7447 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7448 acc_init_state to initializing at the start, and to initialized at the
7449 end.
7450 (self_initializing_p): New function.
7451 (acc_get_device_type): Return acc_device_none if called by thread that
7452 is currently executing acc_init_1.
7453 * libgomp.texi (acc_get_device_type): Update documentation.
7454 (Implementation Status and Implementation-Defined Behavior): Likewise.
7455 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7456
74572020-07-14 David Edelsohn <dje.gcc@gmail.com>
7458
7459 * config/t-aix: Set BITS from compiler cpp macro.
7460
74612020-07-14 Tobias Burnus <tobias@codesourcery.com>
7462
7463 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7464
74652020-07-14 Tobias Burnus <tobias@codesourcery.com>
7466
7467 PR fortran/67311
7468 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7469
74702020-07-14 Jakub Jelinek <jakub@redhat.com>
7471
7472 * testsuite/libgomp.c/loop-21.c: New test.
7473
ea69fcf9
GA
74742020-07-13 Julian Brown <julian@codesourcery.com>
7475 Thomas Schwinge <thomas@codesourcery.com>
7476
7477 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7478
86536295
GA
74792020-07-10 Julian Brown <julian@codesourcery.com>
7480 Thomas Schwinge <thomas@codesourcery.com>
7481
7482 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7483 dynamic_refcount.
7484 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7485 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7486 dynamic_refcount.
7487 (acc_unmap_data): Update comment.
7488 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7489 dynamic_refcount semantics.
7490 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7491 Adjust for dynamic_refcount semantics.
7492 (goacc_enter_data_internal): Implement "present" case of dynamic
7493 memory-map handling here. Update "non-present" case for
7494 dynamic_refcount semantics.
7495 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7496 * target.c (gomp_map_vars_internal): Remove
7497 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7498 handling.
7499 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7500 (gomp_load_image_to_device): Substitute dynamic_refcount for
7501 virtual_refcount.
7502 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7503 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7504 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7505 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7506 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7507 trace output.
7508 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7509 trace output.
7510 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7511 test.
7512 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7513 Remove stale comment.
7514 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7515 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7516 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7517 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7518 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7519 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7520
75212020-07-10 Julian Brown <julian@codesourcery.com>
7522 Thomas Schwinge <thomas@codesourcery.com>
7523
7524 * oacc-mem.c (goacc_map_var_existing): New function.
7525 (goacc_enter_datum): Use above function.
7526 (goacc_exit_datum_1): New function.
7527 (goacc_exit_datum): Use above function.
7528
3f8ca9cb
GA
75292020-07-09 Julian Brown <julian@codesourcery.com>
7530 Thomas Schwinge <thomas@codesourcery.com>
7531
7532 PR middle-end/95270
7533 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7534 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7535
75362020-07-09 Julian Brown <julian@codesourcery.com>
7537
7538 * oacc-mem.c (find_group_last): Group data-movement clauses
7539 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7540 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7541
75422020-07-09 Jakub Jelinek <jakub@redhat.com>
7543
7544 * testsuite/libgomp.c/loop-19.c: New test.
7545 * testsuite/libgomp.c/loop-20.c: New test.
7546
75472020-07-09 Jakub Jelinek <jakub@redhat.com>
7548
7549 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7550 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7551 it. Remove __omp_alloctrait_value_max__.
7552 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7553 omp_atk_alignment and omp_atk_pool_size.
7554
b991c834
GA
75552020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7556
7557 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7558 behavior for 'GOMP_MAP_FORCE_FROM'.
7559 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7560
75612020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7562
7563 * oacc-mem.c (goacc_exit_data_internal): Remove
7564 'GOMP_MAP_ALWAYS_FROM' handling.
7565
46fbb6c6
GA
75662020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7567
7568 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7569 'scan-assembler' with 'scan-offload-rtl'.
7570 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7571 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7572 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7573 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7574
75752020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7576
7577 * target.c (gomp_map_vars_existing): Assert 'kind !=
7578 GOMP_MAP_ATTACH'.
7579 (gomp_map_vars_internal): Clean up.
7580
9a33c41f
GA
75812020-06-27 Jakub Jelinek <jakub@redhat.com>
7582
7583 * testsuite/libgomp.c/loop-17.c: New test.
7584 * testsuite/libgomp.c/loop-18.c: New test.
7585
c9c05f73
GA
75862020-06-26 Marek Polacek <polacek@redhat.com>
7587
7588 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7589
4543acc8
GA
75902020-06-23 Alexandre Oliva <oliva@adacore.com>
7591
7592 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7593 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7594
605a8f3b
GA
75952020-06-22 David Edelsohn <dje.gcc@gmail.com>
7596
7597 * Makefile.am: Use -include.
7598 * Makefile.in: Regenerate.
7599
f86e11a2
GA
76002020-06-21 David Edelsohn <dje.gcc@gmail.com>
7601
7602 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7603 * Makefile.in: Regenerate
7604 * configure.ac (tmake_file): Substitute.
7605 * configure: Regenerate.
7606 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7607 * config/t-aix: New file.
7608
aff95ee7
GA
76092020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7610
7611 PR lto/94848
7612 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7613 'dg-do run'.
7614
76152020-06-17 Andrew Stubbs <ams@codesourcery.com>
7616
7617 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7618 variant for HSA_RUNTIME_LIB name.
7619 (find_executable_symbol_1): Delete.
7620 (find_executable_symbol): Delete.
7621 (init_kernel_properties): Add ".kd" suffix to symbol names.
7622 (find_load_offset): Delete.
7623 (create_and_finalize_hsa_program): Remove relocation handling.
7624
56638b9b
GA
76252020-06-16 Tobias Burnus <tobias@codesourcery.com>
7626
7627 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7628
2c455ae0
GA
76292020-06-08 Tobias Burnus <tobias@codesourcery.com>
7630
7631 PR lto/94848
7632 PR middle-end/95551
7633 * testsuite/libgomp.fortran/target-var.f90: New test.
7634
1a59f3db
GA
76352020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7636 Julian Brown <julian@codesourcery.com>
7637
7638 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7639 special handling.
7640
76412020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7642 Julian Brown <julian@codesourcery.com>
7643
7644 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7645 Simplify.
7646
76472020-06-05 Julian Brown <julian@codesourcery.com>
7648
7649 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7650 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7651
3add3425
GA
76522020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7653
7654 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7655 Evaluate 'copyfrom' individually for each entry.
7656 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7657
76582020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7659
7660 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7661 Evaluate 'finalize' individually for each entry.
7662 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7663 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7664 file.
7665
76662020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7667
7668 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7669 usage.
7670 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7671
76722020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7673 Julian Brown <julian@codesourcery.com>
7674
7675 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7676 checking.
7677 (acc_unmap_data, goacc_exit_data_internal): Restore
7678 'is_tgt_unmapped' checking.
7679 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7680 file.
7681 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7682 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7683 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7684 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7685 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7686 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7687
76882020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7689 Julian Brown <julian@codesourcery.com>
7690
7691 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7692
76932020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7694
7695 PR libgomp/92854
7696 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7697
76982020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7699
7700 PR libgomp/92854
7701 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7702 more.
7703
77042020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7705 Julian Brown <julian@codesourcery.com>
7706
7707 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7708 'gomp_map_vars'.
3d3b561f 7709 (acc_map_data): Clean up accordingly.
3add3425
GA
7710
77112020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7712
7713 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7714 of over-eager 'finalize' clause.
7715 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7716 file.
7717 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7718 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7719 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7720 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7721 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7722 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7723 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7724 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7725
77262020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7727
7728 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7729
77302020-06-04 Julian Brown <julian@codesourcery.com>
7731
7732 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7733 error path.
7734 (goacc_detach_internal): Likewise.
7735
77362020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7737
7738 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7739 the checkpoint.
7740 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7741 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7742 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7743 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7744 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7745
a9312a79
GA
77462020-06-02 Jakub Jelinek <jakub@redhat.com>
7747
7748 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7749 defined.
7750
945b53cc
GA
77512020-05-30 Jakub Jelinek <jakub@redhat.com>
7752
7753 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7754
77552020-05-30 Jakub Jelinek <jakub@redhat.com>
7756
7757 * allocator.c (omp_alloc): For size == 0, return NULL early.
7758
885ef72f
GA
77592020-05-29 H.J. Lu <hjl.tools@gmail.com>
7760
7761 PR bootstrap/95413
7762 * configure: Regenerated.
7763
8df7ee67
TK
77642020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7765
7766 PR libfortran/95191
7767 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7768
800bcc8c
JJ
77692020-05-19 Jakub Jelinek <jakub@redhat.com>
7770
7771 * omp.h.in (omp_uintptr_t): New typedef.
7772 (__GOMP_UINTPTR_T_ENUM): Define.
7773 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7774 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7775 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7776 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7777 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7778 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7779 (gomp_def_allocator): Declare.
7780 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7781 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7782 omp_alloc and omp_free.
7783 * team.c (gomp_team_start): Copy over ts.def_allocator.
7784 * env.c (gomp_def_allocator): New variable.
7785 (parse_wait_policy): Adjust function comment.
7786 (parse_allocator): New function.
7787 (handle_omp_display_env): Print OMP_ALLOCATOR.
7788 (initialize_env): Call parse_allocator.
7789 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7790 * allocator.c: New file.
7791 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7792 functions.
7793 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7794 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7795 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7796 * Makefile.in: Regenerated.
7797
4c1a5d8b
L
77982020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7799
7800 PR bootstrap/95147
7801 * configure: Regenerated.
7802
cdc34b50
TK
78032020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7804
7805 PR libfortran/95119
7806 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7807
78082020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7809
7810 * configure: Regenerated.
7811
78122020-05-14 Jakub Jelinek <jakub@redhat.com>
7813
7814 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7815
f884bef2
TB
78162020-05-13 Tobias Burnus <tobias@codesourcery.com>
7817
7818 PR fortran/94690
7819 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7820 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7821 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7822 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7823 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7824 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7825 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7826
dc703151
JJ
78272020-05-12 Jakub Jelinek <jakub@redhat.com>
7828
7829 * testsuite/libgomp.c/target-39.c: New test.
7830
b9dc11b6
TS
78312020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7832
a5d0bc12
TS
7833 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7834 * openacc.f90 (acc_device_current): Likewise.
7835 * openacc.h (acc_device_current): Likewise.
7836 * openacc_lib.h (acc_device_current): Likewise.
7837
7f198924
TS
7838 PR target/94282
7839 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7840 'dg-allow-blank-lines-in-output'.
7841
4912a04f
TS
7842 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7843 * testsuite/lib/libgomp.exp
7844 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7845 'radeon'. Adjust all users.
7846 (check_effective_target_openacc_amdgcn_accel_present): Rename
7847 to...
7848 (check_effective_target_openacc_radeon_accel_present): ... this.
7849 Adjust all users.
7850 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7851 (check_effective_target_openacc_radeon_accel_selected): ... this.
7852 Adjust all users.
7853
b9dc11b6
TS
7854 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7855 'dg-do run'.
7856
966de09b
AS
78572020-04-23 Andrew Stubbs <ams@codesourcery.com>
7858
7859 PR other/94629
7860
7861 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7862 hsa_iterate_agents.
7863 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7864 hsa_agent_iterate_regions.
7865
3f5d94c1
TS
78662020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7867
7868 PR middle-end/94635
7869 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7870 run'.
7871
85d8c05a
TB
78722020-04-20 Tobias Burnus <tobias@codesourcery.com>
7873
7874 PR middle-end/94120
7875 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7876 test case.
7877
af557050
TB
78782020-04-17 Tobias Burnus <tobias@codesourcery.com>
7879
7880 PR middle-end/94635
7881 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7882
af4c9257
TS
78832020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7884
7885 PR libgomp/92843
7886 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7887 Rename to...
7888 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7889 ... this.
7890 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7891 Rename to...
7892 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7893 ... this.
7894 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7895 Rename to...
7896 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7897 ... this.
7898 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7899 Rename to...
7900 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7901 ... this.
7902 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7903 Rename to...
7904 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7905 ... this.
7906 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7907 Rename to...
7908 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7909 ... this.
7910 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7911 Rename to...
7912 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7913 ... this.
7914 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7915 Rename to...
7916 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7917 ... this.
7918 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7919 Rename to...
7920 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7921 ... this.
7922 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7923 Rename to...
7924 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7925 ... this.
7926 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7927 Rename to...
7928 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7929 ... this.
7930 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7931 Rename to...
7932 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7933 ... this.
7934 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7935 Rename to...
7936 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7937 ... this.
7938 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7939 Rename to...
7940 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7941 ... this.
7942 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7943 Rename to...
7944 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7945 ... this.
7946 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7947 Rename to...
7948 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7949 ... this.
7950
be9862dd
JB
79512020-04-10 Julian Brown <julian@codesourcery.com>
7952 Thomas Schwinge <thomas@codesourcery.com>
7953
7954 PR libgomp/92843
7955 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7956 New file.
7957 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7958 Likewise.
7959 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7960 Likewise.
7961 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7962 Likewise.
7963 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7964 Likewise.
7965 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7966 Likewise.
7967 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7968 Likewise.
7969 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7970 Likewise.
7971 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7972 Likewise.
7973 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7974 Likewise.
7975 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7976 Likewise.
7977 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7978 Likewise.
7979 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7980 Likewise.
7981 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7982 Likewise.
7983 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7984 Likewise.
7985 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7986 Likewise.
7987
6b816a5f
TS
79882020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7989
7990 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7991 run'.
7992
13e41d8b
TB
79932020-04-08 Tobias Burnus <tobias@codesourcery.com>
7994
7995 PR middle-end/94120
7996 * libgomp.oacc-c++/declare-pr94120.C: New.
7997
749bd22d
MR
79982020-04-06 Maciej W. Rozycki <macro@wdc.com>
7999
8000 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
8001 files.
8002 * configure: Regenerate.
8003 * testsuite/libgomp-site-extra.exp.in: New file.
8004 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
8005 variable.
8006 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
8007 variable.
8008 * testsuite/Makefile.in: Regenerate.
8009
2b1e849b
TS
80102020-04-03 Thomas Schwinge <thomas@codesourcery.com>
8011
8012 PR tree-optimization/89713
8013 PR c/94392
8014 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
8015 'bar.sync'.
8016 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
8017
689418b9
TB
80182020-03-31 Tobias Burnus <tobias@codesourcery.com>
8019
8020 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
8021 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
8022
c2211a60
TB
80232020-03-24 Tobias Burnus <tobias@codesourcery.com>
8024
8025 PR libgomp/81689
8026 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
8027
4897bb00
TB
80282020-03-20 Tobias Burnus <tobias@codesourcery.com>
8029
8030 PR libgomp/94251
8031 * target.c (gomp_load_image_to_device): Fix link
8032 variable handling.
8033
02f7334a
JJ
80342020-03-19 Jakub Jelinek <jakub@redhat.com>
8035
8036 PR c++/93931
8037 * testsuite/libgomp.c++/pr93931.C: New test.
8038
bb83e069
TB
80392020-03-19 Tobias Burnus <tobias@codesourcery.com>
8040
8041 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
8042 dg-allow-blank-lines-in-output.
8043
26cbcfe5
TB
80442020-03-18 Julian Brown <julian@codesourcery.com>
8045 Tobias Burnus <tobias@codesourcery.com>
8046
8047 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
8048 it work concurrently.
8049
4da92887
TB
80502020-03-18 Tobias Burnus <tobias@codesourcery.com>
8051
8052 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
8053 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
8054 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
8055
9c3cdb43
JJ
80562020-03-14 Jakub Jelinek <jakub@redhat.com>
8057
8058 PR middle-end/93566
8059 * testsuite/libgomp.c/pr93566.c: New test.
8060
83d45e1d
FH
80612020-02-21 Frederik Harwath <frederik@codesourcery.com>
8062
8063 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
8064 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
8065 integer(acc_device_property) for the type of the return value of
8066 acc_get_property.
8067
8d1a1cb1
TB
80682020-02-19 Tobias Burnus <tobias@codesourcery.com>
8069
8070 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
8071 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
8072 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
8073 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
8074 (acc_set_device_num): Fix Fortran argument name, use same name for C.
8075 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
8076 corrections; add note about the previous interface and named constant.
8077 (OpenACC library and environment variables): Fix two typos.
8078 * openacc.f90: Use for all procedures the argument names from the spec
8079 as for …_h they are user visible.
8080 (openacc_kinds): Rename acc_device_property to
8081 acc_device_property_kinds and change value to int32 ; and update users.
8082 Re-add acc_device_property for for backward compatibility.
8083 (acc_get_property_string_h): Clean up as acc_device_property_kind
8084 changed.
8085 (acc_get_property_h): Likewise and return c_size_t instead of
8086 acc_device_property.
8087 (openacc): Also export acc_device_property_kinds.
8088 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
8089 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
8090 handling; check against /= 0 instead of == 1 to match C.
8091 * openacc_lib.h: Use for all procedures the argument names from the spec
8092 as for …_h they are user visible. Place !GCC$ into the first column to
8093 be active also for fixed-form souce form.
8094 (acc_device_current, acc_device_property_kind, acc_device_property,
8095 acc_property_memory, acc_property_free_memory, acc_property_name,
8096 acc_property_vendor, acc_property_driver): New named constants.
8097 (acc_get_property, acc_get_property_string): New generic interface.
8098
2d9eb4e4
FH
80992020-02-13 Frederik Harwath <frederik@codesourcery.com>
8100
8101 PR libgomp/93481
8102 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
8103 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
8104 optional.
8105 (gomp_target_task_fn): Assert "devicep->async_run_func".
8106 (clear_unsupported_flags): New function to remove unsupported flags
8107 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
8108 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
8109 * testsuite/libgomp.c/target-33.c:
8110 Remove xfail for offload_target_nvptx.
8111 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
8112
81132020-02-10 Frederik Harwath <frederik@codesourcery.com>
8114
8115 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
8116 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
8117 * testsuite/libgomp.c/target-34.c: Likewise.
8118 * testsuite/libgomp.c/target-link-1.c: Add xfail for
8119 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
8120
9bc3b95d
JJ
81212020-02-09 Jakub Jelinek <jakub@redhat.com>
8122
8123 * testsuite/libgomp.c/target-38.c: New test.
8124
cb3f0648
JJ
81252020-02-06 Jakub Jelinek <jakub@redhat.com>
8126
8127 PR libgomp/93515
8128 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
8129
91bc3c98
TB
81302020-02-05 Tobias Burnus <tobias@codesourcery.com>
8131
8132 * testsuite/lib/libgomp.exp
8133 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
8134 and not as 'source' argument to libgomp_target_compile.
8135
591f869a
AS
81362020-02-03 Andrew Stubbs <ams@codesourcery.com>
8137
8138 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
8139 (gcn_gfx801_s): Remove.
8140 (isa_hsa_name): Remove gfx801.
8141 (isa_gcc_name): Remove gfx801/carizzo.
8142 (isa_code): Remove gfx801.
8143
e464fc90
TB
81442020-02-03 Julian Brown <julian@codesourcery.com>
8145 Tobias Burnus <tobias@codesourcery.com>
8146
8147 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
8148 and *_finalize variants; document acc_attach and acc_detach; update
8149 references from OpenACC 2.0 to 2.6.
8150 * openacc.f90 (openacc_version): Update to 201711.
8151 * openacc_lib.h (openacc_version): Update to 201711.
8152 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
8153 openacc_version to 201711.
8154 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8155
5a28e272
KCY
81562020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
8157
8158 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
8159 and vgpr_count fields.
8160 (struct kernel_info): Add a field for a hsa_kernel_description.
8161 (run_kernel): Reduce the number of threads/workers if the requested
8162 number would require too many VGPRs.
8163 (init_basic_kernel_info): Initialize description field with
8164 the hsa_kernel_description entry for the kernel.
8165
5ab5d81b
TB
81662020-01-29 Tobias Burnus <tobias@codesourcery.com>
8167
8168 PR bootstrap/93409
8169 * plugin/configfrag.ac (enable_offload_targets): Skip
8170 HSA and GCN plugin besides -m32 also for -mx32.
8171 * configure: Regenerate.
8172
989a5fb3
FH
81732020-01-29 Frederik Harwath <frederik@codesourcery.com>
8174
8175 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
8176
81772020-01-29 Frederik Harwath <frederik@codesourcery.com>
8178
8179 * plugin-gcn.c (struct agent_info): Add fields "name" and
8180 "vendor_name" ...
8181 (GOMP_OFFLOAD_init_device): ... and init from here.
8182 (struct hsa_context_info): Add field "driver_version_s" ...
8183 (init_hsa_contest): ... and init from here.
8184 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
8185 implementation.
8186 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8187 Enable test execution for amdgcn and host offloading targets.
8188 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
8189 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8190 (expect_device_properties): Split function into ...
8191 (expect_device_string_properties): ... this new function ...
8192 (expect_device_memory): ... and this new function.
8193 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
8194 Add test.
8195
278c3214
JB
81962020-01-28 Julian Brown <julian@codesourcery.com>
8197
8198 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
8199 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
8200 component/non-component variable refs in a single directive.
8201 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
8202
e8e66971
MR
82032020-01-24 Maciej W. Rozycki <macro@wdc.com>
8204
8205 * configure.ac: Handle `--with-toolexeclibdir='.
8206 * Makefile.in: Regenerate.
8207 * aclocal.m4: Regenerate.
8208 * configure: Regenerate.
8209 * testsuite/Makefile.in: Regenerate.
8210
9e424d97
FH
82112020-01-24 Frederik Harwath <frederik@codesourcery.com>
8212
8213 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8214 (expect_device_properties): Remove "expected_free_mem" argument,
8215 change "expected_total_mem" argument type to size_t;
8216 change types of acc_get_property results to size_t,
8217 adapt format strings.
8218 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8219 Use %zu instead of %zd to print size_t values.
8220 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
8221 rename to ...
8222 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
8223 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
8224 rename to ...
8225 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
8226
14e5e746
AS
82272020-01-23 Andrew Stubbs <ams@codesourcery.com>
8228
8229 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
8230 the device id.
8231
09e0ad62
AS
82322020-01-20 Andrew Stubbs <ams@codesourcery.com>
8233
8234 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
8235 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
8236 Adjust test dimensions for amdgcn.
8237 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
8238 gang/worker/vector expectations dynamically.
8239 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
8240 (main): Likewise.
8241 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
8242 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
8243 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
8244 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
8245 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
8246 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
8247 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
8248 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
8249 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
8250 (acc_gang): Recognise acc_device_radeon.
8251 (acc_worker): Likewise.
8252 (acc_vector): Likewise.
8253 (main): Set expectations for amdgcn.
8254 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
8255 (main): Adjust gang/worker/vector expectations dynamically.
8256 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8257 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8258 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8259 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8260 for amdgcn.
8261
6687d13a
AS
82622020-01-17 Andrew Stubbs <ams@codesourcery.com>
8263
8264 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8265 acc_device_radeon.
8266 (openacc): Likewise.
8267 * openacc.f90 (openacc_kinds): Likewise.
8268 (openacc): Likewise.
8269 * openacc.h (acc_device_t): Likewise.
8270 * openacc_lib.h: Likewise.
8271 * testsuite/lib/libgomp.exp
8272 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8273 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8274 (cb_compute_construct_end): Likewise.
8275 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8276 (cb_enqueue_launch_start): Likewise.
8277 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8278 (cb_enter_data_end): Likewise.
8279 (cb_exit_data_start): Likewise.
8280 (cb_exit_data_end): Likewise.
8281 (cb_compute_construct_end): Likewise.
8282 (cb_enqueue_launch_start): Likewise.
8283 (cb_enqueue_launch_end): Likewise.
8284 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8285 (main): Likewise.
8286
b3b75e66
TS
82872020-01-10 Thomas Schwinge <thomas@codesourcery.com>
8288
6fc0385c
TS
8289 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
8290 to use this instead of 'enum gomp_device_property'.
8291 (GOMP_OFFLOAD_get_property): Rename to...
8292 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
8293 * libgomp.h (struct gomp_device_descr): Move
8294 'GOMP_OFFLOAD_openacc_get_property'...
8295 (struct acc_dispatch_t): ... here. Adjust all users.
8296 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8297
b3b75e66
TS
8298 * target.c (gomp_map_vars_internal)
8299 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8300 paths.
8301
91df4397
JJ
83022020-01-10 Jakub Jelinek <jakub@redhat.com>
8303
8304 PR libgomp/93219
8305 * libgomp.h (gomp_print_string): Change return type from void to int.
8306 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
8307 not all characters have been written.
8308
df2c0d36
TB
83092020-01-08 Tobias Burnus <tobias@codesourcery.com>
8310
8311 * libgomp.texi: Fix typos, use https.
8312
f760c0c7
TB
83132020-01-03 Tobias Burnus <tobias@codesourcery.com>
8314
8315 * testsuite/libgomp.fortran/optional-map.f90: Add test for
8316 unallocated/disassociated actual arguments to nonallocatable/nonpointer
8317 dummy arguments; those are/shall be regarded as absent arguments.
8318 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8319 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8320
7e7065b9
JJ
83212020-01-01 Jakub Jelinek <jakub@redhat.com>
8322
8d9254fc
JJ
8323 Update copyright years.
8324
7e7065b9
JJ
8325 * libgomp.texi: Bump @copying's copyright year.
8326
2c829799
AM
83272019-12-31 Ayush Mittal <ayush.m@samsung.com>
8328
8329 PR libgomp/93065
8330 * oacc-init.c (goacc_runtime_deinitialize): New function.
8331
e9dcb75e
JJ
83322019-12-28 Jakub Jelinek <jakub@redhat.com>
8333
8334 PR bootstrap/93074
8335 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8336 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
8337
6c84c8bf
MR
83382019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
8339 Frederik Harwath <frederik@codesourcery.com>
8340 Thomas Schwinge <tschwinge@codesourcery.com>
8341
8342 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8343 * libgomp-plugin.h (gomp_device_property_value): New union.
8344 (gomp_device_property_value): New prototype.
8345 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8346 constant.
8347 (acc_device_property_t): New enum.
8348 (acc_get_property, acc_get_property_string): New prototypes.
8349 * oacc-init.c (acc_get_device_type): Also assert that result
8350 is not `acc_device_current'.
8351 (get_property_any, acc_get_property, acc_get_property_string):
8352 New functions.
8353 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8354 `acc_property_memory', `acc_property_free_memory',
8355 `acc_property_name', `acc_property_vendor' and
8356 `acc_property_driver' constants. Add `acc_device_property' data
8357 type.
8358 (openacc_internal): Add `acc_get_property' and
8359 `acc_get_property_string' interfaces. Add `acc_get_property_h',
8360 `acc_get_property_string_h', `acc_get_property_l' and
8361 `acc_get_property_string_l'.
8362 * oacc-host.c (host_get_property): New function.
8363 (host_dispatch): Wire it.
8364 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8365 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8366 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8367 * libgomp.texi (OpenACC Runtime Library Routines): Add
8368 `acc_get_property'.
8369 (acc_get_property): New node.
8370 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8371 function (stub).
8372 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8373 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8374 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8375 calls.
8376 (GOMP_OFFLOAD_get_property): New function.
8377 (struct ptx_device): Add new field "name".
8378 (cuda_driver_version_s): Add new static variable ...
8379 (nvptx_init): ... and init from here.
8380
8381 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8382 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8383 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8384 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8385 with test helper functions.
8386
8387 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8388
c8e759b4
MR
83892019-12-22 Maciej W. Rozycki <macro@wdc.com>
8390
8391 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8392 variable.
8393
b092fb3b
TS
83942019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8395
8396 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8397 link' handling.
8398
9be3ac5d
JB
83992019-12-19 Julian Brown <julian@codesourcery.com>
8400
8401 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8402 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8403 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8404
02817027
JB
84052019-12-19 Julian Brown <julian@codesourcery.com>
8406 Cesar Philippidis <cesar@codesourcery.com>
8407
8408 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8409 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8410 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8411 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8412 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8413 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8414 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8415 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8416 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8417 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8418 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8419 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8420 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8421
c2eb021f
JB
84222019-12-19 Julian Brown <julian@codesourcery.com>
8423
8424 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8425 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8426 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8427 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8428 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8429 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8430 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8431 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8432 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8433 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8434 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8435 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8436
8e7e71ff
JB
84372019-12-19 Julian Brown <julian@codesourcery.com>
8438
8439 * libgomp.h (struct target_var_desc): Add do_detach flag.
8440 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8441 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8442 struct components. Tidy up and add some new checks.
8443 (goacc_enter_data_internal): Update call to find_group_last.
8444 (goacc_exit_data_internal): Support detach operations and
8445 GOMP_MAP_STRUCT.
8446 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8447 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8448 attach/detach in enter/exit data detection code.
8449 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8450 tgt_var_desc.
8451 (gomp_map_vars_internal): Support attach.
8452 (gomp_unmap_vars_internal): Support detach.
8453
5d5be7bf
JB
84542019-12-19 Julian Brown <julian@codesourcery.com>
8455 Thomas Schwinge <thomas@codesourcery.com>
8456
8457 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8458 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8459 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8460 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8461 acc_detach_finalize_async.
8462 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8463 acc_detach, acc_detach_async, acc_detach_finalize,
8464 acc_detach_finalize_async): New functions.
8465 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8466 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8467 prototypes.
8468 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8469 (gomp_remove_var_internal): Free attachment counts if present.
8470 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8471 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8472
5bcd470b
JB
84732019-12-19 Julian Brown <julian@codesourcery.com>
8474 Cesar Philippidis <cesar@codesourcery.com>
8475
8476 * libgomp.h (gomp_map_val): Add prototype.
8477 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8478 open-coding device-address calculation.
8479 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8480 non-present case.
8481
378da98f
JB
84822019-12-19 Julian Brown <julian@codesourcery.com>
8483
8484 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8485 field for virtual_refcount.
8486 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8487 (gomp_free_memmap): Remove prototype.
8488 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8489 instead of calling gomp_free_memmap.
8490 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8491 dynamic_refcount.
8492 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8493 to_free field to NULL then calling gomp_unmap_vars. Handle
8494 REFCOUNT_INFINITY on target blocks.
8495 (goacc_enter_data): Rename to...
8496 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8497 handling for mapping groups. Use virtual_refcount instead of
8498 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8499 map_map_vars_async call. Re-do lookup for target pointer return value.
8500 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8501 renamed goacc_enter_datum function.
8502 (goacc_exit_data): Rename to...
8503 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8504 (acc_delete, acc_delete_async, acc_delete_finalize,
8505 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8506 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8507 goacc_exit_datum function.
8508 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8509 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8510 New functions.
8511 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8512 goacc_exit_data_internal helper functions.
8513 * target.c (gomp_map_vars_internal): Handle
8514 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8515 semantics.
8516 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8517 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8518 virtual_refcount field instead of dynamic_refcount.
8519 (gomp_free_memmap): Remove function.
8520 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8521 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8522 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8523
2a656a93
JB
85242019-12-19 Julian Brown <julian@codesourcery.com>
8525 Thomas Schwinge <thomas@codesourcery.com>
8526
8527 * libgomp.h (struct splay_tree_aux): New.
8528 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8529 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8530 to aux struct.
8531 (gomp_remove_var_internal): Free aux block if present.
8532 (gomp_load_image_to_device): Zero-initialise aux field instead of
8533 link_key field.
8534 (omp_target_associate_pointer): Zero-initialise aux field.
8535
601399c0
JJ
85362019-12-18 Jakub Jelinek <jakub@redhat.com>
8537
8538 PR middle-end/86416
8539 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8540 q or none.
8541 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8542 L or none.
8543
a6163563
JB
85442019-12-19 Julian Brown <julian@codesourcery.com>
8545 Maciej W. Rozycki <macro@codesourcery.com>
8546 Tobias Burnus <tobias@codesourcery.com>
8547 Thomas Schwinge <thomas@codesourcery.com>
8548
8549 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8550 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8551 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8552 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8553 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8554 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8555 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8556 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8557 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8558
6278b549
TS
85592019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8560
77ce5555
TS
8561 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8562 called...
8563 (goacc_insert_pointer): ... from here, "present" case.
8564 (goacc_insert_pointer): Inline function into...
8565 (GOACC_enter_exit_data): ... here, and simplify.
8566
9444a299
TS
8567 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8568 called...
8569 (goacc_insert_pointer): ... from here, "not present" case.
8570
5031b619
TS
8571 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8572 all users.
8573
1a79b578
TS
8574 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8575 'goacc_enter_data', 'goacc_exit_data'.
8576
34cfe31e
TS
8577 * oacc-mem.c (delete_copyout): Refactor into...
8578 (goacc_exit_data): ... this. Adjust all users.
8579
aaf0e9d7
TS
8580 * oacc-mem.c (present_create_copy): Refactor into...
8581 (goacc_enter_data): ... this. Adjust all users.
8582
83d1d065
TS
8583 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8584 'gomp_remove_var'.
8585
cc3f11f5
TS
8586 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8587 like 'GOMP_MAP_FROM'.
8588
ddb25eb9
TS
8589 PR libgomp/92726
8590 PR libgomp/92970
8591 PR libgomp/92984
8592 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8593 fails.
8594 (GOACC_enter_exit_data): Simplify accordingly.
8595 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8596 subsuming...
8597 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8598 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8599 file.
8600 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8601 subsuming...
8602 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8603 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8604 file.
8605 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8606 subsuming...
8607 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8608
32128577
TS
8609 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8610 'finalize' handling.
8611
ba40277f
TS
8612 PR libgomp/92848
8613 * oacc-mem.c (acc_map_data, present_create_copy)
8614 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8615 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8616 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8617 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8618 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8619 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8620 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8621 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8622 Remove "XFAIL"s.
8623
6278b549
TS
8624 * target.c (gomp_unmap_tgt): Make it 'static'.
8625 * libgomp.h (gomp_unmap_tgt): Remove.
8626
c80c9e26
TB
86272019-12-18 Tobias Burnus <tobias@codesourcery.com>
8628
8629 PR middle-end/86416
8630 * testsuite/libgomp.c/pr86416-1.c: New.
8631 * testsuite/libgomp.c/pr86416-2.c: New.
8632
0b8499a4
TB
86332019-12-17 Tobias Burnus <tobias@codesourcery.com>
8634
8635 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8636 all symbols as public except for the 'use …, only' imported symbol,
8637 which is private.
8638 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8639 all symbols from module openacc_kinds as PUBLIC
8640 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8641 fix comment typo.
8642 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8643
1cbd94e8
JB
86442019-12-13 Julian Brown <julian@codesourcery.com>
8645
8646 PR libgomp/92881
8647
8648 * libgomp.h (gomp_remove_var_async): Add prototype.
8649 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8650 gomp_remove_var.
8651 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8652 whether target_mem_desc was unmapped.
8653 (gomp_unref_tgt_void): New.
8654 (gomp_remove_var): Reimplement in terms of...
8655 (gomp_remove_var_internal): ...this new helper function.
8656 (gomp_remove_var_async): New, implemented using above helper function.
8657 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8658 gomp_unref_tgt.
8659
26b74ed0
AS
86602019-12-13 Andrew Stubbs <ams@codesourcery.com>
8661
8662 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8663 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8664 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8665 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8666 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8667 Likewise.
8668 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8669 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8670
7858bb96
TB
86712019-12-13 Tobias Burnus <tobias@codesourcery.com>
8672
8673 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8674 as public except for the 'use …, only' imported symbol, which is
8675 private.
8676 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8677 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8678 attributes for acc_copyout_finalize and acc_delete_finalize.
8679
f8ac7d8f
JJ
86802019-12-11 Jakub Jelinek <jakub@redhat.com>
8681
8682 PR fortran/92899
8683 * testsuite/libgomp.fortran/atomic1.f90: New test.
8684
3d1b5e71
TS
86852019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8686
d6e8c01c
TS
8687 PR libgomp/92843
8688 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8689 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8690 assertions.
8691 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8692 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8693 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8694 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8695 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8696
57963e39
TS
8697 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8698 * oacc-mem.c: ... here.
8699 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8700 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8701 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8702 Remove.
8703 * libgomp_g.h: Update.
8704
c5578b56
TS
8705 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8706 * oacc-async.c: ... here.
8707 * oacc-int.h (goacc_wait): Declare.
8708 * libgomp_g.h: Update
8709
3d1b5e71
TS
8710 PR libgomp/92854
8711 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8712 New file.
8713 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8714 Likewise.
8715 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8716 Likewise.
8717 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8718 Likewise.
8719 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8720 Likewise.
8721 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8722 Likewise.
8723
5e939438
TS
87242019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8725 Julian Brown <julian@codesourcery.com>
8726
8727 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8728 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8729
93d90219
TB
87302019-12-11 Tobias Burnus <tobias@codesourcery.com>
8731
8732 * omp_lib.h.in: Fix spelling of function declaration
8733 omp_get_cancell(l)ation.
8734 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8735 Fix typos.
8736 * env.c: Fix comment typos.
8737 * oacc-host.c: Likewise.
8738 * ordered.c: Likewise.
8739 * task.c: Likewise.
8740 * team.c: Likewise.
8741 * config/gcn/task.c: Likewise.
8742 * config/gcn/team.c: Likewise.
8743 * config/nvptx/task.c: Likewise.
8744 * config/nvptx/team.c: Likewise.
8745 * plugin/plugin-gcn.c: Likewise.
8746 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8747 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8748 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8749
a0221aee
TB
87502019-12-11 Tobias Burnus <tobias@codesourcery.com>
8751
8752 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8753 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8754 unnecessary 'dg-additional-options "-w"'.
8755
47afc7b4
TS
87562019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8757 Julian Brown <julian@codesourcery.com>
8758
8759 PR libgomp/92116
8760 PR libgomp/92877
8761
8762 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8763 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8764 Adjust all users.
8765 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8766 Remove XFAIL.
8767 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8768 Likewise.
8769 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8770
b5859e40
TS
87712019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8772
cec41816
TS
8773 PR libgomp/92503
8774 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8775 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8776 file.
8777 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8778 Likewise.
8779 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8780 Likewise.
8781 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8782 Likewise.
8783 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8784 Likewise.
8785 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8786 Likewise.
8787 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8788 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8789 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8790 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8791 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8792 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8793 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8794 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8795 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8796 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8797
e103542b
TS
8798 PR libgomp/92840
8799 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8800 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8801 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8802 New file.
8803 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8804 Likewise.
8805 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8806 Likewise.
8807 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8808 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8809
41f36f22
TS
8810 PR libgomp/92511
8811 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8812 this file...
8813 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8814 this file...
8815 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8816 file...
8817 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8818 file...
8819 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8820 ... with their content moved into, and extended in this new file.
8821 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8822 New file.
8823 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8824 Likewise.
8825 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8826 Likewise.
8827 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8828 Likewise.
8829
6effebe1
TS
8830 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8831
7d020473
TS
8832 PR libgomp/92854
8833 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8834
1e1fb715
TS
8835 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8836
b5859e40
TS
8837 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8838
11586ed9
TB
88392019-12-09 Tobias Burnus <tobias@codesourcery.com>
8840
8841 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8842 unique.
8843 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8844 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8845 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8846 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8847 Ditto.
8848 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8849 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8850
3ad4a03a
KCY
88512019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8852
8853 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8854
6e4d01d6
TB
88552019-12-06 Tobias Burnus <tobias@codesourcery.com>
8856 Kwok Cheung Yeung <kcy@codesourcery.com>
8857
8858 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8859 if input it a NULL pointer.
8860 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8861 diagnostic of NULL pointer.
8862 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8863 * testsuite/libgomp.fortran/optional-map.f90: New.
8864 * testsuite/libgomp.fortran/use_device_addr-1.f90
8865 (test_dummy_opt_callee_1_absent): New.
8866 (test_dummy_opt_call_1): Call it.
8867 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8868 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8869 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8870 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8871 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8872 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8873 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8874 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8875 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8876 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8877 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8878 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8879 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8880 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8881 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8882 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8883
ad80ec46
TB
88842019-12-05 Tobias Burnus <tobias@codesourcery.com>
8885
8886 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8887 expect dg-output of 'Error termination.' for GCN.
8888 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8889 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8890
a8a5f4cc
JJ
88912019-12-04 Jakub Jelinek <jakub@redhat.com>
8892
8893 PR fortran/92756
8894 * testsuite/libgomp.fortran/teams1.f90: New test.
8895 * testsuite/libgomp.fortran/teams2.f90: New test.
8896
d8f0024b
FH
88972019-12-03 Frederik Harwath <frederik@codesourcery.com>
8898
8899 * oacc-init.c (acc_known_device_type): Add function.
8900 (unknown_device_type_error): Add function.
8901 (name_of_acc_device_t): Change to call unknown_device_type_error
8902 on unknown type.
8903 (resolve_device): Use acc_known_device_type.
8904 (acc_init): Fail if acc_device_t argument is not valid.
8905 (acc_shutdown): Likewise.
8906 (acc_get_num_devices): Likewise.
8907 (acc_set_device_type): Likewise.
8908 (acc_get_device_num): Likewise.
8909 (acc_set_device_num): Likewise.
8910 (acc_on_device): Add comment that argument validity is not checked.
8911
83caa34e
AS
89122019-12-03 Andrew Stubbs <ams@codesourcery.com>
8913
8914 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8915 Recognize amdgcn.
8916 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8917 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8918 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8919 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8920 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8921
00484365
SN
89222019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8923
8924 PR libgomp/91938
8925 * configure.tgt: Avoid IE tls on *-*-musl*.
8926
9909a059
TB
89272019-11-29 Tobias Burnus <tobias@codesourcery.com>
8928
8929 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8930 adding a common-block test case.
8931
b3f44388
JJ
89322019-11-29 Jakub Jelinek <jakub@redhat.com>
8933
8934 PR c++/60228
8935 * testsuite/libgomp.c++/udr-20.C: New test.
8936 * testsuite/libgomp.c++/udr-21.C: New test.
8937
b1a73b48
TS
89382019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8939
8940 * testsuite/lib/libgomp.exp
8941 (check_effective_target_offload_target_nvptx): New proc.
8942 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8943 'dg-skip-if'.
8944 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8945 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8946 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8947
b8e72446
RO
89482019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8949
8950 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8951 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8952 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8953 * testsuite/libgomp.c/private-1.c: Likewise.
8954 * testsuite/libgomp.c/task-1.c: Likewise.
8955 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8956
d88b27da
JB
89572019-11-20 Julian Brown <julian@codesourcery.com>
8958
8959 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8960 aq->mutex here.
8961 (queue_push_launch): Lock aq->mutex before calling
8962 wait_for_queue_nonfull.
8963 (queue_push_callback): Likewise.
8964 (queue_push_asyncwait): Likewise.
8965 (queue_push_placeholder): Likewise.
8966
8d2f4ddf
JB
89672019-11-20 Julian Brown <julian@codesourcery.com>
8968
8969 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8970 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8971 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8972 return code.
8973
e307b05f
JB
89742019-11-20 Julian Brown <julian@codesourcery.com>
8975
8976 PR libgomp/92511
8977
8978 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8979 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8980 in non-present/create case.
8981 (delete_copyout): Change error condition to fail only on copies outside
8982 of mapped block. Adjust error message accordingly.
8983 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8984 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8985 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8986 message.
8987 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8988 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8989 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8990
83115e9e
MR
89912019-11-20 Maciej W. Rozycki <macro@wdc.com>
8992
8993 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8994 libatomic in build-tree testing.
8995
a1289887
MR
89962019-11-18 Maciej W. Rozycki <macro@wdc.com>
8997
8998 * testsuite/Makefile.in: Regenerate.
8999
8916ba87
AS
90002019-11-15 Andrew Stubbs <ams@codesourcery.com>
9001
9002 * testsuite/libgomp.c/target-print-1.c: New file.
9003 * testsuite/libgomp.fortran/target-print-1.f90: New file.
9004 * testsuite/libgomp.oacc-c/print-1.c: New file.
9005 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
9006
237957cc
AS
90072019-11-13 Andrew Stubbs <ams@codesourcery.com>
9008 Kwok Cheung Yeung <kcy@codesourcery.com>
9009 Julian Brown <julian@codesourcery.com>
9010 Tom de Vries <tom@codesourcery.com>
9011
9012 * plugin/Makefrag.am: Add amdgcn plugin support.
9013 * plugin/configfrag.ac: Likewise.
9014 * plugin/plugin-gcn.c: New file.
9015 * configure: Regenerate.
9016 * Makefile.in: Regenerate.
9017 * testsuite/Makefile.in: Regenerate.
9018
cee16451
AS
90192019-11-13 Andrew Stubbs <ams@codesourcery.com>
9020
9021 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
9022 and use team_malloc variants.
9023 (gomp_gcn_exit_kernel): Use team_free.
9024 * libgomp.h (TEAM_ARENA_SIZE): Define.
9025 (TEAM_ARENA_START): Define.
9026 (TEAM_ARENA_FREE): Define.
9027 (TEAM_ARENA_END): Define.
9028 (team_malloc): New function.
9029 (team_malloc_cleared): New function.
9030 (team_free): New function.
9031 * team.c (gomp_new_team): Initialize and use team_malloc.
9032 (free_team): Use team_free.
9033 (gomp_free_thread): Use team_free.
9034 (gomp_pause_host): Use team_free.
9035 * work.c (gomp_init_work_share): Use team_malloc.
9036 (gomp_fini_work_share): Use team_free.
9037
fa499995
AS
90382019-11-13 Andrew Stubbs <ams@codesourcery.com>
9039 Kwok Cheung Yeung <kcy@codesourcery.com>
9040 Julian Brown <julian@codesourcery.com>
9041 Tom de Vries <tom@codesourcery.com>
9042
9043 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
9044 * Makefile.in: Regenerate.
9045 * config.h.in (PLUGIN_GCN): Add new undef.
9046 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
9047 * config/gcn/affinity-fmt.c: New file.
9048 * config/gcn/bar.c: New file.
9049 * config/gcn/bar.h: New file.
9050 * config/gcn/doacross.h: New file.
9051 * config/gcn/icv-device.c: New file.
9052 * config/gcn/oacc-target.c: New file.
9053 * config/gcn/simple-bar.h: New file.
9054 * config/gcn/target.c: New file.
9055 * config/gcn/task.c: New file.
9056 * config/gcn/team.c: New file.
9057 * config/gcn/time.c: New file.
9058 * configure.ac: Add amdgcn*-*-*.
9059 * configure: Regenerate.
9060 * configure.tgt: Add amdgcn*-*-*.
9061 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
9062 * libgomp.h (gcn_thrs): Add amdgcn variant.
9063 (set_gcn_thrs): Likewise.
9064 (gomp_thread): Likewise.
9065 * oacc-int.h (goacc_thread): Likewise.
9066 * oacc-target.c: New file.
9067 * openacc.f90 (acc_device_gcn): New parameter.
9068 * openacc.h (acc_device_t): Add acc_device_gcn.
9069 * team.c (gomp_free_pool_helper): Add amdgcn support.
9070
d2903ce0
AS
90712019-11-13 Andrew Stubbs <ams@codesourcery.com>
9072 Julian Brown <julian@codesourcery.com>
9073
9074 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
9075 parameter.
9076 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
9077 queue constructor.
9078 * oacc-host.c (host_openacc_async_construct): Add device parameter.
9079 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
9080 device parameter.
9081
b3d14b3a
AS
90822019-11-13 Andrew Stubbs <ams@codesourcery.com>
9083
9084 * configure.tgt (nvptx*-*-*): Add "accel" directory.
9085 * config/nvptx/libgomp-plugin.c: Move ...
9086 * config/accel/libgomp-plugin.c: ... to here.
9087 * config/nvptx/lock.c: Move ...
9088 * config/accel/lock.c: ... to here.
9089 * config/nvptx/mutex.c: Move ...
9090 * config/accel/mutex.c: ... to here.
9091 * config/nvptx/mutex.h: Move ...
9092 * config/accel/mutex.h: ... to here.
9093 * config/nvptx/oacc-async.c: Move ...
9094 * config/accel/oacc-async.c: ... to here.
9095 * config/nvptx/oacc-cuda.c: Move ...
9096 * config/accel/oacc-cuda.c: ... to here.
9097 * config/nvptx/oacc-host.c: Move ...
9098 * config/accel/oacc-host.c: ... to here.
9099 * config/nvptx/oacc-init.c: Move ...
9100 * config/accel/oacc-init.c: ... to here.
9101 * config/nvptx/oacc-mem.c: Move ...
9102 * config/accel/oacc-mem.c: ... to here.
9103 * config/nvptx/oacc-plugin.c: Move ...
9104 * config/accel/oacc-plugin.c: ... to here.
9105 * config/nvptx/omp-lock.h: Move ...
9106 * config/accel/omp-lock.h: ... to here.
9107 * config/nvptx/openacc.f90: Move ...
9108 * config/accel/openacc.f90: ... to here.
9109 * config/nvptx/pool.h: Move ...
9110 * config/accel/pool.h: ... to here.
9111 * config/nvptx/proc.c: Move ...
9112 * config/accel/proc.c: ... to here.
9113 * config/nvptx/ptrlock.c: Move ...
9114 * config/accel/ptrlock.c: ... to here.
9115 * config/nvptx/ptrlock.h: Move ...
9116 * config/accel/ptrlock.h: ... to here.
9117 * config/nvptx/sem.c: Move ...
9118 * config/accel/sem.c: ... to here.
9119 * config/nvptx/sem.h: Move ...
9120 * config/accel/sem.h: ... to here.
9121 * config/nvptx/thread-stacksize.h: Move ...
9122 * config/accel/thread-stacksize.h: ... to here.
9123
62aee289
MR
91242019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
9125 Tobias Burnus <tobias@codesourcery.com>
9126 Frederik Harwath <frederik@codesourcery.com>
9127 Thomas Schwinge <thomas@codesourcery.com>
9128
9129 libgomp/
9130 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
9131 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
9132 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
9133
a2c26c50
TB
91342019-11-11 Tobias Burnus <tobias@codesourcery.com>
9135 Kwok Cheung Yeung <kcy@codesourcery.com>
9136
9137 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
9138 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
9139
6d4868f3
TS
91402019-11-11 Thomas Schwinge <thomas@codesourcery.com>
9141
bfa1837b
TS
9142 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
9143
6d4868f3
TS
9144 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
9145 run'.
9146 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
9147 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
9148
5d183d17
FH
91492019-11-06 Thomas Schwinge <thomas@codesourcery.com>
9150
9151 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
9152 Add expected warnings about missing reduction clauses.
9153 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9154 Likewise.
9155 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
9156 Likewise.
9157 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
9158 Likewise.
9159
d8f03b03
TB
91602019-11-04 Tobias Burnus <tobias@codesourcery.com>
9161
9162 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
9163 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
9164 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
9165 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9166 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9167 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9168
12fd2ec5
TB
91692019-11-04 Tobias Burnus <tobias@codesourcery.com>
9170
9171 PR fortran/92305
9172 * testsuite/libgomp.fortran/allocatable2.f90: Use
9173 unique numbers with 'stop'.
9174 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9175 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9176 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
9177 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
9178 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
9179
92e63bd2
TB
91802019-11-01 Tobias Burnus <tobias@codesourcery.com>
9181
9182 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
9183 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
9184 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
9185 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
9186 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
9187 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
9188
91ae0a46
TB
91892019-10-30 Tobias Burnus <tobias@codesourcery.com>
9190
9191 * testsuite/libgomp.fortran/target9.f90: New.
9192
c425e66b
TB
91932019-10-30 Tobias Burnus <tobias@codesourcery.com>
9194
9195 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
9196 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
9197 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
9198 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
9199 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
9200 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
9201 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
9202 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
9203 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
9204 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
9205 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
9206 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
9207 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
9208 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
9209 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
9210 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
9211 * testsuite/libgomp.fortran/associate1.f90: Ditto.
9212 * testsuite/libgomp.fortran/associate2.f90: Ditto.
9213 * testsuite/libgomp.fortran/associate3.f90: Ditto.
9214 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
9215 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
9216 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
9217 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
9218 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
9219 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
9220 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
9221 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
9222 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
9223 * testsuite/libgomp.fortran/character1.f90: Ditto.
9224 * testsuite/libgomp.fortran/character2.f90: Ditto.
9225 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
9226 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
9227 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
9228 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
9229 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
9230 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
9231 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
9232 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
9233 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
9234 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
9235 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
9236 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
9237 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
9238 * testsuite/libgomp.fortran/do1.f90: Ditto.
9239 * testsuite/libgomp.fortran/do2.f90: Ditto.
9240 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
9241 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
9242 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
9243 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
9244 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
9245 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
9246 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
9247 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
9248 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
9249 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
9250 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
9251 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
9252 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
9253 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
9254 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
9255 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9256 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9257 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9258 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9259 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9260 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9261 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9262 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9263 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9264 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9265 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9266 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9267 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9268 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9269 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9270 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9271 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9272 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9273 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9274 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9275 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9276 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9277 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9278 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9279 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9280 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9281 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9282 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9283 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9284 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9285 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9286 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9287 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9288 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9289 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9290 * testsuite/libgomp.fortran/lib1.f90: Ditto.
9291 * testsuite/libgomp.fortran/lib4.f90: Ditto.
9292 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9293 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9294 * testsuite/libgomp.fortran/nested1.f90: Ditto.
9295 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9296 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9297 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9298 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9299 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9300 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9301 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9302 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9303 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9304 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9305 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9306 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9307 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9308 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9309 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9310 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9311 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9312 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9313 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9314 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9315 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9316 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9317 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9318 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9319 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9320 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9321 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9322 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9323 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9324 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9325 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9326 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9327 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9328 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9329 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9330 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9331 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9332 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9333 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9334 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9335 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9336 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9337 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9338 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9339 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9340 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9341 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9342 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9343 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9344 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9345 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9346 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9347 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9348 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9349 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9350 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9351 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9352 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9353 * testsuite/libgomp.fortran/reference1.f90: Ditto.
9354 * testsuite/libgomp.fortran/reference2.f90: Ditto.
9355 * testsuite/libgomp.fortran/retval1.f90: Ditto.
9356 * testsuite/libgomp.fortran/retval2.f90: Ditto.
9357 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9358 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9359 * testsuite/libgomp.fortran/simd1.f90: Ditto.
9360 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9361 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9362 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9363 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9364 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9365 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9366 * testsuite/libgomp.fortran/stack.f90: Ditto.
9367 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9368 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9369 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9370 * testsuite/libgomp.fortran/target1.f90: Ditto.
9371 * testsuite/libgomp.fortran/target2.f90: Ditto.
9372 * testsuite/libgomp.fortran/target3.f90: Ditto.
9373 * testsuite/libgomp.fortran/target4.f90: Ditto.
9374 * testsuite/libgomp.fortran/target5.f90: Ditto.
9375 * testsuite/libgomp.fortran/target6.f90: Ditto.
9376 * testsuite/libgomp.fortran/target7.f90: Ditto.
9377 * testsuite/libgomp.fortran/target8.f90: Ditto.
9378 * testsuite/libgomp.fortran/task1.f90: Ditto.
9379 * testsuite/libgomp.fortran/task2.f90: Ditto.
9380 * testsuite/libgomp.fortran/task3.f90: Ditto.
9381 * testsuite/libgomp.fortran/task4.f90: Ditto.
9382 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9383 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9384 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9385 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9386 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9387 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9388 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9389 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9390 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9391 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9392 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9393 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9394 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9395 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9396 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9397 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9398 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9399 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9400 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9401 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9402 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9403 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9404 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9405 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9406 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9407 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9408 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9409 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9410 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9411 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9412 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9413 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9414 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9415 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9416
01509e2f
TB
94172019-10-30 Tobias Burnus <tobias@codesourcery.com>
9418
9419 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9420 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9421 Ditto; add 'dg-do run' for torture testing.
9422 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9423 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9424 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9425 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9426 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9427 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9428 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9429 * testsuite/libgomp.fortran/task2.f90: Ditto.
9430 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9431 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9432 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9433 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9434 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9435 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9436
ffbdd78a
TB
94372019-10-28 Tobias Burnus <tobias@codesourcery.com>
9438
9439 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9440 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9441 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9442 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9443 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9444 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9445 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9446 Use 'stop' not abort().
9447 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9448 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9449 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9450 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9451 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9452 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9453 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9454 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9455 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9456 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9457 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9458 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9459 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9460 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9461 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9462 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9463 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9464 Ditto.
9465 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9466 Ditto.
9467 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9468 Ditto.
9469 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9470 Ditto.
9471 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9472 Ditto.
9473 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9474 Ditto.
9475 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9476 Ditto.
9477 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9478 Ditto.
9479 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9480 Ditto.
9481 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9482 Ditto.
9483 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9484 Ditto.
9485 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9486 Ditto.
9487 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9488 Ditto.
9489 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9490 Ditto.
9491 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9492 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9493 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9494 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9495 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9496 Likewise and also add 'dg-do run'.
9497 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9498 Ditto.
9499
ec084613
CP
95002019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9501 Tobias Burnus <tobias@codesourcery.com>
9502
9503 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9504 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9505 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9506
77ef3394
JJ
95072019-10-14 Jakub Jelinek <jakub@redhat.com>
9508
9509 PR libgomp/92081
9510 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9511 than 0.
9512
08c14aaa
TB
95132019-10-11 Tobias Burnus <tobias@codesourcery.com>
9514
9515 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9516 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9517
6bbead0c
TS
95182019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9519
9520 PR middle-end/92036
9521 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9522 file.
9523
eba3dee8
TB
95242019-10-09 Tobias Burnus <tobias@codesourcery.com>
9525
9526 PR testsuite/91884
9527 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9528 add -lquadmath.
9529 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9530
7d48e14f
JJ
95312019-10-09 Jakub Jelinek <jakub@redhat.com>
9532
9533 PR libgomp/92028
9534 * target.c (gomp_map_vars_internal): Readd the previous
9535 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9536 though do that just in the !not_found_cnt case.
9537
65b67cf3
TB
95382019-10-08 Tobias Burnus <tobias@codesourcery.com>
9539
9540 * gfortran.dg/gomp/target-simd.f90: New.
9541
6c7e076b
JB
95422019-10-02 Julian Brown <julian@codesourcery.com>
9543 Cesar Philippidis <cesar@codesourcery.com>
9544
9545 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9546 * target.c (FIELD_TGT_EMPTY): Define.
9547 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9548 as switch instead of list of ifs.
9549 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9550
d61bff85
AT
95512019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9552
9553 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9554 include. Replace alloca () with __builtin_alloca ().
9555 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9556
810f316d
JJ
95572019-10-01 Jakub Jelinek <jakub@redhat.com>
9558
9559 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9560 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9561 * oacc-parallel.c: Don't include "libgomp_g.h".
9562 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9563 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9564 * aclocal.m4: Regenerated.
9565 * config.h.in: Regenerated.
9566 * configure: Regenerated.
9567 * Makefile.in: Regenerated.
9568
d7f9ee98
KCY
95692019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9570
9571 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9572
e9085da5
MR
95732019-09-27 Maciej W. Rozycki <macro@wdc.com>
9574
9575 * configure: Regenerate.
9576
c28712be
TB
95772019-09-13 Tobias Burnus <tobias@codesourcery.com>
9578
9579 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9580 string is initialized.
9581
3c086f8d
FW
95822019-09-06 Florian Weimer <fweimer@redhat.com>
9583
9584 * configure: Regenerate.
9585
c6c2d1bc
CLT
95862019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9587
9588 PR other/79543
9589 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9590 scanning to conform to the GNU Coding Standards.
9591 * configure: Regenerate.
9592
5cb72d83
JJ
95932019-08-28 Jakub Jelinek <jakub@redhat.com>
9594
9595 PR libgomp/91530
9596 * testsuite/libgomp.c/scan-21.c: New test.
9597 * testsuite/libgomp.c/scan-22.c: New test.
9598
0ad7981c
JJ
95992019-08-27 Jakub Jelinek <jakub@redhat.com>
9600
9601 PR libgomp/91530
9602 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9603 targets.
9604 * testsuite/libgomp.c/scan-12.c: Likewise.
9605 * testsuite/libgomp.c/scan-13.c: Likewise.
9606 * testsuite/libgomp.c/scan-14.c: Likewise.
9607 * testsuite/libgomp.c/scan-15.c: Likewise.
9608 * testsuite/libgomp.c/scan-16.c: Likewise.
9609 * testsuite/libgomp.c/scan-17.c: Likewise.
9610 * testsuite/libgomp.c/scan-18.c: Likewise.
9611 * testsuite/libgomp.c/scan-19.c: Likewise.
9612 * testsuite/libgomp.c/scan-20.c: Likewise.
9613 * testsuite/libgomp.c++/scan-9.C: Likewise.
9614 * testsuite/libgomp.c++/scan-10.C: Likewise.
9615 * testsuite/libgomp.c++/scan-11.C: Likewise.
9616 * testsuite/libgomp.c++/scan-12.C: Likewise.
9617 * testsuite/libgomp.c++/scan-14.C: Likewise.
9618 * testsuite/libgomp.c++/scan-15.C: Likewise.
9619 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9620 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9621 * testsuite/libgomp.c++/scan-16.C: Likewise.
9622
1e67491a
TK
96232019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9624
9625 PR fortran/91473
9626 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9627 -std=legacy so invalid code in the test case is accepted.
9628
393fdeb1
TK
96292019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9630
9631 PR fortran/91422
9632 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9633 dimension.
9634
8860d270
JJ
96352019-08-08 Jakub Jelinek <jakub@redhat.com>
9636
9637 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9638 perform the lookup in the first loop only if !not_found_cnt, otherwise
9639 perform lookups for it in the second loop guarded with
9640 if (not_found_cnt || has_firstprivate).
9641 * testsuite/libgomp.c/target-37.c: New test.
9642 * testsuite/libgomp.c++/target-22.C: New test.
9643
398e3feb
JJ
96442019-08-07 Jakub Jelinek <jakub@redhat.com>
9645
9646 * testsuite/libgomp.c/target-18.c (struct S): New type.
9647 (foo): Use use_device_addr clause instead of use_device_ptr clause
9648 where required by OpenMP 5.0, add further tests for both use_device_ptr
9649 and use_device_addr clauses.
9650 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9651 (foo): Use use_device_addr clause instead of use_device_ptr clause
9652 where required by OpenMP 5.0, add further tests for both use_device_ptr
9653 and use_device_addr clauses. Add t and u arguments.
9654 (main): Adjust caller.
9655
d81ab49d
JJ
96562019-08-06 Jakub Jelinek <jakub@redhat.com>
9657
9658 * testsuite/libgomp.c++/loop-13.C: New test.
9659 * testsuite/libgomp.c++/loop-14.C: New test.
9660 * testsuite/libgomp.c++/loop-15.C: New test.
9661
c3ac76aa
JJ
96622019-07-31 Jakub Jelinek <jakub@redhat.com>
9663
9664 PR middle-end/91301
9665 * testsuite/libgomp.c++/for-27.C: New test.
9666
8dc63166
SK
96672019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9668
393fdeb1 9669 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 9670 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 9671
554a530f
JJ
96722019-07-20 Jakub Jelinek <jakub@redhat.com>
9673
9674 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9675
6cda84b5
JJ
96762019-07-08 Jakub Jelinek <jakub@redhat.com>
9677
9678 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9679 * testsuite/libgomp.c++/scan-16.C: Likewise.
9680
1f52d1a8
JJ
96812019-07-06 Jakub Jelinek <jakub@redhat.com>
9682
6f67abcd
JJ
9683 * testsuite/libgomp.c/scan-19.c: New test.
9684 * testsuite/libgomp.c/scan-20.c: New test.
9685
1f52d1a8
JJ
9686 * testsuite/libgomp.c/scan-11.c: New test.
9687 * testsuite/libgomp.c/scan-12.c: New test.
9688 * testsuite/libgomp.c/scan-13.c: New test.
9689 * testsuite/libgomp.c/scan-14.c: New test.
9690 * testsuite/libgomp.c/scan-15.c: New test.
9691 * testsuite/libgomp.c/scan-16.c: New test.
9692 * testsuite/libgomp.c/scan-17.c: New test.
9693 * testsuite/libgomp.c/scan-18.c: New test.
9694 * testsuite/libgomp.c++/scan-9.C: New test.
9695 * testsuite/libgomp.c++/scan-10.C: New test.
9696 * testsuite/libgomp.c++/scan-11.C: New test.
9697 * testsuite/libgomp.c++/scan-12.C: New test.
9698 * testsuite/libgomp.c++/scan-13.C: New test.
9699 * testsuite/libgomp.c++/scan-14.C: New test.
9700 * testsuite/libgomp.c++/scan-15.C: New test.
9701 * testsuite/libgomp.c++/scan-16.C: New test.
9702
2f03073f
JJ
97032019-07-04 Jakub Jelinek <jakub@redhat.com>
9704
9705 * testsuite/libgomp.c/scan-9.c: New test.
9706 * testsuite/libgomp.c/scan-10.c: New test.
9707
2f6bb511
JJ
97082019-07-03 Jakub Jelinek <jakub@redhat.com>
9709
9710 * testsuite/libgomp.c++/scan-1.C: New test.
9711 * testsuite/libgomp.c++/scan-2.C: New test.
9712 * testsuite/libgomp.c++/scan-3.C: New test.
9713 * testsuite/libgomp.c++/scan-4.C: New test.
9714 * testsuite/libgomp.c++/scan-5.C: New test.
9715 * testsuite/libgomp.c++/scan-6.C: New test.
9716 * testsuite/libgomp.c++/scan-7.C: New test.
9717 * testsuite/libgomp.c++/scan-8.C: New test.
9718 * testsuite/libgomp.c/scan-1.c: New test.
9719 * testsuite/libgomp.c/scan-2.c: New test.
9720 * testsuite/libgomp.c/scan-3.c: New test.
9721 * testsuite/libgomp.c/scan-4.c: New test.
9722 * testsuite/libgomp.c/scan-5.c: New test.
9723 * testsuite/libgomp.c/scan-6.c: New test.
9724 * testsuite/libgomp.c/scan-7.c: New test.
9725 * testsuite/libgomp.c/scan-8.c: New test.
9726
bd194a51
TS
97272019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9728
85fca03a
TS
9729 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9730 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9731 Likewise.
9732
bd194a51
TS
9733 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9734 check.
9735
6652161e
CP
97362019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9737
9738 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9739 file.
9740
3a37d6f6
TS
97412019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9742
4017da8d
TS
9743 PR fortran/90743
9744 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9745 case.
9746 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9747 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9748 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9749 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9750
6f7c1f65
TS
9751 PR testsuite/90861
9752 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9753
3a37d6f6
TS
9754 PR middle-end/90862
9755 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9756
f45ce17d
TV
97572019-06-16 Tom de Vries <tdevries@suse.de>
9758
9759 PR tree-optimization/89376
9760 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9761
00908992
TV
97622019-06-15 Tom de Vries <tdevries@suse.de>
9763
9764 PR tree-optimization/89713
9765 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9766 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9767
211b7533
JJ
97682019-06-15 Jakub Jelinek <jakub@redhat.com>
9769
9770 PR middle-end/90779
9771 * testsuite/libgomp.c/pr90779.c: New test.
9772 * testsuite/libgomp.fortran/pr90779.f90: New test.
9773
120a01d1
TV
97742019-06-15 Tom de Vries <tdevries@suse.de>
9775
9776 PR tree-optimization/90009
9777 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9778
c29c92c7
FX
97792019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9780
9781 PR tree-optimization/89713
9782 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9783
ce9c4ec3
JJ
97842019-06-11 Jakub Jelinek <jakub@redhat.com>
9785
9786 PR target/90811
9787 * testsuite/libgomp.c/pr90811.c: New test.
9788
28b3a77c
JJ
97892019-06-05 Jakub Jelinek <jakub@redhat.com>
9790
9791 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9792 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9793
7855700e
JJ
97942019-06-04 Jakub Jelinek <jakub@redhat.com>
9795
9796 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9797 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9798 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9799 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9800
a7155c2e
RO
98012019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9802
9803 * configure.ac: Call AX_COUNT_CPUS.
9804 Substitute CPU_COUNT.
9805 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9806 count fallback.
9807 * aclocal.m4: Regenerate.
9808 * configure: Regenerate.
9809 * Makefile.in, testsuite/Makefile.in: Regenerate.
9810
7e47198b
JJ
98112019-05-29 Jakub Jelinek <jakub@redhat.com>
9812
9813 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9814 to ...
9815 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9816 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9817 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9818
fcfb8032
JJ
98192019-05-27 Jakub Jelinek <jakub@redhat.com>
9820
8e7757ba
JJ
9821 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9822
36c7a3ff
JJ
9823 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9824
fcfb8032
JJ
9825 PR libgomp/90641
9826 * work.c (gomp_init_work_share): Instead of aligning final ordered
9827 value to multiples of long long alignment, align to that the
9828 first part (ordered team ids) and if inline_ordered_team_ids
9829 is not on a long long alignment boundary within the structure,
9830 use __alignof__ (long long) - 1 pad size always.
9831 * loop.c (GOMP_loop_start): Fix *mem computation if
9832 inline_ordered_team_ids is not aligned on long long alignment boundary
9833 within the structure.
9834 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9835 * sections.c (GOMP_sections2_start): Likewise.
9836
b5c26449
JJ
98372019-05-24 Jakub Jelinek <jakub@redhat.com>
9838
6c7ae8c5
JJ
9839 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9840 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9841
b5c26449
JJ
9842 PR libgomp/90585
9843 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9844 HAVE_INTTYPES_H is defined.
9845 (print_uint64_t): New typedef.
9846 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9847 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9848 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9849 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9850 before casting to void *.
9851 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9852 * oacc-mem.c: Don't include config.h nor stdint.h.
9853 * target.c: Don't include config.h.
9854 * oacc-cuda.c: Likewise.
9855 * oacc-host.c: Don't include stdint.h.
9856
3e03ed66
JJ
98572019-05-20 Jakub Jelinek <jakub@redhat.com>
9858
9859 PR libgomp/90527
9860 * alloc.c (_GNU_SOURCE): Define.
9861
5fae049d
TS
98622019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9863
9864 * acc_prof.h: New file.
9865 * oacc-profiling.c: Likewise.
9866 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9867 Add these, respectively.
9868 * Makefile.in: Regenerate.
9869 * env.c (initialize_env): Call goacc_profiling_initialize.
9870 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9871 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9872 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9873 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9874 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9875 acc_prof_register, acc_prof_unregister, and acc_register_library.
9876 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9877 GOMP_PLUGIN_goacc_thread.
9878 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9879 prof_callbacks_enabled members.
9880 (goacc_prof_enabled, goacc_profiling_initialize)
9881 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9882 (goacc_profiling_dispatch): Declare.
9883 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9884 (GOACC_PROFILING_SETUP_P): Define.
9885 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9886 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9887 OpenACC Profiling Interface.
9888 * oacc-cuda.c (acc_get_current_cuda_device)
9889 (acc_get_current_cuda_context, acc_get_cuda_stream)
9890 (acc_set_cuda_stream): Likewise.
9891 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9892 (acc_init, acc_set_device_type, acc_get_device_type)
9893 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9894 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9895 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9896 (acc_unmap_data, present_create_copy, delete_copyout)
9897 (update_dev_host): Likewise.
9898 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9899 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9900 Likewise.
9901 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9902 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9903 Likewise.
9904 * libgomp.texi: Update.
9905 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9906 file.
9907 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9908 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9909 Likewise.
9910 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9911 Likewise.
9912 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9913 Likewise.
9914 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9915 Likewise.
9916
1f4c5b9b
CLT
99172019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9918
9919 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9920 (struct goacc_asyncqueue_list): Likewise.
9921 (goacc_aq): Likewise.
9922 (goacc_aq_list): Likewise.
9923 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9924 (GOMP_OFFLOAD_openacc_async_test): Remove.
9925 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9926 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9927 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9928 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9929 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9930 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9931 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9932 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9933 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9934 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9935 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9936 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9937 (GOMP_OFFLOAD_openacc_async_test): Declare.
9938 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9939 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9940 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9941 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9942 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9943
9944 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9945 (gomp_acc_insert_pointer): Adjust declaration.
9946 (gomp_copy_host2dev): New declaration.
9947 (gomp_copy_dev2host): Likewise.
9948 (gomp_map_vars_async): Likewise.
9949 (gomp_unmap_tgt): Likewise.
9950 (gomp_unmap_vars_async): Likewise.
9951 (gomp_fini_device): Likewise.
9952
9953 * oacc-async.c (get_goacc_thread): New function.
9954 (get_goacc_thread_device): New function.
9955 (lookup_goacc_asyncqueue): New function.
9956 (get_goacc_asyncqueue): New function.
9957 (acc_async_test): Adjust code to use new async design.
9958 (acc_async_test_all): Likewise.
9959 (acc_wait): Likewise.
9960 (acc_wait_async): Likewise.
9961 (acc_wait_all): Likewise.
9962 (acc_wait_all_async): Likewise.
9963 (goacc_async_free): New function.
9964 (goacc_init_asyncqueues): Likewise.
9965 (goacc_fini_asyncqueues): Likewise.
9966 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9967 design.
9968 (acc_set_cuda_stream): Likewise.
9969 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9970 (host_openacc_register_async_cleanup): Remove.
9971 (host_openacc_async_exec): New function.
9972 (host_openacc_async_test): Adjust parameters.
9973 (host_openacc_async_test_all): Remove.
9974 (host_openacc_async_wait): Remove.
9975 (host_openacc_async_wait_async): Remove.
9976 (host_openacc_async_wait_all): Remove.
9977 (host_openacc_async_wait_all_async): Remove.
9978 (host_openacc_async_set_async): Remove.
9979 (host_openacc_async_synchronize): New function.
9980 (host_openacc_async_serialize): New function.
9981 (host_openacc_async_host2dev): New function.
9982 (host_openacc_async_dev2host): New function.
9983 (host_openacc_async_queue_callback): New function.
9984 (host_openacc_async_construct): New function.
9985 (host_openacc_async_destruct): New function.
9986 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 9987 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
9988 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9989 (goacc_attach_host_thread_to_device): Remove old async code usage.
9990 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9991 (goacc_fini_asyncqueues): Likewise.
9992 (goacc_async_copyout_unmap_vars): Likewise.
9993 (goacc_async_free): Likewise.
9994 (get_goacc_asyncqueue): Likewise.
9995 (lookup_goacc_asyncqueue): Likewise.
9996 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9997 design.
9998 (present_create_copy): Adjust code to use new async design.
9999 (delete_copyout): Likewise.
10000 (update_dev_host): Likewise.
10001 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
10002 async design.
10003 (gomp_acc_remove_pointer): Adjust code to use new async design.
10004 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
10005 design.
10006 (GOACC_enter_exit_data): Likewise.
10007 (goacc_wait): Likewise.
10008 (GOACC_update): Likewise.
10009 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
10010 when called, warn as obsolete in comment.
10011 * target.c (goacc_device_copy_async): New function.
10012 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
10013 add goacc_device_copy_async case.
10014 (gomp_copy_dev2host): Likewise.
10015 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
10016 (gomp_map_pointer): Likewise.
10017 (gomp_map_fields_existing): Likewise.
10018 (gomp_map_vars_internal): New always_inline function, renamed from
10019 gomp_map_vars.
10020 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
10021 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
10022 passing goacc_asyncqueue argument.
10023 (gomp_unmap_tgt): Remove static, add attribute_hidden.
10024 (gomp_unref_tgt): New function.
10025 (gomp_unmap_vars_internal): New always_inline function, renamed from
10026 gomp_unmap_vars.
10027 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
10028 (gomp_unmap_vars_async): Implement by calling
10029 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
10030 (gomp_fini_device): New function.
10031 (gomp_exit_data): Adjust gomp_copy_dev2host call.
10032 (gomp_load_plugin_for_device): Remove old interface, adjust to load
10033 new async interface.
10034 (gomp_target_fini): Adjust code to call gomp_fini_device.
10035
10036 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
10037 (struct ptx_stream): Remove.
10038 (struct nvptx_thread): Remove current_stream field.
10039 (cuda_map_create): Remove.
10040 (cuda_map_destroy): Remove.
10041 (map_init): Remove.
10042 (map_fini): Remove.
10043 (map_pop): Remove.
10044 (map_push): Remove.
10045 (struct goacc_asyncqueue): Define.
10046 (struct nvptx_callback): Define.
10047 (struct ptx_free_block): Define.
10048 (struct ptx_device): Remove null_stream, active_streams, async_streams,
10049 stream_lock, and next fields.
10050 (enum ptx_event_type): Remove.
10051 (struct ptx_event): Remove.
10052 (ptx_event_lock): Remove.
10053 (ptx_events): Remove.
10054 (init_streams_for_device): Remove.
10055 (fini_streams_for_device): Remove.
10056 (select_stream_for_async): Remove.
10057 (nvptx_init): Remove ptx_events and ptx_event_lock references.
10058 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
10059 case.
10060 (nvptx_open_device): Add free_blocks initialization, remove
10061 init_streams_for_device call.
10062 (nvptx_close_device): Remove fini_streams_for_device call, add
10063 free_blocks destruct code.
10064 (event_gc): Remove.
10065 (event_add): Remove.
10066 (nvptx_exec): Adjust parameters and code.
10067 (nvptx_free): Likewise.
10068 (nvptx_host2dev): Remove.
10069 (nvptx_dev2host): Remove.
10070 (nvptx_set_async): Remove.
10071 (nvptx_async_test): Remove.
10072 (nvptx_async_test_all): Remove.
10073 (nvptx_wait): Remove.
10074 (nvptx_wait_async): Remove.
10075 (nvptx_wait_all): Remove.
10076 (nvptx_wait_all_async): Remove.
10077 (nvptx_get_cuda_stream): Remove.
10078 (nvptx_set_cuda_stream): Remove.
10079 (GOMP_OFFLOAD_alloc): Adjust code.
10080 (GOMP_OFFLOAD_free): Likewise.
10081 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
10082 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
10083 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
10084 (GOMP_OFFLOAD_openacc_async_wait): Remove.
10085 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
10086 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
10087 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
10088 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
10089 (cuda_free_argmem): New function.
10090 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
10091 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
10092 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
10093 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
10094 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
10095 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
10096 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
10097 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
10098 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
10099 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
10100 (cuda_callback_wrapper): New function.
10101 (cuda_memcpy_sanity_check): New function.
10102 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
10103 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
10104 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
10105 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
10106
da2d30c1
TS
101072019-05-07 Thomas Schwinge <thomas@codesourcery.com>
10108
10109 PR target/87835
10110 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
10111
2bbbfa4e
TS
101122019-05-06 Thomas Schwinge <thomas@codesourcery.com>
10113
10114 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
10115
bbf1efe1
KB
101162019-03-27 Kevin Buettner <kevinb@redhat.com>
10117
10118 * team.c (gomp_team_start): Initialize pool->threads[0].
10119
1241136c
TS
101202019-02-22 Thomas Schwinge <thomas@codesourcery.com>
10121
b03d721a
TS
10122 * testsuite/libgomp.oacc-c++/c++.exp: Specify
10123 "-foffload=$offload_target".
10124 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10125 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10126 * testsuite/lib/libgomp.exp
10127 (check_effective_target_openacc_nvidia_accel_configured): Remove,
10128 as (conceptually) merged into
10129 check_effective_target_openacc_nvidia_accel_selected. Adjust all
10130 users.
10131
0a0384b4
TS
10132 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
10133 * testsuite/libgomp-test-support.exp.in: Adjust.
10134 * testsuite/lib/libgomp.exp: Likewise. Don't populate
10135 openacc_device_types_s.
10136 (offload_target_to_openacc_device_type): New proc.
10137 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
10138 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10139 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10140 * Makefile.in: Regenerate.
10141 * configure: Likewise.
10142 * testsuite/Makefile.in: Likewise.
10143
ee332b4a
TS
10144 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
10145 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
10146 instead of OFFLOAD_TARGETS.
10147 * target.c (gomp_target_init): Adjust.
10148 * testsuite/libgomp-test-support.exp.in: Likewise.
10149 * testsuite/lib/libgomp.exp: Likewise. Populate
10150 openacc_device_types_s instead of offload_targets_s_openacc.
10151 (check_effective_target_openacc_nvidia_accel_selected)
10152 (check_effective_target_openacc_host_selected): Adjust.
10153 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
10154 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10155 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10156 * Makefile.in: Regenerate.
10157 * config.h.in: Likewise.
10158 * configure: Likewise.
10159 * testsuite/Makefile.in: Likewise.
10160
1241136c
TS
10161 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
10162 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
10163 "offloading: supported, but hardware not accessible".
10164 * testsuite/libgomp.oacc-c/c.exp: Likewise.
10165 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10166
19695f4d
CLT
101672019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
10168
10169 PR c/87924
10170 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
10171 goacc_wait().
10172 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
10173 and related adjustment.
10174
8b44f8ec
JJ
101752019-01-30 Jakub Jelinek <jakub@redhat.com>
10176
10177 PR c++/88988
10178 * testsuite/libgomp.c++/pr88988.C: New test.
10179
be3a87e7
JJ
101802019-01-28 Jakub Jelinek <jakub@redhat.com>
10181
10182 PR middle-end/89002
10183 * testsuite/libgomp.c/pr89002.c: New test.
10184
497ef4d7
RB
101852019-01-28 Richard Biener <rguenther@suse.de>
10186
10187 PR testsuite/89064
10188 PR tree-optimization/86865
10189 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
10190
738c56d4
TV
101912019-01-24 Tom de Vries <tdevries@suse.de>
10192
10193 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
10194 once instantiated_devices drops to 0.
10195
4a75460b
TV
101962019-01-23 Tom de Vries <tdevries@suse.de>
10197
10198 PR target/PR88946
10199 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
10200 cuMemFree.
10201 (nvptx_exec): Don't call map_push if mapnum == 0.
10202 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
10203
4fef8e4d
TV
102042019-01-23 Tom de Vries <tdevries@suse.de>
10205
10206 PR target/88941
10207 PR target/88939
10208 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
10209 (map_fini): Remove "assert (!s->map->active)".
10210 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
10211
2ee6cb22
TV
102122019-01-23 Tom de Vries <tdevries@suse.de>
10213
10214 PR target/87835
10215 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
10216 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
10217
d41d952c
TV
102182019-01-15 Tom de Vries <tdevries@suse.de>
10219
10220 PR target/80547
10221 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
10222 New test.
10223
efb56ae8
TV
102242019-01-12 Tom de Vries <tdevries@suse.de>
10225
10226 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
10227 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
10228 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
10229 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
10230
2c2ff168
TV
102312019-01-12 Tom de Vries <tdevries@suse.de>
10232
10233 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
10234
a1057758
TV
102352019-01-12 Tom de Vries <tdevries@suse.de>
10236
10237 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
10238 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
10239 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
10240
56314b77
TV
102412019-01-12 Tom de Vries <tdevries@suse.de>
10242
10243 PR target/85486
10244 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
10245 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
10246
b39e4366
TV
102472019-01-12 Tom de Vries <tdevries@suse.de>
10248
10249 PR target/85381
10250 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
10251 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
10252
2cb7a501
TV
102532019-01-12 Tom de Vries <tdevries@suse.de>
10254
10255 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10256 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10257 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10258
8e77f71e
TV
102592019-01-12 Tom de Vries <tdevries@suse.de>
10260
10261 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10262 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10263 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10264
52d22ece
TV
102652019-01-12 Tom de Vries <tdevries@suse.de>
10266
10267 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10268 resources diagnostic.
10269
2b9d9e39
TV
102702019-01-12 Tom de Vries <tdevries@suse.de>
10271
10272 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10273 vector length to be 128.
10274 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10275 length 2097152 to be reduced to 1024 instead of 32.
10276
4102bda6
TS
102772019-01-11 Thomas Schwinge <thomas@codesourcery.com>
10278 James Norris <jnorris@codesourcery.com>
10279
10280 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10281 Library Routines", and "Environment Variables".
10282
052aaace
TV
102832019-01-11 Tom de Vries <tdevries@suse.de>
10284
10285 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10286 num_workers 16.
10287
9390f916
TV
102882019-01-11 Tom de Vries <tdevries@suse.de>
10289
10290 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10291 -foffload=-w.
10292 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10293 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10294 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10295 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10296
2c3e7ad2
TV
102972019-01-11 Tom de Vries <tdevries@suse.de>
10298
10299 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10300 test.
10301
e222497d
NS
103022019-01-10 Nathan Sidwell <nathan@acm.org>
10303 Julian Brown <julian@codesourcery.com>
10304
10305 PR lto/71959
10306 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10307 * testsuite/libgomp.oacc-c++/pr71959.C: New.
10308
cb87fec3
SH
103092019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10310
10311 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10312 and paste code.
10313
30b4d0d0
SH
103142019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10315
10316 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
10317 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10318 write.
10319
5d0bc70a
TV
103202019-01-09 Tom de Vries <tdevries@suse.de>
10321
10322 PR target/88756
10323 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10324 #define instead of "const int".
10325 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10326 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10327 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10328 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10329
2c372e81
TV
103302019-01-09 Tom de Vries <tdevries@suse.de>
10331
10332 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10333 one worker.
10334
43493c97
TV
103352019-01-07 Tom de Vries <tdevries@suse.de>
10336
10337 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10338 GOMP_OPENACC_DIM argument.
10339
5c571497
TV
103402019-01-03 Tom de Vries <tdevries@suse.de>
10341
10342 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10343 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10344
a5544970
JJ
103452019-01-01 Jakub Jelinek <jakub@redhat.com>
10346
10347 Update copyright years.
10348
3f27508c
JJ
103492019-01-01 Jakub Jelinek <jakub@redhat.com>
10350
10351 * libgomp.texi: Bump @copying's copyright year.
10352
59d5960c
TS
103532018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10354
10355 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10356 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10357 (GOACC_declare): Redefine the "device" argument to "flags".
10358
a44c1790
TS
103592018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10360 Cesar Philippidis <cesar@codesourcery.com>
10361
10362 * target.c (struct gomp_coalesce_chunk): New structure.
10363 (struct gomp_coalesce_buf): Update the chunks member to use that
10364 type. Adjust all users.
10365
a152954e
TV
103662018-12-19 Tom de Vries <tdevries@suse.de>
10367
10368 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10369 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10370 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10371
49188cd1
TV
103722018-12-19 Tom de Vries <tdevries@suse.de>
10373
10374 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10375 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10376 gcc/testsuite/gcc.dg/goacc.
10377 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10378
c759830b
TS
103792018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10380 Chung-Lin Tang <cltang@codesourcery.com>
10381
10382 * oacc-mem.c (acc_present_or_create): Remove definition and change
10383 to alias of acc_create.
10384 (acc_present_or_copyin): Remove definition and change to alias of
10385 acc_copyin.
10386 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10387 of acc_present_or_create.
10388 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10389 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10390 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10391 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10392 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10393 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10394 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10395 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10396 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10397 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10398 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10399 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10400 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10401 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10402 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10403 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10404
7de562ee
TS
104052018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10406
f847198e
TS
10407 PR libgomp/88495
10408 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10409 "identical parameters".
10410 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10411 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10412
c8ab8aab
TS
10413 PR libgomp/88484
10414 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10415 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10416
1404af62
TS
10417 PR libgomp/88407
10418 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10419 (nvptx_wait_async): Unseen async-argument is a no-op.
10420 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10421 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10422 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10423 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10424 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10425 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10426 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10427 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10428 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10429
7de562ee
TS
10430 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10431 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10432
17469af7
CLT
104332018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10434
10435 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10436 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10437 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10438
18c247cc
TS
104392018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10440
10441 PR libgomp/88370
10442 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10443 (acc_set_cuda_stream): Clarify.
10444 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10445 "async_valid_p".
10446 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10447 acc_async_sync".
10448 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10449 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10450 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10451 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10452
b0aba46c
TV
104532018-12-14 Tom de Vries <tdevries@suse.de>
10454
10455 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10456 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10457 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10458 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10459 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10460
fe0827ee
TV
104612018-12-13 Tom de Vries <tdevries@suse.de>
10462
10463 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10464 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10465 * fortran.c (omp_display_affinity_): ... here.
10466 * libgomp.h (gomp_print_string): Declare.
10467 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10468 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10469 write.
10470
a51f8c92
JJ
104712018-12-13 Jakub Jelinek <jakub@redhat.com>
10472
10473 PR libgomp/88460
10474 * testsuite/libgomp.c++/for-24.C (results): Include it in
10475 omp declare target region.
10476 (main): Use map (always, tofrom: results) instead of
10477 map (tofrom: results).
10478
a6ef2ac9
JJ
104792018-12-12 Jakub Jelinek <jakub@redhat.com>
10480
7a289b7d
JJ
10481 PR fortran/88463
10482 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10483 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10484
a6ef2ac9
JJ
10485 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10486
9c47a019
AS
104872018-12-12 Andreas Schwab <schwab@suse.de>
10488
10489 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10490 clobbered.
10491
d0cbb206
TK
104922018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10493
10494 PR fortran/88411
10495 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10496
84ca08d2
TS
104972018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10498 Jakub Jelinek <jakub@redhat.com>
10499
10500 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10501 devicep->host2dev_func.
10502
6997628d
JJ
105032018-12-08 Jakub Jelinek <jakub@redhat.com>
10504
10505 PR libgomp/87995
10506 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10507 tls_runtime effective target.
10508 (t): New threadprivate variable.
10509 (main): Set t in threads which execute iterations of the worksharing
10510 loop. Propagate that to the task after the loop and don't abort
10511 if the current taskgroup hasn't been cancelled.
10512
daa8c1d7
JJ
105132018-12-02 Jakub Jelinek <jakub@redhat.com>
10514
4a82df9a
JJ
10515 * testsuite/libgomp.c/task-reduction-3.c: New test.
10516
daa8c1d7
JJ
10517 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10518
fe570ff8
CP
105192018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10520
10521 PR libgomp/88288
10522 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10523 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10524
c223608f
TS
105252018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10526
10527 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10528
fc60283c
RB
105292018-10-19 Richard Biener <rguenther@suse.de>
10530
10531 PR tree-optimization/88182
10532 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10533
ffcf3b79
JJ
105342018-11-26 Jakub Jelinek <jakub@redhat.com>
10535
10536 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10537 (RUNTEST): Don't define.
10538 (RUNTESTDEFAULTFLAGS): Add.
10539 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10540 (distclean-am): Depend on distclean-DEJAGNU.
10541 (check-am): If -j% option is present in MFLAGS and if
10542 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10543 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10544 * testsuite/Makefile.in: Regenerated.
10545
ef6e6914
RB
105462018-11-26 Richard Biener <rguenther@suse.de>
10547
10548 PR tree-optimization/88182
10549 * testsuite/libgomp.c++/pr88182.C: New testcase.
10550
72d3bb76
JJ
105512018-11-20 Jakub Jelinek <jakub@redhat.com>
10552
10553 PR bootstrap/88106
10554 * config/mingw32/affinity-fmt.c: New file.
10555
207286c3
JJ
105562018-11-09 Jakub Jelinek <jakub@redhat.com>
10557
9666c522
JJ
10558 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10559 (gomp_display_affinity): Use __builtin_choose_expr to handle
10560 properly handle argument having integral, or pointer or some other
10561 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10562 with uint64_t type instead of %llx and unsigned long long.
10563
207286c3
JJ
10564 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10565 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10566
2033f45b
RO
105672018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10568
10569 * affinity.c: Include <string.h>, <stdio.h>.
10570 (gomp_display_affinity_place): Remove cpusetp.
10571 * teams.c: Include <limits.h>.
10572
28567c40
JJ
105732018-11-08 Jakub Jelinek <jakub@redhat.com>
10574
8991d779
JJ
10575 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10576 in_reduction clause for s[0].
10577
28567c40
JJ
10578 * affinity.c (gomp_display_affinity_place): New function.
10579 * affinity-fmt.c: New file.
10580 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10581 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10582 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10583 Move these functions to ...
10584 * config/nvptx/teams.c: ... here. New file.
10585 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10586 New functions.
10587 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10588 functions.
10589 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10590 and _aligned_malloc.
10591 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10592 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10593 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10594 gomp_affinity_format_len): New variables.
10595 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10596 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10597 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10598 modifiers. Display (non-default) chunk sizes. Print
10599 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10600 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10601 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10602 * fortran.c: Include stdio.h and string.h.
10603 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10604 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10605 (omp_set_affinity_format_, omp_get_affinity_format_,
10606 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10607 omp_pause_resource_all_): New functions.
10608 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10609 switch.
10610 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10611 functions to ...
10612 * teams.c: ... here. New file.
10613 * libgomp_g.h: Include gstdint.h.
10614 (GOMP_loop_nonmonotonic_runtime_start,
10615 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10616 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10617 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10618 GOMP_parallel_loop_nonmonotonic_runtime,
10619 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10620 GOMP_loop_ull_nonmonotonic_runtime_start,
10621 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10622 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10623 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10624 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10625 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10626 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10627 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10628 GOMP_teams_reg): Declare.
10629 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10630 gomp_aligned_alloc uses fallback implementation.
10631 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10632 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10633 (struct gomp_doacross_work_share): Add extra field.
10634 (struct gomp_work_share): Add task_reductions field.
10635 (struct gomp_taskgroup): Add workshare and reductions fields.
10636 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10637 (gomp_thread_handle): New typedef.
10638 (gomp_display_affinity_place, gomp_set_affinity_format,
10639 gomp_display_string, gomp_display_affinity,
10640 gomp_display_affinity_thread): Declare.
10641 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10642 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10643 gomp_workshare_task_reduction_register): Declare.
10644 (gomp_team_start): Add taskgroup argument.
10645 (gomp_pause_host): Declare.
10646 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10647 to size_t.
10648 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10649 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10650 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10651 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10652 GOMP_loop_ull_doacross_start,
10653 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10654 GOMP_loop_maybe_nonmonotonic_runtime_next,
10655 GOMP_loop_maybe_nonmonotonic_runtime_start,
10656 GOMP_loop_nonmonotonic_runtime_next,
10657 GOMP_loop_nonmonotonic_runtime_start,
10658 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10659 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10660 GOMP_loop_ull_nonmonotonic_runtime_next,
10661 GOMP_loop_ull_nonmonotonic_runtime_start,
10662 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10663 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10664 GOMP_taskgroup_reduction_register,
10665 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10666 GOMP_teams_reg and GOMP_taskwait_depend.
10667 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10668 omp_{capture,display}_affinity{,_}, and
10669 omp_[gs]et_affinity_format{,_}.
10670 * loop.c: Include string.h.
10671 (GOMP_loop_runtime_next): Add ialias.
10672 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10673 (gomp_loop_static_start, gomp_loop_dynamic_start,
10674 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10675 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10676 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10677 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10678 or gomp_doacross_init callers.
10679 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10680 GOMP_loop_doacross_start): New functions.
10681 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10682 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10683 Mask off GFS_MONOTONIC bit.
10684 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10685 GOMP_loop_maybe_nonmonotonic_runtime_start,
10686 GOMP_loop_nonmonotonic_runtime_next,
10687 GOMP_loop_nonmonotonic_runtime_start,
10688 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10689 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10690 functions.
10691 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10692 gomp_team_start.
10693 * loop_ull.c: Include string.h.
10694 (GOMP_loop_ull_runtime_next): Add ialias.
10695 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10696 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10697 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10698 gomp_loop_ull_ordered_dynamic_start,
10699 gomp_loop_ull_ordered_guided_start,
10700 gomp_loop_ull_doacross_static_start,
10701 gomp_loop_ull_doacross_dynamic_start,
10702 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10703 and gomp_doacross_ull_init callers.
10704 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10705 GOMP_loop_ull_doacross_start): New functions.
10706 (GOMP_loop_ull_runtime_start,
10707 GOMP_loop_ull_ordered_runtime_start,
10708 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10709 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10710 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10711 GOMP_loop_ull_nonmonotonic_runtime_next,
10712 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10713 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10714 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10715 (omp_pause_resource_t, omp_depend_t): New typedefs.
10716 (enum omp_lock_hint_t): Renamed to ...
10717 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10718 enumerators using numbers and omp_lock_hint_* as their aliases.
10719 (omp_lock_hint_t): New typedef. Rename to ...
10720 (omp_sync_hint_t): ... this.
10721 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10722 omp_sync_hint_t instead of omp_lock_hint_t.
10723 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10724 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10725 Declare.
10726 (omp_target_is_present, omp_target_disassociate_ptr):
10727 Change first argument from void * to const void *.
10728 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10729 from void * to const void *.
10730 (omp_target_associate_ptr): Change first and second arguments from
10731 void * to const void *.
10732 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10733 omp_pause_hard): New parameters.
10734 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10735 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10736 New interfaces.
10737 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10738 omp_pause_hard): New parameters.
10739 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10740 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10741 New externals.
10742 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10743 EXTRA argument. If not needed to prepare array, if extra is 0,
10744 clear ws->doacross, otherwise allocate just doacross structure and
10745 extra payload. If array is needed, allocate also extra payload.
10746 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10747 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10748 doacross == NULL.
10749 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10750 gomp_team_start.
10751 (GOMP_parallel): Likewise. Formatting fix.
10752 (GOMP_parallel_reductions): New function.
10753 (GOMP_cancellation_point): If taskgroup has workshare
10754 flag set, check cancelled of prev taskgroup if any.
10755 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10756 on prev taskgroup if any.
10757 * sections.c: Include string.h.
10758 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10759 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10760 (GOMP_sections2_start): New function.
10761 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10762 Pass NULL as taskgroup to gomp_team_start.
10763 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10764 gomp_work_share_start callers.
10765 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10766 If taskgroup has workshare flag set, check cancelled on prev
10767 taskgroup if any. Guard all cancellation tests with
10768 gomp_cancel_var test.
10769 (omp_target_is_present, omp_target_disassociate_ptr):
10770 Change ptr argument from void * to const void *.
10771 (omp_target_memcpy): Change src argument from void * to const void *.
10772 (omp_target_memcpy_rect): Likewise.
10773 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10774 instead of char * where needed.
10775 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10776 from void * to const void *.
10777 (omp_pause_resource, omp_pause_resource_all): New functions.
10778 * task.c (gomp_task_handle_depend): Handle new depend array format
10779 in addition to the old. Handle mutexinoutset kinds the same as
10780 inout for now, handle unspecified kinds.
10781 (gomp_create_target_task): If taskgroup has workshare flag set, check
10782 cancelled on prev taskgroup if any. Guard all cancellation tests with
10783 gomp_cancel_var test. Handle new depend array format count in
10784 addition to the old.
10785 (GOMP_task): Likewise. Adjust function comment.
10786 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10787 cancelled on prev taskgroup if any. Guard all cancellation tests with
10788 gomp_cancel_var test.
10789 (GOMP_taskwait_depend): New function.
10790 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10791 format in addition to the old. Handle mutexinoutset kinds the same as
10792 inout for now, handle unspecified kinds. Fix a function comment typo.
10793 (gomp_taskgroup_init): New function.
10794 (GOMP_taskgroup_start): Use it.
10795 (gomp_reduction_register, gomp_create_artificial_team,
10796 GOMP_taskgroup_reduction_register,
10797 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10798 gomp_parallel_reduction_register,
10799 gomp_workshare_task_reduction_register,
10800 gomp_workshare_taskgroup_start,
10801 GOMP_workshare_task_reduction_unregister): New functions.
10802 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10803 check cancelled on prev taskgroup if any. Guard all cancellation
10804 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10805 by calling GOMP_taskgroup_reduction_register.
10806 * team.c (gomp_thread_attr): Remove comment.
10807 (struct gomp_thread_start_data): Add handle field.
10808 (gomp_thread_start): Call pthread_detach.
10809 (gomp_new_team): Adjust gomp_init_work_share caller.
10810 (gomp_free_pool_helper): Call pthread_detach.
10811 (gomp_team_start): Add taskgroup argument, initialize implicit
10812 tasks' taskgroup field to that. Don't call
10813 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10814 (gomp_team_end): Determine nesting by thr->ts.level != 0
10815 rather than thr->ts.team != NULL.
10816 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10817 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10818 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10819 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10820 if more than 1 allocate also extra payload at the end of array. Never
10821 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10822 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10823 return true instead of ws.
10824 * Makefile.in: Regenerated.
10825 * configure: Regenerated.
10826 * config.h.in: Regenerated.
10827 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10828 in some cases.
10829 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10830 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10831 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10832 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10833 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10834 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10835 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10836 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10837 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10838 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10839 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10840 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10841 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10842 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10843 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10844 define a different N(test), don't define N(f0) to N(f14), but instead
10845 define N(f20) to N(f34) using != comparisons.
10846 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10847 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10848 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10849 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10850 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10851 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10852 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10853 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10854 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10855 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10856 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10857 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10858 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10859 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10860 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10861 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10862 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10863 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10864 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10865 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10866 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10867 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10868 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10869 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10870 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10871 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10872 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10873 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10874 * testsuite/libgomp.c++/depend-1.C: New test.
10875 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10876 * testsuite/libgomp.c++/depobj-1.C: New test.
10877 * testsuite/libgomp.c++/for-16.C: New test.
10878 * testsuite/libgomp.c++/for-21.C: New test.
10879 * testsuite/libgomp.c++/for-22.C: New test.
10880 * testsuite/libgomp.c++/for-23.C: New test.
10881 * testsuite/libgomp.c++/for-24.C: New test.
10882 * testsuite/libgomp.c++/for-25.C: New test.
10883 * testsuite/libgomp.c++/for-26.C: New test.
10884 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10885 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10886 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10887 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10888 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10889 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10890 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10891 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10892 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10893 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10894 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10895 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10896 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10897 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10898 * testsuite/libgomp.c/task-reduction-1.c: New test.
10899 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10900 * testsuite/libgomp.c/task-reduction-2.c: New test.
10901 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10902 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10903 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10904 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10905 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10906 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10907 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10908 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10909 * testsuite/libgomp.c/teams-1.c: New test.
10910 * testsuite/libgomp.c/teams-2.c: New test.
10911 * testsuite/libgomp.c/thread-limit-4.c: New test.
10912 * testsuite/libgomp.c/thread-limit-5.c: New test.
10913 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10914
58168bbf
CLT
109152018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10916
10917 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10918 acc_memcpy_to/from_device functions, now with async parameter.
10919 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10920 (acc_memcpy_from_device): Likewise.
10921 (acc_memcpy_to_device_async): New API function.
10922 (acc_memcpy_from_device_async): Likewise.
10923 (present_create_copy): Add async parameter and async setting/unsetting.
10924 (acc_create): Adjust present_create_copy call.
10925 (acc_copyin): Likewise.
10926 (acc_present_or_create): Likewise.
10927 (acc_present_or_copyin): Likewise.
10928 (acc_create_async): New API function.
10929 (acc_copyin_async): New API function.
10930 (delete_copyout): Add async parameter and async setting/unsetting.
10931 (acc_delete): Adjust delete_copyout call.
10932 (acc_copyout): Likewise.
10933 (acc_delete_async): New API function.
10934 (acc_copyout_async): Likewise.
10935 (update_dev_host): Add async parameter and async setting/unsetting.
10936 (acc_update_device): Adjust update_dev_host call.
10937 (acc_update_self): Likewise.
10938 (acc_update_device_async): New API function.
10939 (acc_update_self_async): Likewise.
10940 * openacc.h (acc_copyin_async): Declare new API function.
10941 (acc_create_async): Likewise.
10942 (acc_copyout_async): Likewise.
10943 (acc_delete_async): Likewise.
10944 (acc_update_device_async): Likewise.
10945 (acc_update_self_async): Likewise.
10946 (acc_memcpy_to_device_async): Likewise.
10947 (acc_memcpy_from_device_async): Likewise.
10948 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10949 (acc_copyin_async_64_h): New subroutine.
10950 (acc_copyin_async_array_h): New subroutine.
10951 (acc_create_async_32_h): New subroutine.
10952 (acc_create_async_64_h): New subroutine.
10953 (acc_create_async_array_h): New subroutine.
10954 (acc_copyout_async_32_h): New subroutine.
10955 (acc_copyout_async_64_h): New subroutine.
10956 (acc_copyout_async_array_h): New subroutine.
10957 (acc_delete_async_32_h): New subroutine.
10958 (acc_delete_async_64_h): New subroutine.
10959 (acc_delete_async_array_h): New subroutine.
10960 (acc_update_device_async_32_h): New subroutine.
10961 (acc_update_device_async_64_h): New subroutine.
10962 (acc_update_device_async_array_h): New subroutine.
10963 (acc_update_self_async_32_h): New subroutine.
10964 (acc_update_self_async_64_h): New subroutine.
10965 (acc_update_self_async_array_h): New subroutine.
10966 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10967 (acc_copyin_async_64_h): New subroutine.
10968 (acc_copyin_async_array_h): New subroutine.
10969 (acc_create_async_32_h): New subroutine.
10970 (acc_create_async_64_h): New subroutine.
10971 (acc_create_async_array_h): New subroutine.
10972 (acc_copyout_async_32_h): New subroutine.
10973 (acc_copyout_async_64_h): New subroutine.
10974 (acc_copyout_async_array_h): New subroutine.
10975 (acc_delete_async_32_h): New subroutine.
10976 (acc_delete_async_64_h): New subroutine.
10977 (acc_delete_async_array_h): New subroutine.
10978 (acc_update_device_async_32_h): New subroutine.
10979 (acc_update_device_async_64_h): New subroutine.
10980 (acc_update_device_async_array_h): New subroutine.
10981 (acc_update_self_async_32_h): New subroutine.
10982 (acc_update_self_async_64_h): New subroutine.
10983 (acc_update_self_async_array_h): New subroutine.
10984 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10985 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10986 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10987 acc_memcpy_to_device_async*, acc_update_device_async*, and
10988 acc_update_self_async* entries.
10989 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10990 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10991 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10992
22e05272
JM
109932018-10-31 Joseph Myers <joseph@codesourcery.com>
10994
10995 PR bootstrap/82856
10996 * Makefile.am: Include multilib.am
10997 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10998 (CLEANFILES): Remove libgomp.info.
10999 * configure.ac: Remove AC_PREREQ.
11000 * testsuite/Makefile.am (RUNTEST): Remove quotes.
11001 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
11002 Regenerate.
11003
87a5ccfb
JM
110042018-10-29 Joseph Myers <joseph@codesourcery.com>
11005 Julian Brown <julian@codesourcery.com>
11006
11007 * testsuite/libgomp.oacc-c++/this.C: New.
11008
2049befd
CP
110092018-09-18 Cesar Philippidis <cesar@codesourcery.com>
11010
11011 * plugin/plugin-nvptx.c (struct cuda_map): New.
11012 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
11013 h_tail with (cuda_map *) map.
11014 (cuda_map_create): New function.
11015 (cuda_map_destroy): New function.
11016 (map_init): Update to use a linked list of cuda_map objects.
11017 (map_fini): Likewise.
11018 (map_pop): Likewise.
11019 (map_push): Likewise. Return CUdeviceptr instead of void.
11020 (init_streams_for_device): Remove stales references to ptx_stream
11021 members.
11022 (select_stream_for_async): Likewise.
11023 (nvptx_exec): Update call to map_init.
11024
8e36332c
CP
110252018-09-09 Cesar Philippidis <cesar@codesourcery.com>
11026 Julian Brown <julian@codesourcery.com>
11027
11028 PR middle-end/86336
11029 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
11030
2b4c9065
NK
110312018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
11032 Thomas Koenig <tkoenig@gcc.gnu.org>
11033
11034 PR fortran/25829
11035 * testsuite/libgomp.fortran/async_io_1.f90: New test.
11036 * testsuite/libgomp.fortran/async_io_2.f90: New test.
11037 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11038 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11039 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11040 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11041 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11042
bd9b3d3d
CP
110432018-08-13 Cesar Philippidis <cesar@codesourcery.com>
11044 Tom de Vries <tdevries@suse.de>
11045
11046 PR target/85590
11047 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
11048 (cuOccupancyMaxPotentialBlockSize): Declare.
11049 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
11050 CUDA_ONE_CALL_MAYBE_NULL.
11051 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
11052 CUoccupancyB2DSize and declare
11053 cuOccupancyMaxPotentialBlockSize.
11054 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
11055 default num_gangs and num_workers when the driver supports it.
11056
8e09a12f
TV
110572018-08-08 Tom de Vries <tdevries@suse.de>
11058
11059 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
11060 CUDA_ONE_CALL_MAYBE_NULL.
11061 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
11062 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
11063 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
11064 are not found.
11065
cedd9bd0
TV
110662018-08-08 Tom de Vries <tdevries@suse.de>
11067
11068 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
11069 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
11070 present.
11071
b113af95
TV
110722018-08-08 Tom de Vries <tdevries@suse.de>
11073
11074 * plugin/plugin-nvptx.c
11075 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
11076 (nvptx_open_device): Use
11077 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
11078
94767dac
TV
110792018-08-08 Tom de Vries <tdevries@suse.de>
11080
11081 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
11082 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
11083
02150de8
TV
110842018-08-07 Tom de Vries <tdevries@suse.de>
11085
11086 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
11087 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
11088 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
11089 corresponding call in CUDA_ONE_CALL. Add def/undef of
11090 CUDA_ONE_CALL_MAYBE_NULL.
11091 (CUDA_CALL_EXISTS): Define.
11092
9e28b107
TV
110932018-08-07 Tom de Vries <tdevries@suse.de>
11094
11095 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
11096 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
11097 corresponding undefs right after.
11098
09940090
TV
110992018-08-04 Tom de Vries <tdevries@suse.de>
11100
11101 * plugin/configfrag.ac: For --without-cuda-driver, set
11102 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
11103 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
11104 * configure: Regenerate.
11105
77e0a97a
TV
111062018-08-02 Tom de Vries <tdevries@suse.de>
11107
11108 PR target/86660
11109 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
11110 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
11111 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
11112 Same.
11113 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
11114 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
11115 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
11116
701d080a
CP
111172018-08-01 Cesar Philippidis <cesar@codesourcery.com>
11118 Thomas Schwinge <thomas@codesourcery.com>
11119
11120 * config/nvptx/oacc-parallel.c: Truncate.
11121
094db6be
CP
111222018-08-01 Cesar Philippidis <cesar@codesourcery.com>
11123 James Norris <jnorris@codesourcery.com>
11124
11125 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
11126 (map_init, map_pop): Remove use of struct map.
11127 (map_push): Likewise and change argument list.
094db6be
CP
11128 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
11129
8c6310a2
TV
111302018-08-01 Tom de Vries <tdevries@suse.de>
11131
11132 * plugin/cuda-lib.def: New file. Factor out of ...
11133 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
11134 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
11135 using CUDA_CALLS.
11136
1d4a51cf
AV
111372018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
11138
11139 Revert 'AsyncI/O patch committed'.
11140 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
11141 Thomas Koenig <tkoenig@gcc.gnu.org>
11142
11143 PR fortran/25829
11144 * testsuite/libgomp.fortran/async_io_1.f90: New test.
11145 * testsuite/libgomp.fortran/async_io_2.f90: New test.
11146 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11147 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11148 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11149 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11150 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11151
4cdfee3f
TV
111522018-07-30 Tom de Vries <tdevries@suse.de>
11153
11154 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
11155 (nvptx_exec): Ensure worker and vector default dims don't exceed
11156 targ_fn->max_threads_per_block.
11157
0b210c43
TV
111582018-07-30 Tom de Vries <tdevries@suse.de>
11159
11160 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
11161 (nvptx_open_device): Init default_dims for device.
11162 (nvptx_exec): Use default_dims from device.
11163
5883c5cc
JJ
111642018-07-26 Jakub Jelinek <jakub@redhat.com>
11165
5d36384c
JJ
11166 PR testsuite/86660
11167 * testsuite/libgomp.c++/for-15.C (results): Include it in
11168 omp declare target region.
11169 (main): Use map (always, tofrom: results) instead of
11170 map (tofrom: results).
11171
5883c5cc
JJ
11172 PR middle-end/86660
11173 * testsuite/libgomp.c/pr86660.c: New test.
11174
88a4654d
CP
111752018-07-26 Cesar Philippidis <cesar@codesourcery.com>
11176 Tom de Vries <tdevries@suse.de>
11177
11178 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
11179 sufficient resources to launch a kernel, and give a hint on how to fix
11180 it.
11181
0c6c2f5f
CP
111822018-07-26 Cesar Philippidis <cesar@codesourcery.com>
11183 Tom de Vries <tdevries@suse.de>
11184
11185 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
11186 max_threads_per_block and max_threads_per_multiprocessor fields.
11187 (nvptx_open_device): Initialize new fields.
11188 (nvptx_exec): Use num_sms, and new fields.
11189
6dd58010
TV
111902018-07-26 Tom de Vries <tdevries@suse.de>
11191
11192 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
11193 to correct locations. Remove xfail.
11194
b2eb1779
TV
111952018-07-26 Tom de Vries <tdevries@suse.de>
11196
11197 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
11198 acc_wait. Move acc_async_test calls to correct locations. Remove
11199 xfail.
11200
b1f45884
NK
112012018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
11202 Thomas Koenig <tkoenig@gcc.gnu.org>
11203
11204 PR fortran/25829
11205 * testsuite/libgomp.fortran/async_io_1.f90: New test.
11206 * testsuite/libgomp.fortran/async_io_2.f90: New test.
11207 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11208 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11209 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11210 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11211 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11212
3a106211
JJ
112132018-07-17 Jakub Jelinek <jakub@redhat.com>
11214
a3bccfa1
JJ
11215 PR middle-end/86542
11216 * testsuite/libgomp.c++/pr86542.C: New test.
11217
3a106211
JJ
11218 PR middle-end/86539
11219 * testsuite/libgomp.c++/pr86539.C: New test.
11220
2bae8b2f
JJ
112212018-07-11 Jakub Jelinek <jakub@redhat.com>
11222
11223 PR c++/86443
11224 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
11225 (results): Make sure the variable is not inside declare target region.
11226 (qux): Remove unused function.
11227
0b27c3ed
JJ
112282018-07-10 Jakub Jelinek <jakub@redhat.com>
11229
11230 PR c++/86443
11231 * testsuite/libgomp.c++/for-15.C: New test.
11232
f0391511
JJ
112332018-06-26 Jakub Jelinek <jakub@redhat.com>
11234
11235 PR c++/86291
11236 * testsuite/libgomp.c++/pr86291.C: New test.
11237
1a6d1d24
GP
112382018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
11239
11240 * libgomp.texi (Top): Move www.openmp.org to https.
11241 (Enabling OpenMP): Ditto.
11242 (omp_get_active_level): Ditto.
11243 (omp_get_ancestor_thread_num): Ditto.
11244 (omp_get_cancellation): Ditto.
11245 (omp_get_default_device): Ditto.
11246 (omp_get_dynamic): Ditto.
11247 (omp_get_level): Ditto.
11248 (omp_get_max_active_levels): Ditto.
11249 (omp_get_max_task_priority): Ditto.
11250 (omp_get_max_threads): Ditto.
11251 (omp_get_nested): Ditto.
11252 (omp_get_num_devices): Ditto.
11253 (omp_get_num_procs): Ditto.
11254 (omp_get_num_teams): Ditto.
11255 (omp_get_num_threads): Ditto.
11256 (omp_get_proc_bind): Ditto.
11257 (omp_get_schedule): Ditto.
11258 (omp_get_team_num): Ditto.
11259 (omp_get_team_size): Ditto.
11260 (omp_get_thread_limit): Ditto.
11261 (omp_get_thread_num): Ditto.
11262 (omp_in_parallel): Ditto.
11263 (omp_in_final): Ditto.
11264 (omp_is_initial_device): Ditto.
11265 (omp_set_default_device): Ditto.
11266 (omp_set_dynamic): Ditto.
11267 (omp_set_max_active_levels): Ditto.
11268 (omp_set_nested): Ditto.
11269 (omp_set_num_threads): Ditto.
11270 (omp_set_schedule): Ditto.
11271 (omp_init_lock): Ditto.
11272 (omp_set_lock): Ditto.
11273 (omp_test_lock): Ditto.
11274 (omp_unset_lock): Ditto.
11275 (omp_destroy_lock): Ditto.
11276 (omp_init_nest_lock): Ditto.
11277 (omp_set_nest_lock): Ditto.
11278 (omp_test_nest_lock): Ditto.
11279 (omp_unset_nest_lock): Ditto.
11280 (omp_destroy_nest_lock): Ditto.
11281 (omp_get_wtick): Ditto.
11282 (omp_get_wtime): Ditto.
11283 (OMP_CANCELLATION): Ditto.
11284 (OMP_DISPLAY_ENV): Ditto.
11285 (OMP_DEFAULT_DEVICE): Ditto.
11286 (OMP_DYNAMIC): Ditto.
11287 (OMP_MAX_ACTIVE_LEVELS): Ditto.
11288 (OMP_MAX_TASK_PRIORITY): Ditto.
11289 (OMP_NESTED): Ditto.
11290 (OMP_NUM_THREADS): Ditto.
11291 (OMP_PROC_BIND): Ditto.
11292 (OMP_PLACES): Ditto.
11293 (OMP_STACKSIZE): Ditto.
11294 (OMP_SCHEDULE): Ditto.
11295 (OMP_THREAD_LIMIT): Ditto.
11296 (OMP_WAIT_POLICY): Ditto.
11297
31dd69b7
CP
112982018-06-22 Cesar Philippidis <cesar@codesourcery.com>
11299 James Norris <jnorris@codesourcery.com>
11300 Julian Brown <julian@codesourcery.com>
11301 Thomas Schwinge <thomas@codesourcery.com>
11302 Tom de Vries <tom@codesourcery.com>
11303
11304 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11305 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11306 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11307 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11308 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11309 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11310 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11311 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11312 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11313 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11314 Likewise.
11315 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11316 Likewise.
11317 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11318 Likewise.
11319 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11320 Likewise.
11321 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11322 Likewise.
11323 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11324 Likewise.
11325 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11326 Likewise.
11327 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11328 Likewise.
11329 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11330 Likewise.
11331 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11332 Likewise.
11333 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11334 Likewise.
11335 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11336 Likewise.
11337 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11338 Likewise.
11339 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11340 Likewise.
11341 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11342 Likewise.
11343 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11344 Likewise.
11345 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11346 Likewise.
11347 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11348 Likewise.
11349 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11350 Likewise.
11351 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11352 Likewise.
11353 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11354 Likewise.
11355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11356 Likewise.
11357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11358 Likewise.
11359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11360 Likewise.
11361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11362 Likewise.
11363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11364 Likewise.
11365 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11366 Likewise.
11367 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11368 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11369 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11370 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11371 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11372 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11373 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11374 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11375 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11376 Likewise.
11377 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11378 Likewise.
11379 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11380 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11381 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11382 Likewise.
11383 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11384 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11385 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11386 Likewise.
11387 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11388 Likewise.
11389 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11390 Likewise.
11391 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11392 Likewise.
11393 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11394 Likewise.
11395 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11396 Likewise.
11397 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11398 Likewise.
11399 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11400 Likewise.
11401 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11402 Likewise.
11403 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11404 Likewise.
11405 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11406 Likewise.
11407 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11408 Likewise.
11409 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11410 Likewise.
11411 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11412 Likewise.
11413 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11414 Likewise.
11415 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11416 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11417 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11418 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11419 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11420 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11421 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11422
829c6349
CLT
114232018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11424 Thomas Schwinge <thomas@codesourcery.com>
11425 Cesar Philippidis <cesar@codesourcery.com>
11426
11427 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11428 (gomp_acc_remove_pointer): Update declaration.
11429 (gomp_acc_declare_allocate): Declare.
11430 (gomp_remove_var): Declare.
11431 * libgomp.map (OACC_2.5): Define.
11432 * oacc-mem.c (acc_map_data): Update refcount.
11433 (acc_unmap_data): Likewise.
11434 (present_create_copy): Likewise.
11435 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11436 (acc_copyin): Likewise.
11437 (FLAG_FINALIZE): Define.
11438 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11439 (acc_delete_finalize): New function.
11440 (acc_delete_finalize_async): New function.
11441 (acc_copyout_finalize): New function.
11442 (acc_copyout_finalize_async): New function.
11443 (gomp_acc_insert_pointer): Update refcounts.
11444 (gomp_acc_remove_pointer): Return if data is not present on the
11445 accelerator.
11446 * oacc-parallel.c (find_pset): Rename to find_pointer.
11447 (find_pointer): Add support for GOMP_MAP_POINTER.
11448 (handle_ftn_pointers): New function.
11449 (GOACC_parallel_keyed): Update refcounts of variables.
11450 (GOACC_enter_exit_data): Add support for finalized data mappings.
11451 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11452 of fortran arrays.
11453 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11454 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11455 for GOMP_MAP_FORCE_FROM.
11456 * openacc.f90 (module openacc_internal): Add
11457 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11458 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11459 acc_copyout_finalize and acc_delete_finalize.
11460 (acc_copyout_finalize_32_h): New subroutine.
11461 (acc_copyout_finalize_64_h): New subroutine.
11462 (acc_copyout_finalize_array_h): New subroutine.
11463 (acc_delete_finalize_32_h): New subroutine.
11464 (acc_delete_finalize_64_h): New subroutine.
11465 (acc_delete_finalize_array_h): New subroutine.
11466 * openacc.h (acc_copyout_finalize): Declare.
11467 (acc_copyout_finalize_async): Declare.
11468 (acc_delete_finalize): Declare.
11469 (acc_delete_finalize_async): Declare.
11470 * openacc_lib.h (acc_copyout_finalize): New interface.
11471 (acc_delete_finalize): New interface.
11472 * target.c (gomp_map_vars): Update dynamic_refcount.
11473 (gomp_remove_var): New function.
11474 (gomp_unmap_vars): Use it.
11475 (gomp_unload_image_from_device): Likewise.
11476 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11477 case to utilize OpenACC 2.5 data clause semantics.
11478 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11479 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11480 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11481 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11482 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11483 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11484 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11485 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11486 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11487 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11488 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11489 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11490 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11491 utilize OpenACC 2.5 data clause semantics.
11492 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11493 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11494 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11495 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11496 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11497 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11498 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11499 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11500 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11501
4358400b
JW
115022018-05-21 Janus Weil <janus@gcc.gnu.org>
11503
11504 PR fortran/85841
11505 PR testsuite/85865
11506 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11507 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11508 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11509 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11510 * testsuite/libgomp.fortran/task2.f90: Ditto.
11511 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11512 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11513 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11514 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11515 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11516 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11517 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11518 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11519 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11520
950ad0ba
CP
115212018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11522
11523 PR c++/85782
11524 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11525
f5ad16f1
TV
115262018-05-09 Tom de Vries <tom@codesourcery.com>
11527
11528 PR libgomp/82901
11529 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11530 to GOACC_enter_exit_data.
11531
edbd038a
TV
115322018-05-09 Tom de Vries <tom@codesourcery.com>
11533
11534 PR libgomp/83792
11535 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11536 (async_synchronous_p): New function.
11537 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11538 async_valid_p.
11539 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11540 async_valid_stream_id_p.
11541 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11542 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11543
37d6c719
TV
115442018-05-07 Tom de Vries <tom@codesourcery.com>
11545
11546 PR testsuite/85677
11547 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11548 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11549
63f12215
TV
115502018-05-03 Tom de Vries <tom@codesourcery.com>
11551
11552 PR testsuite/85106
11553 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11554 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11555 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11556 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11557
ec00d3fa
TV
115582018-05-02 Tom de Vries <tom@codesourcery.com>
11559
11560 PR libgomp/85411
11561 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11562 GOMP_OPENACC_DIM ...
11563 * env.c (parse_gomp_openacc_dim): ... here. New function.
11564 (initialize_env): Call parse_gomp_openacc_dim.
11565 (goacc_default_dims): Define.
11566 * libgomp.h (goacc_default_dims): Declare.
11567 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11568 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11569 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11570 GOMP_PLUGIN_acc_default_dim.
11571 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11572 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11573
92243e7c
TV
115742018-05-02 Tom de Vries <tom@codesourcery.com>
11575
11576 PR testsuite/83791
11577 * testsuite/libgomp.c++/udr-9.C: Update.
11578 * testsuite/libgomp.c++/atomic-16.C: Remove.
11579 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11580 * testsuite/libgomp.c++/loop-13.C: Remove.
11581 * testsuite/libgomp.c++/loop-14.C: Remove.
11582 * testsuite/libgomp.c++/loop-15.C: Remove.
11583 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11584 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11585 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11586 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11587 * testsuite/libgomp.c++/ordered-1.C: Remove.
11588 * testsuite/libgomp.c++/pr45784.C: Remove.
11589 * testsuite/libgomp.c++/pr64824.C: Remove.
11590 * testsuite/libgomp.c++/pr64868.C: Remove.
11591 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11592 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11593 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11594 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11595 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11596 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11597 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11598 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11599 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11600 * testsuite/libgomp.c++/pr69389.C: Remove.
11601 * testsuite/libgomp.c++/simd10.C: Remove.
11602 * testsuite/libgomp.c++/simd11.C: Remove.
11603 * testsuite/libgomp.c++/simd12.C: Remove.
11604 * testsuite/libgomp.c++/simd13.C: Remove.
11605 * testsuite/libgomp.c++/target-1.C: Remove.
11606 * testsuite/libgomp.c++/target-3.C: Remove.
11607 * testsuite/libgomp.c++/target-4.C: Remove.
11608 * testsuite/libgomp.c++/target-5.C: Remove.
11609 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11610 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11611 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11612 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11613 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11614 * testsuite/libgomp.c++/udr-9.C: Remove.
11615 * testsuite/libgomp.c++/for-10.C: Remove.
11616 * testsuite/libgomp.c++/for-11.C: Remove.
11617 * testsuite/libgomp.c++/for-12.C: Remove.
11618 * testsuite/libgomp.c++/for-13.C: Remove.
11619 * testsuite/libgomp.c++/for-14.C: Remove.
11620 * testsuite/libgomp.c++/for-9.C: Remove.
11621 * testsuite/libgomp.c/atomic-18.c: Move ...
11622 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11623 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11624 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11625 * testsuite/libgomp.c/loop-13.c: Move ...
11626 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11627 * testsuite/libgomp.c/loop-14.c: Move ...
11628 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11629 * testsuite/libgomp.c/loop-15.c: Remove.
11630 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11631 * testsuite/libgomp.c/monotonic-1.c: Move ...
11632 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11633 * testsuite/libgomp.c/monotonic-2.c: Move ...
11634 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11635 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11636 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11637 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11638 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11639 * testsuite/libgomp.c/ordered-4.c: Move ...
11640 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11641 * testsuite/libgomp.c/pr45784.c: Move ...
11642 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11643 * testsuite/libgomp.c/pr64824.c: Move ...
11644 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11645 * testsuite/libgomp.c/pr64868.c: Move ...
11646 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11647 * testsuite/libgomp.c/pr66199-1.c: Move ...
11648 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11649 * testsuite/libgomp.c/pr66199-2.c: Move ...
11650 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11651 * testsuite/libgomp.c/pr66199-3.c: Move ...
11652 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11653 * testsuite/libgomp.c/pr66199-4.c: Move ...
11654 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11655 * testsuite/libgomp.c/pr66199-5.c: Move ...
11656 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11657 * testsuite/libgomp.c/pr66199-6.c: Move ...
11658 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11659 * testsuite/libgomp.c/pr66199-7.c: Move ...
11660 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11661 * testsuite/libgomp.c/pr66199-8.c: Move ...
11662 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11663 * testsuite/libgomp.c/pr66199-9.c: Move ...
11664 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11665 * testsuite/libgomp.c/pr69389.c: Move ...
11666 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11667 * testsuite/libgomp.c/simd-14.c: Move ...
11668 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11669 * testsuite/libgomp.c/simd-15.c: Move ...
11670 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11671 * testsuite/libgomp.c/simd-16.c: Move ...
11672 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11673 * testsuite/libgomp.c/simd-17.c: Move ...
11674 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11675 * testsuite/libgomp.c/target-1.c: Move ...
11676 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11677 * testsuite/libgomp.c/target-10.c: Move ...
11678 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11679 * testsuite/libgomp.c/target-13.c: Move ...
11680 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11681 * testsuite/libgomp.c/target-2.c: Move ...
11682 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11683 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11684 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11685 * testsuite/libgomp.c/taskloop-1.c: Move ...
11686 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11687 * testsuite/libgomp.c/taskloop-2.c: Move ...
11688 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11689 * testsuite/libgomp.c/taskloop-3.c: Move ...
11690 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11691 * testsuite/libgomp.c/taskloop-4.c: Move ...
11692 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11693 * testsuite/libgomp.c/udr-1.c: Move ...
11694 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11695 * testsuite/libgomp.c/for-1.c: Move ...
11696 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11697 * testsuite/libgomp.c/for-1.h: Move ...
11698 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11699 * testsuite/libgomp.c/for-2.c: Move ...
11700 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11701 * testsuite/libgomp.c/for-2.h: Move ...
11702 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11703 * testsuite/libgomp.c/for-3.c: Move ...
11704 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11705 * testsuite/libgomp.c/for-4.c: Move ...
11706 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11707 * testsuite/libgomp.c/for-5.c: Move ...
11708 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11709 * testsuite/libgomp.c/for-6.c: Move ...
11710 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11711
1f62d637
TV
117122018-05-02 Tom de Vries <tom@codesourcery.com>
11713
11714 PR libgomp/82428
11715 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11716 __builtin_goacc_parlevel_{id,size}.
11717 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11718 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11719 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11720 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11721 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11722 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11723 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11724 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11725 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11726 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11727 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11728 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11729 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11730 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11731 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11732 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11733 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11734 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11735 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11736 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11737 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11738 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11739 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11740
9220b511
TV
117412018-05-02 Tom de Vries <tom@codesourcery.com>
11742
11743 PR testsuite/85106
11744 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11745
6c3c13c1
TV
117462018-05-02 Tom de Vries <tom@codesourcery.com>
11747
11748 PR testsuite/85106
11749 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11750
8d70b61e
JB
117512018-04-29 Julian Brown <julian@codesourcery.com>
11752 Tom de Vries <tom@codesourcery.com>
11753
11754 PR testsuite/85527
11755 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11756 arbitrary order for iterations of atomic subtract check.
11757
4a57a4b6
TV
117582018-04-28 Tom de Vries <tom@codesourcery.com>
11759
11760 PR testsuite/85527
11761 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11762 atomic capture results obtained in parallel loop to an array, instead of
11763 to a scalar.
11764
df36a3d3
TV
117652018-04-26 Tom de Vries <tom@codesourcery.com>
11766
11767 PR libgomp/84020
11768 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11769 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11770 (process_GOMP_NVPTX_JIT): New function.
11771 (link_ptx): Use process_GOMP_NVPTX_JIT.
11772
d160ae78
RB
117732018-04-26 Richard Biener <rguenther@suse.de>
11774 Tom de Vries <tom@codesourcery.com>
11775
11776 PR lto/85422
11777 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11778
ca9dc642
TV
117792018-04-26 Tom de Vries <tom@codesourcery.com>
11780
11781 PR target/85519
11782 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11783 recursion depth from 25 to 23.
11784 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11785
7b47ecf2
L
117862018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11787
11788 * configure: Regenerated.
11789
e91eba31
NS
117902018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11791 Tom de Vries <tom@codesourcery.com>
11792
11793 PR target/85445
11794 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11795
6e0d40b6
TS
117962018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11797
11798 PR libgomp/85463
11799 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11800 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11801 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11802 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11803 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11804 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11805
11806 PR libfortran/85166
11807 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11808 abort".
11809 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11810
a0e1df88
JJ
118112018-04-19 Jakub Jelinek <jakub@redhat.com>
11812
11813 * configure: Regenerated.
11814
001ddaa8
DM
118152018-04-18 David Malcolm <dmalcolm@redhat.com>
11816
11817 PR jit/85384
11818 * configure: Regenerate.
11819
05e0af43
CP
118202018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11821 Tom de Vries <tom@codesourcery.com>
11822
11823 PR middle-end/84955
11824 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11825 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11826
bc436e10
TK
118272018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11828
11829 PR fortran/83064
11830 PR testsuite/85346
11831 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11832 test from gfortran.dg to here.
11833
ffb164c7
JJ
118342018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11835
11836 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11837 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11838
118392018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11840
11841 PR middle-end/84955
11842 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11843 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11844
2ba16fd2
TV
118452018-04-05 Tom de Vries <tom@codesourcery.com>
11846
11847 PR target/85204
11848 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11849
46dbeb40
TV
118502018-03-26 Tom de Vries <tom@codesourcery.com>
11851
11852 PR tree-optimization/85063
11853 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11854 * testsuite/libgomp.c/switch-conversion.c: New test.
11855 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11856 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11857
bfc24e32
TK
118582018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11859
11860 PR fortran/84381
11861 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11862 call abort by STOP n.
11863 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11864 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11865 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11866 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11867 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11868 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11869 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11870 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11871 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11872 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11873 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11874 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11875 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11876 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11877 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11878 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11879 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11880 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11881 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11882 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11883 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11884 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11885 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11886 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11887 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11888 * testsuite/libgomp.fortran/character1.f90: Likewise.
11889 * testsuite/libgomp.fortran/character2.f90: Likewise.
11890 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11891 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11892 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11893 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11894 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11895 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11896 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11897 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11898 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11899 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11900 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11901 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11902 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11903 * testsuite/libgomp.fortran/do1.f90: Likewise.
11904 * testsuite/libgomp.fortran/do2.f90: Likewise.
11905 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11906 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11907 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11908 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11909 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11910 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11911 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11912 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11913 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11914 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11915 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11916 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11917 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11918 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11919 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11920 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11921 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11922 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11923 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11924 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11925 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11926 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11927 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11928 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11929 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11930 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11931 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11932 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11933 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11934 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11935 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11936 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11937 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11938 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11939 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11940 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11941 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11942 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11943 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11944 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11945 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11946 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11947 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11948 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11949 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11950 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11951 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11952 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11953 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11954 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11955 * testsuite/libgomp.fortran/lib2.f: Likewise.
11956 * testsuite/libgomp.fortran/lib3.f: Likewise.
11957 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11958 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11959 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11960 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11961 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11962 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11963 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11964 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11965 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11966 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11967 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11968 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11969 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11970 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11971 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11972 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11973 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11974 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11975 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11976 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11977 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11978 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11979 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11980 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11981 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11982 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11983 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11984 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11985 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11986 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11987 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11988 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11989 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11990 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11991 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11992 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11993 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11994 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11995 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11996 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11997 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11998 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11999 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
12000 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
12001 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
12002 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
12003 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
12004 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
12005 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
12006 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
12007 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
12008 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
12009 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
12010 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
12011 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
12012 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
12013 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
12014 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
12015 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
12016 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
12017 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
12018 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
12019 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
12020 * testsuite/libgomp.fortran/reference1.f90: Likewise.
12021 * testsuite/libgomp.fortran/reference2.f90: Likewise.
12022 * testsuite/libgomp.fortran/retval1.f90: Likewise.
12023 * testsuite/libgomp.fortran/retval2.f90: Likewise.
12024 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
12025 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
12026 * testsuite/libgomp.fortran/simd1.f90: Likewise.
12027 * testsuite/libgomp.fortran/simd2.f90: Likewise.
12028 * testsuite/libgomp.fortran/simd3.f90: Likewise.
12029 * testsuite/libgomp.fortran/simd4.f90: Likewise.
12030 * testsuite/libgomp.fortran/simd5.f90: Likewise.
12031 * testsuite/libgomp.fortran/simd6.f90: Likewise.
12032 * testsuite/libgomp.fortran/simd7.f90: Likewise.
12033 * testsuite/libgomp.fortran/stack.f90: Likewise.
12034 * testsuite/libgomp.fortran/strassen.f90: Likewise.
12035 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
12036 * testsuite/libgomp.fortran/tabs2.f: Likewise.
12037 * testsuite/libgomp.fortran/target1.f90: Likewise.
12038 * testsuite/libgomp.fortran/target2.f90: Likewise.
12039 * testsuite/libgomp.fortran/target3.f90: Likewise.
12040 * testsuite/libgomp.fortran/target4.f90: Likewise.
12041 * testsuite/libgomp.fortran/target5.f90: Likewise.
12042 * testsuite/libgomp.fortran/target6.f90: Likewise.
12043 * testsuite/libgomp.fortran/target7.f90: Likewise.
12044 * testsuite/libgomp.fortran/target8.f90: Likewise.
12045 * testsuite/libgomp.fortran/task1.f90: Likewise.
12046 * testsuite/libgomp.fortran/task2.f90: Likewise.
12047 * testsuite/libgomp.fortran/task3.f90: Likewise.
12048 * testsuite/libgomp.fortran/task4.f90: Likewise.
12049 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
12050 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
12051 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
12052 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
12053 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
12054 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
12055 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
12056 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
12057 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
12058 * testsuite/libgomp.fortran/udr1.f90: Likewise.
12059 * testsuite/libgomp.fortran/udr10.f90: Likewise.
12060 * testsuite/libgomp.fortran/udr11.f90: Likewise.
12061 * testsuite/libgomp.fortran/udr12.f90: Likewise.
12062 * testsuite/libgomp.fortran/udr13.f90: Likewise.
12063 * testsuite/libgomp.fortran/udr14.f90: Likewise.
12064 * testsuite/libgomp.fortran/udr15.f90: Likewise.
12065 * testsuite/libgomp.fortran/udr2.f90: Likewise.
12066 * testsuite/libgomp.fortran/udr3.f90: Likewise.
12067 * testsuite/libgomp.fortran/udr4.f90: Likewise.
12068 * testsuite/libgomp.fortran/udr5.f90: Likewise.
12069 * testsuite/libgomp.fortran/udr6.f90: Likewise.
12070 * testsuite/libgomp.fortran/udr7.f90: Likewise.
12071 * testsuite/libgomp.fortran/udr8.f90: Likewise.
12072 * testsuite/libgomp.fortran/udr9.f90: Likewise.
12073 * testsuite/libgomp.fortran/vla1.f90: Likewise.
12074 * testsuite/libgomp.fortran/vla2.f90: Likewise.
12075 * testsuite/libgomp.fortran/vla3.f90: Likewise.
12076 * testsuite/libgomp.fortran/vla4.f90: Likewise.
12077 * testsuite/libgomp.fortran/vla5.f90: Likewise.
12078 * testsuite/libgomp.fortran/vla6.f90: Likewise.
12079 * testsuite/libgomp.fortran/vla7.f90: Likewise.
12080 * testsuite/libgomp.fortran/vla8.f90: Likewise.
12081 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
12082 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
12083 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12084 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12085 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12086 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12087 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12088 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12089 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12090 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12091 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
12092 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
12093 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
12094 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
12095 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
12096 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12097 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12098 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12099 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12100 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12101 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12102 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12103 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12104 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
12105 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
12106 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12107 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12108 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12109 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12110 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12111 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12112 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12113 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12114 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12115 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12116 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12117 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12118 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12119 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
12120 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12121 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
12122 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12123 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
12124 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
12125 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
12126 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
12127 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
12128 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
12129 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12130 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12131 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12132 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12133 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
12134 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12135 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12136 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12137 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12138 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12139 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12140 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12141 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12142 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12143 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12144 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12145 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12146 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12147 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
12148 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12149 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
12150 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12151 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
12152 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
12153 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
12154 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
12155 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12156 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12157 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12158 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12159 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12160 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12161 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12162 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12163 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
12164 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
12165 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12166 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12167 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12168 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12169 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
12170 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
12171 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
12172 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12173 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12174 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
12175
79cf14ae
RB
121762018-03-20 Richard Biener <rguenther@suse.de>
12177
12178 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
12179 parallelizable loop.
12180
14e335ed
IT
121812018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12182
12183 PR target/84148
12184 * configure: Regenerate.
12185
83d9be55
JJ
121862018-02-16 Jakub Jelinek <jakub@redhat.com>
12187
12188 PR fortran/84418
12189 * libgomp.fortran/pr84418-1.f90: New test.
12190 * libgomp.fortran/pr84418-2.f90: New test.
12191
d1fe6124
JJ
121922018-02-14 Jakub Jelinek <jakub@redhat.com>
12193
12194 PR fortran/84313
12195 * testsuite/libgomp.fortran/threadprivate4.f90: Add
12196 -std=f2003 -fall-intrinsics into dg-additional-options.
12197
3d224921
MJ
121982018-02-08 Martin Jambor <mjambor@suse.cz>
12199
12200 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
12201 clonable.
12202
c7c30edd
MJ
122032018-02-08 Martin Jambor <mjambor@suse.cz>
12204
12205 * testsuite/libgomp.hsa.c/staticvar.c: New test.
12206
f320fdfd
RO
122072018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12208
12209 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
12210 [__cplusplus]: Declare extern "C".
12211
c31bc4ac
TV
122122018-02-07 Tom de Vries <tom@codesourcery.com>
12213
12214 PR libgomp/84217
12215 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
12216
99ae7ce5
CS
122172018-01-29 Christoph Spiel <cspiel@freenet.de>
12218 Jakub Jelinek <jakub@redhat.com>
12219
12220 PR libgomp/84096
12221 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
12222 instead of omp_lock_t.
12223
e77a1236
TV
122242018-01-25 Tom de Vries <tom@codesourcery.com>
12225
12226 PR target/84028
12227 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
12228
3dede32b
TV
122292018-01-24 Tom de Vries <tom@codesourcery.com>
12230
12231 PR target/83589
12232 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
12233
be606483
TV
122342018-01-24 Tom de Vries <tom@codesourcery.com>
12235
12236 PR target/81352
12237 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
12238
8c8e9a6b
TV
122392018-01-19 Tom de Vries <tom@codesourcery.com>
12240 Cesar Philippidis <cesar@codesourcery.com>
12241
12242 PR target/83920
12243 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
12244 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
12245
65e6aea3
JJ
122462018-01-03 Jakub Jelinek <jakub@redhat.com>
12247
85ec4feb
JJ
12248 Update copyright years.
12249
65e6aea3
JJ
12250 * libgomp.texi: Bump @copying's copyright year.
12251
60bf575c
TV
122522017-12-30 Tom de Vries <tom@codesourcery.com>
12253
12254 PR libgomp/83046
12255 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12256 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12257
7ec16b79
TV
122582017-12-27 Tom de Vries <tom@codesourcery.com>
12259
12260 PR c++/83046
12261 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12262 (test_nonstatic): Fix return type to workaround PR83046.
12263
ac550b9a
JJ
122642017-12-05 Jakub Jelinek <jakub@redhat.com>
12265
12266 PR testsuite/83281
12267 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12268 j suffix instead of i.
12269 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12270 Likewise.
12271
ebdc83f0
CP
122722017-12-01 Cesar Philippidis <cesar@codesourcery.com>
12273
12274 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12275 call to acc_wait (1).
12276
3b3e6283
JJ
122772017-11-24 Jakub Jelinek <jakub@redhat.com>
12278
12279 PR fortran/81304
12280 * testsuite/libgomp.fortran/pr81304.f90: New test.
12281
3b575376
JJ
122822017-11-23 Jakub Jelinek <jakub@redhat.com>
12283
12284 PR fortran/81841
12285 * libgomp.fortran/pr81841.f90: New test.
12286
b13547d8
JJ
122872017-11-22 Jakub Jelinek <jakub@redhat.com>
12288
12289 PR libgomp/83106
12290 * target.c (gomp_target_init): Compute lengths just once and
12291 use them in both malloc size and subsequent copying.
12292
efe33ced
IT
122932017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12294
12295 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12296 * acinclude.m4: Add cet.m4.
12297 * configure: Regenerate.
12298 * Makefile.in: Likewise.
12299 * testsuite/Makefile.in: Likewise.
12300
a7cf2612
TV
123012017-11-15 Tom de Vries <tom@codesourcery.com>
12302
12303 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12304 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
12305 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12306 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
12307 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12308 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
12309
dde76623
TV
123102017-11-14 Tom de Vries <tom@codesourcery.com>
12311
12312 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12313 non-nvidia devices.
12314
4dbeb716
JJ
123152017-11-07 Jakub Jelinek <jakub@redhat.com>
12316
12317 PR c++/82835
12318 * testsuite/libgomp.c++/pr82835.C: New test.
12319
454f8b2b
ML
123202017-11-06 Martin Liska <mliska@suse.cz>
12321
12322 * testsuite/libgomp.c++/loop-2.C: Return a value
12323 for functions with non-void return type, or change type to void,
12324 or add -Wno-return-type for test.
12325 * testsuite/libgomp.c++/loop-4.C: Likewise.
12326 * testsuite/libgomp.c++/parallel-1.C: Likewise.
12327 * testsuite/libgomp.c++/shared-1.C: Likewise.
12328 * testsuite/libgomp.c++/single-1.C: Likewise.
12329 * testsuite/libgomp.c++/single-2.C: Likewise.
12330
12e9c8ce
TV
123312017-10-31 Tom de Vries <tom@codesourcery.com>
12332
12333 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12334 "do {} while (false)".
12335 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12336 after HSA_DEBUG call.
12337
7324369a
JJ
123382017-10-28 Jakub Jelinek <jakub@redhat.com>
12339
12340 * target.c (struct gomp_coalesce_buf): New type.
12341 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12342 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12343 (gomp_copy_host2dev): Add CBUF argument, if copying into
12344 the cached ranges, memcpy into buffer instead of copying
12345 into device.
12346 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12347 Add CBUF argument, pass it through to other calls.
12348 (gomp_map_vars): Aggregate copies from host to device if small enough
12349 and with small enough gaps in between into memcpy into a buffer and
12350 fewer host to device copies from the buffer.
12351 (gomp_update): Adjust gomp_copy_host2dev caller.
12352
933ab0e6
TS
123532017-10-17 Thomas Schwinge <thomas@codesourcery.com>
12354
12355 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12356 run" directive.
12357 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12358 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12359 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12360 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12361
92d5d01a
TV
123622017-10-16 Tom de Vries <tom@codesourcery.com>
12363
12364 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12365 openacc_nvidia_accel_selected.
12366 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12367 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12368 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12369 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12370 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12371 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12372 openacc_nvidia_accel_selected. Skip for shared memory device.
12373 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12374 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12375
191411e4
MJ
123762017-10-09 Martin Jambor <mjambor@suse.cz>
12377
12378 PR hsa/82416
12379 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12380
e923330e
TV
123812017-10-07 Tom de Vries <tom@codesourcery.com>
12382
12383 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12384 Remove acc_device_nvidia references.
12385 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12386 Same.
12387
8fe3ed4c
TV
123882017-10-05 Tom de Vries <tom@codesourcery.com>
12389
12390 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12391 vector_length(32) clause from acc parallel directive.
12392 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12393
26596ee5
TV
123942017-10-04 Tom de Vries <tom@codesourcery.com>
12395
12396 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12397 (main): Reduce sum of arr elements. Assert that hres is exactly
12398 representable in 32-bit floating point.
12399 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12400 (main): Reduce sum of arr elements. Assert that hres and hmres are
12401 exactly representable in 32-bit floating point.
12402 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12403
5c561fa9
TV
124042017-09-28 Tom de Vries <tom@codesourcery.com>
12405
12406 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12407 setting.
12408 * testsuite/libgomp.c++/pr69393.C: Same.
12409 * testsuite/libgomp.c++/taskloop-1.C: Same.
12410 * testsuite/libgomp.c++/taskloop-3.C: Same.
12411 * testsuite/libgomp.c++/taskloop-4.C: Same.
12412 * testsuite/libgomp.c/for-4.c: Same.
12413 * testsuite/libgomp.c/pr66199-3.c: Same.
12414 * testsuite/libgomp.c/pr66199-4.c: Same.
12415 * testsuite/libgomp.c/pr66199-6.c: Same.
12416 * testsuite/libgomp.c/taskloop-1.c: Same.
12417 * testsuite/libgomp.c/taskloop-3.c: Same.
12418 * testsuite/libgomp.c/taskloop-4.c: Same.
12419 * testsuite/libgomp.fortran/aligned1.f03: Same.
12420 * testsuite/libgomp.fortran/condinc1.f: Same.
12421 * testsuite/libgomp.fortran/condinc3.f90: Same.
12422 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12423 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12424 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12425 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12426 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12427 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12428 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12429 * testsuite/libgomp.fortran/recursion1.f90: Same.
12430 * testsuite/libgomp.fortran/target2.f90: Same.
12431 * testsuite/libgomp.fortran/target5.f90: Same.
12432 * testsuite/libgomp.fortran/task3.f90: Same.
12433
7d6206fe
TV
124342017-09-28 Tom de Vries <tom@codesourcery.com>
12435
12436 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12437 vector_length(32) clause from acc parallel directive.
12438 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12439
84c8627c
TV
124402017-09-27 Tom de Vries <tom@codesourcery.com>
12441
12442 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12443 Remove acc_device_nvidia references.
12444
ebc6a85e
TV
124452017-09-16 Tom de Vries <tom@codesourcery.com>
12446
12447 PR c/81875
12448 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12449
82419efb
TV
124502017-09-14 Tom de Vries <tom@codesourcery.com>
12451
12452 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12453 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12454 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12455 * testsuite/libgomp.c/c.exp: Include test-cases from
12456 libgomp.c-c++-common.
12457 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12458 files.
12459
8b586510
JJ
124602017-09-14 Jakub Jelinek <jakub@redhat.com>
12461
12462 PR c++/81314
12463 * testsuite/libgomp.c++/pr81314.C: New test.
12464
9651fbaf
GP
124652017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12466
12467 * libgomp.texi (Top): www.openacc.org now uses https.
12468 (Enabling OpenACC): Ditto.
12469 (acc_get_num_devices): Ditto.
12470 (acc_set_device_type): Ditto.
12471 (acc_get_device_type): Ditto.
12472 (acc_set_device_num): Ditto.
12473 (acc_get_device_num): Ditto.
12474 (acc_async_test): Ditto.
12475 (acc_async_test_all): Ditto.
12476 (acc_wait): Ditto.
12477 (acc_wait_all): Ditto.
12478 (acc_wait_all_async): Ditto.
12479 (acc_wait_async): Ditto.
12480 (acc_init): Ditto.
12481 (acc_shutdown): Ditto.
12482 (acc_on_device): Ditto.
12483 (acc_malloc): Ditto.
12484 (acc_free): Ditto.
12485 (acc_copyin): Ditto.
12486 (acc_present_or_copyin): Ditto.
12487 (acc_create): Ditto.
12488 (acc_present_or_create): Ditto.
12489 (acc_copyout): Ditto.
12490 (acc_delete): Ditto.
12491 (acc_update_device): Ditto.
12492 (acc_update_self): Ditto.
12493 (acc_map_data): Ditto.
12494 (acc_unmap_data): Ditto.
12495 (acc_deviceptr): Ditto.
12496 (acc_hostptr): Ditto.
12497 (acc_is_present): Ditto.
12498 (acc_memcpy_to_device): Ditto.
12499 (acc_memcpy_from_device): Ditto.
12500 (acc_get_current_cuda_device): Ditto.
12501 (acc_get_current_cuda_context): Ditto.
12502 (acc_get_cuda_stream): Ditto.
12503 (acc_set_cuda_stream): Ditto.
12504 (ACC_DEVICE_TYPE): Ditto.
12505 (ACC_DEVICE_NUM): Ditto.
12506 (OpenACC Library Interoperability): Ditto.
12507
50aa16c3
JJ
125082017-08-09 Jakub Jelinek <jakub@redhat.com>
12509
12510 PR c/81687
12511 * testsuite/libgomp.c/pr81687-1.c: New test.
12512 * testsuite/libgomp.c/pr81687-2.c: New test.
12513
56b5041c
JJ
125142017-08-07 Jakub Jelinek <jakub@redhat.com>
12515
12516 PR c/69389
12517 * testsuite/libgomp.c/pr69389.c: New test.
12518 * testsuite/libgomp.c++/pr69389.C: New test.
12519
f4c222c0
TV
125202017-08-07 Tom de Vries <tom@codesourcery.com>
12521
12522 PR middle-end/78266
12523 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12524 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12525
a40ff0ae
JJ
125262017-07-27 Jakub Jelinek <jakub@redhat.com>
12527
12528 PR c/45784
12529 * testsuite/libgomp.c/pr45784.c: New test.
12530 * testsuite/libgomp.c++/pr45784.C: New test.
12531
3717fbe3
TV
125322017-07-19 Tom de Vries <tom@codesourcery.com>
12533
12534 * testsuite/libgomp.oacc-c/vec.c: New test.
12535
9607b014
TV
125362017-07-03 Tom de Vries <tom@codesourcery.com>
12537
12538 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12539
dfb15f6b
TV
125402017-06-27 Tom de Vries <tom@codesourcery.com>
12541
12542 * plugin/plugin-nvptx.c (notify_var): New function.
12543 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12544
22f1a037
TV
125452017-06-27 Tom de Vries <tom@codesourcery.com>
12546
12547 * env.c (parse_unsigned_long_1): Factor out of ...
12548 (parse_unsigned_long): ... here.
12549 (parse_int_1): Factor out of ...
12550 (parse_int): ... here.
12551 (parse_int_secure): New function.
12552 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12553 * secure_getenv.h: Factor out of ...
12554 * plugin/plugin-hsa.c: ... here.
12555 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12556
d54d1fc3
JJ
125572017-06-21 Jakub Jelinek <jakub@redhat.com>
12558
12559 PR c++/81130
12560 * testsuite/libgomp.c++/pr81130.C: New test.
12561
4f4b0ab8
RO
125622017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12563
12564 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12565 default args.
12566 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12567 dg-xfail-run-if default args.
12568
40ffd95f
BE
125692017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12570
12571 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12572 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12573
01275e1e
JJ
125742017-05-30 Jakub Jelinek <jakub@redhat.com>
12575
12576 PR libgomp/80822
12577 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12578 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12579 sibling lists, depending on level just pick up what CPUs to put
12580 together into a place vs. whether add multiple ordered places.
12581
78672bd8
TS
125822017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12583
7ce64403
TS
12584 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12585 * libgomp.map (OACC_2.0.1): Add these.
12586 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12587 for "acc_wait", and "acc_wait_all", respectively.
12588 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12589 for "acc_wait", and "acc_wait_all", respectively.
12590 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12591 * libgomp.texi (acc_wait, acc_wait_all): Update.
12592 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12593 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12594 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12595
318686c2
TS
12596 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12597 acc_present_or_copyin and acc_present_or_create procedures,
12598 respectively.
12599 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12600 generally different variants of OpenACC Runtime Library functions.
12601 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12602
a6745534
TS
12603 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12604 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12605
9b94fbc7
TS
12606 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12607 of preprocessor definitions.
12608 * libgomp.h (strong_alias): Guard by "#ifdef
12609 HAVE_ATTRIBUTE_ALIAS".
12610 * oacc-mem.c: Provide "acc_pcreate" as alias for
12611 "acc_present_or_create", and "acc_pcopyin" as alias for
12612 "acc_present_or_copyin".
12613 * libgomp.map: New version "OACC_2.0.1".
12614 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12615 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12616 its content into...
12617 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12618 Extend testing.
12619
78672bd8
TS
12620 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12621 when disabling nvptx offloading.
12622
0c36d0d5
TS
126232017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12624
fd71a9a2
TS
12625 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12626 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12627 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12628
0c36d0d5
TS
12629 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12630 * testsuite/lib/libgomp.exp
12631 (check_effective_target_openacc_nvidia_accel_configured): New
12632 proc.
12633 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12634 (check_effective_target_c++): New procs.
12635 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12636 (check_effective_target_c++): Likewise.
12637
c24783c4
JJ
126382017-05-22 Jakub Jelinek <jakub@redhat.com>
12639
655e5265
JJ
12640 PR middle-end/80809
12641 * testsuite/libgomp.c/pr80809-2.c: New test.
12642 * testsuite/libgomp.c/pr80809-3.c: New test.
12643
e9e2ef9f
JJ
12644 PR middle-end/80809
12645 * testsuite/libgomp.c/pr80809-1.c: New test.
12646
c24783c4
JJ
12647 PR middle-end/80853
12648 * testsuite/libgomp.c/pr80853.c: New test.
12649
0da2f96a
TS
126502017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12651
7fd549d2
TS
12652 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12653 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12654 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12655 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12656 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12657
0da2f96a
TS
12658 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12659 Debug output for failure.
12660
62ffe920
RO
126612017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12662
12663 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12664
f49215b1
JJ
126652017-04-27 Jakub Jelinek <jakub@redhat.com>
12666
12667 PR bootstrap/80531
12668 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12669 bootstrap compare failures.
12670
2260d19d
AM
126712017-04-20 Alexander Monakov <amonakov@ispras.ru>
12672
12673 * testsuite/libgomp.c/target-36.c: New testcase.
12674
19929ba9
JJ
126752017-04-13 Jakub Jelinek <jakub@redhat.com>
12676
12677 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12678 instead of char.
12679
fbc698e0
JJ
126802017-04-11 Jakub Jelinek <jakub@redhat.com>
12681
12682 PR libgomp/80394
12683 * testsuite/libgomp.c/pr80394.c: New test.
12684
c4060df4
JJ
126852017-04-04 Jakub Jelinek <jakub@redhat.com>
12686
12687 PR libgomp/79876
12688 * config/posix/thread-stacksize.h: New file.
12689 * config/darwin/thread-stacksize.h: New file.
12690 * config/nvptx/thread-stacksize.h: New file.
12691 * env.c: Include thread-stacksize.h.
12692 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12693 instead of 0. Call pthread_attr_setstacksize even if
12694 GOMP_DEFAULT_STACKSIZE is non-zero.
12695
e02d868a
JJ
126962017-03-30 Jakub Jelinek <jakub@redhat.com>
12697
12698 * env.c (initialize_env): Initialize stacksize to 0.
12699
7ba8651e
CP
127002017-03-22 Cesar Philippidis <cesar@codesourcery.com>
12701
12702 PR c++/80029
12703 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12704
eebc5e2d
JJ
127052017-03-08 Jakub Jelinek <jakub@redhat.com>
12706
12707 PR c/79940
12708 * testsuite/libgomp.c/pr79940.c: New test.
12709
1eb08f52
RO
127102017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12711
12712 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12713 targets.
12714 Add __float128 options.
12715
b0f78ff3
JDA
127162017-02-11 John David Anglin <danglin@gcc.gnu.org>
12717
12718 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12719 hppa*-*-* dg-skip-if directive.
12720
1bbe0d8f
JJ
127212017-02-09 Jakub Jelinek <jakub@redhat.com>
12722
12723 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12724 dg-skip-if directive into a comment.
12725
02889d23
CLT
127262017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12727 Chung-Lin Tang <cltang@codesourcery.com>
12728
12729 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12730 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12731 add additional case.
12732 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12733 "openacc_nvidia_accel_selected".
12734 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12735 Add num_workers(8) clause.
12736
5896a41d
JDA
127372017-02-08 John David Anglin <danglin@gcc.gnu.org>
12738
12739 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12740 hppa*-*-*.
12741 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12742 include complex.h on hppa*-*-hpux*.
12743 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12744
345a8c17
TS
127452017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12746
e70ab10d
TS
12747 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12748
345a8c17
TS
12749 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12750 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12751 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12752 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12753 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12754 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12755 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12756 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12757 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12758 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12759
dced339c
TS
127602017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12761
12762 * libgomp-plugin.h: #include <stdbool.h>.
12763 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12764 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12765 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12766 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12767 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12768 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12769 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12770 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12771 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12772 (GOMP_OFFLOAD_openacc_async_test)
12773 (GOMP_OFFLOAD_openacc_async_test_all)
12774 (GOMP_OFFLOAD_openacc_async_wait)
12775 (GOMP_OFFLOAD_openacc_async_wait_async)
12776 (GOMP_OFFLOAD_openacc_async_wait_all)
12777 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12778 (GOMP_OFFLOAD_openacc_async_set_async)
12779 (GOMP_OFFLOAD_openacc_create_thread_data)
12780 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12781 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12782 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12783 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12784 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12785 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12786 these.
12787 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12788 (GOMP_OFFLOAD_unload_image): Fix argument types.
12789
23749904
JJ
127902017-01-26 Jakub Jelinek <jakub@redhat.com>
12791
c1cadde1
JJ
12792 * testsuite/lib/libgomp.exp
12793 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12794 check_compile invocation. Fix up removal of executable. Drop
12795 bogus "2>&1" argument.
12796
23749904
JJ
12797 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12798 directive.
12799
128002017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
12801 Martin Jambor <mjambor@suse.cz>
12802
12803 * plugin/hsa.h: Moved to top level include.
12804 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12805
73aa401e
JJ
128062017-01-21 Jakub Jelinek <jakub@redhat.com>
12807
12808 PR other/79046
12809 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12810 of cat to get version from BASE-VER file.
12811 * testsuite/Makefile.in: Regenerated.
12812
b32e85fa
JJ
128132017-01-19 Jakub Jelinek <jakub@redhat.com>
12814
12815 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12816 for _WIN64.
12817
3c36aa6b
JJ
128182017-01-17 Jakub Jelinek <jakub@redhat.com>
12819
d190d5c0
JJ
12820 * plugin/hsa.h: Add GCC runtime library exception.
12821 * plugin/hsa_ext_finalize.h: Likewise.
12822
2393d337
JJ
12823 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12824 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12825 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12826 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12827 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12828 library to link ptx plugin against.
12829 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12830 (CUDA_CALLS): Define.
12831 (cuda_lib, cuda_lib_inited): New variables.
12832 (init_cuda_lib): New function.
12833 (CUDA_CALL_PREFIX): Define.
12834 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12835 (CUDA_CALL): Use FN instead of (FN).
12836 (CUDA_CALL_NOCHECK): Define.
12837 (cuda_error, fini_streams_for_device, select_stream_for_async,
12838 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12839 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12840 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12841 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12842 CUDA_CALL_NOCHECK.
12843 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12844 CUDA_CALL_NOCHECK.
12845 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12846 Use CUDA_CALL_NOCHECK.
12847 * plugin/cuda/cuda.h: New file.
12848 * config.h.in: Regenerated.
12849 * configure: Regenerated.
12850
3c36aa6b
JJ
12851 PR other/79046
12852 * configure.ac: Add GCC_BASE_VER.
12853 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12854 get version from BASE-VER file.
12855 * testsuite/Makefile.in: Regenerated.
12856 * configure: Regenerated.
12857 * Makefile.in: Regenerated.
12858
c508bc2d
FXC
128592017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12860
12861 PR libgomp/60670
12862 * Makefile.am: Make fincludedir multilib-aware.
12863 * Makefile.in: Regenerate.
12864
c1a9c369
JJ
128652017-01-01 Jakub Jelinek <jakub@redhat.com>
12866
cbe34bb5
JJ
12867 Update copyright years.
12868
c1a9c369
JJ
12869 * libgomp.texi: Bump @copying's copyright year.
12870
e7a7f4be
SH
128712016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12872
12873 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12874 pthread_spinlock_t instead of gomp_mutex_t lock.
12875 (gomp_get_thread_pool): Likewise.
12876 (gomp_release_thread_pool): Likewise.
12877 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12878 Likewise.
12879
d313d52c
SH
128802016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12881
12882 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12883 thread pool in case nthreads == 1.
12884
630e3c3a
AM
128852016-11-30 Alexander Monakov <amonakov@ispras.ru>
12886
12887 * config/nvptx/env.c: Delete.
12888 * icv.c: Move definitions of ICV variables back ...
12889 * env.c: ...here. Do not compile environment-related functionality if
12890 LIBGOMP_OFFLOADED_ONLY is set.
12891
9e38af5c
AM
128922016-11-30 Alexander Monakov <amonakov@ispras.ru>
12893
12894 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12895 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12896 * configure: Regenerate.
12897 * config.h.in: Likewise.
12898
f96b7f1f
AM
128992016-11-30 Alexander Monakov <amonakov@ispras.ru>
12900
12901 * Makefile.in: Regenerate with automake-1.11.6.
12902 * aclocal.m4: Likewise.
12903 * configure: Likewise.
12904 * testsuite/Makefile.in: Likewise.
12905
6a6951b1
AM
129062016-11-28 Alexander Monakov <amonakov@ispras.ru>
12907
12908 * config/nvptx/critical.c: Delete to use generic implementation.
12909
c7ac071f
JH
129102016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12911
12912 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12913 ../../affinity.c as fallback.
12914 * config/nvptx/affinity.c: Delete to use fallback implementation.
12915
6103184e 129162016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 12917 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
12918 Dmitry Melnik <dm@ispras.ru>
12919
12920 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12921 * Makefile.in. Regenerate.
12922 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12923 (LIBGOMP_USE_PTHREADS): ...here; new define.
12924 * configure: Regenerate.
12925 * config.h.in: Likewise.
12926 * config/posix/affinity.c: Move to...
12927 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12928 interface by LIBGOMP_USE_PTHREADS.
12929 * critical.c: Split out GOMP_atomic_{start,end} into...
12930 * atomic.c: ...here (new file).
12931 * env.c: Split out ICV definitions into...
12932 * icv.c: ...here (new file) and...
12933 * icv-device.c: ...here. New file.
12934 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12935 (gomp_destroy_lock_30): Ditto.
12936 (gomp_set_lock_30): Ditto.
12937 (gomp_unset_lock_30): Ditto.
12938 (gomp_test_lock_30): Ditto.
12939 (gomp_init_nest_lock_30): Ditto.
12940 (gomp_destroy_nest_lock_30): Ditto.
12941 (gomp_set_nest_lock_30): Ditto.
12942 (gomp_unset_nest_lock_30): Ditto.
12943 (gomp_test_nest_lock_30): Ditto.
12944 * lock.c: New.
12945 * config/nvptx/lock.c: New.
12946 * config/nvptx/bar.c: New.
12947 * config/nvptx/bar.h: New.
12948 * config/nvptx/doacross.h: New.
12949 * config/nvptx/error.c: New.
12950 * config/nvptx/icv-device.c: New.
12951 * config/nvptx/mutex.h: New.
12952 * config/nvptx/pool.h: New.
12953 * config/nvptx/proc.c: New.
12954 * config/nvptx/ptrlock.h: New.
12955 * config/nvptx/sem.h: New.
12956 * config/nvptx/simple-bar.h: New.
12957 * config/nvptx/target.c: New.
12958 * config/nvptx/task.c: New.
12959 * config/nvptx/team.c: New.
12960 * config/nvptx/time.c: New.
12961 * config/posix/simple-bar.h: New.
12962 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12963 (gomp_num_teams_var): Declare.
12964 (struct gomp_thread_pool): Change threads_dock member to
12965 gomp_simple_barrier_t.
12966 [__nvptx__] (gomp_thread): New implementation.
12967 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12968 (gomp_thread_destructor): Ditto.
12969 (gomp_init_thread_affinity): Ditto.
12970 * team.c: Guard uses of Pthreads-specific interfaces by
12971 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12972 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12973 * config/nvptx/alloc.c: Delete.
12974 * config/nvptx/barrier.c: Ditto.
12975 * config/nvptx/fortran.c: Ditto.
12976 * config/nvptx/iter.c: Ditto.
12977 * config/nvptx/iter_ull.c: Ditto.
12978 * config/nvptx/loop.c: Ditto.
12979 * config/nvptx/loop_ull.c: Ditto.
12980 * config/nvptx/ordered.c: Ditto.
12981 * config/nvptx/parallel.c: Ditto.
12982 * config/nvptx/priority_queue.c: Ditto.
12983 * config/nvptx/sections.c: Ditto.
12984 * config/nvptx/single.c: Ditto.
12985 * config/nvptx/splay-tree.c: Ditto.
12986 * config/nvptx/work.c: Ditto.
12987 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12988 -foffload=-lgfortran in addition to -lgfortran.
12989 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12990 * plugin/plugin-nvptx.c: Include <limits.h>.
12991 (struct targ_fn_descriptor): Add new fields.
12992 (struct ptx_device): Ditto. Set them...
12993 (nvptx_open_device): ...here.
12994 (nvptx_adjust_launch_bounds): New.
12995 (nvptx_host2dev): Allow NULL 'nvthd'.
12996 (nvptx_dev2host): Ditto.
12997 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12998 (link_ptx): Adjust log sizes.
12999 (nvptx_host2dev): Allow NULL 'nvthd'.
13000 (nvptx_dev2host): Ditto.
13001 (nvptx_set_clocktick): New. Use it...
13002 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
13003 fields.
13004 (GOMP_OFFLOAD_dev2dev): New.
13005 (nvptx_adjust_launch_bounds): New.
13006 (nvptx_stacks_size): New.
13007 (nvptx_stacks_alloc): New.
13008 (nvptx_stacks_free): New.
13009 (GOMP_OFFLOAD_run): New.
13010 (GOMP_OFFLOAD_async_run): New (stub).
13011
56b1c60e
MJ
130122016-11-23 Martin Jambor <mjambor@suse.cz>
13013
13014 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
13015 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
13016 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
13017
b8d89b03 130182016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 13019 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
13020
13021 * plugin/hsa.h: New file.
13022 * plugin/hsa_ext_finalize.h: New file.
13023 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
13024 header file unistd.h, and functions secure_getenv, __secure_getenv,
13025 getuid, geteuid, getgid and getegid.
13026 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
13027 -D_GNU_SOURCE.
13028 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
13029 Handle various cases of secure_getenv presence, add an implementation
13030 when we can test effective UID and GID.
13031 (struct hsa_runtime_fn_info): New structure.
13032 (hsa_runtime_fn_info hsa_fns): New variable.
13033 (hsa_runtime_lib): Likewise.
13034 (support_cpu_devices): Likewise.
13035 (init_enviroment_variables): Load newly introduced ENV
13036 variables.
13037 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
13038 (hsa_fatal): Likewise.
13039 (DLSYM_FN): New macro.
13040 (init_hsa_runtime_functions): New function.
13041 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
13042 structure. Depending on environment, also allow CPU devices.
13043 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
13044 (get_kernarg_memory_region): Likewise.
13045 (GOMP_OFFLOAD_init_device): Likewise.
13046 (destroy_hsa_program): Likewise.
13047 (init_basic_kernel_info): New function.
13048 (GOMP_OFFLOAD_load_image): Use it.
13049 (create_and_finalize_hsa_program): Call hsa run-time functions via
13050 hsa_fns structure.
13051 (create_single_kernel_dispatch): Likewise.
13052 (release_kernel_dispatch): Likewise.
13053 (init_single_kernel): Likewise.
13054 (parse_target_attributes): Allow up multiple HSA grid dimensions.
13055 (get_group_size): New function.
13056 (run_kernel): Likewise.
13057 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
13058 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
13059 structure.
13060 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
13061 * testsuite/libgomp-test-support.exp.in: Likewise.
13062 * Makefile.in: Regenerated.
13063 * aclocal.m4: Likewise.
13064 * config.h.in: Likewise.
13065 * configure: Likewise.
13066 * testsuite/Makefile.in: Likewise.
13067
18d2ada8 130682016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 13069 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
13070
13071 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
13072 mapping clauses to target constructs.
13073 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
13074
84c1b9d3
MK
130752016-11-15 Matthias Klose <doko@ubuntu.com>
13076
13077 * configure: Regenerate.
13078
b4c3a85b
JJ
130792016-11-10 Jakub Jelinek <jakub@redhat.com>
13080
8ebd1b31
JJ
13081 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
13082 * omp_lib.h.in (openmp_version): Likewise.
13083 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
13084 of 201307.
13085 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13086
b4c3a85b
JJ
13087 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
13088 (fib_wrapper): Add map(from: x) clause.
13089 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
13090 (e_53_2): Likewise.
13091 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
13092 (accum): Add map(tmp) clause.
13093 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
13094 (accum): Add map(tofrom: tmp) clause.
13095 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
13096 (gramSchmidt): Likewise.
13097 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
13098 map(tofrom: sum) clause.
13099 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
13100 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
13101 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
13102 only allowed on the loop iterator.
13103 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
13104 * testsuite/libgomp.fortran/taskloop2.f90: New test.
13105 * testsuite/libgomp.fortran/taskloop4.f90: New test.
13106 * testsuite/libgomp.fortran/doacross1.f90: New test.
13107 * testsuite/libgomp.fortran/doacross3.f90: New test.
13108 * testsuite/libgomp.fortran/taskloop1.f90: New test.
13109 * testsuite/libgomp.fortran/taskloop3.f90: New test.
13110 * testsuite/libgomp.fortran/doacross2.f90: New test.
13111 * testsuite/libgomp.c/doacross-1.c (main): Add missing
13112 #pragma omp atomic read.
13113 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13114 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
13115
6668eb45
CP
131162016-11-02 Cesar Philippidis <cesar@codesourcery.com>
13117 Nathan Sidwell <nathan@acm.org>
13118
13119 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
13120 to determine default geometry.
13121 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
13122 dimension.
13123
f10e37a1
JJ
131242016-11-01 Jakub Jelinek <jakub@redhat.com>
13125
13126 * hashtab.h: Use standard GPLv3 with runtime exception
13127 boilerplate.
13128
015c7760
AH
131292016-10-27 Aldy Hernandez <aldyh@redhat.com>
13130
13131 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
13132 size when allocating new thread.
13133
20a1e5b8
MP
131342016-09-14 Marek Polacek <polacek@redhat.com>
13135
13136 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
13137
1cad9284
JJ
131382016-08-19 Jakub Jelinek <jakub@redhat.com>
13139
13140 PR fortran/71014
13141 * testsuite/libgomp.fortran/pr71014.f90: New test.
13142
2c71d454
CLT
131432016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
13144
13145 PR middle-end/70895
13146 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
13147 firstprivate clauses.
13148 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
13149 copy clauses.
13150 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13151 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
13152 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
13153 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13154 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13155 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
13156 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13157 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13158 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13159 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13160 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13161 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
13162
7c713714
CLT
131632016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
13164
13165 PR fortran/70598
13166 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
13167
5c934396
JJ
131682016-08-08 Jakub Jelinek <jakub@redhat.com>
13169
13170 PR c++/58706
13171 * testsuite/libgomp.c++/pr58706.C: New test.
13172
9ef64248
TS
131732016-08-04 Thomas Schwinge <thomas@codesourcery.com>
13174
bbc79c0e
TS
13175 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
13176 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
13177 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
13178 Likewise.
13179 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
13180 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
13181 Likewise.
13182 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
13183
9ef64248
TS
13184 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
13185 test, and don't hardcode -O0.
13186
c1311c86
NS
131872016-08-03 Nathan Sidwell <nathan@codesourcery.com>
13188
13189 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
13190
b1c9c068
CP
131912016-07-15 Cesar Philippidis <cesar@codesourcery.com>
13192
13193 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
13194 test.
13195
b4410f63
L
131962016-07-03 H.J. Lu <hongjiu.lu@intel.com>
13197
13198 PR middle-end/71734
13199 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
13200 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
13201
a8dbab92
JJ
132022016-07-01 Jakub Jelinek <jakub@redhat.com>
13203
13204 PR fortran/71717
13205 * testsuite/libgomp.fortran/associate3.f90: New test.
13206
9b6a8d0f
JJ
132072016-06-17 Jakub Jelinek <jakub@redhat.com>
13208
13209 * testsuite/libgomp.c++/target-21.C: New test.
13210
283635f9
JJ
132112016-06-16 Jakub Jelinek <jakub@redhat.com>
13212
13213 * testsuite/libgomp.c++/target-20.C: New test.
13214
27d6ba88
TS
132152016-06-10 Thomas Schwinge <thomas@codesourcery.com>
13216 Cesar Philippidis <cesar@codesourcery.com>
13217
13218 PR middle-end/71373
13219 * libgomp.oacc-c/nested-function-1.c: New file.
13220 * libgomp.oacc-c/nested-function-2.c: Likewise.
13221 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
13222 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
13223 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
13224
4b1ffdb1
TS
132252016-06-10 Thomas Schwinge <thomas@codesourcery.com>
13226
13227 PR c/71381
13228 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
13229 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
13230 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
13231
d821b794
CLT
132322016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
13233
13234 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
13235 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
13236
3616a8c5
CP
132372016-06-01 Cesar Philippidis <cesar@codesourcery.com>
13238
13239 PR c/70688
5eed9a88 13240 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 13241
7211a097
JJ
132422016-05-26 Jakub Jelinek <jakub@redhat.com>
13243
13244 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
13245 instead of invalid schedule(static, 0).
13246 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13247
b4557008
CLT
132482016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13249
13250 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
13251 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
13252 parameter, use to set async stream around call to gomp_unmap_vars,
13253 call gomp_unmap_vars() with 'do_copyfrom' set to true.
13254 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
13255 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13256 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13257 (event_add): Add int parameter, initialize 'val' field when
13258 adding new ptx_event struct.
13259 (nvptx_evec): Adjust event_add() call arguments.
13260 (nvptx_host2dev): Likewise.
13261 (nvptx_dev2host): Likewise.
13262 (nvptx_wait_async): Likewise.
13263 (nvptx_wait_all_async): Likewise.
13264 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13265 pass to event_add() call.
13266 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13267 parameter.
13268 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13269 call openacc.register_async_cleanup_func() hook.
13270 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13271 * target.c (gomp_copy_from_async): Delete function.
13272 (gomp_map_vars): Remove async_refcount.
13273 (gomp_unmap_vars): Likewise.
13274 (gomp_load_image_to_device): Likewise.
13275 (omp_target_associate_ptr): Likewise.
13276 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13277 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13278 (gomp_copy_from_async): Remove.
13279
6ce13072
CLT
132802016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13281
13282 * target.c (gomp_device_copy): New function.
13283 (gomp_copy_host2dev): Likewise.
13284 (gomp_copy_dev2host): Likewise.
13285 (gomp_free_device_memory): Likewise.
13286 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13287 (gomp_map_pointer): Likewise.
13288 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13289 NULL value from alloc_func plugin hook.
13290 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13291 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13292 (gomp_unmap_vars): Likewise.
13293 (gomp_update): Adjust to call gomp_copy_dev2host and
13294 gomp_copy_host2dev functions.
13295 (gomp_unload_image_from_device): Handle false value from
13296 unload_image_func plugin hook.
13297 (gomp_init_device): Handle false value from init_device_func
13298 plugin hook.
13299 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13300 (omp_target_free): Adjust to call gomp_free_device_memory.
13301 (omp_target_memcpy): Handle return values from host2dev_func,
13302 dev2host_func, and dev2dev_func plugin hooks.
13303 (omp_target_memcpy_rect_worker): Likewise.
13304 (gomp_target_fini): Handle false value from fini_device_func
13305 plugin hook.
13306 * libgomp.h (struct gomp_device_descr): Adjust return type of
13307 init_device_func, fini_device_func, unload_image_func, free_func,
13308 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13309 * oacc-init.c (acc_shutdown_1): Handle false value from
13310 fini_device_func plugin hook.
13311 * oacc-host.c (host_init_device): Change return type to bool.
13312 (host_fini_device): Likewise.
13313 (host_unload_image): Likewise.
13314 (host_free): Likewise.
13315 (host_dev2host): Likewise.
13316 (host_host2dev): Likewise.
13317 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13318 (acc_memcpy_to_device): Likewise.
13319 (acc_memcpy_from_device): Likewise.
13320 (delete_copyout): Add libfnname parameter, handle free_func
13321 hook fatal error case.
13322 (acc_delete): Adjust delete_copyout call.
13323 (acc_copyout): Likewise.
13324 (update_dev_host): Move gomp_mutex_unlock to after
13325 host2dev/dev2host hook calls.
13326
13327 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13328 to 'hsa_error_msg', for clarity.
13329 (hsa_fatal): Likewise.
13330 (hsa_error): New function.
13331 (init_hsa_context): Change return type to bool, adjust to return
13332 false on error.
13333 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13334 return value.
13335 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13336 return false on error.
13337 (get_agent_info): Adjust to return NULL on error.
13338 (destroy_hsa_program): Change return type to bool, adjust to
13339 return false on error.
13340 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13341 (destroy_module): Change return type to bool, adjust to
13342 return false on error.
13343 (GOMP_OFFLOAD_unload_image): Likewise.
13344 (GOMP_OFFLOAD_fini_device): Likewise.
13345 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13346 (GOMP_OFFLOAD_free): Change to return false when called.
13347 (GOMP_OFFLOAD_dev2host): Likewise.
13348 (GOMP_OFFLOAD_host2dev): Likewise.
13349 (GOMP_OFFLOAD_dev2dev): Likewise.
13350
13351 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13352 (CUDA_CALL): Likewise.
13353 (CUDA_CALL_ASSERT): Likewise.
13354 (map_init): Change return type to bool, use CUDA_CALL* macros.
13355 (map_fini): Likewise.
13356 (init_streams_for_device): Change return type to bool, adjust
13357 call to map_init.
13358 (fini_streams_for_device): Change return type to bool, adjust
13359 call to map_fini.
13360 (select_stream_for_async): Release stream_lock before calls to
13361 GOMP_PLUGIN_fatal, adjust call to map_init.
13362 (nvptx_init): Use CUDA_CALL* macros.
13363 (nvptx_attach_host_thread_to_device): Change return type to bool,
13364 use CUDA_CALL* macros.
13365 (nvptx_open_device): Use CUDA_CALL* macros.
13366 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13367 macros.
13368 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13369 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13370 (nvptx_exec): Use CUDA_CALL* macros.
13371 (nvptx_alloc): Use CUDA_CALL* macros.
13372 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13373 (nvptx_host2dev): Likewise.
13374 (nvptx_dev2host): Likewise.
13375 (nvptx_wait): Use CUDA_CALL* macros.
13376 (nvptx_wait_async): Likewise.
13377 (nvptx_wait_all): Likewise.
13378 (nvptx_wait_all_async): Likewise.
13379 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13380 use CUDA_CALL* macros, adjust call to map_fini.
13381 (GOMP_OFFLOAD_init_device): Change return type to bool,
13382 adjust code accordingly.
13383 (GOMP_OFFLOAD_fini_device): Likewise.
13384 (GOMP_OFFLOAD_load_image): Adjust calls to
13385 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13386 use CUDA_CALL* macros.
13387 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13388 return code.
13389 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13390 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13391 handle error return.
13392 (GOMP_OFFLOAD_dev2host): Likewise.
13393 (GOMP_OFFLOAD_host2dev): Likewise.
13394 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13395 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13396
e46c7770
CP
133972016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13398
13399 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13400 (acc_free): Likewise.
13401 (acc_memcpy_to_device): Likewise.
13402 (acc_memcpy_from_device): Likewise.
13403 (acc_deviceptr): Likewise.
13404 (acc_hostptr): Likewise.
13405 (acc_is_present): Likewise.
13406 (acc_map_data): Likewise.
13407 (acc_unmap_data): Likewise.
13408 (present_create_copy): Likewise.
13409 (delete_copyout): Likewise.
13410 (update_dev_host): Likewise.
13411 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13412 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13413 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13414 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13415 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13416 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13417 it only runs on nvptx targets.
13418 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13419 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13420 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13421 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13422 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13423 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13424 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13425 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13426 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13427 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13428 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13429 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13430 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13431 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13432 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13433 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13434 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13435 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13436 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13437 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13438 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13439 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13440 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13441
a5057543
MJ
134422016-05-23 Martin Jambor <mjambor@suse.cz>
13443
13444 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13445
e37288a6
CLT
134462016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13447
13448 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13449 to gomp_init_targets_once.
13450 (acc_set_device_type): Remove !cached_base_dev condition on call to
13451 gomp_init_targets_once, move call to before acc_device_lock acquire,
13452 to avoid deadlock.
13453 (acc_get_device_num): Remove !cached_base_dev condition on call to
13454 gomp_init_targets_once.
13455 (acc_set_device_num): Likewise.
13456
51d9ed48
MJ
134572016-05-16 Martin Jambor <mjambor@suse.cz>
13458
92a285c1 13459 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 13460
5b37e866
NS
134612016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13462
13463 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13464 expected partitioning.
13465
e7ff0319
CP
134662016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13467
13468 PR middle-end/70626
13469 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13470 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13471 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13472
c2bd3b69
AM
134732016-04-21 Alexander Monakov <amonakov@ispras.ru>
13474
13475 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13476 non-fatal.
13477
84311083
JJ
134782016-04-19 Jakub Jelinek <jakub@redhat.com>
13479
13480 PR middle-end/70680
13481 * testsuite/libgomp.c/pr70680-1.c: New test.
13482 * testsuite/libgomp.c/pr70680-2.c: New test.
13483
aadc043f
CP
134842016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13485
13486 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13487 pass parameter variables to subroutines.
13488
e387fc64
CP
134892016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13490
13491 PR middle-end/70643
13492 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13493
10c3c424
CP
134942016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13495
13496 PR testsuite/68242
13497 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13498 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13499
27f9add3
TS
135002016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13501
58d32aeb
TS
13502 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13503 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13504 GOACC_declare prototype.
13505
d97633ef
TS
13506 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13507 Merge this file, and...
13508 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13509 ... this file, and...
13510 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13511 ... this file, and...
13512 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13513 ... this file, and...
13514 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13515 ... this file, and...
13516 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13517 ... this file, and...
13518 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13519 ... this file, and...
13520 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13521 ... this file, and...
13522 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13523 ... this file, and...
13524 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13525 ... this file, and...
13526 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13527 ... this file, and...
13528 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13529 ... this file, and...
13530 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13531 ... this file into...
13532 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13533 file.
13534
27f9add3
TS
13535 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13536 Make failure observable.
13537
21f3a236
JJ
135382016-04-12 Jakub Jelinek <jakub@redhat.com>
13539
13540 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13541 field.
13542 * target.c (gomp_target_fallback_firstprivate,
13543 gomp_target_unshare_firstprivate): Removed.
13544 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13545 before waiting for dependencies.
13546 (gomp_target_task_fn): Don't copy firstprivate vars here.
13547 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13548 firstprivate_copies here.
13549 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13550 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13551 explicit/implicit firstprivate.
13552
c42cfb5c
CP
135532016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13554
13555 PR lto/70289
13556 PR ipa/70348
13557 PR tree-optimization/70373
13558 PR middle-end/70533
13559 PR middle-end/70534
13560 PR middle-end/70535
13561 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13562 test.
13563 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13564 test.
13565 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13566 test.
13567 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13568 test.
13569 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13570 test.
13571 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13572 test.
13573 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13574 test.
13575 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13576 test.
13577 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13578 test.
13579 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13580 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13581 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13582 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13583 test.
13584 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13585 test.
13586 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13587 test.
13588 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13589 test.
13590 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13591 coverage.
13592 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13593 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13594 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13595 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13596 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13597 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13598 coverage.
13599 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13600 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13601 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13602 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13603 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13604 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13605 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13606 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13607 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13608 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13609 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13610 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13611 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13612 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13613 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13614
2620c80d
TS
136152016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13616 James Norris <jnorris@codesourcery.com>
13617 Nathan Sidwell <nathan@codesourcery.com>
13618 Julian Brown <julian@codesourcery.com>
13619 Cesar Philippidis <cesar@codesourcery.com>
13620 Chung-Lin Tang <cltang@codesourcery.com>
13621 Tom de Vries <tom@codesourcery.com>
13622
13623 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13624 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13625 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13626 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13627 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13628 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13629 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13630 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13631 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13632 XFAIL.
13633 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13634 Incorporate...
13635 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13636 file.
13637 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13638 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13639 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13640 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13641 Likewise.
13642 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13643 Likewise.
13644 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13645 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13646 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13647 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13648 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13649 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13650 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13651 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13652 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13653 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13654 Likewise.
13655 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13656 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13657 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13658 file...
13659 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13660 file into...
13661 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13662 file. Update.
13663 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13664 file.
13665 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13666 Likewise.
13667 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13668 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13669 ... this new file. Update.
13670 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13671 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13672 ... this new file. Update.
13673 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13674 file. Incorporate...
13675 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13676 file, and...
13677 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13678 file, and...
13679 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13680 file.
13681 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13682
ce83104b
TS
136832016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13684
13685 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13686 set-torture-options.
13687
6e0df3b7
TS
136882016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13689
13690 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13691 gcc-dg-runtest.
13692 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13693 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13694 -fno-builtin-acc_on_device instead of -O0.
13695 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13696 -O0.
13697 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13698 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13699 Likewise.
13700 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13701 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13702 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13703 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13704 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13705 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13706 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13707 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13708 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13709 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13710 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13711 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13712 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13713 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13714 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13715 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13716 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13717 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13718 Don't specify -O2.
13719 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13720 Likewise.
13721 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13722 Likewise.
13723
f9c8babb
ML
137242016-03-24 Martin Liska <mliska@suse.cz>
13725
13726 * plugin/plugin-hsa.c (packet_store_release): New function
13727 that is taken from the HSA runtime manual.
13728 (GOMP_OFFLOAD_run): Use the function.
13729
04833609
JJ
137302016-03-23 Jakub Jelinek <jakub@redhat.com>
13731
13732 PR c++/70376
13733 * testsuite/libgomp.c++/pr70376.C: New test.
13734
d79ee524
TV
137352016-03-23 Tom de Vries <tom@codesourcery.com>
13736
13737 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13738 initialization of lresult and lvresult.
13739 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13740
b6d1f2b5
JN
137412016-03-23 James Norris <jnorris@codesourcery.com>
13742 Daichi Fukuoka <dc-fukuoka@sgi.com>
13743
13744 PR libgomp/69414
13745 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13746 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13747 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13748 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13749
7397fce2
ML
137502016-03-23 Martin Liska <mliska@suse.cz>
13751
13752 PR hsa/70337
13753 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13754 argument just in case a dispatched kernel uses that argument.
13755
ee2e7d51
TS
137562016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13757
13758 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13759 -ftree-parallelize-loops/-fopenacc changes.
13760 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13761 Likewise.
13762 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13763 Likewise.
13764 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13765 Likewise.
13766 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13767 Likewise.
13768 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13769 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13770
be9f7143
TS
137712016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13772
13773 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13774 always_ld_library_path the path to libgcc_s.
13775
f6c1032d
CP
137762016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13777
13778 PR testsuite/70009
13779 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13780
5a6452e6
TV
137812016-03-09 Tom de Vries <tom@codesourcery.com>
13782
13783 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13784 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13785 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13786 Same.
13787 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13788 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13789 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13790 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13791
96a71bd5
MJ
137922016-03-07 Martin Jambor <mjambor@suse.cz>
13793
13794 * testsuite/lib/libgomp.exp
13795 (check_effective_target_hsa_offloading_selected_nocache): New.
13796 (check_effective_target_hsa_offloading_selected): Likewise.
13797 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13798 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13799 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13800 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13801 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13802 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13803 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13804 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13805 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13806 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13807 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13808 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13809 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13810 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13811 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13812 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13813 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13814
02e0b5b2
MJ
138152016-03-07 Martin Jambor <mjambor@suse.cz>
13816
13817 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13818 non-shared memory accelerators.
13819 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13820 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13821 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13822 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13823 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13824 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13825 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13826 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13827 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13828
45548f30
MJ
138292016-03-07 Martin Jambor <mjambor@suse.cz>
13830
13831 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13832 ALWAYS_CFLAGS.
13833
da3d46cb
JJ
138342016-03-02 Jakub Jelinek <jakub@redhat.com>
13835
13836 PR libgomp/69555
13837 * testsuite/libgomp.c++/pr69555-1.C: New test.
13838 * testsuite/libgomp.c++/pr69555-2.C: New test.
13839
622174b2
KM
138402016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13841 Martin Jambor <mjambor@suse.cz>
13842
13843 * testsuite/lib/libgomp.exp
13844 (check_effective_target_offload_device_shared_as): New proc.
13845 * testsuite/libgomp.c++/declare_target-1.C: New test.
13846
e6861a99
IV
138472016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13848
13849 PR driver/68463
13850 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13851
f99c3557
TS
138522016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13853
13854 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13855 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13856 dims.
13857 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13858 -ftree-parallelize-loops/-fopenacc changes.
13859 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13860 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13861 Likewise.
13862 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13863 Likewise.
13864 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13865 Likewise.
13866 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13867 Likewise.
13868 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13869 Likewise.
13870 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13871 Likewise.
13872 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13873 Likewise.
13874 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13875 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13876 Likewise.
13877 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13878 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13879 Likewise.
13880 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13881 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13882 Likewise.
13883
d5ace3b5
CP
138842016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13885
13886 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13887
f3609a89
JJ
138882016-02-19 Jakub Jelinek <jakub@redhat.com>
13889
13890 PR driver/69805
13891 * testsuite/libgomp.c/pr69805.c: New test.
13892
2175df99
TV
138932016-02-16 Tom de Vries <tom@codesourcery.com>
13894
13895 PR lto/67709
13896 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13897
17b6426c
TV
138982016-02-09 Tom de Vries <tom@codesourcery.com>
13899
13900 PR tree-optimization/69599
13901 * testsuite/libgomp.c/omp-nested-3.c: New test.
13902 * testsuite/libgomp.c/pr46032-2.c: New test.
13903 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13904 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13905
34df756c
TV
139062016-02-09 Tom de Vries <tom@codesourcery.com>
13907
13908 PR lto/69707
13909 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13910
5854ee30
AM
139112016-02-02 Alexander Monakov <amonakov@ispras.ru>
13912
13913 * testsuite/libgomp.c/target-31.c: Fix testcase.
13914
e70b6ad7
AM
139152016-02-02 Alexander Monakov <amonakov@ispras.ru>
13916
13917 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13918 clause.
13919 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13920 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13921 reduction and map clauses.
13922 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13923
bd78a45f
JN
139242016-02-02 James Norris <jnorris@codesourcery.com>
13925
13926 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13927
41d809d3
TS
139282016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13929
18f60146
TS
13930 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13931 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13932
1a06f5e6
TS
13933 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13934 cases.
13935
033ff3d1
TS
13936 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13937 variables.
13938 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13939 (hsa_kmt_lib): Set variables.
13940 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13941 always_ld_library_path.
13942 * Makefile.in: Regenerate.
13943 * configure: Likewise.
13944 * testsuite/Makefile.in: Likewise.
13945
4a88d9b7
TS
13946 * plugin/configfrag.ac (offload_additional_options)
13947 (offload_additional_lib_paths): Don't amend for hsa offloading.
13948 * configure: Regenerate.
13949
41d809d3
TS
13950 * plugin/configfrag.ac: Don't configure for offloading target if
13951 we don't build the corresponding plugin.
13952 * configure: Regenerate.
13953
b6adbb9f
NS
139542016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13955
13956 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13957 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13958
8dfdb419
TV
139592016-01-26 Tom de Vries <tom@codesourcery.com>
13960
13961 PR tree-optimization/69110
13962 * testsuite/libgomp.c/pr69110.c: New test.
13963
02ef53f2
RB
139642016-01-25 Richard Biener <rguenther@suse.de>
13965
13966 PR lto/69393
13967 * testsuite/libgomp.c++/pr69393.C: New testcase.
13968
eb4048f2
IV
139692016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13970
13971 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13972 function wasn't mapped to the device with non-shared memory.
13973
b235cdd5
IV
139742016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13975
13976 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13977
b2b40051
MJ
139782016-01-19 Martin Jambor <mjambor@suse.cz>
13979 Martin Liska <mliska@suse.cz>
13980
13981 * plugin/Makefrag.am: Add HSA plugin requirements.
13982 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13983 (HSA_RUNTIME_LIB): Likewise.
13984 (HSA_RUNTIME_CPPFLAGS): Likewise.
13985 (HSA_RUNTIME_INCLUDE): New substitution.
13986 (HSA_RUNTIME_LIB): Likewise.
13987 (HSA_RUNTIME_LDFLAGS): Likewise.
13988 (hsa-runtime): New configure option.
13989 (hsa-runtime-include): Likewise.
13990 (hsa-runtime-lib): Likewise.
13991 (PLUGIN_HSA): New substitution variable.
13992 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13993 configure options.
13994 (PLUGIN_HSA_CPPFLAGS): Likewise.
13995 (PLUGIN_HSA_LDFLAGS): Likewise.
13996 (PLUGIN_HSA_LIBS): Likewise.
13997 Check that we have access to HSA run-time.
13998 * libgomp-plugin.h (offload_target_type): New element
13999 OFFLOAD_TARGET_TYPE_HSA.
14000 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
14001 args.
14002 (bool gomp_create_target_task): Updated.
14003 (gomp_device_descr): Extra parameter of run_func and async_run_func,
14004 new field can_run_func.
14005 * libgomp_g.h (GOMP_target_ext): Update prototype.
14006 * oacc-host.c (host_run): Added a new parameter args.
14007 * target.c (calculate_firstprivate_requirements): New function.
14008 (copy_firstprivate_data): Likewise.
14009 (gomp_target_fallback_firstprivate): Use them.
14010 (gomp_target_unshare_firstprivate): New function.
14011 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
14012 devices.
14013 (GOMP_target): Do host fallback for all shared memory devices. Do not
14014 pass any args to plugins.
14015 (GOMP_target_ext): Introduce device-specific argument parameter args.
14016 Allow host fallback if device shares memory. Do not remap data if
14017 device has shared memory.
14018 (gomp_target_task_fn): Likewise. Also treat shared memory devices
14019 like host fallback for mappings.
14020 (GOMP_target_data): Treat shared memory devices like host fallback.
14021 (GOMP_target_data_ext): Likewise.
14022 (GOMP_target_update): Likewise.
14023 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
14024 gomp_create_target_task.
14025 (GOMP_target_enter_exit_data): Likewise.
14026 (omp_target_alloc): Treat shared memory devices like host fallback.
14027 (omp_target_free): Likewise.
14028 (omp_target_is_present): Likewise.
14029 (omp_target_memcpy): Likewise.
14030 (omp_target_memcpy_rect): Likewise.
14031 (omp_target_associate_ptr): Likewise.
14032 (gomp_load_plugin_for_device): Also load can_run.
14033 * task.c (GOMP_PLUGIN_target_task_completion): Free
14034 firstprivate_copies.
14035 (gomp_create_target_task): Accept new argument args and store it to
14036 ttask.
14037 * plugin/plugin-hsa.c: New file.
14038
5d7804a9
TV
140392016-01-18 Tom de Vries <tom@codesourcery.com>
14040
14041 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
14042 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
14043 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
14044 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
14045 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
14046 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
14047 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
14048 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
14049 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
14050 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
14051 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
14052 Same.
14053 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
14054 Same.
14055 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
14056 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
14057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
14058 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
14059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
14060 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
14061 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
14062 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
14063 Same.
14064 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
14065
cb11f3cf
JJ
140662016-01-15 Jakub Jelinek <jakub@redhat.com>
14067
14068 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
14069
33a126a6
CP
140702016-01-15 Cesar Philippidis <cesar@codesourcery.com>
14071
14072 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
14073
cdf6119d
JN
140742016-01-12 James Norris <jnorris@codesourcery.com>
14075
14076 * libgomp.texi: Updates for OpenACC.
14077
0d58938e
AM
140782016-01-11 Alexander Monakov <amonakov@ispras.ru>
14079
14080 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
14081
95918b49
L
140822016-01-07 H.J. Lu <hongjiu.lu@intel.com>
14083
14084 PR fortran/66680
14085 * testsuite/libgomp.fortran/pr66680.f90: New test.
14086
8fc708b7
JJ
140872016-01-07 Jakub Jelinek <jakub@redhat.com>
14088
14089 PR middle-end/68960
14090 * testsuite/libgomp.c/pr68960.c: New test.
14091
e9b596c1
NS
140922016-01-06 Nathan Sidwell <nathan@acm.org>
14093
1a14faf2 14094 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
14095 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
14096
21fa2a29
JJ
140972016-01-04 Jakub Jelinek <jakub@redhat.com>
14098
818ab71a
JJ
14099 Update copyright years.
14100
21fa2a29
JJ
14101 * libgomp.texi: Bump @copying's copyright year.
14102
9310efbc
NS
141032015-12-31 Nathan Sidwell <nathan@acm.org>
14104
14105 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
14106 dg-additional-options syntax.
14107 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
14108 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
14109 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
14110 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
14111 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
14112 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
14113 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
14114 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
14115 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
14116 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
14117 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
14118 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
14119 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
14120 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
14121 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
14122 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
14123 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
14124 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
14125
4a38b02b
IV
141262015-12-15 Ilya Verbin <ilya.verbin@intel.com>
14127
14128 * libgomp.h (REFCOUNT_LINK): Define.
14129 (struct splay_tree_key_s): Add link_key.
14130 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
14131 Replace target address of the pointer with target address of newly
14132 mapped object in the splay tree. Set link pointer on target to the
14133 device address of the mapped object.
14134 (gomp_unmap_vars): Restore target address of the pointer in the splay
14135 tree for REFCOUNT_LINK objects after unmapping.
14136 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
14137 declare target link" objects.
14138 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
14139 "omp declare target link" objects, which were mapped for the image.
14140 (gomp_exit_data): Restore target address of the pointer in the splay
14141 tree for REFCOUNT_LINK objects after unmapping.
14142 * testsuite/libgomp.c/target-link-1.c: New file.
14143
d84ffc0a
IV
141442015-12-14 Ilya Verbin <ilya.verbin@intel.com>
14145
14146 * libgomp.h (gomp_device_state): New enum.
14147 (struct gomp_device_descr): Replace is_initialized with state.
14148 (gomp_fini_device): Remove declaration.
14149 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
14150 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
14151 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
14152 (acc_set_device_type): Use state instead of is_initialized.
14153 (acc_set_device_num): Likewise.
14154 * target.c (resolve_device): Use state instead of is_initialized.
14155 Do not initialize finalized device.
14156 (gomp_map_vars): Do nothing if device is finalized.
14157 (gomp_unmap_vars): Likewise.
14158 (gomp_update): Likewise.
14159 (GOMP_offload_register_ver): Use state instead of is_initialized.
14160 (GOMP_offload_unregister_ver): Likewise.
14161 (gomp_init_device): Likewise.
14162 (gomp_unload_device): Likewise.
14163 (gomp_fini_device): Remove.
14164 (gomp_get_target_fn_addr): Do nothing if device is finalized.
14165 (GOMP_target): Go to host fallback if device is finalized.
14166 (GOMP_target_ext): Likewise.
14167 (gomp_exit_data): Do nothing if device is finalized.
14168 (gomp_target_task_fn): Go to host fallback if device is finalized.
14169 (gomp_target_fini): New static function.
14170 (gomp_target_init): Use state instead of is_initialized.
14171 Call gomp_target_fini at exit.
14172
76680678
TV
141732015-12-09 Tom de Vries <tom@codesourcery.com>
14174
14175 PR tree-optimization/68716
14176 * testsuite/libgomp.c/omp-nested-2.c: New test.
14177
ff7a55bf
TS
141782015-12-02 Thomas Schwinge <thomas@codesourcery.com>
14179
14180 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
14181 target openacc_nvidia_accel_selected.
14182 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
14183 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
14184 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
14185 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
14186
37d5ad46
JB
141872015-12-01 Julian Brown <julian@codesourcery.com>
14188 James Norris <James_Norris@mentor.com>
14189
14190 * oacc-parallel.c (GOACC_host_data): New function.
14191 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
14192 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
14193 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
14194 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
14195 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
14196 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
14197 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
14198
db941d7e
CP
141992015-11-30 James Norris <jnorris@codesourcery.com>
14200 Cesar Philippidis <cesar@codesourcery.com>
14201
14202 libgomp/
14203 * libgomp.oacc-fortran/routine-5.f90: New test.
14204 * libgomp.oacc-fortran/routine-7.f90: New test.
14205 * libgomp.oacc-fortran/routine-9.f90: New test.
14206
e0ca27c5
TV
142072015-11-30 Tom de Vries <tom@codesourcery.com>
14208
14209 PR tree-optimization/46032
14210 * testsuite/libgomp.c/pr46032.c: New test.
14211
aec17bfe
JJ
142122015-11-27 Jakub Jelinek <jakub@redhat.com>
14213
8e4e4719
JJ
14214 PR libgomp/68579
14215 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
14216 (gomp_create_target_task): Call it before freeing
14217 GOMP_TARGET_TASK_DATA tasks.
14218
aec17bfe
JJ
14219 PR c/63326
14220 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
14221 in between case label and OpenMP standalone directives.
14222 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
14223
6cfe90e6
DE
142242015-11-26 David Edelsohn <dje.gcc@gmail.com>
14225
14226 * configure: Regenerate.
14227
0e65fd7d
JJ
142282015-11-26 Jakub Jelinek <jakub@redhat.com>
14229
14230 * testsuite/libgomp.c/target-35.c: New test.
14231
dc7a8b4b
JN
142322015-11-22 James Norris <jnorris@codesourcery.com>
14233 Cesar Philippidis <cesar@codesourcery.com>
14234
14235 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
14236 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
14237 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
14238 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
14239 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
14240
48a78aee
JJ
142412015-11-20 Jakub Jelinek <jakub@redhat.com>
14242
14243 PR middle-end/68221
14244 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
14245 * testsuite/libgomp.c/reduction-12.c: Likewise.
14246 * testsuite/libgomp.c++/reduction-11.C: Likewise.
14247 * testsuite/libgomp.c++/reduction-12.C: Likewise.
14248
2d256816
NS
142492015-11-19 Nathan Sidwell <nathan@codesourcery.com>
14250
14251 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
14252 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
14253 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
14254 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
14255 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14256 and fix.
14257 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14258 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14259
33f47f42
NS
142602015-11-18 Nathan Sidwell <nathan@codesourcery.com>
14261
14262 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14263 worker & gang cases.
14264 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14265
3d7bfee0
CP
142662015-11-17 Cesar Philippidis <cesar@codesourcery.com>
14267
14268 * config/nvptx/priority_queue.c: New file.
14269
00b9bd52
JJ
142702015-11-14 Jakub Jelinek <jakub@redhat.com>
14271
14272 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14273 sections.
14274
e4606348
JJ
142752015-11-14 Jakub Jelinek <jakub@redhat.com>
14276 Aldy Hernandez <aldyh@redhat.com>
14277 Ilya Verbin <ilya.verbin@intel.com>
14278
14279 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14280 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14281 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14282 iterators or IV by chunk size.
14283 * parallel.c (gomp_resolve_num_threads): Don't assume that
14284 if thr->ts.team is non-NULL, then pool must be non-NULL.
14285 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14286 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14287 GOMP_PLUGIN_target_task_completion.
14288 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14289 * Makefile.in: Regenerate.
14290 * libgomp.h: Shuffle prototypes and forward definitions around so
14291 priority queues can be defined.
14292 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14293 (enum gomp_target_task_state): New enum.
14294 (struct gomp_target_task): Add state, tgt, task and team fields.
14295 (gomp_create_target_task): Change return type to bool, add
14296 state argument.
14297 (gomp_target_task_fn): Change return type to bool.
14298 (struct gomp_device_descr): Add async_run_func.
14299 (struct gomp_task): Remove children, next_child, prev_child,
14300 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14301 Add pnode field.
14302 (struct gomp_taskgroup): Remove children.
14303 Add taskgroup_queue.
14304 (struct gomp_team): Change task_queue type to a priority queue.
14305 (splay_compare): Define inline.
14306 (priority_queue_offset): New.
14307 (priority_node_to_task): New.
14308 (task_to_priority_node): New.
14309 * oacc-mem.c: Do not include splay-tree.h.
14310 * priority_queue.c: New file.
14311 * priority_queue.h: New file.
14312 * splay-tree.c: Do not include splay-tree.h.
14313 (splay_tree_foreach_internal): New.
14314 (splay_tree_foreach): New.
14315 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14316 (splay_tree_callback): Define typedef.
14317 * target.c (splay_compare): Move to libgomp.h.
14318 (GOMP_target): Don't adjust *thr in any way around running offloaded
14319 task.
14320 (GOMP_target_ext): Likewise. Handle target nowait.
14321 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14322 return value from gomp_create_target_task, if false, fallthrough
14323 as if no dependencies exist.
14324 (gomp_target_task_fn): Change return type to bool, return true
14325 if the task should have another part scheduled later. Handle
14326 target nowait.
14327 (gomp_load_plugin_for_device): Initialize async_run.
14328 * task.c (gomp_init_task): Initialize children_queue.
14329 (gomp_clear_parent_in_list): New.
14330 (gomp_clear_parent_in_tree): New.
14331 (gomp_clear_parent): Handle priorities.
14332 (GOMP_task): Likewise.
14333 (priority_queue_move_task_first,
14334 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14335 New functions.
14336 (gomp_create_target_task): Use priority queues. Change return type
14337 to bool, add state argument, return false if for async
14338 {{enter,exit} data,update} constructs no dependencies need to be
14339 waited for, handle target nowait. Set task->fn to NULL instead of
14340 gomp_target_task_fn.
14341 (verify_children_queue): Remove.
14342 (priority_list_upgrade_task): New.
14343 (priority_queue_upgrade_task): New.
14344 (verify_task_queue): Remove.
14345 (priority_list_downgrade_task): New.
14346 (priority_queue_downgrade_task): New.
14347 (gomp_task_run_pre): Use priority queues.
14348 Abstract code out to priority_queue_downgrade_task.
14349 (gomp_task_run_post_handle_dependers): Use priority queues.
14350 (gomp_task_run_post_remove_parent): Likewise.
14351 (gomp_task_run_post_remove_taskgroup): Likewise.
14352 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
14353 tasks specially.
14354 (GOMP_taskwait): Likewise.
14355 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
14356 priority-queue_upgrade_task.
14357 (GOMP_taskgroup_start): Use priority queues.
14358 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
14359 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
14360 barrier.
14361 * taskloop.c (GOMP_taskloop): Handle priorities.
14362 * team.c (gomp_new_team): Call priority_queue_init.
14363 (free_team): Call priority_queue_free.
14364 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14365 team created for target nowait in implicit parallel region.
14366 (gomp_team_start): For nested check, test thr->ts.level instead of
14367 thr->ts.team != NULL.
14368 * testsuite/libgomp.c/doacross-3.c: New test.
14369 * testsuite/libgomp.c/ordered-5.c: New test.
14370 * testsuite/libgomp.c/priority.c: New test.
14371 * testsuite/libgomp.c/target-31.c: New test.
14372 * testsuite/libgomp.c/target-32.c: New test.
14373 * testsuite/libgomp.c/target-33.c: New test.
14374 * testsuite/libgomp.c/target-34.c: New test.
14375
1d1ab74f
NS
143762015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14377
c5a64cfe
NS
14378 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14379
1d1ab74f
NS
14380 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14381 loop is sequential.
14382
dd3c1b14
NS
143832015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14384
14385 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14386 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14387
6e232ba4
JN
143882015-11-12 James Norris <jnorris@codesourcery.com>
14389 Joseph Myers <joseph@codesourcery.com>
14390
14391 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14392 * oacc-parallel.c (GOACC_declare): New function.
14393 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14394 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14395 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14396 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14397 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14398
fffeedeb
NS
143992015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14400
14401 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14402
182190f2
NS
144032015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14404
14405 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14406 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14407
36fa0f5f
NS
144082015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14409
d350c40c
NS
14410 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14411 inadvertent commit.
14412
144132015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14414
36fa0f5f
NS
14415 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14416 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14417 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14418 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14419 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14420
66a5f0b4
TS
144212015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14422
14423 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14424 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14425
e01d41e5
JJ
144262015-11-05 Jakub Jelinek <jakub@redhat.com>
14427 Ilya Verbin <ilya.verbin@intel.com>
14428
14429 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14430 GOMP_loop_nonmonotonic_dynamic_start,
14431 GOMP_loop_nonmonotonic_guided_next,
14432 GOMP_loop_nonmonotonic_guided_start,
14433 GOMP_loop_ull_nonmonotonic_dynamic_next,
14434 GOMP_loop_ull_nonmonotonic_dynamic_start,
14435 GOMP_loop_ull_nonmonotonic_guided_next,
14436 GOMP_loop_ull_nonmonotonic_guided_start,
14437 GOMP_parallel_loop_nonmonotonic_dynamic,
14438 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14439 (GOMP_target_41): Renamed to ...
14440 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14441 arguments.
14442 (GOMP_target_data_41): Renamed to ...
14443 (GOMP_target_data_ext): ... this.
14444 (GOMP_target_update_41): Renamed to ...
14445 (GOMP_target_update_ext): ... this.
14446 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14447 GOMP_target_data_ext and GOMP_target_update_ext instead of
14448 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14449 Export GOMP_loop_nonmonotonic_dynamic_next,
14450 GOMP_loop_nonmonotonic_dynamic_start,
14451 GOMP_loop_nonmonotonic_guided_next,
14452 GOMP_loop_nonmonotonic_guided_start,
14453 GOMP_loop_ull_nonmonotonic_dynamic_next,
14454 GOMP_loop_ull_nonmonotonic_dynamic_start,
14455 GOMP_loop_ull_nonmonotonic_guided_next,
14456 GOMP_loop_ull_nonmonotonic_guided_start,
14457 GOMP_parallel_loop_nonmonotonic_dynamic and
14458 GOMP_parallel_loop_nonmonotonic_guided.
14459 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14460 GOMP_parallel_loop_nonmonotonic_guided,
14461 GOMP_loop_nonmonotonic_dynamic_start,
14462 GOMP_loop_nonmonotonic_guided_start,
14463 GOMP_loop_nonmonotonic_dynamic_next,
14464 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14465 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14466 GOMP_loop_ull_nonmonotonic_guided_start,
14467 GOMP_loop_ull_nonmonotonic_dynamic_next,
14468 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14469 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14470 functions.
14471 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14472 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14473 Use gomp_map_val function.
14474 (gomp_target_fallback_firstprivate): New static function.
14475 (GOMP_target_41): Renamed to ...
14476 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14477 arguments. Move firstprivate fallback handling into a new
14478 function.
14479 (GOMP_target_data_41): Renamed to ...
14480 (GOMP_target_data_ext): ... this.
14481 (GOMP_target_update_41): Renamed to ...
14482 (GOMP_target_update_ext): ... this.
14483 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14484 gomp_map_0len_lookup instead of gomp_map_lookup.
14485 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14486 gomp_map_lookup.
14487 * testsuite/libgomp.c/target-28.c: Likewise.
14488 * testsuite/libgomp.c/monotonic-1.c: New test.
14489 * testsuite/libgomp.c/monotonic-2.c: New test.
14490 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14491 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14492 * testsuite/libgomp.c/pr66199-5.c: New test.
14493 * testsuite/libgomp.c/pr66199-6.c: New test.
14494 * testsuite/libgomp.c/pr66199-7.c: New test.
14495 * testsuite/libgomp.c/pr66199-8.c: New test.
14496 * testsuite/libgomp.c/pr66199-9.c: New test.
14497 * testsuite/libgomp.c/reduction-11.c: New test.
14498 * testsuite/libgomp.c/reduction-12.c: New test.
14499 * testsuite/libgomp.c/reduction-13.c: New test.
14500 * testsuite/libgomp.c/reduction-14.c: New test.
14501 * testsuite/libgomp.c/reduction-15.c: New test.
14502 * testsuite/libgomp.c/target-12.c (main): Adjust for
14503 omp_target_is_present change for one-past-last element.
14504 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14505 the same var is both mapped and privatized.
14506 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14507 handling of zero-length array sections.
14508 * testsuite/libgomp.c/target-28.c: New test.
14509 * testsuite/libgomp.c/target-29.c: New test.
14510 * testsuite/libgomp.c/target-30.c: New test.
14511 * testsuite/libgomp.c/target-teams-1.c: New test.
14512 * testsuite/libgomp.c++/member-6.C: New test.
14513 * testsuite/libgomp.c++/member-7.C: New test.
14514 * testsuite/libgomp.c++/monotonic-1.C: New test.
14515 * testsuite/libgomp.c++/monotonic-2.C: New test.
14516 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14517 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14518 * testsuite/libgomp.c++/pr66199-3.C: New test.
14519 * testsuite/libgomp.c++/pr66199-4.C: New test.
14520 * testsuite/libgomp.c++/pr66199-5.C: New test.
14521 * testsuite/libgomp.c++/pr66199-6.C: New test.
14522 * testsuite/libgomp.c++/pr66199-7.C: New test.
14523 * testsuite/libgomp.c++/pr66199-8.C: New test.
14524 * testsuite/libgomp.c++/pr66199-9.C: New test.
14525 * testsuite/libgomp.c++/reduction-11.C: New test.
14526 * testsuite/libgomp.c++/reduction-12.C: New test.
14527 * testsuite/libgomp.c++/target-13.C: New test.
14528 * testsuite/libgomp.c++/target-14.C: New test.
14529 * testsuite/libgomp.c++/target-15.C: New test.
14530 * testsuite/libgomp.c++/target-16.C: New test.
14531 * testsuite/libgomp.c++/target-17.C: New test.
14532 * testsuite/libgomp.c++/target-18.C: New test.
14533 * testsuite/libgomp.c++/target-19.C: New test.
14534
ccc8282b
NS
145352015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14536
14537 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14538 and reduction copy.
14539 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14540 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14541 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14542 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14543 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14544 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14545 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14546 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14547 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14548 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14549 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14550 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14551 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14552 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14553
5d6823a2
NS
145542015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14555
14556 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14557 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14558 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14559 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14560 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14561 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14562 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14563 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14564
5c06742f
NS
145652015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14566
14567 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14568 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14569 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14570 * oacc-host.c (host_openacc_exec): Likewise.
14571 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14572
4bf9e5a8
TS
145732015-11-03 Julian Brown <julian@codesourcery.com>
14574 Thomas Schwinge <thomas@codesourcery.com>
14575
14576 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14577 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14578 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14579 Likewise.
14580 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14581 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14582
145832015-11-03 James Norris <jnorris@codesourcery.com>
14584
14585 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14586 file.
14587 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14588 Likewise.
14589 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14590 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14591 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14592 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14593 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14594
a0e701d8
NS
145952015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14596
14597 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14598 compatibility.
14599 (enum acc_async_t): Reformat.
14600 (acc_on_device): Declare compatible with builtin and provide C++
14601 wrapper.
14602 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14603
41e977ac
TS
146042015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14605 Cesar Philippidis <cesar@codesourcery.com>
14606
14607 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14608 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14609 ... this. Add a description of the test at the top of the file.
14610 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14611 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14612 ... this. Add a description of the test at the top of the file.
14613
e3091406
NS
146142015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14615
14616 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14617 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14618 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14619 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14620 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14621 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14622
a1c1908b
NS
146232015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14624
14625 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14626 dimensions.
14627
b3962a4a
TS
146282015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14629
14630 PR testsuite/68063
14631 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14632
88bae6f4
TS
146332015-10-27 James Norris <jnorris@codesourcery.com>
14634
14635 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14636 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14637
8baa7864
TS
146382015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14639
bdeb752c
TS
14640 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14641 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14642
ecd4fd43
TS
14643 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14644 acc_device_nvidia usage.
14645 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14646 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14647 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14648
aa8b7d30
TS
14649 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14650 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14651
7c8f138d
TS
14652 PR libgomp/66518
14653 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14654
8baa7864
TS
14655 PR libgomp/65437
14656 PR libgomp/66518
14657 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14658 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14659
88ebcde5
TV
146602015-10-23 Tom de Vries <tom@codesourcery.com>
14661
14662 PR testsuite/68063
14663 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14664
9ef83c04
NS
146652015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14666
14667 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14668 vector_length.
14669 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14670
3837c6d6
IV
146712015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14672 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14673
14674 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14675 to 0 when mapnum is 0.
14676
ac8a1965
SH
146772015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14678
14679 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14680 Cast to int from int32_t.
14681
d9a6bd32
JJ
146822015-10-13 Jakub Jelinek <jakub@redhat.com>
14683 Aldy Hernandez <aldyh@redhat.com>
14684 Ilya Verbin <ilya.verbin@intel.com>
14685
14686 * config/linux/affinity.c (omp_get_place_num_procs,
14687 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14688 * config/linux/doacross.h: New file.
14689 * config/posix/affinity.c (omp_get_place_num_procs,
14690 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14691 * config/posix/doacross.h: New file.
14692 * env.c: Include gomp-constants.h.
14693 (struct gomp_task_icv): Rename run_sched_modifier to
14694 run_sched_chunk_size.
14695 (gomp_max_task_priority_var): New variable.
14696 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14697 (handle_omp_display_env): Change _OPENMP value from 201307 to
14698 201511. Print OMP_MAX_TASK_PRIORITY.
14699 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14700 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14701 chunk_size and run_sched_modifier to run_sched_chunk_size.
14702 (omp_get_max_task_priority, omp_get_initial_device,
14703 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14704 omp_get_partition_place_nums): New functions.
14705 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14706 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14707 to chunk_size.
14708 (omp_get_num_places_, omp_get_place_num_procs_,
14709 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14710 omp_get_place_proc_ids_8_, omp_get_place_num_,
14711 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14712 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14713 omp_get_max_task_priority_): New functions.
14714 * libgomp_g.h (GOMP_loop_doacross_static_start,
14715 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14716 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14717 GOMP_loop_ull_doacross_dynamic_start,
14718 GOMP_loop_ull_doacross_guided_start,
14719 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14720 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14721 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14722 GOMP_target_data_41, GOMP_target_update_41,
14723 GOMP_target_enter_exit_data): New prototypes.
14724 (GOMP_task): Add prototype argument.
14725 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14726 (struct gomp_doacross_work_share): New type.
14727 (struct gomp_work_share): Add doacross field.
14728 (struct gomp_task_icv): Rename run_sched_modifier to
14729 run_sched_chunk_size.
14730 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14731 GOMP_TASK_UNDEFERRED. Add comments.
14732 (struct gomp_task_depend_entry): Add comments.
14733 (struct gomp_task): Likewise.
14734 (struct gomp_taskgroup): Likewise.
14735 (struct gomp_target_task): New type.
14736 (struct gomp_team): Add comment.
14737 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14738 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14739 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14740 (struct target_var_desc): New type.
14741 (struct target_mem_desc): Adjust comment. Use struct
14742 target_var_desc instead of splay_tree_key for list.
14743 (REFCOUNT_INFINITY): Define.
14744 (struct splay_tree_key_s): Remove copy_from field.
14745 (struct gomp_device_descr): Add dev2dev_func field.
14746 (enum gomp_map_vars_kind): New enum.
14747 (gomp_map_vars): Add one argument.
14748 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14749 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14750 omp_get_place_num_procs, omp_get_place_num_procs_,
14751 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14752 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14753 omp_get_place_num_, omp_get_partition_num_places,
14754 omp_get_partition_num_places_, omp_get_partition_place_nums,
14755 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14756 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14757 omp_target_free, omp_target_is_present, omp_target_memcpy,
14758 omp_target_memcpy_rect, omp_target_associate_ptr and
14759 omp_target_disassociate_ptr.
14760 (GOMP_4.0.2): Renamed to ...
14761 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14762 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14763 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14764 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14765 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14766 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14767 GOMP_loop_ull_doacross_guided_start,
14768 GOMP_loop_ull_doacross_runtime_start,
14769 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14770 GOMP_doacross_ull_wait.
14771 * libgomp.texi: Document omp_get_max_task_priority.
14772 Rename modifier argument to chunk_size for omp_set_schedule and
14773 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14774 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14775 to run_sched_chunk_size renaming.
14776 (GOMP_loop_ordered_runtime_start): Likewise.
14777 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14778 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14779 GOMP_parallel_loop_runtime_start): New functions.
14780 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14781 to run_sched_chunk_size renaming.
14782 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14783 GOMP_loop_doacross_guided_start): New functions or aliases.
14784 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14785 run_sched_modifier to run_sched_chunk_size renaming.
14786 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14787 (gomp_loop_ull_doacross_static_start,
14788 gomp_loop_ull_doacross_dynamic_start,
14789 gomp_loop_ull_doacross_guided_start,
14790 GOMP_loop_ull_doacross_runtime_start): New functions.
14791 (GOMP_loop_ull_doacross_static_start,
14792 GOMP_loop_ull_doacross_dynamic_start,
14793 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14794 * oacc-mem.c (acc_map_data, present_create_copy,
14795 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14796 to gomp_map_vars.
14797 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14798 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14799 instead of false to gomp_map_vars.
14800 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14801 * omp.h.in (omp_lock_hint_t): New type.
14802 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14803 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14804 omp_get_place_num, omp_get_partition_num_places,
14805 omp_get_partition_place_nums, omp_get_initial_device,
14806 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14807 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14808 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14809 prototypes.
14810 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14811 (omp_lock_hint_none, omp_lock_hint_uncontended,
14812 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14813 omp_lock_hint_speculative): New parameters.
14814 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14815 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14816 omp_get_place_num, omp_get_partition_num_places,
14817 omp_get_partition_place_nums, omp_get_initial_device,
14818 omp_get_max_task_priority): New interfaces.
14819 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14820 to chunk_size.
14821 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14822 (omp_lock_hint_none, omp_lock_hint_uncontended,
14823 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14824 omp_lock_hint_speculative): New parameters.
14825 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14826 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14827 omp_get_place_num, omp_get_partition_num_places,
14828 omp_get_partition_place_nums, omp_get_initial_device,
14829 omp_get_max_task_priority): New functions and subroutines.
14830 * ordered.c: Include stdarg.h and string.h.
14831 (MAX_COLLAPSED_BITS): Define.
14832 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14833 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14834 GOMP_doacross_ull_wait): New functions.
14835 * target.c: Include errno.h.
14836 (resolve_device): If device is not initialized, call
14837 gomp_init_device on it.
14838 (gomp_map_lookup): New function.
14839 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14840 Don't bump refcount if REFCOUNT_INFINITY. Handle
14841 GOMP_MAP_ALWAYS_TO_P.
14842 (get_kind): Rename is_openacc argument to short_mapkind.
14843 (gomp_map_pointer): Use gomp_map_lookup.
14844 (gomp_map_fields_existing): New function.
14845 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14846 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14847 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14848 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14849 Adjust for tgt->list changed type and copy_from living in there.
14850 (gomp_copy_from_async): Adjust for tgt->list changed type and
14851 copy_from living in there.
14852 (gomp_unmap_vars): Likewise.
14853 (gomp_update): Likewise. Rename is_openacc argument to
14854 short_mapkind. Don't fail if object is not mapped.
14855 (gomp_load_image_to_device): Initialize refcount to
14856 REFCOUNT_INFINITY.
14857 (gomp_target_fallback): New function.
14858 (gomp_get_target_fn_addr): Likewise.
14859 (GOMP_target): Adjust gomp_map_vars caller, use
14860 gomp_get_target_fn_addr and gomp_target_fallback.
14861 (GOMP_target_41): New function.
14862 (gomp_target_data_fallback): New function.
14863 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14864 (GOMP_target_data_41): New function.
14865 (GOMP_target_update): Adjust gomp_update caller.
14866 (GOMP_target_update_41): New function.
14867 (gomp_exit_data, GOMP_target_enter_exit_data,
14868 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14869 omp_target_is_present, omp_target_memcpy,
14870 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14871 omp_target_associate_ptr, omp_target_disassociate_ptr,
14872 gomp_load_plugin_for_device): New functions.
14873 * task.c: Include gomp-constants.h. Include taskloop.c
14874 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14875 (gomp_task_handle_depend): New function.
14876 (GOMP_task): Use it. Add priority argument. Use
14877 gomp-constant.h constants instead of hardcoded numbers.
14878 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14879 (gomp_create_target_task): New function.
14880 (verify_children_queue, verify_taskgroup_queue,
14881 verify_task_queue): New functions.
14882 (gomp_task_run_pre): Call verify_*_queue functions.
14883 If an upcoming tied task is about to leave the sibling or
14884 taskgroup queues in an invalid state, adjust appropriately.
14885 Remove taskgroup argument. Add comments.
14886 (gomp_task_run_post_handle_dependers): Add comments.
14887 (gomp_task_run_post_remove_parent): Likewise.
14888 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14889 (GOMP_taskwait): Likewise. Add comments.
14890 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14891 problem such that the first non parent_depends_on task does not
14892 end up at the end of the children queue.
14893 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14894 GOMP_TASK_UNDEFERRED.
14895 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14896 * taskloop.c: New file.
14897 * testsuite/lib/libgomp.exp
14898 (check_effective_target_offload_device_nonshared_as): New proc.
14899 * testsuite/libgomp.c/affinity-2.c: New test.
14900 * testsuite/libgomp.c/doacross-1.c: New test.
14901 * testsuite/libgomp.c/doacross-2.c: New test.
14902 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14903 Add map clause to target.
14904 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14905 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14906 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14907 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14908 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14909 Likewise.
14910 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14911 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14912 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14913 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14914 not defined. Use those where needed.
14915 * testsuite/libgomp.c/for-4.c: New test.
14916 * testsuite/libgomp.c/for-5.c: New test.
14917 * testsuite/libgomp.c/for-6.c: New test.
14918 * testsuite/libgomp.c/linear-1.c: New test.
14919 * testsuite/libgomp.c/ordered-4.c: New test.
14920 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14921 only allowed on the loop iterator.
14922 * testsuite/libgomp.c/pr66199-3.c: New test.
14923 * testsuite/libgomp.c/pr66199-4.c: New test.
14924 * testsuite/libgomp.c/reduction-7.c: New test.
14925 * testsuite/libgomp.c/reduction-8.c: New test.
14926 * testsuite/libgomp.c/reduction-9.c: New test.
14927 * testsuite/libgomp.c/reduction-10.c: New test.
14928 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14929 map(tofrom:s).
14930 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14931 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14932 * testsuite/libgomp.c/target-11.c: New test.
14933 * testsuite/libgomp.c/target-12.c: New test.
14934 * testsuite/libgomp.c/target-13.c: New test.
14935 * testsuite/libgomp.c/target-14.c: New test.
14936 * testsuite/libgomp.c/target-15.c: New test.
14937 * testsuite/libgomp.c/target-16.c: New test.
14938 * testsuite/libgomp.c/target-17.c: New test.
14939 * testsuite/libgomp.c/target-18.c: New test.
14940 * testsuite/libgomp.c/target-19.c: New test.
14941 * testsuite/libgomp.c/target-20.c: New test.
14942 * testsuite/libgomp.c/target-21.c: New test.
14943 * testsuite/libgomp.c/target-22.c: New test.
14944 * testsuite/libgomp.c/target-23.c: New test.
14945 * testsuite/libgomp.c/target-24.c: New test.
14946 * testsuite/libgomp.c/target-25.c: New test.
14947 * testsuite/libgomp.c/target-26.c: New test.
14948 * testsuite/libgomp.c/target-27.c: New test.
14949 * testsuite/libgomp.c/taskloop-1.c: New test.
14950 * testsuite/libgomp.c/taskloop-2.c: New test.
14951 * testsuite/libgomp.c/taskloop-3.c: New test.
14952 * testsuite/libgomp.c/taskloop-4.c: New test.
14953 * testsuite/libgomp.c++/ctor-13.C: New test.
14954 * testsuite/libgomp.c++/doacross-1.C: New test.
14955 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14956 Replace offload_device with offload_device_nonshared_as.
14957 * testsuite/libgomp.c++/for-12.C: New test.
14958 * testsuite/libgomp.c++/for-13.C: New test.
14959 * testsuite/libgomp.c++/for-14.C: New test.
14960 * testsuite/libgomp.c++/linear-1.C: New test.
14961 * testsuite/libgomp.c++/member-1.C: New test.
14962 * testsuite/libgomp.c++/member-2.C: New test.
14963 * testsuite/libgomp.c++/member-3.C: New test.
14964 * testsuite/libgomp.c++/member-4.C: New test.
14965 * testsuite/libgomp.c++/member-5.C: New test.
14966 * testsuite/libgomp.c++/ordered-1.C: New test.
14967 * testsuite/libgomp.c++/reduction-5.C: New test.
14968 * testsuite/libgomp.c++/reduction-6.C: New test.
14969 * testsuite/libgomp.c++/reduction-7.C: New test.
14970 * testsuite/libgomp.c++/reduction-8.C: New test.
14971 * testsuite/libgomp.c++/reduction-9.C: New test.
14972 * testsuite/libgomp.c++/reduction-10.C: New test.
14973 * testsuite/libgomp.c++/reference-1.C: New test.
14974 * testsuite/libgomp.c++/simd14.C: New test.
14975 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14976 * testsuite/libgomp.c++/target-5.C: New test.
14977 * testsuite/libgomp.c++/target-6.C: New test.
14978 * testsuite/libgomp.c++/target-7.C: New test.
14979 * testsuite/libgomp.c++/target-8.C: New test.
14980 * testsuite/libgomp.c++/target-9.C: New test.
14981 * testsuite/libgomp.c++/target-10.C: New test.
14982 * testsuite/libgomp.c++/target-11.C: New test.
14983 * testsuite/libgomp.c++/target-12.C: New test.
14984 * testsuite/libgomp.c++/taskloop-1.C: New test.
14985 * testsuite/libgomp.c++/taskloop-2.C: New test.
14986 * testsuite/libgomp.c++/taskloop-3.C: New test.
14987 * testsuite/libgomp.c++/taskloop-4.C: New test.
14988 * testsuite/libgomp.c++/taskloop-5.C: New test.
14989 * testsuite/libgomp.c++/taskloop-6.C: New test.
14990 * testsuite/libgomp.c++/taskloop-7.C: New test.
14991 * testsuite/libgomp.c++/taskloop-8.C: New test.
14992 * testsuite/libgomp.c++/taskloop-9.C: New test.
14993 * testsuite/libgomp.fortran/affinity1.f90: New test.
14994 * testsuite/libgomp.fortran/affinity2.f90: New test.
14995
1f600fea
TV
149962015-10-13 Tom de Vries <tom@codesourcery.com>
14997
14998 PR tree-optimization/67476
14999 * testsuite/libgomp.c/autopar-3.c: New test.
15000 * testsuite/libgomp.c/autopar-4.c: New test.
15001 * testsuite/libgomp.c/autopar-5.c: New test.
15002 * testsuite/libgomp.c/autopar-6.c: New test.
15003 * testsuite/libgomp.c/autopar-7.c: New test.
15004 * testsuite/libgomp.c/autopar-8.c: New test.
15005
058a654b
JN
150062015-10-12 James Norris <jnorris@codesourcery.com>
15007
15008 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
15009 initializer.
15010
9e531d37
DM
150112015-10-09 David Malcolm <dmalcolm@redhat.com>
15012
15013 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
15014 using load_gcc_lib.
15015
113020dc
TS
150162015-10-02 Thomas Schwinge <thomas@codesourcery.com>
15017
15018 * oacc-ptx.h: Remove file, moving its content into...
15019 * config/nvptx/fortran.c: ... here...
15020 * config/nvptx/oacc-init.c: ..., here...
15021 * config/nvptx/oacc-parallel.c: ..., and here.
15022 * config/nvptx/openacc.f90: New file.
15023 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
15024 (link_ptx): Don't link in predefined bits of PTX code.
15025
cc3cd79b
NS
150262015-09-30 Nathan Sidwell <nathan@codesourcery.com>
15027 Bernd Schmidt <bernds@codesourcery.com>
15028
15029 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
15030 (struct targ_ptx_obj): New.
15031 (nvptx_tdata): Move earlier, change data format.
15032 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
15033 objects.
15034 (GOMP_OFFLOAD_load_image): Adjust.
15035
4e2a5450
TS
150362015-09-30 Thomas Schwinge <thomas@codesourcery.com>
15037
15038 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
15039 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
15040 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
15041 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
15042 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15043 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
15044 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
15045 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
15046 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
15047 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
15048 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15049 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15050 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15051 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15052 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15053 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15054 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15055 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15056 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15057 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15058 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15059 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15060 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15061 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15062 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15063 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15064 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15065 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15066 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15067 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15068 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15069 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15070 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15071 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15072 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15073 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15074 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15075 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15076 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15077 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15078 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15079 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15080 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15081 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15082 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15083 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15084 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15085 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15086 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15087 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15088 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15089 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15090 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15091 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15092 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
15093 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15094 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15095 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
15096 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
15097 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
15098 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
15099 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
15100 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15101
164453bb
NS
151022015-09-29 Nathan Sidwell <nathan@codesourcery.com>
15103
15104 * oacc-init.c (acc_on_device): Force optimization level.
15105
a12a0437
NS
151062015-09-29 Nathan Sidwell <nathan@codesourcery.com>
15107
15108 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
15109 (cuda_errlist): Delete.
15110 (cuda_error): Reimplement.
15111
3e32ee19
NS
151122015-09-28 Nathan Sidwell <nathan@codesourcery.com>
15113
15114 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
15115 array.
15116 * libgomp.map (GOACC_parallel_keyed): New.
15117 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
15118 all callers.
15119 (GOACC_parallel_keyed): New interface. Lose geometry arguments
15120 and take keyed varargs list. Adjust call to exec_func.
15121 (GOACC_parallel): Force host fallback.
15122 * libgomp_g.h (GOACC_parallel): Remove.
15123 (GOACC_parallel_keyed): Declare.
15124 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 15125 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
15126 (nvptx_exec): Lose separate geometry args, take array. Process
15127 dynamic dimensions and adjust.
15128 (struct nvptx_tdata): Replace fn_names field with fn_descs.
15129 (GOMP_OFFLOAD_load_image): Adjust for change in function table
15130 data.
15131 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
15132 passing.
15133 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
15134 passing.
15135
6bb4c3e2
CLT
151362015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
15137
15138 PR libgomp/67141
15139 * oacc-int.h (goacc_host_init): Add declaration.
15140 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
15141 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
15142
74032f47 151432015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 15144 Sebastian Pop <s.pop@samsung.com>
74032f47 15145
93d90219 15146 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
15147 match o/p.
15148 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
15149 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
15150 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
15151 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
15152 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
15153
97875f4a
JJ
151542015-09-03 Jakub Jelinek <jakub@redhat.com>
15155
15156 * configure.tgt: Add missing ;; in between nvptx and rtems
15157 snippets.
15158
06441dd5
SH
151592015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15160
15161 * config/posix/pool.h (gomp_adjust_thread_attr): New.
15162 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
15163 (gomp_thread_pool_reservoir): Add priority member.
15164 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
15165 priority.
15166 (parse_thread_pools): Likewise.
15167 * team.c (gomp_team_start): Call configuration provided
15168 gomp_adjust_thread_attr(). Destroy thread attributes if
15169 necessary.
15170 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
15171
66c59f92
SH
151722015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15173
15174 * config/posix/pool.h: New.
15175 * config/rtems/pool.h: Likewise.
15176 * config/rtems/proc.c: Likewise.
15177 * libgomp.h (gomp_thread_destructor): Declare.
15178 * team.c: Include configuration provided "pool.h".
15179 (gomp_get_thread_pool): Define in configuration.
15180 (gomp_team_end): Call configuration defined
15181 gomp_release_thread_pool().
15182
13c41b2e
SH
151832015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15184
15185 * config/rtems/bar.c: New.
15186 * config/rtems/bar.h: Likewise.
15187 * config/rtems/mutex.c: Likewise.
15188 * config/rtems/mutex.h: Likewise.
15189 * config/rtems/sem.c: Likewise.
15190 * config/rtems/sem.h: Likewise.
15191 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
15192 <sys/lock.h> header file.
15193 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
15194 supported by Newlib.
15195 * configure: Regenerate.
15196
7892ec67
SH
151972015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
15198
15199 * team.c (gomp_new_thread_pool): Delete and move content to ...
15200 (gomp_get_thread_pool): ... new function. Allocate and
15201 initialize thread pool on demand.
15202 (get_last_team): Use gomp_get_thread_pool().
15203 (gomp_team_start): Delete thread pool initialization.
15204
1b96e9a4
TV
152052015-09-03 Tom de Vries <tom@codesourcery.com>
15206
15207 PR tree-optimization/65637
15208 * testsuite/libgomp.c/autopar-2.c: New test.
15209
3ff2d74e
TV
152102015-08-29 Tom de Vries <tom@codesourcery.com>
15211
15212 PR tree-optimization/46193
15213 * testsuite/libgomp.c/pr46193.c: New test.
15214
2a21ff19
NS
152152015-08-24 Nathan Sidwell <nathan@codesourcery.com>
15216
15217 libgomp/
15218 * libgomp.map: Add 4.0.2 version.
15219 * target.c (offload_image_descr): Add version field.
15220 (gomp_load_image_to_device): Add version argument. Adjust plugin
15221 call. Improve load mismatch diagnostic.
15222 (gomp_unload_image_from_device): Add version argument. Adjust plugin
15223 call.
15224 (GOMP_offload_regster): Make stub function, move bulk to ...
15225 (GOMP_offload_register_ver): ... here. Process version argument.
15226 (GOMP_offload_unregister): Make stub function, move bulk to ...
15227 (GOMP_offload_unregister_ver): ... here. Process version argument.
15228 (gomp_init_device): Process version field.
15229 (gomp_unload_device): Process version field.
15230 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
15231 macros. Check plugin version.
15232 * libgomp.h (gomp_device_descr): Add version function field. Adjust
15233 loader and unloader types.
15234 * oacc-host.c: Include gomp-constants.h.
15235 (host_version): New.
15236 (host_load_image, host_unload_image): Adjust.
15237 (host_dispatch): Add host_version.
15238 * plugin/plugin-nvptx.c: Include gomp-constants.h.
15239 (GOMP_OFFLOAD_version): New.
15240 (GOMP_OFFLOAD_load_image): Add version arg and check it.
15241 (GOMP_OFFLOAD_unload_image): Likewise.
15242 * plugin/plugin-host.c: Include gomp-constants.h.
15243 (GOMP_OFFLOAD_version): New.
15244 (GOMP_OFFLOAD_load_image): Add version arg.
15245 (GOMP_OFFLOAD_unload_image): Likewise.
15246
1358a747
TV
152472015-08-24 Tom de Vries <tom@codesourcery.com>
15248
15249 PR tree-optimization/65468
15250 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
15251
6be5c241
TV
152522015-08-24 Tom de Vries <tom@codesourcery.com>
15253
15254 PR tree-optimization/65468
15255 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15256
bfe7ac89
JV
152572015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
15258
15259 PR libgomp/66761
15260 PR libgomp/67303
15261 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15262 (gomp_iter_guided_next): Idem.
15263 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15264 (gomp_iter_ull_guided_next): Idem.
15265 * config/linux/wait.h (do_spin): Idem.
15266
b97e78b7
TS
152672015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15268
15269 * libgomp-plugin.h (enum offload_target_type): Remove
15270 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15271 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15272 * openacc.h (enum acc_device_t): Likewise.
15273 * openacc_lib.h: Likewise.
15274 * oacc-init.c (name_of_acc_device_t): Don't handle it.
15275 (acc_on_device): Just use __builtin_acc_on_device.
15276 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15277 of acc_on_device builtin.
15278 * plugin/plugin-host.h: Remove file.
15279 * plugin/plugin-host.c: Likewise, but salvage some content into...
15280 * oacc-host.c: ... this file.
15281 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15282 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15283 * Makefile.in: Regenerate.
15284 * configure: Likewise.
15285 * testsuite/lib/libgomp.exp
15286 (check_effective_target_openacc_host_nonshm_selected): Remove.
15287 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15288 ACC_DEVICE_TYPE=host_nonshm.
15289 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15290 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15291 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15292 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15293 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15294 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15295
44a7d18d
TS
152962015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15297 Jakub Jelinek <jakub@redhat.com>
15298
15299 * config/nvptx/affinity.c: New file.
15300 * config/nvptx/alloc.c: Likewise.
15301 * config/nvptx/bar.c: Likewise.
15302 * config/nvptx/barrier.c: Likewise.
15303 * config/nvptx/critical.c: Likewise.
15304 * config/nvptx/env.c: Likewise.
15305 * config/nvptx/error.c: Likewise.
15306 * config/nvptx/fortran.c: Likewise.
15307 * config/nvptx/iter.c: Likewise.
15308 * config/nvptx/iter_ull.c: Likewise.
15309 * config/nvptx/libgomp-plugin.c: Likewise.
15310 * config/nvptx/lock.c: Likewise.
15311 * config/nvptx/loop.c: Likewise.
15312 * config/nvptx/loop_ull.c: Likewise.
15313 * config/nvptx/mutex.c: Likewise.
15314 * config/nvptx/oacc-async.c: Likewise.
15315 * config/nvptx/oacc-cuda.c: Likewise.
15316 * config/nvptx/oacc-host.c: Likewise.
15317 * config/nvptx/oacc-init.c: Likewise.
15318 * config/nvptx/oacc-mem.c: Likewise.
15319 * config/nvptx/oacc-parallel.c: Likewise.
15320 * config/nvptx/oacc-plugin.c: Likewise.
15321 * config/nvptx/omp-lock.h: Likewise.
15322 * config/nvptx/ordered.c: Likewise.
15323 * config/nvptx/parallel.c: Likewise.
15324 * config/nvptx/proc.c: Likewise.
15325 * config/nvptx/ptrlock.c: Likewise.
15326 * config/nvptx/sections.c: Likewise.
15327 * config/nvptx/sem.c: Likewise.
15328 * config/nvptx/single.c: Likewise.
15329 * config/nvptx/splay-tree.c: Likewise.
15330 * config/nvptx/target.c: Likewise.
15331 * config/nvptx/task.c: Likewise.
15332 * config/nvptx/team.c: Likewise.
15333 * config/nvptx/time.c: Likewise.
15334 * config/nvptx/work.c: Likewise.
15335 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15336 * configure: Regenerate.
15337 * configure.tgt (config_path): Set to "nvptx" for target
15338 nvptx*-*-*.
15339
96a2d174
TS
153402015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15341
15342 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15343
9ebddeb0
NS
153442015-08-03 Nathan Sidwell <nathan@codesourcery.com>
15345
15346 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15347 (cuda_errlist): Constify.
15348 (errmsg): Move into ...
15349 (cuda_error): ... here. Make smaller.
15350 (_XSTR, _STR): Delete.
15351 (cuda_synames): Delete.
15352 (verify_device_library): Delete.
15353 (nvptx_init): Don't call it.
15354
12efb1d7
TV
153552015-07-28 Tom de Vries <tom@codesourcery.com>
15356
15357 * testsuite/libgomp.c/uns-outer-4.c: New test.
15358
710ee218
CP
153592015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15360
15361 * testsuite/libgomp.c/pr66714.c: New test.
15362
27c4ac7d
MB
153632015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15364
15365 PR libgomp/66950
15366 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15367 (fib_ref): New function.
15368 (fib): Correct corner cases in the recursion.
15369 (main): Replace the non-simd loop with fib_ref call.
15370 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15371 subroutine.
15372 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15373 for the last array element value. Replace the non-simd loop with
15374 fib_ref call. Remove redundant b_ref array. Remove the comparison
15375 of the last array element with according Fibonacci sequence element.
15376 (fib): Correct corner cases in the recursion.
15377
22be2349
NS
153782015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15379
15380 * target.c (gomp_offload_image_to_device): Rename to ...
15381 (gomp_load_image_to_device): ... here.
15382 (GOMP_offload_register): Adjust call.
15383 (gomp_init_device): Likewise.
15384 (gomp_unload_image_from_device): New. Broken out of ...
15385 (GOMP_offload_unregister): ... here. Call it.
15386 (gomp_unload_device): New.
15387 * libgomp.h (gomp_unload_device): Declare.
15388 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15389 mem maps.
15390
f3e9a059
NS
153912015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15392
a091118d
NS
15393 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15394 wait=-specific if.
15395 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15396 !=0 condition.
15397 (goacc_waits): Move !num_waits handling to ...
15398 (GOACC_wait): ... here, the only caller that might have zero waits.
15399
f3e9a059
NS
15400 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15401 (struct ptx_image_data): Move earlier, add fns field.
15402 (struct ptx_device): Add images and image_lock fields.
15403 (ptx_images, ptx_image_lock): Delete.
15404 (nvptx_open_device): Initialize images and image_lock fields.
15405 (nvptx_close_device): Destroy image_lock.
15406 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15407 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15408 fields.
15409
afb2d80b
NS
154102015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15411
896c28a7
NS
15412 * target.c (GOMP_offload_register): Use int for device type arg.
15413 (GOMP_offload_unregister): Likewise.
15414
ebe4a560
NS
15415 * target.c (struct_offload_image_descr): Constify host_table.
15416 (gomp_offload_image_to_device): Likewise.
15417 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15418
afb2d80b
NS
15419 * libgomp.h (gomp_device_descr): Constify target data arguments.
15420 * target.c (struct offload_image_descr): Constify target_data.
15421 (gomp_offload_image_to_device): Likewise.
15422 (GOMP_offload_register): Likewise.
93d90219 15423 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
15424 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15425 GOMP_OFFLOAD_unload_image): Constify target data.
15426 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15427 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15428
a4cb876d
NS
154292015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15430
15431 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15432 Workaround driver library const error.
15433 (struct nvptx_tdata, nvptx_tdata_t): New.
15434 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15435 type.
15436
28ef6a27
MB
154372015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15438
15439 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15440 of EPS parameter from integer to real.
15441 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15442 type of EPS parameter from integer to real.
15443
6dba0113
SH
154442015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15445
15446 * team.c (get_last_team): New.
15447 (gomp_new_team): Recycle last non-nested team if possible.
15448 (gomp_team_end): Move team work share list free lock destruction
15449 to ...
15450 (free_team): ... here.
15451
4c1cb4da
MB
154522015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15453
15454 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15455 and ref from int to double. Replaced their comparison with
15456 an inequality of their difference and EPS.
15457 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15458 comparison of pri and a reference number with an inequality of their
15459 difference and EPS.
15460 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15461 the comparison of sum and sum_ref with an inequality of their
15462 difference and EPS.
15463 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15464 the comparison of pri and a reference number with an inequality of
15465 their difference and EPS.
15466
343587dc
MB
154672015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15468
15469 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15470 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15471 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15472 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15473 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15474 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15475 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15476 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15477 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15478 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15479 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15480 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15481 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15482 variables.
15483 (vec_mult): Likewise. Add #pragma omp taskwait.
15484 (main): Adjust caller.
15485 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15486 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15487 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15488 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15489 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15490 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15491 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15492 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15493 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15494 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15495 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15496 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15497 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15498 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15499 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15500 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15501 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15502 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15503 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15504 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15505 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15506 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15507 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15508 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15509 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15510 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15511 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15512 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15513 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15514 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15515 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15516 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15517 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15518 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15519 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15520 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15521 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15522 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15523 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15524 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15525 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15526 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15527 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15528 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15529 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15530 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15531 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15532 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15533 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15534 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15535 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15536 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15537 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15538 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15539 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15540 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15541 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15542 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15543 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15544 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15545 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15546 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15547 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15548 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15549 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15550 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15551 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15552 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15553 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15554 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15555 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15556 (vec_mult): Add !$omp taskwait.
15557 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15558 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15559 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15560 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15561 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15562 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15563 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15564 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15565 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15566 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15567 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15568 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15569 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15570 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15571 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15572 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15573 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15574 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15575 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15576 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15577 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15578 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15579 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15580 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15581 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15582 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15583 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15584 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15585 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15586 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15587 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15588 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15589 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15590 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15591 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15592 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15593 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15594 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15595 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15596 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15597 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15598 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15599 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15600 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15601 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15602 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15603 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15604 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15605 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15606 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15607 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15608 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15609 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15610 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15611 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15612 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15613 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15614 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15615 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15616 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15617 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15618 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15619 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15620 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15621 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15622 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15623 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15624
9f620bf1
TV
156252015-07-10 Tom de Vries <tom@codesourcery.com>
15626
15627 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15628 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15629
a92defda
TS
156302015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15631
15632 PR libgomp/65099
15633 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15634 in a 64-bit configuration.
15635 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15636 offloading testing if no such device is available.
15637 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15638 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15639
cadb53a5
TV
156402015-07-08 Tom de Vries <tom@codesourcery.com>
15641
15642 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15643 second call to f.
15644 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15645
712cb0bb
TV
156462015-07-07 Tom de Vries <tom@codesourcery.com>
15647
15648 PR tree-optimization/66642
15649 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15650 iteration count case.
15651 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15652 function, factor out of ...
15653 (main): ... here. Test low iteration count case.
15654
e5210c77
SH
156552015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15656
15657 * libgomp.h (gomp_thread_pool): Comment last_team field.
15658
f70360e7
UB
156592015-07-02 Uros Bizjak <ubizjak@gmail.com>
15660
15661 * testsuite/libgomp.c++/pr66702-1.C: Require
15662 vect_simd_clones effective target.
15663 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15664
b451c271
TV
156652015-06-30 Tom de Vries <tom@codesourcery.com>
15666
15667 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15668 already set. Use DEFAULT_CFLAGS in dg-runtest.
15669 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15670 "-O2".
15671
f8e89d9f
TV
156722015-06-30 Tom de Vries <tom@codesourcery.com>
15673
15674 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15675 already set. Use DEFAULT_CFLAGS in dg-runtest.
15676 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15677 * testsuite/libgomp.c++/pr64824.C: Same.
15678 * testsuite/libgomp.c++/pr64868.C: Same.
15679 * testsuite/libgomp.c++/pr66199-1.C: Same.
15680 * testsuite/libgomp.c++/pr66199-2.C: Same.
15681 * testsuite/libgomp.c++/target-2.C: Same.
15682 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15683 -std=<standard> option.
15684 * testsuite/libgomp.c++/udr-11.C: Same.
15685 * testsuite/libgomp.c++/udr-12.C: Same.
15686 * testsuite/libgomp.c++/udr-13.C: Same.
15687 * testsuite/libgomp.c++/udr-14.C: Same.
15688 * testsuite/libgomp.c++/udr-15.C: Same.
15689 * testsuite/libgomp.c++/udr-16.C: Same.
15690 * testsuite/libgomp.c++/udr-17.C: Same.
15691 * testsuite/libgomp.c++/udr-18.C: Same.
15692 * testsuite/libgomp.c++/udr-19.C: Same.
15693 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15694 * testsuite/libgomp.c++/simd-1.C: Same.
15695 * testsuite/libgomp.c++/simd-2.C: Same.
15696 * testsuite/libgomp.c++/simd-3.C: Same.
15697 * testsuite/libgomp.c++/simd-4.C: Same.
15698 * testsuite/libgomp.c++/simd-5.C: Same.
15699 * testsuite/libgomp.c++/simd-6.C: Same.
15700 * testsuite/libgomp.c++/simd-7.C: Same.
15701 * testsuite/libgomp.c++/simd-8.C: Same.
15702 * testsuite/libgomp.c++/simd-9.C: Same.
15703 * testsuite/libgomp.c++/simd10.C: Same.
15704 * testsuite/libgomp.c++/simd11.C: Same.
15705 * testsuite/libgomp.c++/simd12.C: Same.
15706 * testsuite/libgomp.c++/simd13.C: Same.
15707
3446fe48
JJ
157082015-06-30 Jakub Jelinek <jakub@redhat.com>
15709
15710 PR middle-end/66702
15711 * testsuite/libgomp.c++/pr66702-1.C: New test.
15712 * testsuite/libgomp.c++/pr66702-2.C: New test.
15713
8a36714a
TV
157142015-06-30 Tom de Vries <tom@codesourcery.com>
15715
15716 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15717 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15718 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15719 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15720
4f75d608
TV
157212015-06-30 Tom de Vries <tom@codesourcery.com>
15722
15723 PR tree-optimization/66652
15724 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15725 using restrict pointers.
15726 (main): Add arguments to calls to f.
15727 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15728
6d9d1eeb
AT
157292015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15730
15731 * configure.ac: Fix check for header <sys/sysctl.h>.
15732 * configure: Regenerate.
15733 * config.h.in: Likewise.
15734
1222f22b
TV
157352015-06-23 Tom de Vries <tom@codesourcery.com>
15736
15737 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15738 abort.
15739 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15740
d7efbbf6
TS
157412015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15742
bfcd036f
TS
15743 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15744 acc_device_nvidia.
15745
d7efbbf6
TS
15746 PR libgomp/66518
15747 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15748 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15749
d7bfc710
TV
157502015-06-15 Tom de Vries <tom@codesourcery.com>
15751
15752 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15753 dg-additional-options for any remaining options.
15754 * testsuite/libgomp.c/atomic-2.c: Same.
15755 * testsuite/libgomp.c/atomic-4.c: Same.
15756 * testsuite/libgomp.c/atomic-5.c: Same.
15757 * testsuite/libgomp.c/atomic-6.c: Same.
15758 * testsuite/libgomp.c/autopar-1.c: Same.
15759 * testsuite/libgomp.c/copyin-1.c: Same.
15760 * testsuite/libgomp.c/copyin-2.c: Same.
15761 * testsuite/libgomp.c/copyin-3.c: Same.
15762 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15763 * testsuite/libgomp.c/nestedfn-5.c: Same.
15764 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15765 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15766 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15767 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15768 * testsuite/libgomp.c/pr32362-1.c: Same.
15769 * testsuite/libgomp.c/pr32362-2.c: Same.
15770 * testsuite/libgomp.c/pr32362-3.c: Same.
15771 * testsuite/libgomp.c/pr39591-1.c: Same.
15772 * testsuite/libgomp.c/pr39591-2.c: Same.
15773 * testsuite/libgomp.c/pr39591-3.c: Same.
15774 * testsuite/libgomp.c/pr58392.c: Same.
15775 * testsuite/libgomp.c/pr58756.c: Same.
15776 * testsuite/libgomp.c/simd-1.c: Same.
15777 * testsuite/libgomp.c/simd-10.c: Same.
15778 * testsuite/libgomp.c/simd-11.c: Same.
15779 * testsuite/libgomp.c/simd-12.c: Same.
15780 * testsuite/libgomp.c/simd-13.c: Same.
15781 * testsuite/libgomp.c/simd-14.c: Same.
15782 * testsuite/libgomp.c/simd-15.c: Same.
15783 * testsuite/libgomp.c/simd-2.c: Same.
15784 * testsuite/libgomp.c/simd-3.c: Same.
15785 * testsuite/libgomp.c/simd-4.c: Same.
15786 * testsuite/libgomp.c/simd-5.c: Same.
15787 * testsuite/libgomp.c/simd-6.c: Same.
15788 * testsuite/libgomp.c/simd-7.c: Same.
15789 * testsuite/libgomp.c/simd-8.c: Same.
15790 * testsuite/libgomp.c/simd-9.c: Same.
15791
fb5b5352
TV
157922015-06-15 Tom de Vries <tom@codesourcery.com>
15793
15794 * testsuite/libgomp.c/pr35625.c: Fix typo.
15795
ca431bef
TV
157962015-06-15 Tom de Vries <tom@codesourcery.com>
15797
15798 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15799 in dg-options.
15800 * testsuite/libgomp.c/atomic-3.c: Same.
15801 * testsuite/libgomp.c/debug-1.c: Same.
15802 * testsuite/libgomp.c/nqueens-1.c: Same.
15803 * testsuite/libgomp.c/pr26171.c: Same.
15804 * testsuite/libgomp.c/pr48591.c: Same.
15805 * testsuite/libgomp.c/pr64824.c: Same.
15806 * testsuite/libgomp.c/pr64868.c: Same.
15807 * testsuite/libgomp.c/pr66133.c: Same.
15808 * testsuite/libgomp.c/pr66199-1.c: Same.
15809 * testsuite/libgomp.c/pr66199-2.c: Same.
15810 * testsuite/libgomp.c/target-8.c: Same.
15811
0d8a9e20
TV
158122015-06-15 Tom de Vries <tom@codesourcery.com>
15813
15814 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15815 -std={gnu99,c99}.
15816 * testsuite/libgomp.c/for-1.c: Same.
15817 * testsuite/libgomp.c/for-2.c: Same.
15818 * testsuite/libgomp.c/for-3.c: Same.
15819 * testsuite/libgomp.c/pr35625.c: Same.
15820 * testsuite/libgomp.c/pr39154.c: Same.
15821 * testsuite/libgomp.c/simd-16.c: Same.
15822 * testsuite/libgomp.c/simd-17.c: Same.
15823
a6860be9
TV
158242015-06-13 Tom de Vries <tom@codesourcery.com>
15825
15826 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15827
ab3306d2
TV
158282015-06-13 Tom de Vries <tom@codesourcery.com>
15829
15830 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15831 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15832 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15833 (N): Define.
15834 (main): Use N instead of hardcoded constants.
15835
7c82d827
TV
158362015-06-05 Tom de Vries <tom@codesourcery.com>
15837
15838 merge from gomp4 branch:
15839 2015-05-28 Tom de Vries <tom@codesourcery.com>
15840
15841 PR tree-optimization/65443
15842 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15843 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15844 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15845
c469078d
BRF
158462015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15847
15848 * testsuite/libgomp.graphite/bounds.c: Adjust for
15849 cleanup-tree-dump removal.
15850 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15851 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15852 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15853 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15854 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15855 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15856 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15857 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15858 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15859 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15860
bb3caa35
UB
158612015-05-28 Uros Bizjak <ubizjak@gmail.com>
15862
15863 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15864 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15865 (futex_wake) [!__x86_64__]: Ditto.
15866
9fb5fd44
JB
158672015-05-28 Julian Brown <julian@codesourcery.com>
15868
15869 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15870 function comment. Only call gomp_fatal if new argument is true.
15871 (acc_dev_num_out_of_range): New function.
15872 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15873 acc_dev_num_out_of_range as appropriate.
15874 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
15875 (acc_get_device_num, acc_set_device_num): Update calls to
15876 resolve_device.
9fb5fd44
JB
15877 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15878 output.
15879
32eaed93
JB
158802015-05-28 Julian Brown <julian@codesourcery.com>
15881
15882 PR libgomp/65742
32eaed93
JB
15883 * oacc-init.c (plugin/plugin-host.h): Include.
15884 (acc_on_device): Check whether we're in an offloaded region for
15885 host_nonshm
15886 plugin. Don't use __builtin_acc_on_device.
15887 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15888 nonshm_exec flag in thread-local data.
15889 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15890 data for host_nonshm plugin.
15891 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15892 for host_nonshm plugin.
15893 * plugin/plugin-host.h: New.
15894
ea023bcf
UB
158952015-05-27 Uros Bizjak <ubizjak@gmail.com>
15896
8ed501f1
UB
15897 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15898
158992015-05-27 Uros Bizjak <ubizjak@gmail.com>
15900
15901 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15902 Declare as int.
15903 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15904 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15905 Declare as int.
15906
159072015-05-27 Uros Bizjak <ubizjak@gmail.com>
15908
bb3caa35 15909 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 15910
1716efeb
CLT
159112015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15912
15913 * target.c (gomp_map_pointer): New function abstracting out
15914 GOMP_MAP_POINTER handling.
15915 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15916 gomp_map_pointer().
15917
41b37d5e
JJ
159182015-05-19 Jakub Jelinek <jakub@redhat.com>
15919
15920 PR middle-end/66199
15921 * testsuite/libgomp.c/pr66199-1.c: New test.
15922 * testsuite/libgomp.c/pr66199-2.c: New test.
15923 * testsuite/libgomp.c++/pr66199-1.C: New test.
15924 * testsuite/libgomp.c++/pr66199-2.C: New test.
15925 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15926 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15927
c8319826
JB
159282015-05-19 Julian Brown <julian@codesourcery.com>
15929
15930 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15931 on cuInit failure.
15932
b37dddbc
JJ
159332015-05-13 Jakub Jelinek <jakub@redhat.com>
15934
15935 PR middle-end/66133
15936 * testsuite/libgomp.c/pr66133.c: New test.
15937
55fba601
MH
159382015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15939
15940 * Makefile.in: Regenerated with automake-1.11.6.
15941 * aclocal.m4: Likewise.
15942 * config.h.in: Likewise.
15943 * configure: Likewise.
15944 * testsuite/Makefile.in: Likewise.
15945
1be0899d
JM
159462015-05-08 Jason Merrill <jason@redhat.com>
15947
15948 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15949 _Complex.
15950
15951 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15952
d2463960
JB
159532015-05-06 Julian Brown <julian@codesourcery.com>
15954
15955 * oacc-init.c (acc_device_lock): Add explanatory comment.
15956 (resolve_device): Add comment about locking requirement.
15957 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15958 gomp_init_device and gomp_fini_device calls.
15959 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15960 (acc_get_device_num, acc_set_device_num): Add locking around
15961 resolve_device and gomp_init_device calls.
15962
e38fdba4
JB
159632015-05-06 Julian Brown <julian@codesourcery.com>
15964
15965 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15966 goacc_thread_lock on error paths.
15967 * oacc-mem.c (lookup_host): Remove locking from function. Note
15968 locking requirement for caller in function comment.
15969 (lookup_dev): Likewise.
15970 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15971 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15972 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15973 Add locking.
15974
ae8ffbbb
TS
159752015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15976
15977 PR testsuite/65205
15978 PR libgomp/65993
15979 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15980 don't expect "0x" prefix for "%p" format specifier, don't expect
15981 "(nil)" for NULL pointer.
15982 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15983 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15984 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15985 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15986 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15987 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15988 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15989 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15990 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15991 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15992 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15993 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15994 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15995 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15996 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15997 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15998 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15999 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16000 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16001 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16002 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16003 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16004 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16005 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16006 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16007 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16008 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16009 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16010 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
16011 accurately specify what we're looking for.
16012 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16013 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16014 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16015 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16016 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16017
1309f1d2
JN
160182015-04-30 James Norris <jnorris@codesourcery.com>
16019
16020 PR testsuite/65205
16021 * testsuite/lib/libgomp.exp
16022 (check_effective_target_openacc_host_selected)
16023 (check_effective_target_openacc_host_nonshm_selected): New
16024 procedures.
16025 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
16026 dg-shouldfail.
16027 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16028 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16029 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16030 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16031 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16032 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16033 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16034 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16035 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16036 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16037 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16038 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16039 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16040 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16041 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16042 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16043 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16044 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16045 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16046 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16047 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16048 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16049 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16050 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16051 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16052 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16053 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16054 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16055 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16056 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16057 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16058 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16059 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16060 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16061 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16062 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16063 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16064 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16065 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16066 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16067 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16068 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16069 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16070
d93bdab5
JB
160712015-04-08 Julian Brown <julian@codesourcery.com>
16072
16073 * libgomp.h (target_mem_desc: Remove mem_map field.
16074 (acc_dispatch_t): Remove open_device_func, close_device_func,
16075 get_device_num_func, set_device_num_func, target_data members.
16076 Change create_thread_data_func argument to device number instead of
16077 generic pointer.
16078 * oacc-async.c (assert.h): Include.
16079 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
16080 (acc_wait_all, acc_wait_all_async): Use current host thread's
16081 active device, not base_dev.
16082 * oacc-cuda.c (acc_get_current_cuda_device)
16083 (acc_get_current_cuda_context, acc_get_cuda_stream)
16084 (acc_set_cuda_stream): Likewise.
16085 * oacc-host.c (host_dispatch): Don't set open_device_func,
16086 close_device_func, get_device_num_func or set_device_num_func.
16087 * oacc-init.c (base_dev, init_key): Remove.
16088 (cached_base_dev): New.
16089 (name_of_acc_device_t): New.
16090 (acc_init_1): Initialise default-numbered device, not zeroth.
16091 (acc_shutdown_1): Close all devices of a given type.
16092 (goacc_destroy_thread): Don't use base_dev.
16093 (lazy_open, lazy_init, lazy_init_and_open): Remove.
16094 (goacc_attach_host_thread_to_device): New.
16095 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
16096 (acc_get_num_devices): Don't use base_dev.
16097 (acc_set_device_type): Reimplement.
16098 (acc_get_device_type): Don't use base_dev.
16099 (acc_get_device_num): Tweak logic.
16100 (acc_set_device_num): Likewise.
16101 (acc_on_device): Use acc_get_device_type.
16102 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
16103 (goacc_lazy_initialize): Reimplement with acc_init and
16104 goacc_attach_host_thread_to_device.
16105 * oacc-int.h (goacc_thread): Add base_dev field.
16106 (base_dev): Remove extern declaration.
16107 (goacc_attach_host_thread_to_device): Add prototype.
16108 * oacc-mem.c (acc_malloc): Use current thread's device instead of
16109 base_dev.
16110 (acc_free): Likewise.
16111 (acc_memcpy_to_device): Likewise.
16112 (acc_memcpy_from_device): Likewise.
16113 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
16114 goacc_lazy_initialize (throughout).
16115 (GOACC_parallel): Use tgt_offset to locate target functions.
16116 * target.c (gomp_map_vars): Don't set tgt->mem_map.
16117 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
16118 (gomp_load_plugin_for_device): Remove open_device, close_device,
16119 get_device_num, set_device_num openacc hook initialisation. Don't set
16120 openacc.target_data.
16121 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
16122 (GOMP_OFFLOAD_openacc_close_device)
16123 (GOMP_OFFLOAD_openacc_get_device_num)
16124 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
16125 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
16126 to int.
16127 * plugin/plugin-nvptx.c (ptx_inited): Remove.
16128 (instantiated_devices, ptx_dev_lock): New.
16129 (struct ptx_image_data): New.
16130 (ptx_devices, ptx_images, ptx_image_lock): New.
16131 (fini_streams_for_device): Reorder cuStreamDestroy call.
16132 (nvptx_get_num_devices): Remove forward declaration.
16133 (nvptx_init): Change return type to bool.
16134 (nvptx_fini): Remove.
16135 (nvptx_attach_host_thread_to_device): New.
16136 (nvptx_open_device): Return struct ptx_device* instead of void*.
16137 (nvptx_close_device): Change argument type to struct ptx_device*,
16138 return type to void.
16139 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
16140 (kernel_target_data, kernel_host_table): Remove static globals.
16141 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
16142 (GOMP_OFFLOAD_init_device): Reimplement.
16143 (GOMP_OFFLOAD_fini_device): Likewise.
16144 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
16145 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
16146 (GOMP_OFFLOAD_host2dev): Use ORD argument.
16147 (GOMP_OFFLOAD_openacc_open_device)
16148 (GOMP_OFFLOAD_openacc_close_device)
16149 (GOMP_OFFLOAD_openacc_set_device_num)
16150 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
16151 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
16152 (device number).
16153
16154 testsuite/
16155 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
16156
a51df54e
IV
161572015-04-06 Ilya Verbin <ilya.verbin@intel.com>
16158
16159 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
16160 * libgomp.h (struct gomp_memory_mapping): Remove.
16161 (struct target_mem_desc): Change type of mem_map from
16162 gomp_memory_mapping * to splay_tree_s *.
16163 (struct gomp_device_descr): Remove register_image_func, get_table_func.
16164 Add load_image_func, unload_image_func.
16165 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
16166 Remove offload_regions_registered.
16167 (gomp_init_tables): Remove.
16168 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16169 to splay_tree_s *.
16170 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
16171 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
16172 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
16173 offload_regions_registered.
16174 Initialize load_image_func, unload_image_func, mem_map.root.
16175 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
16176 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
16177 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
16178 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
16179 gomp_memory_mapping *. Use dev's lock and splay_tree.
16180 (lookup_dev): Use dev's lock.
16181 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
16182 (acc_is_present): Likewise.
16183 (acc_map_data): Likewise.
16184 (acc_unmap_data): Likewise. Use dev's lock.
16185 (present_create_copy): Likewise.
16186 (delete_copyout): Pass dev to lookup_host instead of mem_map.
16187 (update_dev_host): Likewise.
16188 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
16189 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
16190 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
16191 (GOMP_OFFLOAD_get_table): Remove
16192 (GOMP_OFFLOAD_load_image): New function.
16193 (GOMP_OFFLOAD_unload_image): New function.
16194 * target.c (register_lock): New mutex for offload image registration.
16195 (num_devices): Do not guard with PLUGIN_SUPPORT.
16196 (gomp_realloc_unlock): New static function.
16197 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
16198 before gomp_fatal.
16199 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
16200 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
16201 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
16202 mem_map's.
16203 (gomp_unmap_vars): Likewise.
16204 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
16205 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
16206 (gomp_offload_image_to_device): New static function.
16207 (GOMP_offload_register): Add mutex lock.
16208 Call gomp_offload_image_to_device for all initialized devices.
16209 Replace gomp_realloc with gomp_realloc_unlock.
16210 (GOMP_offload_unregister): New function.
16211 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
16212 get_table_func from the plugin with calls to init_device_func and
16213 gomp_offload_image_to_device.
16214 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16215 to splay_tree_s *.
16216 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
16217 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
16218 (GOMP_target_data): Do not call gomp_init_tables.
16219 (GOMP_target_update): Likewise. Remove argument from gomp_update.
16220 (gomp_load_plugin_for_device): Replace register_image and get_table
16221 with load_image and unload_image in DLSYM ().
16222 (gomp_register_images_for_device): Remove function.
16223 (gomp_target_init): Do not initialize current_device.mem_map.*,
16224 current_device.offload_regions_registered.
16225 Remove call to gomp_register_images_for_device.
16226 Do not free offload_images and num_offload_images.
16227
6c384511
JJ
162282015-03-30 Jakub Jelinek <jakub@redhat.com>
16229
16230 PR fortran/65597
16231 * testsuite/libgomp.fortran/pr65597.f90: New test.
16232
3e8165a5
TV
162332015-03-27 Tom de Vries <tom@codesourcery.com>
16234
16235 PR testsuite/65594
16236 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
16237 (init, check): New function.
16238 (foo): Change return type to void.
16239 (main): Call init and check.
16240
4d688c9a
TV
162412015-03-27 Tom de Vries <tom@codesourcery.com>
16242
16243 PR testsuite/65594
16244 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
16245 (foo): Use M for non-inner loops to scale down test-case.
16246
01c0b3b0
KT
162472015-03-25 Kai Tietz <ktietz@redhat.com>
16248
16249 PR libgomp/64972
16250 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
16251 (GOACC_data_start): Likewise.
16252 * target.c (gomp_map_vars): Likewise.
16253
844d9a76
JDA
162542015-03-21 John David Anglin <danglin@gcc.gnu.org>
16255
16256 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16257 hppa*-*-hpux*.
16258
9b65e171
JJ
162592015-03-19 Jakub Jelinek <jakub@redhat.com>
16260
16261 * testsuite/libgomp.c/target-10.c: New test.
16262 * testsuite/libgomp.c++/target-4.C: New test.
16263
db397e2e
IV
162642015-03-13 Ilya Verbin <ilya.verbin@intel.com>
16265
16266 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16267 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16268
cd93945d
SH
162692015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
16270
16271 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16272 * configure.ac (*-*-rtems*): Assume Pthread is supported.
16273 (pthread.h): Check for this header file.
16274 * configure: Regenerate.
16275
05deba9f
TV
162762015-02-25 Tom de Vries <tom@codesourcery.com>
16277
16278 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16279 (check_reduction_op, check_reduction_macro, max, min):
16280 Declare.
16281 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16282 function.
16283 (main): Use new functions.
16284
196904d8
IT
162852015-02-18 Ilya Tocar <ilya.tocar@intel.com>
16286
16287 * target.c (gomp_load_plugin_for_device): Use const char * instead of
16288 char * for variables holding dlerror return values.
16289 (DLSYM_OPT): Ditto.
16290
a2818955
TS
162912015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16292
16293 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16294
26f93312
TS
162952015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16296 Cesar Philippidis <cesar@codesourcery.com>
16297
16298 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16299 GOACC_ctaid, and GOACC_nctaid routines.
16300
fa01ffcc
JJ
163012015-02-11 Jakub Jelinek <jakub@redhat.com>
16302
16303 PR c/64824
16304 * testsuite/libgomp.c/atomic-18.c: New test.
16305 * testsuite/libgomp.c++/atomic-16.C: New test.
16306
4886ec8e
JJ
163072015-02-04 Jakub Jelinek <jakub@redhat.com>
16308
16309 PR c/64824
16310 PR c/64868
16311 * testsuite/libgomp.c/pr64824.c: New test.
16312 * testsuite/libgomp.c/pr64868.c: New test.
16313 * testsuite/libgomp.c++/pr64824.C: New test.
16314 * testsuite/libgomp.c++/pr64868.C: New test.
16315
02d3e45e
DE
163162015-02-01 David Edelsohn <dje.gcc@gmail.com>
16317
16318 PR libgomp/64635
16319 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16320 Link with -lpthread.
16321 * config/aix/plugin-suffix.h: Delete.
16322
b5f7a6ca
JH
163232015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
16324
16325 PR libgomp/64635
16326 * configure.tgt (*-*-aix*): Use config_path "aix posix".
16327 (*-*-darwin*): Use config_path "bsd darwin posix".
16328 (*-*-hpux*): Use config_path "hpux posix".
16329 * target.c: Add include of plugin-suffix.h and use
16330 SONAME_SUFFIX macro.
16331 * config/aix/plugin-suffix.h: New file.
16332 * config/darwin/plugin-suffix.h: New file.
16333 * config/hpux/plugin-suffix.h: New file.
16334 * config/posix/plugin-suffix.h: New file.
16335
b8910447
JJ
163362015-01-23 Jakub Jelinek <jakub@redhat.com>
16337
16338 PR middle-end/64734
16339 * libgomp.c/pr64734.c: New test.
16340
a0c88d06
TV
163412015-01-23 Tom de Vries <tom@codesourcery.com>
16342
16343 PR libgomp/64672
16344 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16345
1506ae0e
TV
163462015-01-23 Tom de Vries <tom@codesourcery.com>
16347
16348 PR libgomp/64707
16349 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16350 dg-options.
16351
128b26dc
TS
163522015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16353
bed62c21 16354 PR libgomp/64625
128b26dc
TS
16355 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16356 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16357 formal parameter. Update all users.
16358 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16359 Document unused formal parameter.
16360
6e36114c
TS
163612015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16362
16363 * oacc-parallel.c: Don't include <alloca.h>.
16364 (GOACC_parallel): Use gomp_alloca instead of alloca.
16365
973e9808
GP
163662015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16367
16368 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16369
41dbbb37
TS
163702015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16371 James Norris <jnorris@codesourcery.com>
16372 Tom de Vries <tom@codesourcery.com>
16373 Julian Brown <julian@codesourcery.com>
16374 Cesar Philippidis <cesar@codesourcery.com>
16375 Nathan Sidwell <nathan@codesourcery.com>
16376 Tobias Burnus <burnus@net-b.de>
16377
16378 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16379 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16380 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16381 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16382 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16383 Include $(top_srcdir)/plugin/Makefrag.am.
16384 (nodist_libsubinclude_HEADERS): Add openacc.h.
16385 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16386 openacc.f90, openacc.mod, openacc_kinds.mod.
16387 (omp_lib.mod): Generalize into...
16388 (%.mod): ... this new rule.
16389 (openacc_kinds.mod, openacc.mod): New rules.
16390 * plugin/configfrag.ac: New file.
16391 * configure.ac: Move plugin/offloading support into it. Include
16392 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16393 * plugin/Makefrag.am: New file.
16394 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16395 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16396 export.
16397 (libgomp-test-support.exp): New rule.
16398 (all-local): Depend on it.
16399 * Makefile.in: Regenerate.
16400 * testsuite/Makefile.in: Regenerate.
16401 * config.h.in: Likewise.
16402 * configure: Likewise.
16403 * configure.tgt: Harden shell syntax.
16404 * env.c: Include "oacc-int.h".
16405 (parse_acc_device_type): New function.
16406 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16407 variables.
16408 (initialize_env): Initialize those. Call
16409 goacc_runtime_initialize.
16410 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16411 (gomp_fatal): Call gomp_vfatal.
16412 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16413 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16414 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16415 (splay_tree_node, splay_tree, splay_tree_key)
16416 (struct target_mem_desc, struct splay_tree_key_s)
16417 (struct gomp_memory_mapping, struct acc_dispatch_t)
16418 (struct gomp_device_descr, gomp_acc_insert_pointer)
16419 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16420 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16421 (gomp_free_memmap, gomp_fini_device): New declarations.
16422 (gomp_vdebug, gomp_debug): New macros.
16423 Include "splay-tree.h".
16424 * libgomp.map (OACC_2.0): New symbol version. Use for
16425 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16426 acc_set_device_type_h_, acc_get_device_type,
16427 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16428 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16429 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16430 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16431 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16432 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16433 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16434 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16435 acc_copyin_array_h_, acc_present_or_copyin,
16436 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16437 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16438 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16439 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16440 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16441 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16442 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16443 acc_update_device, acc_update_device_32_h_,
16444 acc_update_device_64_h_, acc_update_device_array_h_,
16445 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16446 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16447 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16448 acc_is_present_64_h_, acc_is_present_array_h_,
16449 acc_memcpy_to_device, acc_memcpy_from_device,
16450 acc_get_current_cuda_device, acc_get_current_cuda_context,
16451 acc_get_cuda_stream, acc_set_cuda_stream.
16452 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16453 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16454 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16455 GOACC_get_num_threads.
16456 (GOMP_PLUGIN_1.0): New symbol version. Use for
16457 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16458 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16459 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16460 GOMP_PLUGIN_acc_thread.
16461 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16462 environment variable.
16463 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16464 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16465 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16466 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16467 (splay_tree_remove): New declarations.
16468 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16469 (splay_tree_remove, splay_tree_lookup): Move into...
16470 * splay-tree.c: ... this new file.
16471 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16472 (splay_tree_node, splay_tree, splay_tree_key)
16473 (struct target_mem_desc, struct splay_tree_key_s)
16474 (struct gomp_device_descr): Don't declare.
16475 (num_devices_openmp): New variable.
16476 (gomp_get_num_devices ): Use it.
16477 (gomp_init_targets_once): New function.
16478 (gomp_get_num_devices ): Use it.
16479 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16480 (gomp_fini_device, gomp_register_image_for_device): New functions.
16481 (gomp_map_vars): Add devaddrs parameter.
16482 (gomp_update): Add mm parameter.
16483 (gomp_init_device): Move most of it into...
16484 (gomp_init_tables): ... this new function.
16485 (gomp_register_images_for_device): Remove function.
16486 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16487 Make them hidden instead of static.
16488 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16489 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16490 (GOMP_target_end_data, GOMP_target_update)
16491 (gomp_load_plugin_for_device, gomp_target_init): Update for
16492 OpenACC changes.
16493 * oacc-async.c: New file.
16494 * oacc-cuda.c: Likewise.
16495 * oacc-host.c: Likewise.
16496 * oacc-init.c: Likewise.
16497 * oacc-int.h: Likewise.
16498 * oacc-mem.c: Likewise.
16499 * oacc-parallel.c: Likewise.
16500 * oacc-plugin.c: Likewise.
16501 * oacc-plugin.h: Likewise.
16502 * oacc-ptx.h: Likewise.
16503 * openacc.f90: Likewise.
16504 * openacc.h: Likewise.
16505 * openacc_lib.h: Likewise.
16506 * plugin/plugin-host.c: Likewise.
16507 * plugin/plugin-nvptx.c: Likewise.
16508 * libgomp-plugin.c: Likewise.
16509 * libgomp-plugin.h: Likewise.
16510 * libgomp_target.h: Remove file after merging content into the
16511 former file. Update all users.
16512 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16513 (offload_targets_s, offload_targets_s_openacc): New variables.
16514 (check_effective_target_openacc_nvidia_accel_present)
16515 (check_effective_target_openacc_nvidia_accel_selected): New
16516 procedures.
16517 (libgomp_init): Update for OpenACC changes.
16518 * testsuite/libgomp-test-support.exp.in: New file.
16519 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16520 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16521 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16522 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16523 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16524 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16525 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16526 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16527 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16528 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16529 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16530 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16531 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16532 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16533 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16534 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16535 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16536 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16537 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16538 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16539 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16540 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16541 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16542 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16543 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16544 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16545 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16546 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16547 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16548 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16549 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16550 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16551 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16552 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16553 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16554 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16555 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16556 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16557 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16558 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16559 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16560 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16561 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16562 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16563 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16564 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16565 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16566 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16567 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16568 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16569 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16570 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16571 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16572 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16573 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16574 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16575 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16576 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16577 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16578 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16579 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16580 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16581 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16582 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16583 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16584 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16585 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16586 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16587 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16588 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16589 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16590 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16591 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16592 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16593 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16594 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16595 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16596 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16597 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16598 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16599 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16600 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16601 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16602 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16603 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16604 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16605 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16606 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16607 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16608 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16609 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16610 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16611 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16612 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16613 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16614 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16615 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16616 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16617 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16618 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16619 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16620 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16621 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16622 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16623 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16624 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16625 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16626 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16627 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16628 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16629 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16630 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16631 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16632 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16633 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16634 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16635 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16636 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16637 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16638 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16639 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16640 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16641 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16642 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16643 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16644 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16645 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16646 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16647 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16648 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16649 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16650 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16651 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16652 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16653 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16654 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16655 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16656 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16657 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16658 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16659 Likewise.
16660 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16661 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16662 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16663 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16664 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16665 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16666 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16667 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16668 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16669 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16670 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16671 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16672 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16673 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16674 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16675 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16676 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16677 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16678 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16679 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16680 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16681 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16682 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16683 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16684 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16685 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16686 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16687 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16688 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16689 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16690 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16691 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16692 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16693 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16694 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16695 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16696 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16697 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16698 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16699 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16700 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16701 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16702 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16703 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16704 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16705 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16706 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16707 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16708 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16709 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16710 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16711 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16712 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16713 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16714 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16715 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16716 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16717 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16718 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16719 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16720
f1f3453e
TS
167212015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16722 Julian Brown <julian@codesourcery.com>
16723 David Malcolm <dmalcolm@redhat.com>
16724
16725 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16726 to "GNU Offloading and Multi Processing Runtime Library". Change
16727 all users.
16728 * configure: Regenerate.
16729 * libgomp.texi: Update.
16730
f9a0eca4
TS
167312015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16732
b335ef4e
TS
16733 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16734 "$tgt_dir/lib32".
16735 * configure: Regenerate.
16736
f9a0eca4
TS
16737 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16738 "intelmic" in $offload_targets.
16739
b67cd4e3
JJ
167402015-01-05 Jakub Jelinek <jakub@redhat.com>
16741
5624e564
JJ
16742 Update copyright years.
16743
b67cd4e3
JJ
16744 * libgomp.texi: Bump @copying's copyright year.
16745
3b41b583
KT
167462014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16747
16748 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 16749 Move load of target-supports.exp earlier.
3b41b583 16750
2354caec
IV
167512014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16752
16753 * testsuite/libgomp.c/target-9.c: New test.
16754
f50eecba
VR
167552014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16756
16757 * config.h.in: Regenerate.
16758 * configure: Regenerate.
16759 * configure.ac: Add GCC_CHECK_EMUTLS.
16760 * libgomp.h: Add check for USE_EMUTLS: this case
16761 is equal to HAVE_TLS.
16762 * team.c: Likewise.
16763
68bc9270
UB
167642014-12-03 Uros Bizjak <ubizjak@gmail.com>
16765
16766 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16767
476ff787
AT
167682014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16769 Ilya Verbin <ilya.verbin@intel.com>
16770
16771 * testsuite/libgomp.c/target-critical-1.c: New test.
16772
31a30e62
JJ
167732014-11-26 Jakub Jelinek <jakub@redhat.com>
16774
16775 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 16776 to dg-options unless expensive testing is on.
31a30e62
JJ
16777 (TESTITERS): Define to N if not defined.
16778 (main): Use TESTITERS instead of N.
16779 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16780 dg-additional-options depending on whether expensive testing is on.
16781 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16782 Decrease N to 100000 and CHUNKSZ to 10000.
16783
3f9e8f13
JJ
167842014-11-24 Jakub Jelinek <jakub@redhat.com>
16785
16786 PR fortran/63938
31a30e62
JJ
16787 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16788 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 16789
c8451a46
SE
167902014-11-21 Steve Ellcey <sellcey@imgtec.com>
16791
16792 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16793
a699d672
L
167942014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16795
16796 PR bootstrap/63784
16797 * configure: Regenerated.
16798
4a19f719
UB
167992014-11-19 Uros Bizjak <ubizjak@gmail.com>
16800
16801 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16802 vect_simd_clones effective target.
16803 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16804
b1bf6c52
JJ
168052014-11-14 Jakub Jelinek <jakub@redhat.com>
16806
16807 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16808 of 32 as block_size.
16809 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16810 instead of 32 as block_size.
16811
d64ae614
AT
168122014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16813 Ilya Verbin <ilya.verbin@intel.com>
16814
16815 * Makefile.in: Regenerate.
16816 * configure: Regenerate.
16817 * configure.ac: Set up offload_additional_options,
16818 offload_additional_lib_paths and offload_targets.
16819 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16820 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16821 * testsuite/Makefile.in: Regenerate.
16822 * testsuite/lib/libgomp.exp (libgomp_init): Append
16823 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16824 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16825 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16826
122d7303
AT
168272014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16828 Ilya Verbin <ilya.verbin@intel.com>
16829 Kirill Yukhin <kirill.yukhin@intel.com>
16830 Ilya Tocar <ilya.tocar@intel.com>
16831
16832 * testsuite/lib/libgomp.exp
16833 (check_effective_target_offload_device): New.
16834 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16835 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16836 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16837 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16838 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16839 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16840 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16841 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16842 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16843 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16844 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16845 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16846 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16847 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16848 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16849 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16850 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16851 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16852 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16853 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16854 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16855 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16856 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16857 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16858 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16859 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16860 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16861 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16862 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16863 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16864 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16865 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16866 * testsuite/libgomp.c/target-7.c: Fix test.
16867 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16868 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16869 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16870 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16871 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16872 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16873 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16874 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16875 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16876 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16877 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16878 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16879 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16880 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16881 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16882 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16883 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16884 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16885 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16886 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16887 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16888 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16889 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16890 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16891 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16892 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16893 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16894 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16895 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16896 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16897 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16898
1df3f842
JJ
168992014-11-13 Jakub Jelinek <jakub@redhat.com>
16900 Ilya Verbin <ilya.verbin@intel.com>
16901 Thomas Schwinge <thomas@codesourcery.com>
16902 Andrey Turetskiy <andrey.turetskiy@intel.com>
16903
16904 * libgomp.map (GOMP_4.0.1): New symbol version.
16905 Add GOMP_offload_register.
16906 * libgomp_target.h: New file.
16907 * splay-tree.h: New file.
16908 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16909 (gomp_target_init): New forward declaration.
16910 (gomp_is_initialized): New static variable.
16911 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16912 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16913 New structures.
16914 (offload_images, num_offload_images, devices, num_devices): New static
16915 variables.
16916 (splay_compare): New static function.
16917 (struct gomp_device_descr): New structure.
16918 (gomp_get_num_devices): Call gomp_target_init.
16919 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16920 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16921 (GOMP_offload_register): New function.
16922 (GOMP_target): Arrange for host callback to be performed in a separate
16923 initial thread and contention group, inheriting ICVs from
16924 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16925 Add device initialization and lookup for target function in splay tree.
16926 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16927 (GOMP_target_end_data): Call gomp_unmap_vars.
16928 (GOMP_target_update): Add device initialization and call gomp_update.
16929 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16930 (gomp_target_init): New static functions.
16931
85c64bbe
BS
169322014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16933 Thomas Schwinge <thomas@codesourcery.com>
16934 Ilya Verbin <ilya.verbin@intel.com>
16935 Andrey Turetskiy <andrey.turetskiy@intel.com>
16936
16937 * config.h.in: Regenerate.
16938 * configure: Regenerate.
16939 * configure.ac: Check for libdl, required for plugin support.
16940 (PLUGIN_SUPPORT): Define if plugins are supported.
16941 (enable_offload_targets): Support Intel MIC targets.
16942 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16943
ebf6d33b
FXC
169442014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16945
16946 PR target/63610
16947 * configure: Regenerate.
16948
8c768629
RO
169492014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16950
16951 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16952
c1d62412
MP
169532014-10-06 Marek Polacek <polacek@redhat.com>
16954
16955 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16956 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16957 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16958 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16959
44a0c6cb
MP
169602014-10-06 Marek Polacek <polacek@redhat.com>
16961
16962 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16963 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16964 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16965 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16966 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16967 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16968 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16969 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16970 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16971 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16972 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16973 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16974 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16975 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16976 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16977 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16978 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16979 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16980 declarations.
16981
5771c391
JJ
169822014-10-03 Jakub Jelinek <jakub@redhat.com>
16983
16984 PR libgomp/61200
16985 * testsuite/libgomp.c/pr61200.c: New test.
16986
bce16b88
JJ
169872014-09-18 Jakub Jelinek <jakub@redhat.com>
16988
16989 PR c++/63248
16990 * testsuite/libgomp.c++/pr63248.C: New test.
16991
3696163c
JJ
169922014-08-04 Jakub Jelinek <jakub@redhat.com>
16993
16994 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16995 is not zero, but taskgroup->children is NULL and there are
16996 any task->children, schedule those instead of waiting.
16997 * testsuite/libgomp.c/depend-6.c: New test.
16998 * testsuite/libgomp.c/depend-7.c: New test.
16999 * testsuite/libgomp.c/depend-8.c: New test.
17000 * testsuite/libgomp.c/depend-9.c: New test.
17001 * testsuite/libgomp.c/depend-10.c: New test.
17002
0494285a
JJ
170032014-08-01 Jakub Jelinek <jakub@redhat.com>
17004
17005 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
17006 (struct gomp_taskwait): New type.
17007 (struct gomp_task): Add taskwait and parent_depends_on, remove
17008 in_taskwait and taskwait_sem fields.
17009 (gomp_finish_task): Don't destroy taskwait_sem.
17010 * task.c (gomp_init_task): Don't init in_taskwait, instead init
17011 taskwait and parent_depends_on.
17012 (GOMP_task): For if (0) tasks with depend clause that depend on
17013 earlier tasks don't defer them, instead call
17014 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
17015 Initialize redundant_out field, for redundant out entries just
17016 move them at the end of linked list instead of removing them
17017 completely, and set redundant_out flag instead of redundant.
17018 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
17019 that task.
17020 (gomp_task_run_post_handle_dependers): If parent is in
17021 gomp_task_maybe_wait_for_dependencies and newly runnable task
17022 is not parent_depends_on, queue it in parent->children linked
17023 list after all runnable tasks with parent_depends_on set.
17024 Adjust for addition of taskwait indirection.
17025 (gomp_task_run_post_remove_parent): If parent is in
17026 gomp_task_maybe_wait_for_dependencies and task to be removed
17027 is parent_depends_on, decrement n_depend and if needed awake
17028 parent. Adjust for addition of taskwait indirection.
17029 (GOMP_taskwait): Adjust for addition of taskwait indirection.
17030 (gomp_task_maybe_wait_for_dependencies): New function.
17031 * testsuite/libgomp.c/depend-5.c: New test.
17032
60ab4b44
TB
170332014-07-13 Tobias Burnus <burnus@net-b.de>
17034
17035 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 17036 with TS 18508/Fortran 2015.
60ab4b44 17037
773ec47f
MP
170382014-07-06 Marek Polacek <polacek@redhat.com>
17039
17040 PR c/6940
17041 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
17042
f707da16
JJ
170432014-07-03 Jakub Jelinek <jakub@redhat.com>
17044
17045 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
17046 matches regex $lang_source_re, add $lang_include_flags to options.
17047 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
17048 * testsuite/libgomp.c++/c++.exp: Likewise.
17049 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
17050 and lang_include_flags instead of adding -fintrinsic-modules-path= to
17051 ALWAYS_CFLAGS.
17052 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
17053
07b6c044
TS
170542014-07-03 Thomas Schwinge <thomas@codesourcery.com>
17055
17056 * testsuite/libgomp.fortran/fortran.exp: Explain
17057 gfortran-dg-runtest usage.
17058
da6f124d
JJ
170592014-06-25 Jakub Jelinek <jakub@redhat.com>
17060
17061 * testsuite/libgomp.fortran/simd5.f90: New test.
17062 * testsuite/libgomp.fortran/simd6.f90: New test.
17063 * testsuite/libgomp.fortran/simd7.f90: New test.
17064
b46ebd6c
JJ
170652014-06-24 Jakub Jelinek <jakub@redhat.com>
17066
56ad0e38
JJ
17067 * testsuite/libgomp.c/for-2.c: Define SC to static for
17068 #pragma omp for simd testing.
17069 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
17070 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
17071 SC macro.
17072 * testsuite/libgomp.c/simd-14.c: New test.
17073 * testsuite/libgomp.c/simd-15.c: New test.
17074 * testsuite/libgomp.c/simd-16.c: New test.
17075 * testsuite/libgomp.c/simd-17.c: New test.
17076 * testsuite/libgomp.c++/for-10.C: Define SC to static for
17077 #pragma omp for simd testing.
17078 * testsuite/libgomp.c++/simd10.C: New test.
17079 * testsuite/libgomp.c++/simd11.C: New test.
17080 * testsuite/libgomp.c++/simd12.C: New test.
17081 * testsuite/libgomp.c++/simd13.C: New test.
17082
b46ebd6c
JJ
17083 * testsuite/libgomp.fortran/aligned1.f03: New test.
17084 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
17085 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
17086 tasks with !$omp parallel !$omp single.
17087 * testsuite/libgomp.fortran/target8.f90: New test.
17088 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
17089 not to use trim in the combiner, instead call elemental function.
17090 (fn): New elemental function.
17091 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
17092 Make elemental.
17093 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
17094 omp_in): Likewise.
17095 * testsuite/libgomp.fortran/udr12.f90: New test.
17096 * testsuite/libgomp.fortran/udr13.f90: New test.
17097 * testsuite/libgomp.fortran/udr14.f90: New test.
17098 * testsuite/libgomp.fortran/udr15.f90: New test.
17099
f014c653
JJ
171002014-06-18 Jakub Jelinek <jakub@redhat.com>
17101
17102 * omp_lib.f90.in (openmp_version): Set to 201307.
17103 * omp_lib.h.in (openmp_version): Likewise.
17104 * testsuite/libgomp.c/target-8.c: New test.
17105 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
17106 and inbranch clauses.
17107 * testsuite/libgomp.fortran/depend-3.f90: New test.
17108 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
17109 openmp_version.
17110 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17111 * testsuite/libgomp.fortran/target1.f90: New test.
17112 * testsuite/libgomp.fortran/target2.f90: New test.
17113 * testsuite/libgomp.fortran/target3.f90: New test.
17114 * testsuite/libgomp.fortran/target4.f90: New test.
17115 * testsuite/libgomp.fortran/target5.f90: New test.
17116 * testsuite/libgomp.fortran/target6.f90: New test.
17117 * testsuite/libgomp.fortran/target7.f90: New test.
17118
92d28cbb
JJ
171192014-06-10 Jakub Jelinek <jakub@redhat.com>
17120
17121 PR fortran/60928
17122 * testsuite/libgomp.fortran/allocatable9.f90: New test.
17123 * testsuite/libgomp.fortran/allocatable10.f90: New test.
17124 * testsuite/libgomp.fortran/allocatable11.f90: New test.
17125 * testsuite/libgomp.fortran/allocatable12.f90: New test.
17126 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
17127 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
17128 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
17129 * testsuite/libgomp.fortran/associate1.f90: New test.
17130 * testsuite/libgomp.fortran/associate2.f90: New test.
17131 * testsuite/libgomp.fortran/procptr1.f90: New test.
17132
5f23671d
JJ
171332014-06-06 Jakub Jelinek <jakub@redhat.com>
17134
17135 * testsuite/libgomp.fortran/simd1.f90: New test.
17136 * testsuite/libgomp.fortran/udr1.f90: New test.
17137 * testsuite/libgomp.fortran/udr2.f90: New test.
17138 * testsuite/libgomp.fortran/udr3.f90: New test.
17139 * testsuite/libgomp.fortran/udr4.f90: New test.
17140 * testsuite/libgomp.fortran/udr5.f90: New test.
17141 * testsuite/libgomp.fortran/udr6.f90: New test.
17142 * testsuite/libgomp.fortran/udr7.f90: New test.
17143 * testsuite/libgomp.fortran/udr8.f90: New test.
17144 * testsuite/libgomp.fortran/udr9.f90: New test.
17145 * testsuite/libgomp.fortran/udr10.f90: New test.
17146 * testsuite/libgomp.fortran/udr11.f90: New test.
17147
0389fbb5
UB
171482014-05-27 Uros Bizjak <ubizjak@gmail.com>
17149
17150 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
17151 vect_simd_clones effective target.
17152 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
17153
decaaec8
JJ
171542014-05-21 Jakub Jelinek <jakub@redhat.com>
17155
17156 PR middle-end/61252
17157 * testsuite/libgomp.c++/simd-9.C: New test.
17158
72832460
UB
171592014-05-18 Uros Bizjak <ubizjak@gmail.com>
17160
17161 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
17162 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
17163 texts according to their @menu entry positions.
17164
dd2fc525
JJ
171652014-05-11 Jakub Jelinek <jakub@redhat.com>
17166
17167 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
17168 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
17169 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
17170 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
17171 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
17172 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
17173 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
17174 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
17175 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
17176 * testsuite/libgomp.fortran/depend-1.f90: New test.
17177 * testsuite/libgomp.fortran/depend-2.f90: New test.
17178 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
17179 * testsuite/libgomp.fortran/simd1.f90: New test.
17180 * testsuite/libgomp.fortran/simd2.f90: New test.
17181 * testsuite/libgomp.fortran/simd3.f90: New test.
17182 * testsuite/libgomp.fortran/simd4.f90: New test.
17183 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
17184
95782571
JJ
171852014-05-02 Jakub Jelinek <jakub@redhat.com>
17186
17187 * testsuite/libgomp.c/simd-10.c: New test.
17188 * testsuite/libgomp.c/simd-11.c: New test.
17189 * testsuite/libgomp.c/simd-12.c: New test.
17190 * testsuite/libgomp.c/simd-13.c: New test.
17191
f7468577
JJ
171922014-04-24 Jakub Jelinek <jakub@redhat.com>
17193
42056eac
JJ
17194 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
17195 atomic type clauses in any order and optional comma in between.
17196 * testsuite/libgomp.c++/atomic-15.C: Likewise.
17197 * testsuite/libgomp.c/atomic-17.c: Likewise.
17198
f7468577
JJ
17199 * testsuite/libgomp.c/simd-7.c: New test.
17200 * testsuite/libgomp.c/simd-8.c: New test.
17201 * testsuite/libgomp.c/simd-9.c: New test.
17202 * testsuite/libgomp.c/loop-16.c: New test.
17203
ab18f2f5
RH
172042014-04-02 Richard Henderson <rth@redhat.com>
17205
17206 * config/linux/futex.h (futex_wait): Get error value from errno.
17207 (futex_wake): Likewise.
17208
8bcc90b0
JJ
172092014-03-25 Jakub Jelinek <jakub@redhat.com>
17210
17211 PR c++/60331
17212 * testsuite/libgomp.c++/udr-11.C: New test.
17213 * testsuite/libgomp.c++/udr-12.C: New test.
17214 * testsuite/libgomp.c++/udr-13.C: New test.
17215 * testsuite/libgomp.c++/udr-14.C: New test.
17216 * testsuite/libgomp.c++/udr-15.C: New test.
17217 * testsuite/libgomp.c++/udr-16.C: New test.
17218 * testsuite/libgomp.c++/udr-17.C: New test.
17219 * testsuite/libgomp.c++/udr-18.C: New test.
17220 * testsuite/libgomp.c++/udr-19.C: New test.
17221
18d73c7f
RS
172222014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17223
17224 Update copyright years
17225
f9030485
RS
172262014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17227
17228 * hashtab.h: Use the standard form for the copyright notice.
17229
98db73df
TB
172302014-01-02 Tobias Burnus <burnus@net-b.de>
17231
17232 * libgomp.texi: Bump @copying's copyright year.
17233
ae246f7f
AT
172342013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
17235
93d90219 17236 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
17237 alloca () with __builtin_alloca ().
17238 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
17239 * testsuite/libgomp.c/lock-3.c: Likewise.
17240 * testsuite/libgomp.c/pr48591.c: Likewise.
17241
fa00a5fe
JJ
172422013-12-17 Jakub Jelinek <jakub@redhat.com>
17243
17244 PR testsuite/59534
17245 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
17246 comparisons.
17247
e9792e1d
JJ
172482013-12-16 Jakub Jelinek <jakub@redhat.com>
17249
17250 PR libgomp/58756
17251 * testsuite/libgomp.c/pr58756.c: New test.
17252
cab37c89
JJ
172532013-12-12 Jakub Jelinek <jakub@redhat.com>
17254
17255 PR libgomp/59467
17256 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17257 !$omp parallel.
17258
de14871c
TS
172592013-11-07 Thomas Schwinge <thomas@codesourcery.com>
17260
1707a5de
TS
17261 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17262 ALWAYS_CFLAGS.
17263 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17264 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17265 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17266 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17267 Likewise.
17268
70f05c43
TS
17269 * libgomp_g.h: Include <stddef.h> for size_t.
17270
de14871c
TS
17271 * libgomp.spec.in: Update comment about libgomp's dependencies.
17272 * configure.ac: Likewise.
17273 * configure: Regenerate.
17274
83fd6c5b
TB
172752013-10-16 Tobias Burnus <burnus@net-b.de>
17276
17277 * libgomp.texi: (Runtime Library Routines): Update references for
17278 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17279 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17280 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17281 (Environment Variables): Update references for OpenMP 4.0. Add
17282 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17283 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17284 order.
17285
c8673881
JJ
172862013-10-14 Jakub Jelinek <jakub@redhat.com>
17287
17288 * env.c (parse_bind_var): Initialize value to avoid
17289 (false positive) warning.
17290
f89163fd
JJ
172912013-10-12 Jakub Jelinek <jakub@redhat.com>
17292
17293 PR libgomp/58691
17294 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17295 to check variable.
17296 (gomp_init_num_threads): Move i variable declaration into
17297 #ifdef CPU_ALLOC_SIZE block.
17298 * config/linux/affinity.c (gomp_affinity_init_level): Test
17299 gomp_places_list_len == 0 rather than gomp_places_list == 0
17300 when checking for topology reading error.
17301 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17302 * env.c (parse_affinity): Add ignore argument, if true, don't populate
17303 gomp_places_list, only parse env var and always return false.
17304 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
17305 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17306 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17307 and either of these variables were parsed correctly into a places
17308 list.
17309
1d340638
TS
173102013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17311 Jakub Jelinek <jakub@redhat.com>
17312
17313 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17314 of 5 loopfn matches.
17315 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17316 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17317 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17318 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17319 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17320 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17321 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17322 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17323
71a81c21
TS
173242013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17325
bd87f731
TS
17326 * Makefile.am (omp_lib.mod): Streamline rule.
17327 * Makefile.in: Regenerate.
17328
f5745bed
TS
17329 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17330 exceptions.
17331
b5512c66
TS
17332 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17333 * testsuite/libgomp.fortran/lib1.f90: Likewise.
17334 * testsuite/libgomp.fortran/lib2.f: Likewise.
17335 * testsuite/libgomp.fortran/lib3.f: Likewise.
17336
451c19c4
TS
17337 * configure.ac: Typo fix.
17338 * configure: Regenerate.
17339
86a6016d
TS
17340 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17341 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17342
71a81c21
TS
17343 * omp.h.in: Don't touch the user's namespace.
17344
acf0174b
JJ
173452013-10-11 Jakub Jelinek <jakub@redhat.com>
17346 Tobias Burnus <burnus@net-b.de>
17347 Richard Henderson <rth@redhat.com>
17348
17349 * target.c: New file.
17350 * Makefile.am (libgomp_la_SOURCES): Add target.c.
17351 * Makefile.in: Regenerated.
17352 * libgomp_g.h (GOMP_task): Add depend argument.
17353 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17354 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17355 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17356 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17357 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17358 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17359 GOMP_taskgroup_start, GOMP_taskgroup_end,
17360 GOMP_parallel_sections): New prototypes.
17361 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17362 (omp_is_initial_device_): New function.
17363 (ULP, STR1, STR2, ialias_redirect): Removed.
17364 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17365 omp_set_default_device_8_, omp_get_default_device_,
17366 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17367 functions.
17368 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17369 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17370 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17371 @@GOMP_4.0.
17372 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17373 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17374 omp_set_default_device, omp_set_default_device_,
17375 omp_set_default_device_8_, omp_get_default_device,
17376 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17377 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17378 omp_get_team_num_): Export @@OMP_4.0.
17379 * team.c (struct gomp_thread_start_data): Add place field.
17380 (gomp_thread_start): Clear thr->thread_pool and
17381 thr->task before returning. Use gomp_team_barrier_wait_final
17382 instead of gomp_team_barrier_wait. Initialize thr->place.
17383 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17384 team_cancelled and task_queued_count fields.
17385 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17386 before calling pthread_exit.
17387 (gomp_free_thread): No longer static. Use
17388 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17389 (gomp_team_start): Add flags argument. Set
17390 thr->thread_pool->threads_busy to nthreads immediately after creating
17391 new pool. Use gomp_managed_threads_lock instead of
17392 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17393 (gomp_team_end): Use gomp_managed_threads_lock instead of
17394 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17395 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 17396 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
17397 rather than thr->ts.work_share.
17398 (initialize_team): Don't call gomp_sem_init here.
17399 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17400 caller.
17401 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17402 * env.c (gomp_global_icv): Add default_device_var, target_data and
17403 bind_var initializers.
17404 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17405 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17406 gomp_places_list_len): New variables.
17407 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17408 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17409 sized places.
17410 (gomp_cancel_var): New global variable.
17411 (parse_int): New function.
17412 (handle_omp_display_env): New function.
17413 (initialize_env): Use it. Initialize default_device_var.
17414 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17415 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17416 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17417 been successfully parsed (and call gomp_init_affinity in that case).
17418 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17419 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17420 omp_get_team_num, omp_is_initial_device): New functions.
17421 * libgomp.h: Include stdlib.h.
17422 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17423 Define.
17424 (struct target_mem_desc): Forward declare.
17425 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17426 and thread_limit_var fields.
17427 (gomp_get_num_devices): New prototype.
17428 (gomp_cancel_var): New extern decl.
17429 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17430 team_cancelled and task_queued_count fields. Add comments about
17431 task_{,queued_,running_}count.
17432 (gomp_cancel_kind): New enum.
17433 (gomp_work_share_end_cancel): New prototype.
17434 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17435 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17436 and depend fields.
17437 (struct gomp_taskgroup): New type.
17438 (struct gomp_task_depend_entry,
17439 struct gomp_dependers_vec): New types.
17440 (gomp_finish_task): Free depend_hash if non-NULL.
17441 (struct gomp_team_state): Add place_partition_off
17442 and place_partition_len fields.
17443 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17444 gomp_places_list_len): New extern decls.
17445 (struct gomp_thread): Add place field.
17446 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17447 (gomp_init_thread_affinity): Add place argument.
17448 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17449 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17450 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17451 gomp_affinity_init_level, gomp_affinity_print_place): New
17452 prototypes.
17453 (gomp_team_start): Add flags argument.
17454 (gomp_thread_limit_var, gomp_remaining_threads_count,
17455 gomp_remaining_threads_lock): Remove.
17456 (gomp_managed_threads_lock): New variable.
17457 (struct gomp_thread_pool): Add threads_busy field.
17458 (gomp_free_thread): New prototype.
17459 * task.c: Include hashtab.h.
17460 (hash_entry_type): New typedef.
17461 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17462 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17463 copy_ctors_done and taskgroup fields.
17464 (GOMP_task): Add depend argument, handle depend clauses. If
17465 gomp_team_barrier_cancelled or if it's taskgroup has been
17466 cancelled, don't queue or start new tasks. Set copy_ctors_done
17467 field if needed. Initialize taskgroup field. If copy_ctors_done
17468 and already cancelled, don't discard the task. If taskgroup is
17469 non-NULL, enqueue the task into taskgroup queue. Increment
17470 num_children field in taskgroup. Increment task_queued_count.
17471 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17472 gomp_task_run_post_remove_taskgroup): New inline functions.
17473 (gomp_task_run_post_handle_depend_hash,
17474 gomp_task_run_post_handle_dependers,
17475 gomp_task_run_post_handle_depend): New functions.
17476 (GOMP_taskwait): Use them. If more than one new tasks
17477 have been queued, wake other threads if needed.
17478 (gomp_barrier_handle_tasks): Likewise. If
17479 gomp_team_barrier_cancelled, don't start any new tasks, just free
17480 all tasks.
17481 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17482 * omp_lib.f90.in
17483 (omp_proc_bind_kind, omp_proc_bind_false,
17484 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17485 omp_proc_bind_spread): New params.
17486 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17487 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17488 omp_get_team_num, omp_is_initial_device): New interfaces.
17489 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17490 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17491 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17492 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17493 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17494 useless use omp_lib_kinds.
17495 * omp.h.in (omp_proc_bind_t): New typedef.
17496 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17497 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17498 omp_get_team_num, omp_is_initial_device): New prototypes.
17499 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17500 through to gomp_team_start.
17501 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17502 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17503 Adjust gomp_parallel_loop_start callers.
17504 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17505 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17506 GOMP_loop_end_cancel): New functions.
17507 (GOMP_parallel_end): Add ialias_redirect.
17508 * hashtab.h: New file.
17509 * libgomp.texi (Environment Variables): Minor cleanup,
17510 update section refs to OpenMP 4.0rc2.
17511 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17512 environment variables.
17513 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17514 team->work_shares_to_free to thr->ts.work_share before calling
17515 free_work_share.
17516 (gomp_work_share_end_cancel): New function.
17517 * config/linux/proc.c: Include errno.h.
17518 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17519 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17520 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17521 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17522 gomp_cpuset_size is sizeof (cpu_set_t).
17523 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17524 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17525 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17526 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17527 contain any logical CPUs.
17528 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17529 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17530 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17531 pthread_getaffinity_np. Check gomp_places_list instead of
17532 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17533 * config/linux/bar.c (gomp_barrier_wait_end,
17534 gomp_barrier_wait_last): Use BAR_* defines.
17535 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17536 from state where needed. Set work_share_cancelled to 0 on last
17537 thread.
17538 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17539 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17540 functions.
17541 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17542 Add cpusetsize argument.
17543 (gomp_cpuset_size, gomp_cpusetp): Declare.
17544 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17545 (affinity_counter): Remove.
17546 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17547 if CPU_ALLOC_SIZE isn't defined.
17548 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17549 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17550 bind current thread to the first place.
17551 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17552 pthread_setaffinity_np to gomp_places_list[place].
17553 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17554 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17555 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17556 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17557 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17558 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17559 (gomp_barrier_t): Add awaited_final field.
17560 (gomp_barrier_init): Initialize awaited_final field.
17561 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17562 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17563 prototypes.
17564 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17565 defines.
17566 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17567 gomp_team_barrier_cancelled): New inline functions.
17568 (gomp_barrier_last_thread,
17569 gomp_team_barrier_set_task_pending,
17570 gomp_team_barrier_clear_task_pending,
17571 gomp_team_barrier_set_waiting_for_tasks,
17572 gomp_team_barrier_waiting_for_tasks,
17573 gomp_team_barrier_done): Use BAR_* defines.
17574 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17575 (gomp_barrier_wait_end): Use BAR_* defines.
17576 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17577 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17578 Use BAR_* defines.
17579 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17580 gomp_team_barrier_cancel): New functions.
17581 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17582 argument.
17583 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17584 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17585 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17586 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17587 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17588 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17589 (gomp_barrier_t): Add cancellable field.
17590 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17591 gomp_team_barrier_cancel): New prototypes.
17592 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17593 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17594 gomp_team_barrier_cancelled): New inline functions.
17595 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17596 gomp_team_barrier_set_task_pending,
17597 gomp_team_barrier_clear_task_pending,
17598 gomp_team_barrier_set_waiting_for_tasks,
17599 gomp_team_barrier_waiting_for_tasks,
17600 gomp_team_barrier_done): Use BAR_* defines.
17601 * barrier.c (GOMP_barrier_cancel): New function.
17602 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17603 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17604 omp_proc_bind_spread): New params.
17605 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17606 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17607 omp_get_team_num, omp_is_initial_device): New externals.
17608 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17609 New functions.
17610 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17611 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17612 infinity. If not nested, just return minimum of max_num_threads
17613 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17614 to the returned value. Otherwise, don't update atomically
17615 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17616 (GOMP_parallel_end): Adjust for thread_limit now being in
17617 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17618 infinity. Adjust threads_busy in the pool rather than
17619 gomp_remaining_threads_count. Remember team->nthreads and call
17620 gomp_team_end before adjusting threads_busy, if not nested
17621 afterwards, just set it to 1 non-atomically. Add ialias.
17622 (GOMP_parallel_start): Adjust gomp_team_start caller.
17623 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17624 * testsuite/libgomp.c/affinity-1.c: New test.
17625 * testsuite/libgomp.c/atomic-15.c: New test.
17626 * testsuite/libgomp.c/atomic-16.c: New test.
17627 * testsuite/libgomp.c/atomic-17.c: New test.
17628 * testsuite/libgomp.c/cancel-for-1.c: New test.
17629 * testsuite/libgomp.c/cancel-for-2.c: New test.
17630 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17631 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17632 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17633 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17634 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17635 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17636 * testsuite/libgomp.c/depend-1.c: New test.
17637 * testsuite/libgomp.c/depend-2.c: New test.
17638 * testsuite/libgomp.c/depend-3.c: New test.
17639 * testsuite/libgomp.c/depend-4.c: New test.
17640 * testsuite/libgomp.c/for-1.c: New test.
17641 * testsuite/libgomp.c/for-1.h: New file.
17642 * testsuite/libgomp.c/for-2.c: New test.
17643 * testsuite/libgomp.c/for-2.h: New file.
17644 * testsuite/libgomp.c/for-3.c: New test.
17645 * testsuite/libgomp.c/pr58392.c: New test.
17646 * testsuite/libgomp.c/simd-1.c: New test.
17647 * testsuite/libgomp.c/simd-2.c: New test.
17648 * testsuite/libgomp.c/simd-3.c: New test.
17649 * testsuite/libgomp.c/simd-4.c: New test.
17650 * testsuite/libgomp.c/simd-5.c: New test.
17651 * testsuite/libgomp.c/simd-6.c: New test.
17652 * testsuite/libgomp.c/target-1.c: New test.
17653 * testsuite/libgomp.c/target-2.c: New test.
17654 * testsuite/libgomp.c/target-3.c: New test.
17655 * testsuite/libgomp.c/target-4.c: New test.
17656 * testsuite/libgomp.c/target-5.c: New test.
17657 * testsuite/libgomp.c/target-6.c: New test.
17658 * testsuite/libgomp.c/target-7.c: New test.
17659 * testsuite/libgomp.c/taskgroup-1.c: New test.
17660 * testsuite/libgomp.c/thread-limit-1.c: New test.
17661 * testsuite/libgomp.c/thread-limit-2.c: New test.
17662 * testsuite/libgomp.c/thread-limit-3.c: New test.
17663 * testsuite/libgomp.c/udr-1.c: New test.
17664 * testsuite/libgomp.c/udr-2.c: New test.
17665 * testsuite/libgomp.c/udr-3.c: New test.
17666 * testsuite/libgomp.c++/affinity-1.C: New test.
17667 * testsuite/libgomp.c++/atomic-10.C: New test.
17668 * testsuite/libgomp.c++/atomic-11.C: New test.
17669 * testsuite/libgomp.c++/atomic-12.C: New test.
17670 * testsuite/libgomp.c++/atomic-13.C: New test.
17671 * testsuite/libgomp.c++/atomic-14.C: New test.
17672 * testsuite/libgomp.c++/atomic-15.C: New test.
17673 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17674 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17675 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17676 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17677 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17678 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17679 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17680 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17681 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17682 * testsuite/libgomp.c++/cancel-test.h: New file.
17683 * testsuite/libgomp.c++/for-9.C: New test.
17684 * testsuite/libgomp.c++/for-10.C: New test.
17685 * testsuite/libgomp.c++/for-11.C: New test.
17686 * testsuite/libgomp.c++/simd-1.C: New test.
17687 * testsuite/libgomp.c++/simd-2.C: New test.
17688 * testsuite/libgomp.c++/simd-3.C: New test.
17689 * testsuite/libgomp.c++/simd-4.C: New test.
17690 * testsuite/libgomp.c++/simd-5.C: New test.
17691 * testsuite/libgomp.c++/simd-6.C: New test.
17692 * testsuite/libgomp.c++/simd-7.C: New test.
17693 * testsuite/libgomp.c++/simd-8.C: New test.
17694 * testsuite/libgomp.c++/target-1.C: New test.
17695 * testsuite/libgomp.c++/target-2.C: New test.
17696 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17697 * testsuite/libgomp.c++/target-3.C: New test.
17698 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17699 * testsuite/libgomp.c++/udr-1.C: New test.
17700 * testsuite/libgomp.c++/udr-2.C: New test.
17701 * testsuite/libgomp.c++/udr-3.C: New test.
17702 * testsuite/libgomp.c++/udr-4.C: New test.
17703 * testsuite/libgomp.c++/udr-5.C: New test.
17704 * testsuite/libgomp.c++/udr-6.C: New test.
17705 * testsuite/libgomp.c++/udr-7.C: New test.
17706 * testsuite/libgomp.c++/udr-8.C: New test.
17707 * testsuite/libgomp.c++/udr-9.C: New test.
17708
bd599dea
JJ
177092013-09-20 Jakub Jelinek <jakub@redhat.com>
17710
17711 PR testsuite/57605
17712 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17713 ALWAYS_CFLAGS.
17714
3cbe17f7
AM
177152013-09-20 Alan Modra <amodra@gmail.com>
17716
17717 * configure: Regenerate.
17718
4befd127
JJ
177192013-09-19 Jakub Jelinek <jakub@redhat.com>
17720
17721 * testsuite/libgomp.c/sections-2.c: New test.
17722
946c8f7b
MS
177232013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17724
17725 * testsuite/libgomp.fortran/strassen.f90:
17726 Add dg-skip-if aarch64_tiny.
17727
1ef3b58e
IS
177282013-06-20 Iain Sandoe <iain@codesourcery.com>
17729 Cesar Philippidis <cesar@codesourcery.com>
17730
17731 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17732 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17733 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17734 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17735 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17736 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17737 Use dg-runtest rather than gfortran-dg-runtest.
17738
9275f73a
TS
177392013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17740
17741 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17742 Linux-based x86 systems to cover all GNU systems.
17743 * testsuite/libgomp.c/lock-3.c: Likewise.
17744 * testsuite/libgomp.c/pr48591.c: Likewise.
17745
492992e2
TS
177462013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17747
48df3acb
TS
17748 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17749 GNU/Hurd, as done for Linux-based systems.
17750
492992e2
TS
17751 * config/posix/ptrlock.h: Fix comment.
17752
4fed6b25
TB
177532013-05-27 Tobias Burnus <burnus@net-b.de>
17754
17755 PR fortran/57423
17756 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17757 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17758 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17759 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17760 omp_destroy_nest_lock): Correct arguments to match the one in
17761 the OpenMP spec.
17762 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17763 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17764 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17765 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17766
5a0f4dd3
JJ
177672013-05-16 Jakub Jelinek <jakub@redhat.com>
17768
17769 * testsuite/libgomp.c/loop-13.c: New test.
17770 * testsuite/libgomp.c/loop-14.c: New test.
17771 * testsuite/libgomp.c/loop-15.c: New test.
17772 * testsuite/libgomp.c++/loop-13.C: New test.
17773 * testsuite/libgomp.c++/loop-14.C: New test.
17774 * testsuite/libgomp.c++/loop-15.C: New test.
17775
6d840d99
JJ
177762013-02-06 Jakub Jelinek <jakub@redhat.com>
17777
17778 PR middle-end/56217
17779 * testsuite/libgomp.c++/pr56217.C: New test.
17780
bed8d8a6
AM
177812013-02-01 Alan Modra <amodra@gmail.com>
17782
17783 * task.c (GOMP_task, GOMP_taskwait): Comment.
17784
3b35cd04
DV
177852013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17786 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17787
17788 PR libgomp/55561
17789 * config/linux/wait.h (do_spin): Use atomic load for addr.
17790 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17791 for intptr and ptrlock.
17792 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17793 for ptrlock.
17794
9a647288
AM
177952013-01-22 Alan Modra <amodra@gmail.com>
17796
17797 PR libgomp/51376
17798 PR libgomp/56073
17799 * task.c (GOMP_task): Revert 2011-12-09 change.
17800 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17801 barrier to read task->children..
17802 (gomp_barrier_handle_tasks): ..and matching atomic store with
17803 release barrier here when setting parent->children to NULL.
17804
f34dea03
JJ
178052013-01-16 Jakub Jelinek <jakub@redhat.com>
17806 Tobias Burnus <burnus@net-b.de>
17807
17808 PR driver/55884
17809 * testsuite/libgomp.fortran/fortran.exp: Use
17810 -fintrinsic-modules-path= instead of
17811 -fintrinsic-modules-path.
17812
8129609c
RS
178132013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17814
17815 Update copyright years.
17816
aa86bf1e
TB
178172012-12-19 Tobias Burnus <burnus@net-b.de>
17818
17819 * testsuite/libgomp.fortran/fortran.exp: Set
17820 -fintrinsic-modules-path.
17821
2865ea66
TB
178222012-12-19 Tobias Burnus <burnus@net-b.de>
17823
17824 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17825 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17826
4c5ba8d0
JJ
178272012-11-21 Jakub Jelinek <jakub@redhat.com>
17828
17829 PR libgomp/55411
17830 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17831 if pool had any threads_used.
17832
e9f958c2
JH
178332012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17834
17835 * testsuite/libgomp.c++/pr24455.C: Use
17836 -Wl,-undefined,dynamic_lookup on darwin.
17837
a57d75dc
DE
178382012-11-07 David Edelsohn <dje.gcc@gmail.com>
17839
17840 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17841
c6c08485
DH
178422012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17843
17844 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17845
c1f37c00
IB
178462012-10-23 Ian Bolton <ian.bolton@arm.com>
17847 Jim MacArthur <jim.macarthur@arm.com>
17848 Marcus Shawcroft <marcus.shawcroft@arm.com>
17849 Nigel Stephens <nigel.stephens@arm.com>
17850 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17851 Richard Earnshaw <rearnsha@arm.com>
17852 Sofiane Naci <sofiane.naci@arm.com>
17853 Stephen Thomas <stephen.thomas@arm.com>
17854 Tejas Belagod <tejas.belagod@arm.com>
17855 Yufeng Zhang <yufeng.zhang@arm.com>
17856
17857 * configure.tgt: Add AArch64.
17858
7c424acd
JM
178592012-10-04 Jason Merrill <jason@redhat.com>
17860
17861 * testsuite/libgomp.c++/tls-init1.C: New.
17862
6608378b
DE
178632012-09-14 David Edelsohn <dje.gcc@gmail.com>
17864
17865 * configure: Regenerated.
17866
c24dbebb
CLT
178672012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17868
17869 * config/linux/mips/futex.h (sys_futex0): Change to static
17870 function with noinline, nomips16 attributes under MIPS16. Adjust
17871 asm statement to place 'li v0,SYS_futex' immediately before
17872 syscall insn.
17873
3d3949df
SL
178742012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17875
17876 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17877 conflict with index.html on case-insensitive file systems.
17878
68a12ef3
UB
178792012-07-03 Uros Bizjak <ubizjak@gmail.com>
17880
17881 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17882 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17883
33ad93b9 178842012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
17885 Michael Matz <matz@suse.de>
17886 Tobias Grosser <tobias@grosser.es>
17887 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
17888
17889 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17890 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17891 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17892 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17893
e6fdc918
AS
178942012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17895
17896 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17897
62e0a1ed
RG
178982012-06-22 Richard Guenther <rguenther@suse.de>
17899
17900 Merge from graphite branch
17901 2012-01-13 Tobias Grosser <tobias@grosser.es>
17902
17903 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17904 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17905
26127932
JJ
179062012-06-07 Jakub Jelinek <jakub@redhat.com>
17907
17908 PR middle-end/53580
17909 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17910 use GOMP_barrier () call instead.
17911 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17912 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17913 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17914 call GOMP_barrier instead.
17915 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17916
43fa5db5
JJ
179172012-06-06 Jakub Jelinek <jakub@redhat.com>
17918
17919 PR libgomp/52993
17920 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17921 argument to memset call.
17922
e6d5f8c9
L
179232012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17924
17925 * configure: Regenerated.
17926
559d990c
MLI
179272012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17928
17929 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17930
b9c23a61
L
179312012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17932
17933 PR bootstrap/52812
17934 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17935
c140ddf3
JJ
179362012-03-22 Jakub Jelinek <jakub@redhat.com>
17937
17938 PR middle-end/52547
17939 * testsuite/libgomp.c/pr52547.c: New test.
17940
6a26a74d
BRF
179412012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17942
17943 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17944
b24513a1
RO
179452012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17946
17947 * configure.tgt (mips-sgi-irix6*): Remove.
17948
5c30094f
RO
179492012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17950
17951 * configure.tgt (alpha*-dec-osf*): Remove.
17952
17953 * config/osf/sem.h: Remove.
17954 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17955
a339c9d6
EB
179562012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17957
17958 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17959
cc2de92d
RO
179602012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17961
17962 PR libstdc++/52188
17963 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17964 Remove ENABLE_SYMVERS_SOL2.
17965 * configure: Regenerate.
17966 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17967 (PREPROCESS): New variable.
17968 (libgomp.ver): New target.
17969 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17970 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17971 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17972 Use libgomp.ver.
17973 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17974 * Makefile.in: Regenerate.
17975
dd552284
WL
179762012-02-14 Walter Lee <walt@tilera.com>
17977
17978 * configure.tgt: Handle tilegx and tilepro.
17979 * config/linux/tile/futex.h: New file.
17980
31432e21
RG
179812012-02-08 Richard Guenther <rguenther@suse.de>
17982
17983 PR tree-optimization/46886
17984 * testsuite/libgomp.c/pr46886.c: New testcase.
17985
b9264b5f
MK
179862012-01-25 Matthias Klose <doko@ubuntu.com>
17987
17988 * config/linux/arm: Remove empty directory.
17989 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17990
fbf7be80
AM
179912011-12-09 Alan Modra <amodra@gmail.com>
17992
17993 PR libgomp/51376
17994 * task.c (GOMP_taskwait): Don't access task->children outside of
17995 task_lock mutex region.
17996 (GOMP_task): Likewise.
17997
5de62d00
JJ
179982011-12-06 Jakub Jelinek <jakub@redhat.com>
17999
18000 PR libgomp/51132
18001 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
18002 to file scope.
18003 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
18004 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
18005 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
18006 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
18007 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
18008
45608a43
AM
180092011-12-02 Alan Modra <amodra@gmail.com>
18010
18011 * config/linux/affinity.c: Use atomic rather than sync builtin.
18012 * config/linux/lock.c: Likewise.
18013 * config/linux/ptrlock.h: Likewise.
18014 * config/linux/ptrlock.c: Likewise.
18015 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
18016 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
18017 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
18018 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
18019 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
18020 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
18021 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
18022 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
18023 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
18024 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
18025
ab6dd406
AM
180262011-11-30 Alan Modra <amodra@gmail.com>
18027
18028 PR libgomp/51298
18029 * config/linux/bar.h: Use atomic rather than sync builtins.
18030 * config/linux/bar.c: Likewise. Add missing acquire
18031 synchronisation on generation field.
18032 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
18033 double unlock.
18034
b40c885f
AM
180352011-11-30 Alan Modra <amodra@gmail.com>
18036
18037 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
18038 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
18039 * config/linux/mutex.h: Use atomic rather than sync builtins.
18040 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
18041 * config/linux/omp-lock.h: Comment fix.
18042 * config/linux/arm/mutex.h: Delete.
18043 * config/linux/powerpc/mutex.h: Delete.
18044 * config/linux/ia64/mutex.h: Delete.
18045 * config/linux/mips/mutex.h: Delete.
18046
3e348fcc
AM
180472011-11-30 Alan Modra <amodra@gmail.com>
18048
18049 PR libgomp/51249
18050 * config/linux/sem.h: Rewrite.
18051 * config/linux/sem.c: Rewrite.
18052
cef86eb2
RH
180532011-11-28 Richard Henderson <rth@redhat.com>
18054
18055 * libgomp.h (enum memmodel): New.
18056
c6084f68
AT
180572011-11-21 Andreas Tobler <andreast@fgznet.ch>
18058
18059 * configure: Regenerate.
18060
06fe026c
MK
180612011-10-10 Matthias Klose <doko@ubuntu.com>
18062
18063 * config/posix95: Remove empty directory.
18064
a6c975bd
JJ
180652011-08-26 Jakub Jelinek <jakub@redhat.com>
18066
18067 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
18068
c26dffff
JJ
180692011-08-19 Jakub Jelinek <jakub@redhat.com>
18070
18071 PR fortran/49792
18072 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
18073 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
18074
ddaad3c8
RO
180752011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18076
18077 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
18078
98d03683
RO
180792011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18080
18081 PR libgomp/49965
18082 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
18083
e0b23d9f
UB
180842011-08-03 Uros Bizjak <ubizjak@gmail.com>
18085
18086 * config/linux/proc.h: New.
18087 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
18088 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
18089 (gomp_init_num_threads): Update call to cpuset_popcount.
18090 (get_num_procs): Ditto.
18091 * config/linux/affinity.c (gomp_init_affinity): Call
18092 gomp_cpuset_popcount.
18093
20906c66
JJ
180942011-08-02 Jakub Jelinek <jakub@redhat.com>
18095
18096 PR fortran/42041
18097 PR fortran/46752
18098 * omp.h.in (omp_in_final): New prototype.
18099 * omp_lib.f90.in (omp_in_final): New interface.
18100 (omp_integer_kind, omp_logical_kind): Remove
18101 and replace all its uses in the module with 4.
18102 (openmp_version): Change to 201107.
18103 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
18104 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
18105 kind for the parameters.
18106 (omp_in_final): New external.
18107 (openmp_version): Change to 201107.
18108 * task.c (omp_in_final): New function.
18109 (gomp_init_task): Initialize final_task.
18110 (GOMP_task): Remove unused attribute from flags. Handle final
18111 tasks.
18112 (GOMP_taskyield): New function.
18113 (omp_in_final): Return true if if (false) or final (true) task
18114 or descendant of final (true).
18115 * fortran.c (omp_in_final_): New function.
18116 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
18117 (GOMP_3.0): Export GOMP_taskyield.
18118 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
18119 variables.
18120 (parse_unsigned_long_list): New function.
18121 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
18122 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
18123 even if parse_affinity returned false.
18124 * config/linux/affinity.c (gomp_init_affinity): Handle
18125 gomp_cpu_affinity_len == 0.
18126 * libgomp_g.h (GOMP_taskyield): New prototype.
18127 * libgomp.h (struct gomp_task): Add final_task field.
18128 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
18129 * team.c (gomp_team_start): Override new task's nthreads_var icv
18130 if list form OMP_NUM_THREADS has been used and it has value for
18131 the new nesting level.
18132
18133 * testsuite/libgomp.c/atomic-11.c: New test.
18134 * testsuite/libgomp.c/atomic-12.c: New test.
18135 * testsuite/libgomp.c/atomic-13.c: New test.
18136 * testsuite/libgomp.c/atomic-14.c: New test.
18137 * testsuite/libgomp.c/reduction-6.c: New test.
18138 * testsuite/libgomp.c/task-5.c: New test.
18139 * testsuite/libgomp.c++/atomic-2.C: New test.
18140 * testsuite/libgomp.c++/atomic-3.C: New test.
18141 * testsuite/libgomp.c++/atomic-4.C: New test.
18142 * testsuite/libgomp.c++/atomic-5.C: New test.
18143 * testsuite/libgomp.c++/atomic-6.C: New test.
18144 * testsuite/libgomp.c++/atomic-7.C: New test.
18145 * testsuite/libgomp.c++/atomic-8.C: New test.
18146 * testsuite/libgomp.c++/atomic-9.C: New test.
18147 * testsuite/libgomp.c++/task-8.C: New test.
18148 * testsuite/libgomp.c++/reduction-4.C: New test.
18149 * testsuite/libgomp.fortran/allocatable7.f90: New test.
18150 * testsuite/libgomp.fortran/allocatable8.f90: New test.
18151 * testsuite/libgomp.fortran/crayptr3.f90: New test.
18152 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
18153 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
18154 * testsuite/libgomp.fortran/pointer1.f90: New test.
18155 * testsuite/libgomp.fortran/pointer2.f90: New test.
18156 * testsuite/libgomp.fortran/task4.f90: New test.
18157
181582011-08-02 Tobias Burnus <burnus@net-b.de>
18159
18160 * libgomp.texi: Update OpenMP spec references to 3.1.
18161 (omp_in_final,OMP_PROC_BIND): New sections.
18162 (OMP_NUM_THREADS): Document that the value can be now a list.
18163 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
18164
c01ecafc
L
181652011-08-02 H.J. Lu <hongjiu.lu@intel.com>
18166
18167 * config/linux/x86/futex.h: Check __x86_64__ instead of
18168 __LP64__.
18169
25142650
JJ
181702011-07-29 Jakub Jelinek <jakub@redhat.com>
18171
18172 PR middle-end/49897
18173 PR middle-end/49898
18174 * testsuite/libgomp.c/pr49897-1.c: New test.
18175 * testsuite/libgomp.c/pr49897-2.c: New test.
18176 * testsuite/libgomp.c/pr49898-1.c: New test.
18177 * testsuite/libgomp.c/pr49898-2.c: New test.
18178
f53d712f
L
181792011-07-28 H.J. Lu <hongjiu.lu@intel.com>
18180
18181 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
18182 for ia32 instead of ilp32.
18183
18184 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
18185 * testsuite/libgomp.c/atomic-6.c: Likewise.
18186
3689198d
SP
181872011-07-23 Sebastian Pop <sebastian.pop@amd.com>
18188
18189 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
18190 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
18191
1a79cb73
RO
181922011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18193
18194 PR libgomp/45351
18195 * config/osf/sem.h: New file.
18196 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
18197
c1f51484
RO
181982011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18199
18200 PR target/49541
18201 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
18202 ldflags.
18203
bfee0724
JJ
182042011-07-15 Jakub Jelinek <jakub@redhat.com>
18205
18206 * config/linux/wait.h (do_spin): New inline, largely copied
18207 from do_wait, just don't do futex_wait here, instead return true if
18208 it should be done.
18209 (do_wait): Implement using do_spin.
18210 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
18211 to prototype.
18212 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18213 __sync_bool_compare_and_swap, pass the oldval to
18214 gomp_mutex_lock_slow.
18215 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
18216 If all mutex contenders are just spinning and not sleeping, don't
18217 change state to 2 unnecessarily. Optimize the loop when state has
18218 already become 2 to use just one atomic operation per loop instead
18219 of two.
18220 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
18221 to prototype.
18222 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18223 __sync_bool_compare_and_swap, pass the oldval to
18224 gomp_mutex_lock_slow.
18225
fb79f500
JJ
182262011-06-22 Jakub Jelinek <jakub@redhat.com>
18227
18228 PR libgomp/49490
18229 * iter.c (gomp_iter_static_next): For chunk size 0
18230 only use n ceil/ nthreads size for the first
18231 n % nthreads threads in the team instead of
18232 all threads except for the last few ones which
18233 get less work or none at all.
18234 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
18235 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
18236 chunk argument, set run_sched_modifier to 0 for static
18237 resp. 1 for other kinds. If chunk argument is 0
18238 and not static, set value to 1.
18239
4577f730
JJ
182402011-05-19 Jakub Jelinek <jakub@redhat.com>
18241
ea93a47b
JJ
18242 PR c++/49043
18243 * testsuite/libgomp.c++/pr49043.C: New test.
18244
4577f730
JJ
18245 PR c++/48869
18246 * testsuite/libgomp.c++/pr48869.C: New test.
18247
e7385332
JJ
182482011-05-06 Jakub Jelinek <jakub@redhat.com>
18249
18250 PR fortran/48894
18251 * fortran.c: Include limits.h.
18252 (TO_INT): Define.
18253 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
18254 *set.
18255 (omp_set_num_threads_8_, omp_set_schedule_8_,
18256 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18257 omp_get_team_size_8_): Use TO_INT macro.
18258 * testsuite/libgomp.fortran/pr48894.f90: New test.
18259
20790697
JJ
182602011-04-13 Jakub Jelinek <jakub@redhat.com>
18261
18262 PR middle-end/48591
18263 * testsuite/libgomp.c/pr48591.c: New test.
18264
bf382f5f
RO
182652011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18266
18267 PR bootstrap/48135
18268 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18269 * configure: Regenerate.
18270
113a53c1
JJ
182712011-02-27 Jakub Jelinek <jakub@redhat.com>
18272
18273 PR fortran/47886
18274 * testsuite/libgomp.fortran/task3.f90: New test.
18275
0024f1af
TB
182762011-02-24 Tobias Burnus <burnus@net-b.de>
18277
18278 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18279
21e1e594
JJ
182802011-02-23 Jakub Jelinek <jakub@redhat.com>
18281
18282 PR libgomp/47854
18283 * libgomp.texi (omp_get_wtime): Don't say time in the past
18284 must be Unix Epoch.
18285
67962076
JJ
182862011-02-18 Jakub Jelinek <jakub@redhat.com>
18287
18288 PR libgomp/47804
18289 * testsuite/libgomp.fortran/fortran.exp: Check for both
18290 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
18291 but $blddir != "", still append ${blddir}/${lang_library_path}
18292 to ld_library_path.
18293
3808007c
TB
182942011-02-16 Tobias Burnus <burnus@net-b.de>
18295
18296 PR libgomp/47758
18297 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18298 of libquadmath.a before adding its libpath to ldflags.
18299
53b4d41d
JJ
183002011-02-14 Jakub Jelinek <jakub@redhat.com>
18301
18302 PR libgomp/47731
18303 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18304 to FUTEX_WAIT futex syscall.
18305 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18306
029c8f3e
RW
183072011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18308
18309 * configure: Regenerate.
18310
bddd6626
BK
183112011-01-20 Benjamin Kosnik <bkoz@redhat.com>
18312
18313 PR libstdc++/36104
18314 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18315
f1d4ab26
GP
183162011-01-16 Gerald Pfeifer
18317
18318 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18319
2b503136
JJ
183202010-12-14 Jakub Jelinek <jakub@redhat.com>
18321
18322 PR fortran/46874
18323 * libgomp.fortran/allocatable6.f90: New test.
18324
c0f9d583
RO
183252010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18326
18327 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18328 * configure: Regenerate.
18329
7de6ba7a
DK
183302010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
18331
18332 PR target/40125
18333 PR lto/46695
18334 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18335 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18336 * aclocal.m4: Regenerate.
18337 * configure: Regenerate.
18338 * Makefile.in: Regenerate.
18339 * testsuite/Makefile.in: Regenerate.
18340
b7516041
JJ
183412010-12-02 Jakub Jelinek <jakub@redhat.com>
18342
edaadf74
JJ
18343 PR fortran/46753
18344 * libgomp.fortran/pr46753.f90: New test.
18345
4c698cf8
JJ
18346 PR libgomp/43706
18347 * env.c (initialize_env): Default to spin count 300000
18348 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18349 is specified.
18350
b7516041
JJ
18351 PR libgomp/45240
18352 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18353 at the end if sync builtins aren't supported.
18354
6b43a34c
RO
183552010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18356
18357 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18358
950691fa
RO
183592010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18360
18361 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18362
fb9041ea
IS
183632010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18364
18365 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18366
1ec601bf
FXC
183672010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18368 Tobias Burnus <burnus@net-b.de>
18369
18370 PR fortran/32049
3e348fcc 18371 * configure.ac:
1ec601bf
FXC
18372 * configure: Regenerate.
18373
d213e92e
MS
183742010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18375
18376 * config/linux/futex.h: New.
18377 * config/linux/arm/mutex.h: New.
18378 * configure.tgt (arm*-*-linux*): Add config path.
18379
89d5c66f
SP
183802010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18381
18382 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18383
87350d4a
TB
183842010-09-23 Tobias Burnus <burnus@net-b.de>
18385
18386 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18387 Change Fortran datatype to LOGICAL.
18388 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18389 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18390
75bc9e5e
RW
183912010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18392
18393 * configure: Regenerate.
18394
acb5c916
JJ
183952010-07-26 Jakub Jelinek <jakub@redhat.com>
18396
18397 * libgomp.texi: Add function keyword to a couple of Fortran
18398 interfaces, use integer instead of int for Fortran.
18399
6a2ba183
AH
184002010-07-26 Aldy Hernandez <aldyh@redhat.com>
18401
18402 * libgomp.texi: Fix spelling and pasto problems throughout.
18403 Adjust prototypes to match code.
18404
df161b69
TB
184052010-07-24 Tobias Burnus <burnus@net-b.de>
18406
18407 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18408 silence -fwhole-file warning.
18409
16c9d3b1
RO
184102010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18411
18412 * configure.tgt (*-*-solaris2.[56]*): Removed.
18413
6d28b933
RO
184142010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18415
18416 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18417 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18418 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18419 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18420 targetting solaris2*.
18421 * configure: Regenerate.
18422 * config.h.in: Regenerate.
18423
18424 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18425 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18426 Add libgomp_version_dep.
18427 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18428 versioning.
18429 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18430 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18431 * Makefile.in: Regenerate.
18432
18433 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18434 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18435 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18436 to common block, protected by
18437 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18438
07a67d6a
GP
184392010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18440
18441 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18442
dbd34b89
IS
184432010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18444
18445 PR bootstrap/43170
18446 * configure: Regenerate.
18447
13917ae3
RW
184482010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18449
18450 PR other/43620
18451 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18452 * configure: Regenerate.
18453 * Makefile.in: Regenerate.
18454 * testsuite/Makefile.in: Regenerate.
18455
b83a701b
JJ
184562010-04-26 Jakub Jelinek <jakub@redhat.com>
18457
18458 PR c/43893
18459 * testsuite/libgomp.c/pr43893.c: New test.
18460 * testsuite/libgomp.c++/pr43893.C: New test.
18461
78db7d92
JJ
184622010-04-21 Jakub Jelinek <jakub@redhat.com>
18463
18464 PR middle-end/43570
18465 * testsuite/libgomp.fortran/vla8.f90: New test.
18466
5221d7a9
JJ
184672010-04-20 Jakub Jelinek <jakub@redhat.com>
18468
e4ba7a60
JJ
18469 PR libgomp/43706
18470 * config/linux/affinity.c (gomp_init_affinity): Decrease
18471 gomp_available_cpus if affinity mask confines the process to fewer
18472 CPUs.
18473 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18474 non-NULL, just return gomp_available_cpus.
18475
5221d7a9
JJ
18476 PR libgomp/43569
18477 * sections.c (gomp_sections_init): Initialize ws->mode.
18478
289a9f86
UB
184792010-04-14 Uros Bizjak <ubizjak@gmail.com>
18480
18481 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18482 not unused bar variable.
18483 * configure: Regenerate.
18484
4d9e8446
RW
184852010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18486
18487 * Makefile.in: Regenerate.
18488 * aclocal.m4: Regenerate.
18489 * testsuite/Makefile.in: Regenerate.
18490
80f046cc
JJ
184912010-03-22 Jakub Jelinek <jakub@redhat.com>
18492
18493 PR libgomp/42942
18494 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18495 (initialize_env): Adjust callers.
18496 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18497 when the argument is 0.
18498
18499 * testsuite/libgomp.c/pr42942.c: New test.
18500
b58543c3
SP
185012010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18502
18503 PR middle-end/42644
18504 PR middle-end/42130
18505 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18506 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18507
41d1138f
RO
185082010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18509
18510 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18511 * testsuite/libgomp.c++/task-6.C: Likewise.
18512
6684eb28
SE
185132010-01-28 Steve Ellcey <sje@cup.hp.com>
18514
18515 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18516
2122aa97
PB
185172010-01-26 Paolo Bonzini <bonzini@gnu.org>
18518
18519 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18520 * configure: Regenerate.
18521
057dd91d
JJ
185222010-01-26 Jakub Jelinek <jakub@redhat.com>
18523
18524 PR fortran/42866
18525 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18526
d0709b6a
PB
185272010-01-20 Paolo Bonzini <bonzini@gnu.org>
18528
18529 * configure.ac: Test for executability of GFORTRAN.
18530 * configure: Regenerate.
18531
b9497ab5
RO
185322010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18533
18534 * configure: Regenerate.
18535
45de5648
L
185362010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18537
18538 PR libgomp/42602
18539 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18540
e74003a1
RG
185412010-01-03 Richard Guenther <rguenther@suse.de>
18542
18543 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18544
1b3abda8
SP
185452009-12-23 Sebastian Pop <sebpop@gmail.com>
18546
18547 * testsuite/libgomp.graphite/pr4118.c: New.
18548
e19977d3
IS
185492009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18550
18551 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18552 for darwin, protect the test with require-effective-target tls_runtime.
18553 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18554
1d32a772
IS
185552009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18556
18557 PR target/41605
18558 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18559 link spec %s substitutions for static libraries.
18560
deb109b2
JH
185612009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18562
18563 PR testsuite/42135
18564 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18565
43e02a8a
RW
185662009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18567
18568 * Makefile.in: Regenerate.
18569 * configure: Regenerate.
18570 * testsuite/Makefile.in: Regenerate.
18571
17f35e23
DK
185722009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18573
18574 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18575 settings for LC_ALL and LANG.
18576
281e33e1
JJ
185772009-11-25 Jakub Jelinek <jakub@redhat.com>
18578
18579 PR fortran/42162
18580 * testsuite/libgomp.fortran/pr42162.f90: New test.
18581
2b32c27d
JJ
185822009-11-13 Jakub Jelinek <jakub@redhat.com>
18583
18584 PR middle-end/42029
281e33e1 18585 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 18586
89c74f4a
JJ
185872009-10-26 Jakub Jelinek <jakub@redhat.com>
18588
18589 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18590 *s. Accept ld version without text in ()s.
18591 * configure: Regenerated.
18592
7e06c3d6
EB
185932009-10-22 Razya Ladelsky <razya@il.ibm.com>
18594
18595 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18596
0046b1a7
RW
185972009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18598
18599 PR libgomp/41418
18600 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18601 or a hyphen (happens with fortran language disabled).
18602 * configure: Regenerate.
18603
c82852f7
RW
186042009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18605
18606 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18607 use sed script portable to Solaris /bin/sed for extracting ld
18608 version.
18609 * configure: Regenerate.
18610
98f3eb1f
AM
186112009-09-17 Alexander Monakov <amonakov@ispras.ru>
18612
18613 * testsuite/libgomp.graphite/bounds.c: New test.
18614
878f62e5
RW
186152009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18616
18617 * Makefile.am (libgomp_la_LINK): New.
18618 * Makefile.in: Regenerate.
18619
df58e648
RW
186202009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18621
18622 * configure.ac (AC_PREREQ): Bump to 2.64.
18623
5213506e
RW
186242009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18625
70fa0efa
RW
18626 * Makefile.am (install-html, install-pdf): Remove.
18627 * Makefile.in: Regenerate.
18628
5213506e
RW
18629 * Makefile.in: Regenerate.
18630 * aclocal.m4: Regenerate.
18631 * config.h.in: Regenerate.
18632 * configure: Regenerate.
18633 * testsuite/Makefile.in: Regenerate.
18634
84fec8a5
RW
186352009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18636
18637 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18638 * Makefile.in: Regenerate.
18639
197c68cc
DK
186402009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18641
18642 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18643 * Makefile.in: Regenerate.
18644
693d54f2
TB
186452009-08-19 Tobias Burnus <burnus@net-b.de>
18646
18647 PR fortran/41102
18648 omp_lib.h.in: Fix -std=f95 errors.
18649
8cac884c
DE
186502009-08-14 David Edelsohn <edelsohn@gnu.org>
18651
18652 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18653 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18654 * testsuite/libgomp.graphite/graphite.exp: New.
18655
78729ee2
AT
186562009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18657
18658 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18659 only build.
18660
b13b7f39
DD
186612009-08-04 David Daney <ddaney@caviumnetworks.com>
18662
18663 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18664 needed memory barrier semantics.
18665 * config/linux/mips/mutex.h: New file.
18666
1b3b24c2
RW
186672009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18668
18669 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18670
396b7fa4
JM
186712009-07-16 Joseph Myers <joseph@codesourcery.com>
18672
18673 * configure: Regenerate.
18674
33cde516
RS
186752009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18676
18677 PR testsuite/40699
18678 PR testsuite/40707
18679 PR testsuite/40709
18680 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18681 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18682 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18683
bc21bfa5
RS
186842009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18685
18686 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18687 options when choosing a multilib.
18688
b30bfd40
RS
186892009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18690
18691 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18692 ld_library_path. Use add_path. Add just find_libgcc_s to
18693 ld_library_path, not every libgcc multilib directory.
18694 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18695 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18696 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18697 Use add_path.
18698 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18699
479c15c2
NF
187002009-06-09 Nathan Froyd <froydnj@codesourcery.com>
18701
18702 * Makefile.am (LTLDFLAGS): Define.
18703 (LINK): Define.
18704 * Makefile.in: Regenerate.
18705
667e6f89
JB
187062009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
18707
18708 PR fortran/39718
18709 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18710 libgfortranbegin, check existence of libgfortran.a instead of
18711 libgfortranbegin.a.
18712
6dea8e99
JJ
187132009-05-20 Jakub Jelinek <jakub@redhat.com>
18714
18715 PR libgomp/40174
18716 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18717 (gomp_free_pool_helper): Likewise.
18718
34d01e1d
VL
187192009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18720 Jakub Jelinek <jakub@redhat.com>
18721
18722 PR fortran/35423
18723 * testsuite/libgomp.fortran/workshare2.f90: New test.
18724
748086b7
JJ
187252009-04-09 Nick Clifton <nickc@redhat.com>
18726
18727 * iter.c: Change copyright header to refer to version 3 of the
18728 GNU General Public License with version 3.1 of the GCC Runtime
18729 Library Exception and to point readers at the COPYING3 and
18730 COPYING3.RUNTIME files and the FSF's license web page.
18731 * alloc.c: Likewise.
18732 * barrier.c: Likewise.
18733 * config/bsd/proc.c: Likewise.
18734 * config/linux/affinity.c: Likewise.
18735 * config/linux/alpha/futex.h: Likewise.
18736 * config/linux/bar.c: Likewise.
18737 * config/linux/bar.h: Likewise.
18738 * config/linux/ia64/futex.h: Likewise.
18739 * config/linux/ia64/mutex.h: Likewise.
18740 * config/linux/lock.c: Likewise.
18741 * config/linux/mips/futex.h: Likewise.
18742 * config/linux/mutex.c: Likewise.
18743 * config/linux/mutex.h: Likewise.
18744 * config/linux/powerpc/futex.h: Likewise.
18745 * config/linux/proc.c: Likewise.
18746 * config/linux/ptrlock.c: Likewise.
18747 * config/linux/ptrlock.h: Likewise.
18748 * config/linux/s390/futex.h: Likewise.
18749 * config/linux/sem.c: Likewise.
18750 * config/linux/sem.h: Likewise.
18751 * config/linux/sparc/futex.h: Likewise.
18752 * config/linux/wait.h: Likewise.
18753 * config/linux/x86/futex.h: Likewise.
18754 * config/mingw32/proc.c: Likewise.
18755 * config/mingw32/time.c: Likewise.
18756 * config/posix/affinity.c: Likewise.
18757 * config/posix/bar.c: Likewise.
18758 * config/posix/bar.h: Likewise.
18759 * config/posix/lock.c: Likewise.
18760 * config/posix/mutex.h: Likewise.
18761 * config/posix/proc.c: Likewise.
18762 * config/posix/ptrlock.h: Likewise.
18763 * config/posix/sem.c: Likewise.
18764 * config/posix/sem.h: Likewise.
18765 * config/posix/time.c: Likewise.
18766 * config/posix95/lock.c: Likewise.
18767 * critical.c: Likewise.
18768 * env.c: Likewise.
18769 * error.c: Likewise.
18770 * fortran.c: Likewise.
18771 * iter_ull.c: Likewise.
18772 * libgomp.h: Likewise.
18773 * libgomp_f.h.in: Likewise.
18774 * libgomp_g.h: Likewise.
18775 * loop.c: Likewise.
18776 * loop_ull.c: Likewise.
18777 * omp.h.in: Likewise.
18778 * omp_lib.f90.in: Likewise.
18779 * omp_lib.h.in: Likewise.
18780 * ordered.c: Likewise.
18781 * parallel.c: Likewise.
18782 * sections.c: Likewise.
18783 * single.c: Likewise.
18784 * task.c: Likewise.
18785 * team.c: Likewise.
18786 * work.c: Likewise.
18787
187882009-04-09 Jakub Jelinek <jakub@redhat.com>
18789
18790 * testsuite/config/default.exp: Change copyright header to refer to
18791 version 3 of the GNU General Public License and to point readers
18792 at the COPYING3 file and the FSF's license web page.
18793
4f0ae266
JJ
187942009-04-08 Jakub Jelinek <jakub@redhat.com>
18795
18796 PR middle-end/39573
18797 * libgomp.c++/pr39573.C: New test.
18798
03742a9b
JJ
187992009-04-01 Jakub Jelinek <jakub@redhat.com>
18800
18801 PR other/39591
18802 * testsuite/libgomp.c/pr39591-1.c: New test.
18803 * testsuite/libgomp.c/pr39591-2.c: New test.
18804 * testsuite/libgomp.c/pr39591-3.c: New test.
18805
e50ea10b
UB
188062009-03-25 Uros Bizjak <ubizjak@gmail.com>
18807
18808 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18809 * testsuite/libgomp.c/atomic-6.c: Ditto.
18810
c5cdb03f
JJ
188112009-03-23 Jakub Jelinek <jakub@redhat.com>
18812
18813 PR c/39495
18814 * testsuite/libgomp.c/loop-12.c: New test.
18815 * testsuite/libgomp.c/loop-11.c: New test.
18816 * testsuite/libgomp.c++/loop-11.C: New test.
18817 * testsuite/libgomp.c++/loop-12.C: New test.
18818 * testsuite/libgomp.c++/for-8.C: New test.
18819
7a9d3fe8
RW
188202009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18821
18822 * configure: Regenerate.
18823
3ad6b266
JJ
188242009-02-11 Jakub Jelinek <jakub@redhat.com>
18825
18826 PR middle-end/39154
18827 * testsuite/libgomp.c/pr39154.c: New test.
18828
b39dea08
ILT
188292009-01-30 Ian Lance Taylor <iant@google.com>
18830
18831 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18832 libgomp_ld_is_gold. Get gold version number.
18833 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18834 * configure: Rebuild.
18835
72c66596
IS
188362009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18837
e50ea10b 18838 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
18839 use libgfortran.a%s in their specs.
18840
876080ff
JJ
188412009-01-07 Jakub Jelinek <jakub@redhat.com>
18842
18843 PR libgomp/38086
18844 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18845 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18846 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18847 * configure: Regenerated.
18848 * config.h.in: Likewise.
18849
e4ebaef3
JJ
188502008-12-28 Jakub Jelinek <jakub@redhat.com>
18851
18852 PR c++/38650
18853 * testsuite/libgomp.c/pr38650.c: New test.
18854 * testsuite/libgomp.c++/pr38650.C: New test.
18855
382017a6
JJ
188562008-12-27 Jakub Jelinek <jakub@redhat.com>
18857
18858 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18859
79644b27
UB
188602008-12-26 Uros Bizjak <ubizjak@gmail.com>
18861
18862 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18863
baafc534
RW
188642008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18865
18866 * configure: Regenerate.
18867
d9c194cb
JJ
188682008-12-08 Jakub Jelinek <jakub@redhat.com>
18869
18870 PR middle-end/36802
18871 * testsuite/libgomp.c/pr36802-1.c: New test.
18872 * testsuite/libgomp.c/pr36802-2.c: New test.
18873 * testsuite/libgomp.c/pr36802-3.c: New test.
18874
86a182bf
JJ
188752008-12-01 Janis Johnson <janis187@us.ibm.com>
18876
18877 PR libgomp/38270
18878 * config/linux/powerpc/mutex.h: New.
18879
956adfaf
JJ
188802008-12-01 Jakub Jelinek <jakub@redhat.com>
18881
a2d4cdc9
JJ
18882 PR c++/38257
18883 * testsuite/libgomp.c++/for-7.C: New test.
18884
956adfaf
JJ
18885 PR c++/38348
18886 * testsuite/libgomp.c++/for-6.C: New test.
18887
d4038ca2
JJ
188882008-11-26 Janis Johnson <janis187@us.ibm.com>
18889
18890 PR testsuite/28870
18891 * testsuite/lib/libgomp.exp: Include new timeout library files.
18892 (libgomp_target_compile): Set timeout value from new proc.
18893
8b159eea
SE
188942008-11-13 Steve Ellcey <sje@cup.hp.com>
18895
18896 PR libgomp/37938
18897 * config/linux/ia64/mutex.h: New.
18898
5c6ed53a
TB
188992008-11-04 Tobias Burnus <burnus@net-b.de>
18900
18901 PR libgomp/37935
18902 * libgomp.texi (Runtime library routines, environment variables):
18903 Update for OpenMP version 3.0.
18904
6b4a97ed
PG
189052008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18906 Steve Ellcey <sje@cup.hp.com>
18907
18908 * configure: Regenerate for new libtool.
18909 * Makefile.in: Ditto.
18910 * testsuite/Makefile.in: Ditto.
18911
e2b34106
JJ
189122008-09-19 Jakub Jelinek <jakub@redhat.com>
18913 Andreas Tobler <a.tobler@schweiz.org>
18914
18915 * config/bsd/proc.c: New file.
8c3b3600 18916 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
18917 * configure.ac: Check for header <sys/sysctl.h>
18918 * configure: Regenerate.
18919 * config.h.in: Likewise.
18920
3606b8bf
JJ
189212008-09-05 Janis Johnson <janis187@us.ibm.com>
18922
18923 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18924
6528b88d
AL
189252008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18926
18927 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18928 * Makefile.in: Regenerated.
18929 * testsuite/Makefile.in: Regenerated.
18930
d9b14b12 189312008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 18932
a16b68bb 18933 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
18934 depend on blddir if blddir exists.
18935 (libgomp_target_compile): Likewise.
18936 * testsuite/libgomp.c++/c++.exp: Likewise.
18937 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18938
70b1e376
RW
189392008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18940
18941 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18942 Do not list GPL as Invariant Section.
18943
318e8c3f
IG
189442008-07-28 Ilie Garbacea <ilie@mips.com>
18945 Chao-ying Fu <fu@mips.com>
18946
18947 * configure.tgt: Enable futex for MIPS.
18948 * config/linux/mips/futex.h: New file.
18949
4db72361
JJ
189502008-07-16 Jakub Jelinek <jakub@redhat.com>
18951
18952 * team.c (gomp_team_end): Free team immediately if it has
18953 just one thread.
18954
87bd23b8
DE
189552008-07-08 David Edelsohn <edelsohn@gnu.org>
18956
18957 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18958 * testsuite/libgomp.fortran/fortran.exp: Same.
18959 * testsuite/libgomp.c/c.exp: Same.
18960 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18961 directory to library path first.
18962
323ff903
KW
189632008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18964
18965 * env.c (parse_stacksize): Add cast to avoid warning.
18966 (parse_spincount): Likewise.
18967
b357f682
JJ
189682008-06-27 Jakub Jelinek <jakub@redhat.com>
18969
ca2b1311
JJ
18970 * testsuite/libgomp.c/loop-10.c: New test.
18971 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18972 * libgomp.c++/loop-6.C (main): Likewise.
18973
b357f682
JJ
18974 PR debug/36617
18975 * testsuite/libgomp.c/debug-1.c: New test.
18976
09a46078
JJ
189772008-06-19 Jakub Jelinek <jakub@redhat.com>
18978
18979 * testsuite/libgomp.c/nqueens-1.c: New test.
18980
2368a460
JJ
18981 PR c++/36523
18982 * testsuite/libgomp.c++/task-7.C: New function.
18983
18c04407
RW
189842008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18985
18986 * configure: Regenerate.
18987
9c4e59e0
JDA
189882008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18989
18990 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18991 mutex when HAVE_SYNC_BUILTINS isn't defined.
18992
6ccde948
RW
189932008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18994
18995 * libgomp.texi (omp_test_lock): Fix typo.
18996
b896f9fd
TB
189972008-06-12 Tobias Burnus <burnus@net-b.de>
18998
18999 * omp_lib.f90.in: Add "implicit none".
19000
c34938a8
JJ
190012008-06-12 Jakub Jelinek <jakub@redhat.com>
19002
19003 PR middle-end/36506
19004 * testsuite/libgomp.c/reduction-5.c: New test.
19005
976e44e3
JJ
190062008-06-11 Jakub Jelinek <jakub@redhat.com>
19007
5f836cbb
JJ
19008 * libgomp.h (struct gomp_task): Add in_tied_task field.
19009 * task.c (gomp_init_task): Initialize it.
19010 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
19011 unconditionally. Don't call gomp_team_barrier_wake if
19012 current task is implicit or if(0) from implicit and number of
19013 running tasks is equal to nthreads - 1.
19014
01501fc8
JJ
19015 PR libgomp/36471
19016 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
19017 omp_get_team_size_8): Fix pastos.
19018
976e44e3
JJ
19019 PR libgomp/36469
19020 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
19021 * configure: Regenerated.
19022 * config.h.in: Regenerated.
19023 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
19024 defined.
19025
e919209b
AT
190262008-06-06 Andreas Tobler <a.tobler@schweiz.org>
19027
19028 PR bootstrap/36452
19029 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
19030 (GOMP_loop_ull_dynamic_start): Likewise.
19031 (GOMP_loop_ull_guided_start): Likewise.
19032 (GOMP_loop_ull_ordered_static_start): Likewise.
19033 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
19034 (GOMP_loop_ull_ordered_guided_start): Likewise.
19035
a68ab351
JJ
190362008-06-06 Jakub Jelinek <jakub@redhat.com>
19037 Richard Henderson <rth@redhat.com>
19038 Ulrich Drepper <drepper@redhat.com>
19039 Jakob Blomer <jakob.blomer@ira.uka.de>
19040
19041 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
19042 Substitute also OMP_*LOCK_25*.
19043 * configure: Regenerated.
19044 * config.h.in: Regenerated.
19045 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
19046 ptrlock.c and task.c.
19047 * Makefile.in: Regenerated.
19048 * testsuite/Makefile.in: Regenerated.
19049 * task.c: New file.
19050 * loop_ull.c: New file.
19051 * iter_ull.c: New file.
19052 * libgomp.h: Include ptrlock.h.
19053 (enum gomp_task_kind): New type.
19054 (struct gomp_team): Add task_lock, task_queue, task_count,
19055 task_running_count, single_count fields. Add
19056 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
19057 Remove work_share_lock, generation_mask,
19058 oldest_live_gen, num_live_gen and init_work_shares fields, add
19059 work work_share_list_alloc, work_share_list_free and work_share_chunk
19060 fields. Change work_shares from pointer to pointers into an array.
19061 Change ordered_release field into gomp_sem_t ** from flexible array
19062 member. Add implicit_task and initial_work_shares fields.
19063 Move close to the end of the struct.
19064 (struct gomp_team_state): Add single_count, last_work_share,
19065 active_level and level fields, remove work_share_generation.
19066 (gomp_barrier_handle_tasks): New prototype.
19067 (gomp_finish_task): New inline function.
19068 (struct gomp_work_share): Move chunk_size, end, incr into
19069 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
19070 next_ll fields. Reshuffle fields. Add next_alloc,
19071 next_ws, next_free and inline_ordered_team_ids fields, change
19072 ordered_team_ids into pointer from flexible array member.
19073 Add mode field. Put lock and next into a different cache line
19074 from most of the write-once fields.
19075 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
19076 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
19077 gomp_iter_ull_guided_next): New prototypes.
19078 (gomp_new_icv): New prototype.
19079 (struct gomp_thread): Add thread_pool and task fields.
19080 (struct gomp_thread_pool): New type.
19081 (gomp_new_team): New prototype.
19082 (gomp_team_start): Change type of last argument.
19083 (gomp_new_work_share): Removed.
19084 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
19085 (gomp_work_share_init_done): New static inline.
19086 (gomp_throttled_spin_count_var, gomp_available_cpus,
19087 gomp_managed_threads): New extern decls.
19088 (gomp_init_task): New prototype.
19089 (gomp_spin_count_var): New extern var decl.
19090 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
19091 or no alias support, or if not PIC.
19092 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
19093 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
19094 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
19095 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
19096 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
19097 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
19098 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
19099 gomp_test_nest_lock_25): New prototypes.
19100 (omp_lock_symver, strong_alias): Define.
19101 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
19102 decls.
19103 (gomp_end_task): New.
19104 (struct gomp_task_icv, gomp_global_icv): New.
19105 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
19106 (struct gomp_task): New.
19107 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19108 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19109 (gomp_icv): New.
19110 (gomp_schedule_type): Reorder enum to match
19111 omp_sched_t.
19112 * team.c (struct gomp_thread_start_data): Add thread_pool and task
19113 fields.
19114 (gomp_thread_start): Add gomp_team_barrier_wait call.
19115 For non-nested case remove clearing of docked thread thr fields.
19116 Use pool fields instead of global gomp_* variables. Use
19117 gomp_barrier_wait_last when needed. Initialize ts.active_level.
19118 Create tasks for each member thread.
19119 (free_team): Only destroy team barrier, task_lock here and free it.
19120 (gomp_free_thread): Free last_team if non-NULL.
19121 (gomp_team_end): Call gomp_team_barrier_wait instead of
19122 gomp_barrier_wait. For nested case call one extra
19123 gomp_barrier_wait. Move here some destruction from free_team.
19124 Call free_team on pool->last_team if any, rather than freeing
19125 current team. Destroy work_share_list_free_lock ifndef
19126 HAVE_SYNC_BUILTINS.
19127 (gomp_new_icv): New function.
19128 (gomp_threads, gomp_threads_size, gomp_threads_used,
19129 gomp_threads_dock): Removed.
19130 (gomp_thread_destructor): New variable.
19131 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
19132 functions.
19133 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 19134 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
19135 Initialize thread_pool field for new threads. Clear single_count.
19136 Change last argument from ws to team, don't create
19137 new team, set ts.work_share to &team->work_shares[0] and clear
19138 ts.last_work_share. Don't clear ts.work_share_generation.
19139 If number of threads changed, adjust atomically gomp_managed_threads.
19140 Use gomp_init_task instead of gomp_new_task,
19141 set thr->task to the corresponding implicit_task array entry.
19142 Create tasks for each member thread. Initialize ts.level.
19143 (initialize_team): Call pthread_key_create on
19144 gomp_thread_destructor.
19145 (team_destructor): New function.
19146 (new_team): Removed.
19147 (gomp_new_team): New function.
19148 (free_team): Free gomp_work_share blocks chained through next_alloc,
19149 instead of freeing work_shares and destroying work_share_lock.
19150 (gomp_team_end): Call gomp_fini_work_share. If number of threads
19151 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
19152 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
19153 of gomp_barrier_wait.
19154 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
19155 instead of gomp_barrier_wait. Call gomp_work_share_init_done
19156 if gomp_work_share_start returned true. Don't unlock ws->lock.
19157 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
19158 of gomp_barrier_wait.
19159 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
19160 gomp_work_share_init_done if gomp_work_share_start returned true.
19161 Don't unlock ws->lock.
19162 * work.c: Include stddef.h.
19163 (free_work_share): Use work_share_list_free_lock instead
19164 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
19165 Call gomp_fini_work_share and then either free ws if orphaned, or
19166 put it into work_share_list_free list of the current team.
19167 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
19168 functions.
19169 (gomp_work_share_start, gomp_work_share_end,
19170 gomp_work_share_end_nowait): Rewritten.
19171 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
19172 (openmp_version): Set to 200805.
19173 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19174 omp_sched_guided, omp_sched_auto): New parameters.
19175 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19176 omp_set_max_active_levels, omp_get_max_active_levels,
19177 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19178 omp_get_active_level): New interfaces.
19179 * omp_lib.h.in (openmp_version): Set to 200805.
19180 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
19181 omp_sched_guided, omp_sched_auto): New parameters.
19182 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19183 omp_set_max_active_levels, omp_get_max_active_levels,
19184 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19185 omp_get_active_level): New externals.
19186 * loop.c: Include limits.h.
19187 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
19188 GFS_AUTO.
19189 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
19190 Likewise. Use gomp_icv.
19191 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
19192 ts.static_trip here.
19193 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
19194 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
19195 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
19196 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
19197 don't unlock ws->lock, otherwise lock it.
19198 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
19199 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
19200 (gomp_parallel_loop_start): Call gomp_new_team instead of
19201 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
19202 Adjust gomp_team_start caller. Pass 0 as second argument to
19203 gomp_resolve_num_threads.
19204 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
19205 If adding ws->chunk_size nthreads + 1 times after end won't
19206 overflow, set ws->mode to 1.
19207 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
19208 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
19209 GOMP_loop_ull_ordered_static_start,
19210 GOMP_loop_ull_ordered_dynamic_start,
19211 GOMP_loop_ull_ordered_guided_start,
19212 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
19213 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
19214 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
19215 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
19216 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
19217 prototypes.
19218 * libgomp.map: Export lock routines also @@OMP_2.0.
19219 (GOMP_loop_ordered_dynamic_first,
19220 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
19221 GOMP_loop_ordered_static_first): Remove.
19222 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
19223 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
19224 GOMP_loop_ull_ordered_dynamic_next,
19225 GOMP_loop_ull_ordered_dynamic_start,
19226 GOMP_loop_ull_ordered_guided_next,
19227 GOMP_loop_ull_ordered_guided_start,
19228 GOMP_loop_ull_ordered_runtime_next,
19229 GOMP_loop_ull_ordered_runtime_start,
19230 GOMP_loop_ull_ordered_static_next,
19231 GOMP_loop_ull_ordered_static_start,
19232 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
19233 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
19234 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
19235 (omp_set_schedule, omp_get_schedule,
19236 omp_get_thread_limit, omp_set_max_active_levels,
19237 omp_get_max_active_levels, omp_get_level,
19238 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
19239 omp_set_schedule_, omp_set_schedule_8_,
19240 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19241 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19242 omp_get_max_active_levels_, omp_get_level_,
19243 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19244 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19245 New exports @@OMP_3.0.
19246 * omp.h.in (omp_sched_t): New type.
19247 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19248 omp_set_max_active_levels, omp_get_max_active_levels,
19249 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19250 omp_get_active_level): New prototypes.
19251 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
19252 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
19253 gomp_thread_limit_var, gomp_remaining_threads_count,
19254 gomp_remaining_threads_lock): New variables.
19255 (parse_spincount): New function.
19256 (initialize_env): Call gomp_init_num_threads unconditionally.
19257 Initialize gomp_available_cpus. Call parse_spincount,
19258 initialize gomp_{,throttled_}spin_count_var
19259 depending on presence and value of OMP_WAIT_POLICY and
19260 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
19261 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19262 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
19263 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
19264 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
19265 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19266 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19267 (gomp_global_icv): New.
19268 (parse_schedule): Use it. Parse "auto".
19269 (omp_set_num_threads): Use gomp_icv.
19270 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19271 Likewise.
19272 (omp_get_max_threads): Move from parallel.c.
19273 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19274 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19275 add ialias.
19276 (parse_stacksize, parse_wait_policy): New functions.
19277 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19278 both wrappers for compatibility and new locks.
19279 (omp_set_schedule, omp_get_schedule,
19280 omp_get_thread_limit, omp_set_max_active_levels,
19281 omp_get_max_active_levels, omp_get_level,
19282 omp_get_ancestor_thread_num, omp_get_team_size,
19283 omp_get_active_level): New ialias_redirect.
19284 (omp_set_schedule_, omp_set_schedule_8_,
19285 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19286 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19287 omp_get_max_active_levels_, omp_get_level_,
19288 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19289 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19290 New functions.
19291 * parallel.c: Include limits.h.
19292 (gomp_resolve_num_threads): Add count argument. Rewritten.
19293 (GOMP_parallel_start): Call gomp_new_team and pass that as last
19294 argument to gomp_team_start. Pass 0 as second argument to
19295 gomp_resolve_num_threads.
19296 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19297 if gomp_thread_limit_var != ULONG_MAX.
19298 (omp_in_parallel): Implement using ts.active_level.
19299 (omp_get_max_threads): Move to env.c.
19300 (omp_get_level, omp_get_ancestor_thread_num,
19301 omp_get_team_size, omp_get_active_level): New functions,
19302 add ialias.
19303 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19304 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
19305 gomp_iter_dynamic_next instead of the _locked variant and don't take
19306 lock around it, otherwise acquire it before calling
19307 gomp_iter_dynamic_next_locked.
19308 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19309 gomp_iter_dynamic_next instead of the _locked variant and don't take
19310 lock around it.
19311 (GOMP_parallel_sections_start): Call gomp_new_team instead of
19312 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
19313 Adjust gomp_team_start caller. Pass count as second argument to
19314 gomp_resolve_num_threads, don't adjust num_threads after the call.
19315 Use gomp_icv.
19316 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19317 ws->chunk_size by incr.
19318 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
19319 code.
19320 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19321 types.
19322 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19323 (omp_check_defines): Check even the compat defines.
19324 * config/linux/ptrlock.c: New file.
19325 * config/linux/ptrlock.h: New file.
19326 * config/linux/wait.h: New file.
19327 * config/posix/ptrlock.c: New file.
19328 * config/posix/ptrlock.h: New file.
19329 * config/linux/bar.h (gomp_team_barrier_wait,
19330 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19331 (gomp_team_barrier_set_task_pending,
19332 gomp_team_barrier_clear_task_pending,
19333 gomp_team_barrier_set_waiting_for_tasks,
19334 gomp_team_barrier_waiting_for_tasks,
19335 gomp_team_barrier_done): New inlines.
19336 (gomp_barrier_t): Rewritten.
19337 (gomp_barrier_state_t): New typedef.
19338 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19339 gomp_barrier_wait_start): Rewritten.
19340 (gomp_barrier_wait_end): Change second argument to
19341 gomp_barrier_state_t.
19342 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19343 inlines.
19344 * config/linux/bar.c: Include wait.h instead of libgomp.h and
19345 futex.h.
19346 (gomp_barrier_wait_end): Rewritten.
19347 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19348 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19349 * config/posix/bar.h (gomp_barrier_t): Add generation field.
19350 (gomp_barrier_state_t): New typedef.
19351 (gomp_team_barrier_wait,
19352 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19353 (gomp_barrier_wait_start): Or all but low 2 bits from generation
19354 into the return value. Return gomp_barrier_state_t.
19355 (gomp_team_barrier_set_task_pending,
19356 gomp_team_barrier_clear_task_pending,
19357 gomp_team_barrier_set_waiting_for_tasks,
19358 gomp_team_barrier_waiting_for_tasks,
19359 gomp_team_barrier_done): New inlines.
19360 (gomp_barrier_wait_end): Change second argument to
19361 gomp_barrier_state_t.
19362 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19363 inlines.
19364 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19365 (gomp_barrier_wait_end): Change second argument to
3e348fcc 19366 gomp_barrier_state_t.
a68ab351
JJ
19367 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19368 gomp_team_barrier_wake): New functions.
19369 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19370 futex.h.
19371 (gomp_futex_wake, gomp_futex_wait): New variables.
19372 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19373 * config/linux/lock.c: Rewrite to make locks task owned,
19374 for backwards compatibility provide the old entrypoints
19375 if symbol versioning. Include wait.h instead of libgomp.h and
19376 futex.h.
19377 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19378 * config/posix95/lock.c: Rewrite to make locks task owned,
19379 for backwards compatibility provide the old entrypoints
19380 if symbol versioning.
19381 * config/posix/lock.c: Rewrite to make locks task owned,
19382 for backwards compatibility provide the old entrypoints
19383 if symbol versioning.
19384 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19385 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19386 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19387 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19388 (sys_futex0): Return error code.
19389 (futex_wake, futex_wait): If ENOSYS was returned, clear
19390 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19391 (cpu_relax, atomic_write_barrier): New static inlines.
19392 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19393 (futex_wake, futex_wait): If ENOSYS was returned, clear
19394 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19395 (cpu_relax, atomic_write_barrier): New static inlines.
19396 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19397 (sys_futex0): Return error code.
19398 (futex_wake, futex_wait): If ENOSYS was returned, clear
19399 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19400 (cpu_relax, atomic_write_barrier): New static inlines.
19401 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19402 (sys_futex0): Return error code.
19403 (futex_wake, futex_wait): If ENOSYS was returned, clear
19404 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19405 (cpu_relax, atomic_write_barrier): New static inlines.
19406 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19407 (sys_futex0): Return error code.
19408 (futex_wake, futex_wait): If ENOSYS was returned, clear
19409 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19410 (cpu_relax, atomic_write_barrier): New static inlines.
19411 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19412 (sys_futex0): Return error code.
19413 (futex_wake, futex_wait): If ENOSYS was returned, clear
19414 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19415 (cpu_relax, atomic_write_barrier): New static inlines.
19416 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19417 futex.h.
19418 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19419 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19420 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19421 types.
19422 (omp_nest_lock_t): Change owner into void *, add lock field.
19423 * config/posix95/omp-lock.h: Include semaphore.h.
19424 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19425 (omp_lock_t): Use sem_t instead of mutex if semaphores
19426 aren't broken.
19427 (omp_nest_lock_t): Likewise. Change owner to void *.
19428 * config/posix/omp-lock.h: Include semaphore.h.
19429 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19430 (omp_lock_t): Use sem_t instead of mutex if semaphores
19431 aren't broken.
19432 (omp_nest_lock_t): Likewise. Add owner field.
19433
194342008-06-06 Jakub Jelinek <jakub@redhat.com>
19435
19436 * testsuite/libgomp.c/collapse-1.c: New test.
19437 * testsuite/libgomp.c/collapse-2.c: New test.
19438 * testsuite/libgomp.c/collapse-3.c: New test.
19439 * testsuite/libgomp.c/icv-1.c: New test.
19440 * testsuite/libgomp.c/icv-2.c: New test.
19441 * testsuite/libgomp.c/lib-2.c: New test.
19442 * testsuite/libgomp.c/lock-1.c: New test.
19443 * testsuite/libgomp.c/lock-2.c: New test.
19444 * testsuite/libgomp.c/lock-3.c: New test.
19445 * testsuite/libgomp.c/loop-4.c: New test.
19446 * testsuite/libgomp.c/loop-5.c: New test.
19447 * testsuite/libgomp.c/loop-6.c: New test.
19448 * testsuite/libgomp.c/loop-7.c: New test.
19449 * testsuite/libgomp.c/loop-8.c: New test.
19450 * testsuite/libgomp.c/loop-9.c: New test.
19451 * testsuite/libgomp.c/nested-3.c: New test.
19452 * testsuite/libgomp.c/nestedfn-6.c: New test.
19453 * testsuite/libgomp.c/sort-1.c: New test.
19454 * testsuite/libgomp.c/task-1.c: New test.
19455 * testsuite/libgomp.c/task-2.c: New test.
19456 * testsuite/libgomp.c/task-3.c: New test.
19457 * testsuite/libgomp.c/task-4.c: New test.
19458 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19459 to C++ testsuite default compiler options.
19460 * testsuite/libgomp.c++/collapse-1.C: New test.
19461 * testsuite/libgomp.c++/collapse-2.C: New test.
19462 * testsuite/libgomp.c++/ctor-10.C: New test.
19463 * testsuite/libgomp.c++/for-1.C: New test.
19464 * testsuite/libgomp.c++/for-2.C: New test.
19465 * testsuite/libgomp.c++/for-3.C: New test.
19466 * testsuite/libgomp.c++/for-4.C: New test.
19467 * testsuite/libgomp.c++/for-5.C: New test.
19468 * testsuite/libgomp.c++/loop-8.C: New test.
19469 * testsuite/libgomp.c++/loop-9.C: New test.
19470 * testsuite/libgomp.c++/loop-10.C: New test.
19471 * testsuite/libgomp.c++/task-1.C: New test.
19472 * testsuite/libgomp.c++/task-2.C: New test.
19473 * testsuite/libgomp.c++/task-3.C: New test.
19474 * testsuite/libgomp.c++/task-4.C: New test.
19475 * testsuite/libgomp.c++/task-5.C: New test.
19476 * testsuite/libgomp.c++/task-6.C: New test.
19477 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19478 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19479 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19480 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19481 * testsuite/libgomp.fortran/collapse1.f90: New test.
19482 * testsuite/libgomp.fortran/collapse2.f90: New test.
19483 * testsuite/libgomp.fortran/collapse3.f90: New test.
19484 * testsuite/libgomp.fortran/collapse4.f90: New test.
19485 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19486 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19487 * testsuite/libgomp.fortran/lib4.f90: New test.
19488 * testsuite/libgomp.fortran/lock-1.f90: New test.
19489 * testsuite/libgomp.fortran/lock-2.f90: New test.
19490 * testsuite/libgomp.fortran/nested1.f90: New test.
19491 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19492 * testsuite/libgomp.fortran/strassen.f90: New test.
19493 * testsuite/libgomp.fortran/tabs1.f90: New test.
19494 * testsuite/libgomp.fortran/tabs2.f: New test.
19495 * testsuite/libgomp.fortran/task1.f90: New test.
19496 * testsuite/libgomp.fortran/task2.f90: New test.
19497 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19498 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19499 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19500 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19501 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19502
7a0112e7
JJ
195032008-05-23 Jakub Jelinek <jakub@redhat.com>
19504
19505 PR c++/36308
19506 * testsuite/libgomp.c++/ctor-11.C: New test.
19507 * testsuite/libgomp.c++/ctor-12.C: New test.
19508
91a5b394
JJ
195092008-05-15 Janis Johnson <janis187@us.ibm.com>
19510
19511 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19512
c18c98c0
JJ
195132008-05-07 Jakub Jelinek <jakub@redhat.com>
19514
19515 PR middle-end/36106
19516 * testsuite/libgomp.c/atomic-5.c: New test.
19517 * testsuite/libgomp.c/atomic-6.c: New test.
19518 * testsuite/libgomp.c/autopar-1.c: New test.
19519
6d26724a
RW
195202008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19521
19522 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19523 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19524 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19525 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19526 * configure: Regenerate.
19527 * Makefile.in, testsuite/Makefile.in: Likewise.
19528
deb984e6
PB
195292008-04-18 Paolo Bonzini <bonzini@gnu.org>
19530
19531 PR bootstrap/35457
19532 * aclocal.m4: Regenerate.
19533 * configure: Regenerate.
19534
9e775963
JJ
195352008-03-18 Jakub Jelinek <jakub@redhat.com>
19536
8119fc93
JJ
19537 PR middle-end/35611
19538 * testsuite/libgomp.c/atomic-4.c: New test.
19539
9e775963
JJ
19540 PR libgomp/35625
19541 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19542 (gomp_iter_guided_next): Likewise.
19543 * testsuite/libgomp.c/pr35625.c: New test.
19544
38d24731
RW
195452008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19546
19547 * aclocal.m4: Regenerate.
19548 * configure: Likewise.
19549 * Makefile.in: Likewise.
19550 * testsuite/Makefile.in: Likewise.
19551
d0fb20be
JJ
195522008-03-13 Jakub Jelinek <jakub@redhat.com>
19553
19554 PR middle-end/35185
19555 * testsuite/libgomp.c++/pr35185.C: New test.
19556
7c8f7639
JJ
195572008-03-12 Jakub Jelinek <jakub@redhat.com>
19558
19559 PR middle-end/35549
19560 * testsuite/libgomp.c/pr35549.c: New test.
19561
251923f5
JJ
195622008-03-06 Jakub Jelinek <jakub@redhat.com>
19563
19564 * testsuite/libgomp.c/atomic-3.c: New test.
19565
f489fba1
FXC
195662008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19567
19568 PR fortran/33197
251923f5 19569 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
19570 .F08 file suffixes.
19571
a1b25e49
PG
195722008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19573
19574 PR libgomp/33131
19575 * configure.ac: Add ACX_HEADER_STRING.
19576 * env.c: Include strings.h.
19577 * aclocal.m4: Regenerate.
19578 * config.h.in: Regenerate.
19579 * configure: Regenerate.
19580 * Makefile.in: Regenerate.
19581 * testsuite/Makefile.in: Regenerate.
19582
6837b3b8
JJ
195832008-02-15 Jakub Jelinek <jakub@redhat.com>
19584
ac84c062
JJ
19585 PR middle-end/35196
19586 * testsuite/libgomp.c/pr35196.c: New test.
19587
6837b3b8
JJ
19588 PR middle-end/35130
19589 * testsuite/libgomp.fortran/pr35130.f90: New test.
19590 * testsuite/libgomp.c/pr35130.c: New test.
19591
c256730c
JJ
195922008-01-25 Jakub Jelinek <jakub@redhat.com>
19593
19594 PR middle-end/33880
19595 * testsuite/libgomp.c/pr33880.c: New test.
19596 * testsuite/libgomp.fortran/pr33880.f90: New test.
19597
c8e95542 195982008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
19599
19600 * configure: Regenerate.
19601
0f3e711e
JJ
196022008-01-08 Jakub Jelinek <jakub@redhat.com>
19603
19604 * configure.ac: Move futex checking into ../config/futex.m4.
19605 * configure: Rebuilt.
19606 * aclocal.m4: Rebuilt.
19607 * Makefile.in: Rebuilt.
19608
19609 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19610 2007-10-15 ../config/tls.m4 change.
19611
5259c813
JJ
196122007-12-19 Jakub Jelinek <jakub@redhat.com>
19613
19614 PR c++/34513
19615 * testsuite/libgomp.c/pr34513.c: New test.
19616 * testsuite/libgomp.c++/pr34513.C: New test.
19617
ae8d8879
JH
196182007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19619
19620 PR target/32765
19621 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19622
2b4cf991
JJ
196232007-12-04 Jakub Jelinek <jakub@redhat.com>
19624
19625 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19626
d2dda7fe
JJ
196272007-12-03 Jakub Jelinek <jakub@redhat.com>
19628
19629 * testsuite/libgomp.c/private-1.c: New test.
19630
d683ec81
PB
196312007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19632 Paolo Bonzini <bonzini@gnu.org>
19633
19634 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19635 instead of 'VPATH ='.
19636 * Makefile.in: Regenerate.
19637
a7415017
MK
196382007-11-23 Matthias Klose <doko@ubuntu.com>
19639
19640 * configure.ac: Adjust makeinfo version check.
19641 * configure: Regenerate.
19642
78e47463
JJ
196432007-11-10 Jakub Jelinek <jakub@redhat.com>
19644
19645 PR fortran/34020
19646 * testsuite/libgomp.fortran/pr34020.f90: New test.
19647
239371f9
JJ
196482007-11-06 Jakub Jelinek <jakub@redhat.com>
19649
19650 PR c++/33894
19651 * testsuite/libgomp.c++/atomic-1.C: New test.
19652
98a5fa94
JJ
196532007-10-25 Jakub Jelinek <jakub@redhat.com>
19654
19655 PR libgomp/33275
19656 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19657 Make x and y integers rather than (implicit) reals. Add private (j)
19658 clause to the last omp parallel.
19659
3afcaaf4
MR
196602007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19661
19662 * configure: Regenerate following changes to ../config/tls.m4.
19663
bd69daef
JJ
196642007-09-28 Jakub Jelinek <jakub@redhat.com>
19665
19666 * testsuite/libgomp.fortran/stack.f90: New test.
19667
1d0bd356
DS
196682007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19669
19670 * config/mingw32/proc.c: New file.
19671
b3172cab
UB
196722007-09-05 Uros Bizjak <ubizjak@gmail.com>
19673
19674 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19675 (main): Use __get_cpuid to get i386 target fetaures.
19676 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19677 (main): Use __get_cpuid to get x86_64 target fetaures.
19678
6da17392
JH
196792007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19680
19681 PR target/32765
19682 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19683 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19684
e1c82219
JJ
196852007-07-12 Jakub Jelinek <jakub@redhat.com>
19686
19687 PR fortran/32550
19688 * testsuite/libgomp.fortran/pr32550.f90: New test.
19689 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19690
12a27363
L
196912007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19692
19693 * aclocal.m4: Regenerated.
19694
5349080d
TB
196952007-07-05 Tobias Burnus <burnus@net-b.de>
19696
19697 PR fortran/32359
19698 * testsuite/libgomp.fortran/pr32359.f90: New.
19699
4f9c450c
JJ
197002007-07-02 Jakub Jelinek <jakub@redhat.com>
19701
19702 PR libgomp/32468
19703 * sections.c (GOMP_parallel_sections_start): Only decrease
19704 number of threads to COUNT if dyn_var is true.
19705 * testsuite/libgomp.c/pr32468.c: New test.
19706
28c67ed7
RO
197072007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19708
19709 PR libgomp/26308
19710 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19711
64964499
JJ
197122007-06-21 Jakub Jelinek <jakub@redhat.com>
19713
19714 PR middle-end/32362
19715 * testsuite/libgomp.c/pr32362-1.c: New test.
19716 * testsuite/libgomp.c/pr32362-2.c: New test.
19717 * testsuite/libgomp.c/pr32362-3.c: New test.
19718
46d8fbd1
JJ
197192007-06-07 Jakub Jelinek <jakub@redhat.com>
19720
19721 * team.c (gomp_team_start): Fix setting up thread_attr
19722 stack size.
19723
82a6cadf
PB
197242007-06-02 Paolo Bonzini <bonzini@gnu.org>
19725
19726 * configure: Regenerate.
19727
1cf3d07d
SE
197282007-05-23 Steve Ellcey <sje@cup.hp.com>
19729
19730 * Makefile.in: Regenerate.
19731 * configure: Regenerate.
19732 * aclocal.m4: Regenerate.
19733 * testsuite/Makefile.in: Regenerate.
19734
12aac30b
JJ
197352007-05-04 Jakub Jelinek <jakub@redhat.com>
19736
19737 * config/linux/proc.c: New file.
19738
f1028b02
JJ
19739 PR libgomp/28482
19740 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19741
06785a48
DF
197422007-04-19 Daniel Franke <franke.daniel@gmail.com>
19743
19744 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19745
b3b08ba0
MK
197462007-04-16 Matthias Klose <doko@debian.org>
19747
19748 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19749 flags if not building with -m64.
19750 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19751 flag for i?86-*-* targets, if current target matches -m64.
19752
6b2c5ce0
SE
197532007-04-14 Steve Ellcey <sje@cup.hp.com>
19754
19755 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19756 * Makefile.in: Regenerate.
19757
dd56fe7c
JDA
197582007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19759
19760 PR testsuite/31369
19761 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19762 ld_library_path.
19763 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19764
a0884cf0
JJ
197652007-04-04 Jakub Jelinek <jakub@redhat.com>
19766
19767 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19768 decls.
19769 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19770 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19771 (parse_affinity): New function.
19772 (initialize_env): Call it and gomp_init_affinity.
19773 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19774 create new pthread_attr_t and call gomp_init_thread_affinity
19775 on it for each thread before passing the attribute to pthread_create.
19776 * config/linux/affinity.c: New file.
19777 * config/posix/affinity.c: New file.
19778 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19779 * configure: Rebuilt.
19780 * config.h.in: Rebuilt.
19781 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19782 * Makefile.in: Rebuilt.
19783
1850744b
AT
197842007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19785
19786 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19787 *-*-darwin*.
19788 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19789 and use it if found.
19790
516f1ed8
UB
197912007-03-18 Uros Bizjak <ubizjak@gmail.com>
19792
19793 * testsuite/config/default.exp: New file.
19794 * testsuite/lib/libgomp.exp: New file.
19795 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19796 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19797 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19798 (libgomp_load): Remove.
19799 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19800 always_ld_library_path, not ld_library_path. Set additional_flags
19801 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19802 (target_compile): Do not call libgomp_init. Append lang_library_path
19803 and lang_link_flags to options.
19804 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19805 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19806 here.
19807 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19808 always_ld_library_path. Set LD_LIBRARY_PATH here.
19809 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19810 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19811 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19812 CX8 flag.
19813 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19814 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19815 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19816 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19817 * testsuite/libgomp.c/atomic-10.c: Ditto.
19818
2ada56f5
JJ
198192007-03-21 Jakub Jelinek <jakub@redhat.com>
19820
19821 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19822 dg-final cleanup-modules line.
19823 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19824 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19825 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19826 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19827 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19828 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19829 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19830
f210f1cd
AS
198312007-03-18 Andreas Schwab <schwab@suse.de>
19832
19833 * acinclude.m4: Adjust regular expression for ld version
19834 extraction.
19835 * configure: Regenerate.
19836
c4dc950d
BM
198372007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19838
19839 * Makefile.am: Add install-pdf target as copied from
19840 automake v1.10 rules.
19841 * Makefile.in: Regenerate
19842
e02a048f
JJ
198432007-02-07 Jakub Jelinek <jakub@redhat.com>
19844
78e075d4
JJ
19845 PR libgomp/28486
19846 * configure: Regenerate.
19847
e02a048f
JJ
19848 PR c++/30703
19849 * testsuite/libgomp.c++/pr30703.C: New test.
19850
60def7ed
JJ
198512007-02-02 Jakub Jelinek <jakub@redhat.com>
19852
19853 Revert:
19854 2006-07-05 Eric Christopher <echristo@apple.com>
19855 * configure.ac: Depend addition of -pthread on host OS.
19856 * configure: Regenerate.
19857
f1b0882e
RW
198582007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19859
19860 * libgomp.texi: Fix spacing after abbreviations.
19861
748b9d7c
DF
198622007-01-31 Daniel Franke <franke.daniel@gmail.com>
19863
19864 PR libgomp/30546
19865 * configure.ac: Add check for makeinfo
19866 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 19867 if an appropriate version of makeinfo is found.
748b9d7c
DF
19868 * aclocal.m4: Regenerated.
19869 * configure: Regenerated.
19870 * Makefile.in: Regenerated.
19871 * testsuite/Makefile.in: Regenerated.
19872
14734fc7
DF
198732007-01-29 Daniel Franke <franke.daniel@gmail.com>
19874
19875 PR libgomp/30540
19876 * libgomp.texi: More about implementation-dependent settings.
19877
7befd5d2
TB
198782007-01-26 Tobias Burnus <burnus@net-b.de>
19879
19880 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19881
4288fea2
JJ
198822007-01-24 Jakub Jelinek <jakub@redhat.com>
19883
19884 PR middle-end/30494
19885 * testsuite/libgomp.c/pr30494.c: New test.
19886
627ab4b8
TT
198872007-01-15 Tom Tromey <tromey@redhat.com>
19888
19889 * configure: Rebuilt.
19890 * configure.ac: Fixed comment.
19891
7c2b7f45
DF
198922007-01-14 Daniel Franke <franke.daniel@gmail.com>
19893
19894 * libgomp.texi: Document implementation specific default values of
19895 environment variables.
19896
3721b9e1
DF
198972006-12-21 Daniel Franke <franke.daniel@gmail.com>
19898
19899 PR libgomp/28209
19900 * libgomp.texi: New file.
19901 * configure.ac: Add --enable-generated-files-in-srcdir option.
19902 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19903 files to srcdir.
19904 * Makefile.in: Regenerated.
19905 * config.h.in: Regenerated.
19906 * testsuite/Makefile.in: Regenerated.
19907 * NOTES: Removed.
19908
62bd6216
DF
199092006-12-04 Daniel Franke <franke.daniel@gmail.com>
19910
19911 PR libgomp/29949
19912 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19913
aad741f4
EB
199142006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19915
19916 * configure: Regenerate.
19917
22568cc6
JJ
199182006-12-04 Jakub Jelinek <jakub@redhat.com>
19919
19920 PR libgomp/29947
19921 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19922 start if there shouldn't be any loop iterations.
19923 (gomp_loop_ordered_static_start): Remove start == end test.
19924 * testsuite/libgomp.c/pr29947-1.c: New test.
19925 * testsuite/libgomp.c/pr29947-2.c: New test.
19926
a9690009
EB
199272006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19928
19929 * configure.tgt: Force initial-exec TLS model on Linux only.
19930
597c25e6
DJ
199312006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19932
19933 * configure: Regenerated.
19934
6acf0b38
UB
199352006-11-09 Uros Bizjak <ubizjak@gmail.com>
19936
19937 * env.c (parse_schedule): Reject out of range values.
19938 (parse_unsigned_long): Reject out of range, negative or zero values.
19939
a7a53ca5
JJ
199402006-10-29 Jakub Jelinek <jakub@redhat.com>
19941
19942 PR fortran/29629
19943 * testsuite/libgomp.fortran/pr29629.f90: New test.
19944
6d4d216a
EB
199452006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19946
19947 PR libgomp/29494
19948 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19949 * config/posix95: New directory.
19950 * config/posix95/omp-lock.h: New file.
19951 * config/posix95/lock.c: Likewise.
19952
5b043f08
GK
199532006-10-14 Geoffrey Keating <geoffk@apple.com>
19954
19955 * aclocal.m4: Regenerate.
19956 * configure: Regenerate.
19957
b50019f0
DS
199582006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19959
19960 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19961 '<' to '<='.
19962
8887708e
DS
199632006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19964
19965 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19966 test.
19967 * configure: Regenerate.
19968 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19969
9b9e4cd6
JJ
199702006-09-26 Jakub Jelinek <jakub@redhat.com>
19971
a70ad3bb
JJ
19972 PR middle-end/25261
19973 PR middle-end/28790
19974 * testsuite/libgomp.c/nestedfn-4.c: New test.
19975 * testsuite/libgomp.c/nestedfn-5.c: New test.
19976 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19977
9b9e4cd6
JJ
19978 PR fortran/29097
19979 * testsuite/libgomp.fortran/condinc1.f: New test.
19980 * testsuite/libgomp.fortran/condinc2.f: New test.
19981 * testsuite/libgomp.fortran/condinc3.f90: New test.
19982 * testsuite/libgomp.fortran/condinc4.f90: New test.
19983 * testsuite/libgomp.fortran/condinc1.inc: New file.
19984
2fb31455
TT
199852006-09-18 Tom Tromey <tromey@redhat.com>
19986
19987 * configure: Rebuilt.
19988
c663e301
JM
199892006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19990
19991 PR c/28768
19992 PR preprocessor/14634
19993 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19994 to AC_DEFINE.
19995 * configure: Regenerate.
19996
38371be9
SK
199972006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19998
19999 * testsuite/libgomp.fortran/reduction3.f90: Change
20000 -2147483648 to -huge(i)-1 to avoid overflow.
20001 * testsuite/libgomp.fortran/reduction4.f90: Change
20002 Z'ffffffff' to not(0) to avoid overflow.
20003
571d5ac5
JM
200042006-08-26 Joseph S. Myers <joseph@codesourcery.com>
20005
20006 PR libgomp/25938
20007 * Makefile.am (libsubincludedir): New.
20008 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
20009 * Makefile.in: Regenerate.
20010
89b3e3cd
JJ
200112006-08-17 Jakub Jelinek <jakub@redhat.com>
20012
20013 PR libgomp/28725
20014 * env.c: Include ctype.h.
20015 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
20016 leading and/or trailing whitespace and compare strings case
20017 insensitively.
20018
742fae05
JJ
200192006-07-16 Jakub Jelinek <jakub@redhat.com>
20020
20021 PR fortran/28390
20022 * testsuite/libgomp.fortran/pr28390.f: New test.
20023
a1daed2d
EC
200242006-07-05 Eric Christopher <echristo@apple.com>
20025
20026 * configure.ac: Depend addition of -pthread on host OS.
20027 * configure: Regenerate.
20028
5d7b5199
JJ
200292006-06-21 Jakub Jelinek <jakub@redhat.com>
20030
20031 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
20032 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
20033 defined.
20034
fe5568e9
JJ
200352006-06-20 Jakub Jelinek <jakub@redhat.com>
20036
20037 PR libgomp/26175
20038 PR libgomp/26477
20039 * configure.ac: If neither --enable-linux-futex nor
20040 --disable-linux-futex is passed, determine the default by checking
20041 for compiling and/or running against NPTL. With --enable-linux-futex,
20042 check if SYS_gettid and SYS_futex are defined.
20043 * configure: Rebuilt.
20044
c3b11a40
RH
200452006-06-14 Richard Henderson <rth@redhat.com>
20046
20047 PR libgomp/28008
20048 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
20049 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
20050
d0d1b24d
RH
200512006-06-09 Richard Henderson <rth@redhat.com>
20052
20053 * env.c (gomp_nthreads_var): Change to unsigned long.
20054 (gomp_run_sched_chunk): Likewise.
20055 (parse_unsigned_long): Rename from parse_num_threads and generalize.
20056 (initialize_env): Initialize gomp_thread_attr.
20057 * libgomp.h (gomp_nthreads_var): Update decl.
20058 (gomp_run_sched_chunk): Likewise.
20059 (gomp_thread_attr): Declare.
20060 * team.c (gomp_thread_attr): Export.
20061 (initialize_team): Don't initialize it.
20062
cd75853e
JJ
200632006-06-09 Jakub Jelinek <jakub@redhat.com>
20064
20065 PR fortran/27916
20066 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
20067 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
20068
33815e0c
FXC
200692006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
20070
20071 * config/mingw32/time.c: New file.
20072 * configure.tgt: Use it.
20073
6667de0d
CD
200742006-05-23 Carlos O'Donell <carlos@codesourcery.com>
20075
20076 * Makefile.am: Add install-html target. Add install-html to .PHONY
20077 * Makefile.in: Regenerate.
20078
e962c46b
JDA
200792006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
20080
20081 PR libgomp/27612
20082 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
20083 * testsuite/libgomp.c/critical-1.c: Likewise.
20084 * testsuite/libgomp.c/loop-1.c: Likewise.
20085 * testsuite/libgomp.c/loop-2.c: Likewise.
20086 * testsuite/libgomp.c/single-1.c: Likewise.
20087 * testsuite/libgomp.c/ordered-1.c: Likewise.
20088 * testsuite/libgomp.c/ordered-2.c: Likewise.
20089
eeb1d9e0
JJ
200902006-05-15 Jakub Jelinek <jakub@redhat.com>
20091
20092 PR middle-end/27416
20093 * libgomp.fortran/pr27416-1.f90: New test.
20094
693d710f
JJ
200952006-05-03 Jakub Jelinek <jakub@redhat.com>
20096
20097 PR fortran/27395
20098 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
20099 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
20100
8ca5b2a2
JJ
201012006-05-02 Jakub Jelinek <jakub@redhat.com>
20102
20103 PR c++/26943
20104 * testsuite/libgomp.c/pr26943-1.c: New test.
20105 * testsuite/libgomp.c/pr26943-2.c: New test.
20106 * testsuite/libgomp.c/pr26943-3.c: New test.
20107 * testsuite/libgomp.c/pr26943-4.c: New test.
20108 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
20109 * testsuite/libgomp.c++/pr26943.C: New test.
20110
077b0dfb
JJ
201112006-05-02 Jakub Jelinek <jakub@redhat.com>
20112
20113 PR middle-end/27337
20114 * testsuite/libgomp.c++/pr27337.C: New test.
20115
91b6c26d
JJ
201162006-04-26 Jakub Jelinek <jakub@redhat.com>
20117
20118 PR c/26171
20119 * testsuite/libgomp.c/pr26171.c: New test.
20120
60e1758f
RH
201212006-04-25 Richard Henderson <rth@redhat.com>
20122
20123 PR libgomp/25865
20124 * configure.ac: Use GCC_CHECK_TLS.
20125 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
20126 * Makefile.in, aclocal.m4, configure: Regenerate.
20127
615baed7
MK
201282006-04-10 Matthias Klose <doko@debian.org>
20129
20130 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
20131 directory names containing underscores.
20132
fae2b46b
JJ
201332006-03-21 Jakub Jelinek <jakub@redhat.com>
20134
20135 PR c++/26691
20136 * testsuite/libgomp.c++/pr26691.C: New test.
20137
11a5f608
JJ
201382006-03-13 Jakub Jelinek <jakub@redhat.com>
20139
20140 * testsuite/libgomp.fortran/retval2.f90: New test.
20141
1799e5d5
RH
201422006-03-09 Diego Novillo <dnovillo@redhat.com>
20143
20144 * testsuite/libgomp.c++: New directory.
20145
d349482e
AT
201462006-02-25 Shantonu Sen <ssen@opendarwin.org>
20147
20148 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
20149 * config/posix/sem.c: Implement the above.
20150
201512006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
20152
20153 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
20154 define HAVE_BROKEN_POSIX_SEMAPHORES.
20155 * configure: Rebuilt.
20156 * config.h.in: Rebuilt.
20157
124452c9
FXC
201582006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
20159
20160 PR bootstrap/26161
20161 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
20162 for the other pthread check.
20163 * configure: Regenerate.
20164 * config.h.in: Regenerate.
20165
dd8d6dfe
JJ
201662006-02-15 Jakub Jelinek <jakub@redhat.com>
20167
20168 PR libgomp/25938
20169 PR libgomp/25984
20170 * Makefile.am (fincludedir): New variable.
20171 (nodist_include_HEADERS): Remove Fortran files.
20172 (nodist_finclude_HEADERS): New variable.
20173 * Makefile.in: Regenerated.
20174
6c7a4dfd
JJ
201752006-02-13 Jakub Jelinek <jakub@redhat.com>
20176
20177 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
20178 Remove tests for returning assumed character length arrays.
20179
5142e08b
RS
201802006-02-12 Roger Sayle <roger@eyesopen.com>
20181 John David Anglin <dave@hiauly1.hia.nrc.ca>
20182
20183 PR libgomp/25936
20184 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 20185
5821fba8
UW
201862006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
20187
20188 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
20189
cb2bbc67
EB
201902006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
20191
20192 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
20193 part of LD_LIBRARY_PATH manually.
20194
f05ee80c
L
201952006-02-03 H.J. Lu <hongjiu.lu@intel.com>
20196
20197 PR libgomp/25852
20198 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
20199 libgomp_init.
20200
03b8fe49
PB
202012005-01-25 Paolo Bonzini <bonzini@gnu.org>
20202
20203 PR libgomp/25884
f05ee80c
L
20204 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
20205 * configure.ac (PERL): Don't set.
20206 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
20207 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
20208 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
20209 * omp.h.in: Wrap the new configure substitutions with @ characters.
20210 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
20211 * aclocal.m4, configure, Makefile.in: Regenerate.
20212 * mkomp_h.pl: Delete.
03b8fe49 20213
18cbfd85
PB
202142005-01-24 Paolo Bonzini <bonzini@gnu.org>
20215
20216 PR libgomp/25259
20217 * configure.ac: Use GCC_HEADER_STDINT.
20218 * libgomp.h: Include gstdint.h.
20219 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
20220 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
20221
c41303c6
RH
202222006-01-24 Richard Henderson <rth@redhat.com>
20223
20224 PR libgomp/25942
20225 * configure.ac: Add AM_MAINTAINER_MODE.
20226 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
20227
149b9553
DN
202282006-01-24 Diego Novillo <dnovillo@redhat.com>
20229
20230 * Makefile.in: Regenerate.
20231 * testsuite/Makefile.in: Regenerate.
20232 * aclocal.m4: Regenerate.
20233
192a50ad
AT
202342006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
20235
20236 * config/posix/proc.c: Conditional include of sys/loadavg.h for
20237 Solaris.
20238 * configure.ac: Add check for loadavg.h.
20239 (link_gomp): Adjust comment.
20240 * configure: Regenerate.
20241 * config.h.in: Regenerate.
20242
a55b8e18
SE
202432006-01-21 Steve Ellcey <sje@cup.hp.com>
20244
20245 PR libgomp/25877
20246 * configure.ac: Remove check for alloca.h.
20247 * configure: Regenerate.
20248 * config.h.in: Regenerate.
20249 * libgomp.h: define gomp_alloca to be __builtin_alloca.
20250 * team.c: Remove use of alloca.h.
20251 Call gomp_alloca instead of alloca.
20252
692eeb34
SE
202532006-01-20 Steve Ellcey <sje@cup.hp.com>
20254
20255 PR libgomp/25877
20256 * team.c: Add include of alloca.h.
20257 * configure.ac: Add check for alloca.h.
20258 * configure: Regenerate.
20259 * config.h.in: Regenerate.
20260
953ff289
DN
202612006-01-17 Jakub Jelinek <jakub@redhat.com>
20262
20263 PR fortran/25219
20264 * testsuite/libgomp.fortran/pr25219.f90: New test.
20265
202662005-12-05 Uros Bizjak <uros@kss-loka.si>
20267
20268 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20269 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20270 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20271 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20272 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20273 testsuite/libgomp.fortran/threadprivate1.f90,
20274 testsuite/libgomp.fortran/threadprivate2.f90,
20275 testsuite/libgomp.fortran/threadprivate3.f90,
20276 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20277 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20278 testsuite/libgomp.fortran/omp_parse3.f90: Change required
20279 effective-target to TLS runtime.
20280
20281 * testsuite/libgomp.fortran/pr25162.f: Require
20282 effective-target TLS runtime.
20283
202842005-12-01 Jakub Jelinek <jakub@redhat.com>
20285
20286 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20287 * testsuite/libgomp.c/nestedfn-3.c: New test.
20288
202892005-11-30 Jakub Jelinek <jakub@redhat.com>
20290
20291 PR fortran/25162
20292 * testsuite/libgomp.fortran/pr25162.f: New test.
20293
202942005-11-28 Jakub Jelinek <jakub@redhat.com>
20295
20296 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20297 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20298
202992005-11-25 Jakub Jelinek <jakub@redhat.com>
20300
20301 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20302 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20303 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20304 single.c, team.c, work.c, config/linux/alpha/futex.h,
20305 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20306 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20307 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20308 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20309 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20310 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20311 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20312 FSF address.
20313
203142005-11-18 Jakub Jelinek <jakub@redhat.com>
20315
20316 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20317 to nodist_noinst_HEADERS.
20318 * Makefile.in: Rebuilt.
20319
20320 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20321 add integer count field.
20322 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20323 omp_nest_lock_t type change.
20324 (omp_init_nest_lock): Likewise. Initialize count to 0.
20325 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20326 Increment count.
20327 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20328 Decrement count.
20329 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20330 Increment count if successful and return the new nesting level.
20331 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20332 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20333 * testsuite/libgomp.c/lib-1.c: New test.
20334 * testsuite/libgomp.fortran/lib1.f90: New test.
20335 * testsuite/libgomp.fortran/lib2.f: New test.
20336 * testsuite/libgomp.fortran/lib3.f: New test.
20337
203382005-11-17 Richard Henderson <rth@redhat.com>
20339
20340 PR 24845
20341 * Makefile.am (nodist_toolexeclib_HEADERS): New.
20342 * configure.ac (link_gomp): New. Substitute it.
20343 (AC_CONFIG_FILES): Add libgomp.spec.
20344 * libgomp.spec.in: New file.
20345 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20346 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20347
203482005-11-18 Jakub Jelinek <jakub@redhat.com>
20349
20350 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20351 reduction(-:var) behaving the same as reduction(+:var).
20352 * testsuite/libgomp.c/reduction-4.c: New test.
20353
203542005-11-15 Uros Bizjak <uros@kss-loka.si>
20355
20356 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20357 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20358 testsuite/libgomp.c/copyin-3.c,
20359 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20360 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20361 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20362 testsuite/libgomp.c++/pr24455.C,
20363 testsuite/libgomp.fortran/threadprivate1.f90,
20364 testsuite/libgomp.fortran/threadprivate2.f90,
20365 testsuite/libgomp.fortran/threadprivate3.f90,
20366 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20367 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20368 testsuite/libgomp.fortran/omp_parse3.f90: Require
20369 effective-target TLS.
20370
203712005-11-14 Diego Novillo <dnovillo@redhat.com>
20372
20373 * HEADER: Remove.
20374
203752005-11-13 Jakub Jelinek <jakub@redhat.com>
20376
20377 PR libgomp/24797
20378 * team.c (initialize_team): Pass NULL rather than free as
20379 pthread_key_create destructor. Initialize thread specific data
20380 pointer in initial thread to a static local variable rather than
20381 malloced memory.
20382
203832005-11-11 Uros Bizjak <uros@kss-loka.si>
20384
20385 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20386 its location to ld_library_path.
20387
203882005-11-10 Diego Novillo <dnovillo@redhat.com>
20389
20390 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20391
203922005-11-10 Diego Novillo <dnovillo@redhat.com>
20393
20394 * testsuite/libgomp.c: Rename from libgomp.dg.
20395
203962005-11-09 Diego Novillo <dnovillo@redhat.com>
20397
20398 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20399 threadprivate variable 'i'.
20400
204012005-11-09 Jakub Jelinek <jakub@redhat.com>
20402
20403 * config/linux/s390/futex.h: New file.
20404 * configure.tgt: Use it.
20405
20406 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20407 before the parallel.
20408
204092005-11-08 Jakub Jelinek <jakub@redhat.com>
20410
20411 PR c++/24734
20412 * testsuite/libgomp.c++/master-1.C: New test.
20413
204142005-11-07 Jakub Jelinek <jakub@redhat.com>
20415
20416 * testsuite/libgomp.dg/copyin-3.c: New test.
20417
204182005-11-07 Jakub Jelinek <jakub@redhat.com>
20419
20420 * testsuite/libgomp.fortran/retval1.f90: New test.
20421 * testsuite/libgomp.fortran/vla7.f90: New test.
20422
204232005-11-06 Jakub Jelinek <jakub@redhat.com>
20424
20425 * testsuite/libgomp.fortran/vla2.f90: New test.
20426 * testsuite/libgomp.fortran/vla3.f90: New test.
20427 * testsuite/libgomp.fortran/vla4.f90: New test.
20428 * testsuite/libgomp.fortran/vla5.f90: New test.
20429 * testsuite/libgomp.fortran/vla6.f90: New test.
20430
204312005-11-01 Jakub Jelinek <jakub@redhat.com>
20432
20433 * config/linux/sparc/futex.h: New file.
20434 * configure.tgt: Use it.
20435 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20436
20437 * critical.c: Include stdlib.h.
20438 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20439 ignoring return value.
20440 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20441 LIBGOMP_CHECK_SYNC_BUILTINS check.
20442 * configure: Rebuilt.
20443
204442005-10-31 Jakub Jelinek <jakub@redhat.com>
20445
20446 * testsuite/libgomp.fortran/vla1.f90: New test.
20447
204482005-10-31 Richard Henderson <rth@redhat.com>
20449
20450 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20451 setting 's' in different threads.
20452
204532005-10-31 Jakub Jelinek <jakub@redhat.com>
20454
20455 * libgomp.h (attribute_hidden, ialias): Define.
20456 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20457 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20458 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20459 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20460 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20461 omp_test_lock, omp_test_nest_lock): Likewise.
20462 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20463 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20464 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20465 omp_test_lock, omp_test_nest_lock): Likewise.
20466 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20467 omp_get_dynamic, omp_get_nested): Likewise.
20468 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20469 omp_get_thread_num, omp_in_parallel): Likewise.
20470 * fortran.c (ialias_redirect): Define.
20471 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20472 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20473 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20474 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20475 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20476 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20477 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20478 omp_get_wtime): Add ialias_redirect.
20479
204802005-10-30 Jakub Jelinek <jakub@redhat.com>
20481
20482 * fortran.c: Include stdlib.h.
20483
204842005-10-29 Jakub Jelinek <jakub@redhat.com>
20485
20486 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20487 * Makefile.in: Regenerated.
20488
204892005-10-28 Jakub Jelinek <jakub@redhat.com>
20490
20491 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20492 * libgomp_f.h.in (omp_check_defines): New function.
20493 * env.c: Include libgomp_f.h.
20494 (initialize_env): Call omp_check_defines.
20495
20496 * testsuite/libgomp.dg/copyin-2.c: New test.
20497 * testsuite/libgomp.c++/copyin-2.C: New test.
20498 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20499
20500 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20501 * testsuite/libgomp.fortran/sharing2.f90: New test.
20502
20503 * testsuite/libgomp.dg/copyin-1.c: New test.
20504 * testsuite/libgomp.c++/copyin-1.C: New test.
20505
205062005-10-26 Jakub Jelinek <jakub@redhat.com>
20507
20508 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20509
20510 * testsuite/libgomp.fortran/workshare1.f90: New test.
20511
20512 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20513 only test.
20514 * libgomp.fortran/sharing1.f90: New test.
20515
205162005-10-24 Jakub Jelinek <jakub@redhat.com>
20517
20518 PR c++/24502
20519 * testsuite/libgomp.c++/loop-7.C: New test.
20520
20521 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20522
20523 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20524 * testsuite/libgomp.fortran/reduction6.f90: New test.
20525 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20526
205272005-10-23 Richard Henderson <rth@redhat.com>
20528
20529 * testsuite/libgomp.c++/ctor-1.C: New.
20530 * testsuite/libgomp.c++/ctor-2.C: New.
20531 * testsuite/libgomp.c++/ctor-3.C: New.
20532 * testsuite/libgomp.c++/ctor-4.C: New.
20533 * testsuite/libgomp.c++/ctor-5.C: New.
20534 * testsuite/libgomp.c++/ctor-6.C: New.
20535 * testsuite/libgomp.c++/ctor-7.C: New.
20536 * testsuite/libgomp.c++/ctor-8.C: New.
20537 * testsuite/libgomp.c++/ctor-9.C: New.
20538
205392005-10-21 Diego Novillo <dnovillo@redhat.com>
20540
20541 PR 24455
20542 * testsuite/libgomp.c++/pr24455-1.C: New test.
20543 * testsuite/libgomp.c++/pr24455.C: New test.
20544 * testsuite/libgomp.dg/pr24455-1.c: New test.
20545 * testsuite/libgomp.dg/pr24455.c: New test.
20546
205472005-10-20 Richard Henderson <rth@redhat.com>
20548
20549 * testsuite/libgomp.c++/loop-6.C: New.
20550 * testsuite/libgomp.dg/loop-3.c: New.
20551
205522005-10-20 Jakub Jelinek <jakub@redhat.com>
20553
20554 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20555 explicitly private.
20556 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20557 explicitly shared.
20558
205592005-10-19 Diego Novillo <dnovillo@redhat.com>
20560
20561 * testsuite/libgomp.fortran/jacobi.f: New test.
20562
205632005-10-19 Richard Henderson <rth@redhat.com>
20564
20565 * configure.tgt (i?86-linux): Default to with_arch instead of
20566 CFLAGS. Add -mtune to match target_cpu.
20567 (x86_64-linux): Tune to i686.
20568
20569 * fortran.c (omp_test_nest_lock_): Fix typo.
20570
205712005-10-19 Jakub Jelinek <jakub@redhat.com>
20572
20573 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20574 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20575 * testsuite/libgomp.dg/ordered-3.c: New test.
20576
20577 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20578 Remove volatile keyword.
20579
20580 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20581 in COMMON block to avoid warnings on 64-bit targets.
20582
205832005-10-18 Diego Novillo <dnovillo@redhat.com>
20584
20585 * testsuite/libgomp.dg/shared-3.c: New test.
20586
205872005-10-18 Jakub Jelinek <jakub@redhat.com>
20588
20589 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20590 * testsuite/libgomp.fortran/reduction5.f90: New test.
20591
205922005-10-18 Jakub Jelinek <jakub@redhat.com>
20593
20594 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20595 dg-options.
20596 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20597 flush loop now that __sync_synchronize has proper memory barrier.
20598 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20599 Add -ffixed-form to dg-options.
20600
206012005-10-17 Diego Novillo <dnovillo@redhat.com>
20602
20603 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20604 from subdirectories.
20605 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20606 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20607 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20608 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20609 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20610 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20611 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20612 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20613 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20614 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20615 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20616 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20617 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20618 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20619 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20620 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20621 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20622 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20623 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20624 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20625 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20626 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20627 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20628 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20629 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20630
206312005-10-17 Jakub Jelinek <jakub@redhat.com>
20632
20633 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20634 lang_library_path exists. Use find instead of glob to gather tests.
20635 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20636
206372005-10-17 Diego Novillo <dnovillo@redhat.com>
20638
20639 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20640 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20641 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20642 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20643 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20644 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20645 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20646 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20647 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20648 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20649 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20650 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20651 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20652
206532005-10-15 Jakub Jelinek <jakub@redhat.com>
20654
20655 * testsuite/libgomp.dg/vla-1.c: New test.
20656
20657 * testsuite/libgomp.fortran/reference2.f90: New test.
20658
20659 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20660 declaration of omp_get_thread_num.
20661 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20662 use omp_lib.
20663
20664 * testsuite/libgomp.fortran/reduction1.f90: New test.
20665 * testsuite/libgomp.fortran/reduction2.f90: New test.
20666 * testsuite/libgomp.fortran/reduction3.f90: New test.
20667 * testsuite/libgomp.fortran/reduction4.f90: New test.
20668
206692005-10-13 Richard Henderson <rth@redhat.com>
20670
20671 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20672 * Makefile.in: Regenerate.
20673 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20674 * libgomp.h: Include bar.h.
20675 (struct gomp_barrier): Remove.
20676 (struct gomp_team): Add barrier. Replace master_barrier with
20677 master_release. Replace threads with ordered_release.
20678 (struct gomp_thread): Replace barrier with release.
20679 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20680 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20681 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20682 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20683 (GOMP_single_copy_end): Likewise.
20684 * team.c (gomp_threads_dock): New.
20685 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20686 (gomp_thread_start): Use gomp_barrier_wait.
20687 (new_team, free_team): Update for gomp_team changes.
20688 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20689 (gomp_team_end): Use gomp_barrier_wait.
20690 (initialize_team): Update for gomp_thread changes.
20691 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20692 (gomp_work_share_end_nowait): Use atomic ops when available.
20693 * config/linux/bar.c, config/linux/bar.h: New files.
20694 * config/posix/bar.c, config/posix/bar.h: New files.
20695
206962005-10-13 Jakub Jelinek <jakub@redhat.com>
20697
20698 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20699 * testsuite/libgomp.dg/single-2.c: New test.
20700
20701 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20702 lang_link_flags): Unset, so that they aren't inherited from previously
20703 sourced *.exp.
20704
20705 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20706
207072005-10-12 Richard Henderson <rth@redhat.com>
20708
20709 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20710 (libgomp_init): Use lang_test_file, lang_library_path, and
20711 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20712
20713 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20714 (lang_test_file, lang_link_flags): New.
20715 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20716
20717 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20718 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20719 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20720 testsuite/libgomp.c++/parallel-1.C,
20721 testsuite/libgomp.c++/reduction-1.C,
20722 testsuite/libgomp.c++/reduction-2.C,
20723 testsuite/libgomp.c++/reduction-3.C,
20724 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20725 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20726 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20727 New files, largely cribbed from the C testsuite.
20728
207292005-10-12 Jakub Jelinek <jakub@redhat.com>
20730
20731 * testsuite/libgomp.fortran/character1.f90: New test.
20732 * testsuite/libgomp.fortran/character2.f90: New test.
20733
20734 * testsuite/libgomp.dg/nested-1.c: New test.
20735 * testsuite/libgomp.dg/nested-2.c: New test.
20736 * testsuite/libgomp.fortran/do1.f90: New test.
20737 * testsuite/libgomp.fortran/do2.f90: New test.
20738
20739 * testsuite/libgomp.fortran/reference1.f90: New test.
20740
207412005-10-11 Jakub Jelinek <jakub@redhat.com>
20742
20743 * testsuite/libgomp.dg/reduction-1.c: New test.
20744 * testsuite/libgomp.dg/reduction-2.c: New test.
20745 * testsuite/libgomp.dg/reduction-3.c: New test.
20746
207472005-10-10 Jakub Jelinek <jakub@redhat.com>
20748
20749 * testsuite/libgomp.dg/atomic-1.c: New test.
20750 * testsuite/libgomp.dg/atomic-2.c: New test.
20751
207522005-10-09 Richard Henderson <rth@redhat.com>
20753
20754 * critical.c (atomic_lock): New.
20755 (initialize_critical): Initialize it.
20756 (GOMP_atomic_start, GOMP_atomic_end): New.
20757 * libgomp.map: Export them.
20758 * libgomp_g.h: Declare them.
20759
20760 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20761
207622005-10-02 Richard Henderson <rth@redhat.com>
20763
20764 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20765 to XCFLAGS instead of CFLAGS.
20766
207672005-09-30 Richard Henderson <rth@redhat.com>
20768
20769 * configure.ac: Determine whether -pthread or -lpthread is needed.
20770 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 20771 * Makefile.in, configure: Rebuild.
953ff289
DN
20772
207732005-09-28 Richard Henderson <rth@redhat.com>
20774
20775 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20776 * testsuite/libgomp.dg/omp-single-3.c: New test.
20777
207782005-09-28 Diego Novillo <dnovillo@redhat.com>
20779
20780 * testsuite/libgomp.dg/omp-single-2.c: New test.
20781 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20782
207832005-09-27 Richard Henderson <rth@redhat.com>
20784
20785 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20786 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20787
207882005-09-27 Jakub Jelinek <jakub@redhat.com>
20789
20790 * testsuite/libgomp.dg/omp-loop03.c: New test.
20791
207922005-09-27 Diego Novillo <dnovillo@redhat.com>
20793
20794 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20795
207962005-09-27 Diego Novillo <dnovillo@redhat.com>
20797
20798 * testsuite/libgomp.dg/omp-single-1.c: New test.
20799 * testsuite/libgomp.dg/shared-1.c: Return 0.
20800 Add prototype for abort.
20801 * testsuite/libgomp.dg/shared-2.c: Likewise.
20802
208032005-09-26 Jakub Jelinek <jakub@redhat.com>
20804
20805 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20806 constructs.
20807
208082005-09-26 Diego Novillo <dnovillo@redhat.com>
20809
20810 * testsuite/libgomp.dg/shared-1.c: New test.
20811 * testsuite/libgomp.dg/shared-2.c: New test.
20812
208132005-09-24 Richard Henderson <rth@redhat.com>
20814
20815 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20816
208172005-09-24 Richard Henderson <rth@redhat.com>
20818
20819 * iter.c (gomp_iter_static_next): Round up when computing number
20820 of iterations. Don't bother distributing a remainder equally.
20821
20822 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20823 Don't call srand. Zero b before testing.
20824 (main): New.
20825
208262005-09-24 Jakub Jelinek <jakub@redhat.com>
20827
20828 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20829 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20830
208312005-09-23 Jakub Jelinek <jakub@redhat.com>
20832
20833 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20834 without !$omp end do, followed immediately by subroutine end.
20835
208362005-09-23 Diego Novillo <dnovillo@redhat.com>
20837
20838 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20839
208402005-09-22 Richard Henderson <rth@redhat.com>
20841
20842 * critical.c (GOMP_critical_name_start): Change argument to void**.
20843 Reuse the pointer space if the mutex fits.
20844 (GOMP_critical_name_end): Likewise.
20845 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20846 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20847 (GOMP_critical_name_end): Likewise.
20848 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20849 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20850
208512005-09-20 Richard Henderson <rth@redhat.com>
20852
20853 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20854 (create_lock_lock): New.
20855 (initialize_critical): Initialize it.
20856 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20857 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20858
208592005-09-20 Diego Novillo <dnovillo@redhat.com>
20860
20861 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20862
208632005-09-20 Diego Novillo <dnovillo@redhat.com>
20864
20865 * testsuite/libgomp.dg/omp-loop01.c: New test.
20866 * testsuite/libgomp.dg/omp-loop02.c: New test.
20867
208682005-09-20 Jakub Jelinek <jakub@redhat.com>
20869
20870 * configure.ac (AC_PROG_FC): Add.
20871 (USE_FORTRAN): New automake conditional.
20872 * configure: Rebuilt.
20873 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20874 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20875 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20876 Add rules to build them.
20877 * Makefile.in: Rebuilt.
20878 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20879 OMP_NEST_LOCK_KIND.
20880 * libgomp.map: Add Fortran wrappers.
20881 * libgomp_f.h.in: New file.
20882 * omp_lib.h.in: New file.
20883 * omp_lib.f90.in: New file.
20884 * fortran.c: New file.
20885 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20886 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20887 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20888 libgfortran has been built.
20889 * testsuite/libgomp.fortran/fortran.exp: New file.
20890 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20891 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20892 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20893 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20894 * testsuite/libgomp.fortran/omp_hello.f: New test.
20895 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20896 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20897 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20898 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20899 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20900 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20901 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20902 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20903
209042005-08-30 Richard Henderson <rth@redhat.com>
20905
20906 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20907 function for when aliases are not usable.
20908 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20909 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20910 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20911 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20912 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20913 GOMP_loop_ordered_guided_next): Likewise.
20914 * ordered.c (GOMP_ordered_start): Likewise.
20915
209162005-08-01 Diego Novillo <dnovillo@redhat.com>
20917
20918 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20919 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20920 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20921 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20922 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20923 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20924 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20925 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20926 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20927
209282005-07-07 Eric Christopher <echristo@redhat.com>
20929 Diego Novillo <dnovillo@redhat.com>
20930
20931 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20932 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20933 up code.
20934 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20935 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20936 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20937 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20938 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20939 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20940 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20941
209422005-06-13 Diego Novillo <dnovillo@redhat.com>
20943
20944 * TOPLEVEL.patch: Remove.
20945
209462005-05-16 Richard Henderson <rth@redhat.com>
20947
20948 * configure.ac: Test for clock_gettime.
20949 * config.h.in, configure: Rebuild.
20950 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20951 (omp_get_wtime): Use clock_gettime if available.
20952 (omp_get_wtick): Use clock_getres if available.
20953
209542005-05-11 Richard Henderson <rth@redhat.com>
20955
20956 * config/linux/ia64/futex.h: New file.
20957 * configure.tgt: Use it.
20958
20959 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20960
209612005-05-07 Richard Henderson <rth@redhat.com>
20962
20963 * config/linux/powerpc/futex.h: New file.
20964 * configure.tgt: Use it.
20965
20966 * config/linux/i486/futex.h: Merge ...
20967 * config/linux/x86_64/futex.h: ... into ...
20968 * config/linux/x86/futex.h: ... here.
20969 * configure.tgt: Update to match.
20970
209712005-05-06 Richard Henderson <rth@redhat.com>
20972
20973 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20974 * config/linux/i486/futex.h: Likewise.
20975 * config/linux/x86_64/futex.h: Likewise.
20976
20977 * config/linux/lock.c: New file.
20978 * config/linux/omp-lock.h: New file.
20979
20980 * critical.c, env.h: Don't include omp.h
20981 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20982 * config/posix/time.c: Likewise.
20983 * config/posix/omp-lock.h: New file.
20984 * libgomp.h: Include omp-lock.h and omp.h.
20985 * Makefile.am (nodist_include_HEADERS): New.
20986 (omp.h): New rule.
20987 * configure.ac (PERL): New.
20988 * mkomp_h.pl: New file.
20989 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20990 with templates.
20991 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20992
20993 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20994 build directory. Re-add -march=i486 hack.
20995
20996 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20997 (libgomp_link_flags): Remove.
20998 (libgomp_initialized): Remove.
20999 (libgomp_init): Don't protect from reinitialization. Copy code
21000 from libstdc++ for getting the multilib set correctly.
21001
210022005-05-05 Richard Henderson <rth@redhat.com>
21003
21004 * config/linux/alpha/futex.h: New file.
21005 * configure.tgt (alpha*-*-linux*): Use it.
21006
21007 * config/posix/mutex.c: New file.
21008 * config/posix/sem.c: Use libgomp.h.
21009
21010 * configure.tgt (x86_64-linux): Also test CC for -m32.
21011 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
21012
a1daed2d 21013 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
21014 after $gccpath.
21015
21016 * Makefile.am (SUBDIRS): New.
21017 (libgomp_la_LDFLAGS): Add -lpthread.
21018 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
21019 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
21020
21021 * libgomp_g.h: New file.
21022 * libgomp.h: Split out all public declarations to libgomp_g.h.
21023 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
21024 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
21025 * config/linux/sem.h: Likewise.
21026 * config/posix/sem.h: Likewise.
21027
21028 * Makefile.am (AM_LDFLAGS): New.
21029 (libgomp_version_script): Split out from ...
21030 (libgomp_la_LDFLAGS): ... here.
21031 (libgomp_version_info): New.
21032 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
21033 (LIBGOMP_ENABLE): New.
21034 (LIBGOMP_CHECK_LINKER_FEATURES): New.
21035 (LIBGOMP_ENABLE_SYMVERS): New.
21036 * configure.ac (AC_INIT): Version 1.0.
21037 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
21038 (enable-linux-futex): Likewise. Rename from enable-futex.
21039 (libtool_VERSION): New.
21040 (LIBGOMP_ENABLE_SYMVERS): Use it.
21041 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
21042 * Makefile.in, aclocal.m4, configure: Rebuild.
21043
21044 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
21045 (gomp_mutex_unlock_slow): Fix typo.
21046 * config/linux/sem.c: Similarly.
21047 (gomp_sem_post_slow): Fix typo.
21048 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
21049 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
21050 [__PIC__] (sys_futex0): Don't use tmp output in asm.
21051
21052 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
21053 (libgomp_la_LDFLAGS): Add top_srcdir to path.
21054 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
21055 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
21056 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
21057 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
21058 LDFLAGS. Pull enable_futex check to top-level.
21059 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
21060 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
21061
21062 First attempt at real configury.
21063 * Makefile, config.h: Remove file.
21064 * Makefile.am, Makefile.in: New file.
21065 * acinclude.m4 aclocal.m4: New file.
21066 * configure.ac, configure.tgt, configure: New file.
21067
21068 * config/posix/lock.c: Rename from sys-lock.c.
21069 * config/posix/mutex.h: Rename from sys-mutex.h.
21070 * config/posix/sem.c: Rename from sys-sem.c.
21071 * config/posix/sem.h: Rename from sys-sem.h.
21072 * config/posix/proc.c: Rename from sys-proc.c.
21073 * config/posix/time.c: Rename from sys-proc.c.
21074
21075 * config/linux/mutex.c: New file.
21076 * config/linux/mutex.h: New file.
21077 * config/linux/sem.c: New file.
21078 * config/linux/sem.h: New file.
21079 * config/linux/i486/futex.h: New file.
21080 * config/linux/x86_64/futex.h: New file.
21081
210822005-05-04 Richard Henderson <rth@redhat.com>
21083
21084 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
21085 * libgomp.h: Declare them.
21086 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
21087 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
21088
210892005-05-04 Richard Henderson <rth@redhat.com>
21090
21091 * libgomp-1 code drop
21092
210932005-05-04 Richard Henderson <rth@redhat.com>
21094
21095 * iter.c (gomp_iter_static_next): Return tri-state on 0.
21096 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
21097 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
21098 (gomp_iter_static_next): Update.
21099 (gomp_ordered_static_next): Update.
21100 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
21101 (gomp_loop_ordered_static_start): Likewise. Exit early for a
21102 totally empty range.
21103 (gomp_loop_ordered_static_next): Refine test for calling
21104 gomp_ordered_static_next.
21105 * testsuite/ordered-1.c: Add case for more threads than iterations.
21106
21107 * iter.c (gomp_iter_runtime_next_locked): Remove.
21108 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 21109 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
21110 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
21111 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
21112 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
21113 gomp_loop_ordered_guided_next): Downcase name, make static, add
21114 an external alias with the old name.
21115 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
21116 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
21117 switch and call one of the above static functions.
21118 * libgomp.h: Update.
21119
21120 * work.c (gomp_work_share_start): Lock the mutex for !first too.
21121 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
21122 GOMP_loop_guided_start, GOMP_loop_runtime_start,
21123 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
21124 GOMP_loop_ordered_guided_start): Update to match.
21125 * sections.c (GOMP_sections_start): Likewise.
21126 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
21127
21128 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
21129 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
21130 Use bounds check instead of modulus.
21131 (gomp_ordered_sync): Split out of GOMP_ordered_start.
21132 (gomp_ordered_last): Don't sync with ordered_owner here.
21133 (gomp_ordered_next): Likewise.
21134 (gomp_ordered_static_loop_next): Likewise.
21135 * loop.c, libgomp.h: Update to match.
21136
21137 * libgomp.h (GOMP_barrier): Declare.
21138
21139 * testsuite/barrier-1.c: New file.
21140 * testsuite/critical-1.c: New file.
21141 * testsuite/ordered-2.c: New file.
21142 * testsuite/ordered-1.c: New file.
21143 * testsuite/sections-1.c: New file.
21144 * testsuite/single-1.c: New file.
21145 * testsuite/Makefile (TESTS): Add them.
21146
211472005-05-04 Richard Henderson <rth@redhat.com>
21148
21149 * libgomp.h (struct gomp_work_share): Add ordered_owner.
21150 * loop.c (GOMP_loop_static_start): If not the startup thread,
21151 acquire the mutex to wait for initialization complete.
21152 (GOMP_loop_ordered_static_start): Likewise.
21153 (GOMP_loop_ordered_runtime_start): Likewise.
21154 (GOMP_loop_ordered_static_first): Remove.
21155 (GOMP_loop_ordered_dynamic_first): Remove.
21156 (GOMP_loop_ordered_guided_first): Remove.
21157 (GOMP_loop_ordered_runtime_first): Remove.
21158 * ordered.c (gomp_ordered_loop_first): Post to own release when
21159 we're the first thread.
21160 (gomp_ordered_loop_last): Wait on release if not owner.
21161 (gomp_ordered_loop_next): Likewise.
21162 (gomp_ordered_static_loop_init): New.
21163 (gomp_ordered_static_loop_next): Use ordered_owner.
21164 (GOMP_ordered_start): Likewise.
21165 * work.c (gomp_new_work_share): Initialize ordered_owner.
21166
211672005-05-03 Richard Henderson <rth@redhat.com>
21168
21169 * Makefile (OPT): New.
21170 (CFLAGS): Use it.
21171
21172 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
21173 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
21174 * libgomp.h, libgomp.map, NOTES: Update to match.
21175
21176 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
21177 Add initialized and thr members.
21178 (gomp_thread_start): Pause when initially spawned to wait for
21179 the whole team to be created.
21180 (gomp_team_start): Release team members at the end.
21181
21182 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
21183 (f_foo_1): Use GOMP_loop_end.
21184 (f_foo_2): Use GOMP_loop_end_nowait.
21185
21186 * testsuite/loop-2.c: New file.
21187 * testsuite/Makefile (TESTS): Add it.
21188
211892005-05-03 Richard Henderson <rth@redhat.com>
21190
21191 * iter.c (gomp_iter_static_next): Fix overflow check typo.
21192 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
21193 * team.c (new_team): Initialize oldest_live_gen to 1 if no
21194 initial work_share.
21195
21196 * testsuite/Makefile: New file.
21197 * testsuite/loop-1.c: New file.
21198
211992005-05-03 Richard Henderson <rth@redhat.com>
21200
21201 Initial implementation and checkin.
21fa2a29 21202\f
6a720d41 21203Copyright (C) 2005-2024 Free Software Foundation, Inc.
21fa2a29
JJ
21204
21205Copying and distribution of this file, with or without modification,
21206are permitted in any medium without royalty provided the copyright
21207notice and this notice are preserved.