1 2024-02-11 John David Anglin <danglin@gcc.gnu.org>
4 * configure.tgt (hppa*-*-linux*): Define config_path.
6 2024-02-01 John David Anglin <danglin@gcc.gnu.org>
8 * testsuite/libgomp.c++/loop-3.C: Set num_threads to 50
10 * testsuite/libgomp.c/omp-loop03.c: Likewise.
12 2024-01-29 Tobias Burnus <tburnus@baylibre.com>
14 * testsuite/libgomp.c/declare-variant-4.h: Use gfx1100/gfx1030
15 function not gfx90a for gfx1100/gfx1030 context selector.
17 2024-01-26 Richard Biener <rguenther@suse.de>
19 * plugin/plugin-gcn.c (suitable_hsa_agent_p): Filter out
20 agents with unsupported ISA.
22 2024-01-26 Richard Biener <rguenther@suse.de>
25 (EF_AMDGPU_MACH::EF_AMDGPU_MACH_UNSUPPORTED): Add.
26 (isa_code): Return that instead of -1.
27 (GOMP_OFFLOAD_init_device): Adjust.
29 2024-01-26 Tobias Burnus <tburnus@baylibre.com>
31 * testsuite/libgomp.c/declare-variant-4.h: Add variant functions
32 for gfx1030 and gfx1100.
33 * testsuite/libgomp.c/declare-variant-4-gfx1030.c: New test.
34 * testsuite/libgomp.c/declare-variant-4-gfx1100.c: New test.
36 2024-01-26 Andrew Stubbs <ams@baylibre.com>
38 * config/gcn/time.c (RTC_TICKS): Configure RDNA3.
39 (omp_get_wtime): Add RDNA3-compatible variant.
40 * plugin/plugin-gcn.c (max_isa_vgprs): Tune for gfx1030 and gfx1100.
42 2024-01-24 Tobias Burnus <tburnus@baylibre.com>
43 Sandra Loosemore <sandra@codesourcery.com>
45 * libgomp.texi (Runtime Library Routines): Document
46 omp_pause_resource, omp_pause_resource_all and
47 omp_target_memcpy{,_rect}{,_async}.
49 2024-01-22 Tobias Burnus <tburnus@baylibre.com>
51 * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
52 support is no longer enabled by default.
53 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
55 2024-01-20 John David Anglin <danglin@gcc.gnu.org>
57 * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
58 timeout by 2 on hppa*-*-*.
60 2024-01-20 John David Anglin <danglin@gcc.gnu.org>
62 * testsuite/libgomp.c/simd-math-1.c: Don't run on
65 2024-01-17 Jakub Jelinek <jakub@redhat.com>
68 * testsuite/libgomp.c/bitint-1.c: New test.
70 2024-01-11 Julian Brown <julian@codesourcery.com>
72 * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
73 * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
74 * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
76 2024-01-10 Jakub Jelinek <jakub@redhat.com>
79 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
80 instead of \$(abs_top_srcdir)/testsuite/flock.
81 * configure: Regenerated.
83 2024-01-09 Julian Brown <julian@codesourcery.com>
85 * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
87 * testsuite/libgomp.c++/baseptrs-6.C: New test.
88 * testsuite/libgomp.c++/ind-base-1.C: New test.
89 * testsuite/libgomp.c++/ind-base-2.C: New test.
90 * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
91 * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
92 * testsuite/libgomp.c++/map-comma-1.C: New test.
93 * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
94 * testsuite/libgomp.c++/struct-ref-1.C: New test.
95 * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
96 * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
97 * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
99 2024-01-09 Jakub Jelinek <jakub@redhat.com>
102 * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
103 rather than $srcdir/testsuite/flock.
104 * configure: Regenerated.
106 2024-01-08 Thomas Schwinge <thomas@codesourcery.com>
108 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
109 'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
111 2024-01-08 Julian Brown <julian@codesourcery.com>
113 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
114 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
115 hsa_amd_memory_async_copy_rect_fn function pointers.
116 (init_hsa_runtime_functions): Add above functions, with
118 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
120 2024-01-08 Tobias Burnus <tobias@codesourcery.com>
122 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
123 (gcn_isa_name_len): Fix length.
124 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
126 2024-01-06 Tobias Burnus <tobias@codesourcery.com>
128 * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
129 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
130 omp_target_is_accessible.
131 (Environment Display Routine): Uncomment and add
132 omp_display_env description.
133 (OMP_DISPLAY_ENV): Update wording, add 'see also'.
135 2024-01-06 Mark Wielaard <mark@klomp.org>
137 * configure: Regenerate.
139 2024-01-03 Jakub Jelinek <jakub@redhat.com>
141 * libgomp.texi: Bump @copying's copyright year.
143 2023-12-21 Julian Brown <julian@codesourcery.com>
145 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
147 2023-12-20 Julian Brown <julian@codesourcery.com>
149 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
150 avoid out-of-bounds array checks in CUDA runtime.
151 (GOMP_OFFLOAD_memcpy3d): Likewise.
152 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
154 2023-12-18 Jakub Jelinek <jakub@redhat.com>
156 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
157 drop because of that unneeded target selector from other directives
158 and remove the aarch64 specific ones.
160 2023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
162 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
163 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
165 2023-12-15 Thomas Schwinge <thomas@codesourcery.com>
167 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
168 'dg-output's to 'target offload_device_nonshared_as'.
170 2023-12-15 Julian Brown <julian@codesourcery.com>
172 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
173 goacc_exit_data_internal, GOACC_enter_exit_data): Add
174 GOMP_MAP_STRUCT_UNORD support.
175 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
176 Detect incorrect use of variable indexing of arrays of structs.
177 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
178 GOMP_MAP_STRUCT_UNORD support.
179 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
180 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
181 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
182 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
184 2023-12-13 Julian Brown <julian@codesourcery.com>
186 * testsuite/libgomp.fortran/map-subarray.f90: New test.
187 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
188 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
189 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
190 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
191 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
192 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
193 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
194 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
195 descriptor-mapping changes. Remove XFAIL.
197 2023-12-13 Julian Brown <julian@codesourcery.com>
199 * target.c (gomp_map_pointer): Modify zero-length array section
201 (gomp_attach_pointer): Likewise.
202 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
203 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
204 "unassociated" pointers).
205 (gomp_map_vars_internal): Handle zero-sized struct members. Add
206 diagnostic for unmapped struct pointer members.
207 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
208 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
209 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
210 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
211 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
212 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
214 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
215 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
216 * testsuite/libgomp.c++/class-array-1.C: New test.
217 * testsuite/libgomp.c++/baseptrs-3.C: New test.
218 * testsuite/libgomp.c++/baseptrs-4.C: New test.
219 * testsuite/libgomp.c++/baseptrs-5.C: New test.
220 * testsuite/libgomp.c++/baseptrs-8.C: New test.
221 * testsuite/libgomp.c++/baseptrs-9.C: New test.
222 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
223 * testsuite/libgomp.c++/target-48.C: New test.
224 * testsuite/libgomp.c++/target-49.C: New test.
225 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
226 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
228 * testsuite/libgomp.c++/target-this-3.C: Likewise.
229 * testsuite/libgomp.c++/target-this-4.C: Likewise.
230 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
231 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
233 2023-12-13 Thomas Schwinge <thomas@codesourcery.com>
235 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
236 vs. '%ld' format string mismatch.
238 2023-12-13 Andrew Stubbs <ams@codesourcery.com>
239 Thomas Schwinge <thomas@codesourcery.com>
241 * allocator.c (MEMSPACE_ALLOC): Add PIN.
242 (MEMSPACE_CALLOC): Add PIN.
243 (MEMSPACE_REALLOC): Add PIN.
244 (MEMSPACE_FREE): Add PIN.
245 (MEMSPACE_VALIDATE): Add PIN.
246 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
247 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
248 (omp_aligned_calloc): Likewise.
249 (omp_realloc): Likewise.
250 (omp_free): Likewise.
251 * config/linux/allocator.c: New file.
252 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
253 (MEMSPACE_CALLOC): Add PIN.
254 (MEMSPACE_REALLOC): Add PIN.
255 (MEMSPACE_FREE): Add PIN.
256 (MEMSPACE_VALIDATE): Add PIN.
257 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
258 (MEMSPACE_CALLOC): Add PIN.
259 (MEMSPACE_REALLOC): Add PIN.
260 (MEMSPACE_FREE): Add PIN.
261 * libgomp.texi: Switch pinned trait to supported.
262 (MEMSPACE_VALIDATE): Add PIN.
263 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
264 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
265 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
266 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
268 2023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
270 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
271 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
272 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
274 2023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
276 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
277 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
279 2023-12-11 Tobias Burnus <tobias@codesourcery.com>
281 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
283 2023-12-08 Tobias Burnus <tobias@codesourcery.com>
285 * allocator.c (struct fort_alloc_splay_tree_key_s,
286 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
287 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
288 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
289 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
290 (GOMP_5.1.1): ... here.
291 * libgomp.texi (Impl. Status, Memory management): Update for
292 allocators/allocate directives.
293 * splay-tree.c: Handle splay_tree_static define to declare all
295 (splay_tree_lookup_node): New.
296 * splay-tree.h: Handle splay_tree_decl_only define.
297 (splay_tree_lookup_node): New prototype.
298 * target.c: Define splay_tree_static for 'reverse'.
299 * testsuite/libgomp.fortran/allocators-1.f90: New test.
300 * testsuite/libgomp.fortran/allocators-2.f90: New test.
301 * testsuite/libgomp.fortran/allocators-3.f90: New test.
302 * testsuite/libgomp.fortran/allocators-4.f90: New test.
303 * testsuite/libgomp.fortran/allocators-5.f90: New test.
305 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
307 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
308 (TEAM_ARENA_FREE): Likewise.
309 (TEAM_ARENA_END): Likewise.
310 (GCN_LOWLAT_HEAP): New.
311 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
312 (__gcn_lowlat_init): New prototype.
313 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
314 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
315 (TEAM_ARENA_FREE): Likewise.
316 (TEAM_ARENA_END): Likewise.
317 * plugin/plugin-gcn.c (lowlat_size): New variable.
318 (print_kernel_dispatch): Label the group_segment_size purpose.
319 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
320 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
321 (run_kernel): Use shadow; don't assume values.
322 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
323 * config/gcn/allocator.c: New file.
324 * libgomp.texi: Document low-latency implementation details.
326 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
328 * allocator.c (MEMSPACE_VALIDATE): New macro.
329 (omp_init_allocator): Use MEMSPACE_VALIDATE.
330 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
331 (omp_aligned_calloc): Likewise.
332 (omp_realloc): Likewise.
333 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
334 (MEMSPACE_VALIDATE): New macro.
335 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
336 * libgomp.texi: Document low-latency implementation details.
337 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
338 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
339 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
340 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
341 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
342 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
343 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
345 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
346 Kwok Cheung Yeung <kcy@codesourcery.com>
347 Thomas Schwinge <thomas@codesourcery.com>
349 * allocator.c (MEMSPACE_ALLOC): New macro.
350 (MEMSPACE_CALLOC): New macro.
351 (MEMSPACE_REALLOC): New macro.
352 (MEMSPACE_FREE): New macro.
353 (predefined_alloc_mapping): New array. Add _Static_assert to match.
354 (ARRAY_SIZE): New macro.
355 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
356 Implement fall-backs for predefined allocators. Simplify existing
358 (omp_free): Use MEMSPACE_FREE.
359 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
360 predefined allocators. Simplify existing fall-backs.
361 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
362 Implement fall-backs for predefined allocators. Simplify existing
364 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
365 (__nvptx_lowlat_init): New prototype.
366 (gomp_nvptx_main): Call __nvptx_lowlat_init.
367 * libgomp.texi: Update memory space table.
368 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
369 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
370 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
371 * basic-allocator.c: New file.
372 * config/nvptx/allocator.c: New file.
373 * testsuite/libgomp.c/omp_alloc-1.c: New test.
374 * testsuite/libgomp.c/omp_alloc-2.c: New test.
375 * testsuite/libgomp.c/omp_alloc-3.c: New test.
376 * testsuite/libgomp.c/omp_alloc-4.c: New test.
377 * testsuite/libgomp.c/omp_alloc-5.c: New test.
378 * testsuite/libgomp.c/omp_alloc-6.c: New test.
380 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
382 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
383 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
384 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
385 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
386 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
387 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
388 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
389 * testsuite/libgomp.c/declare-variant-4.c: New.
391 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
393 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
395 * testsuite/libgomp.c/declare-variant-3.c: New.
396 * testsuite/libgomp.c/declare-variant-3.h: Extend.
398 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
400 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
401 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
402 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
403 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
404 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
405 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
406 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
407 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
408 'scan-offload-tree-dump' to
409 'only_for_offload_target amdgcn-amdhsa'.
410 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
411 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
412 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
413 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
414 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
416 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
418 * testsuite/libgomp.c/declare-variant-3-sm30.c:
419 'dg-additional-options -foffload=nvptx-none'.
420 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
421 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
422 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
423 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
424 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
426 2023-11-29 Thomas Schwinge <thomas@codesourcery.com>
428 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
429 'scan-offload-ipa-dump's to
430 'only_for_offload_target amdgcn-amdhsa'.
431 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
432 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
434 2023-11-24 Tobias Burnus <tobias@codesourcery.com>
436 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
439 2023-11-22 Thomas Schwinge <thomas@codesourcery.com>
441 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
442 (f75, f80, f): Add '__attribute__ ((noipa))'.
443 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
444 (gfx908, gfx90a, f): Likewise.
446 2023-11-15 Andrew Stubbs <ams@codesourcery.com>
447 Andrew Jenner <andrew@codesourcery.com>
449 * plugin/plugin-gcn.c (max_isa_vgprs): New.
450 (run_kernel): CDNA2 devices have more VGPRs.
452 2023-11-10 Tobias Burnus <tobias@codesourcery.com>
454 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
455 renamed section from TR11.
457 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
459 * config/linux/target-indirect.c: Move to...
460 * target-indirect.c: ...here.
462 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
464 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
465 * Makefile.in: Regenerate.
466 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
467 (GOMP_OFFLOAD_load_image): Add extra argument.
468 * libgomp.h (struct indirect_splay_tree_key_s): New.
469 (indirect_splay_tree_node, indirect_splay_tree,
470 indirect_splay_tree_key): New.
471 (indirect_splay_compare): New.
472 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
473 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
474 calls in target region and on indirect clause.
475 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
476 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
477 * oacc-host.c (host_load_image): Add extra argument.
478 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
479 enough, read host indirect functions table and pass to
481 * config/accel/target-indirect.c: New.
482 * config/linux/target-indirect.c: New.
483 * config/gcn/team.c (build_indirect_map): Add prototype.
484 (gomp_gcn_enter_kernel): Initialize support for indirect
485 function calls on GCN target.
486 * config/nvptx/team.c (build_indirect_map): Add prototype.
487 (gomp_nvptx_main): Initialize support for indirect function
488 calls on NVPTX target.
489 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
490 indirect functions count.
491 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
492 is high enough, build address translation table and copy it to target
494 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
496 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
497 is high enough, Build address translation table and copy it to target
499 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
500 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
501 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
503 2023-11-05 Jakub Jelinek <jakub@redhat.com>
505 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
508 2023-10-31 Thomas Schwinge <thomas@codesourcery.com>
510 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
511 'acc_map_data' variant.
513 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
515 * oacc-parallel.c (GOACC_data_start): Handle
516 'GOACC_FLAG_LOCAL_DEVICE'.
517 (GOACC_parallel_keyed): Simplify accordingly.
518 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
520 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
522 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
523 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
524 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
525 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
526 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
528 2023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
530 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
531 GOACC_FLAG_LOCAL_DEVICE case.
532 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
534 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
536 * Makefile.am: Handle Darwin rpaths.
537 * Makefile.in: Regenerate.
538 * configure: Regenerate.
539 * configure.ac: Handle Darwin rpaths
541 2023-10-20 Andrew Stubbs <ams@codesourcery.com>
543 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
544 (isa_hsa_name): Recognise gfx1030.
545 (isa_code): Likewise.
546 * team.c (defined): Remove s_endpgm.
548 2023-10-20 Tobias Burnus <tobias@codesourcery.com>
550 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
553 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
555 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
556 improve wording especially for Fortran; mention -fopenmp-simd.
557 (Enabling OpenACC): Minor cleanup; remove conditional compilation
560 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
562 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
563 Actually document what the function does.
564 (GCC_ACC_NOTIFY): Remove unused env var.
566 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
568 * libgomp.texi: Replace most future tense by present tense.
570 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
572 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
573 dg-additional-options "-fdump-tree-gimple"; fix scan.
575 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
577 * libgomp.texi: Fix some typos.
578 (Memory Management Routines): Document remaining 5.x routines.
579 (Memory allocation): Make clear when the section applies.
581 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
583 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
584 supports the allocate directive for stack variables.
585 * testsuite/libgomp.fortran/allocate-5.f90: New test.
586 * testsuite/libgomp.fortran/allocate-6.f90: New test.
587 * testsuite/libgomp.fortran/allocate-7.f90: New test.
588 * testsuite/libgomp.fortran/allocate-8.f90: New test.
590 2023-10-12 Tobias Burnus <tobias@codesourcery.com>
592 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
594 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
595 clarify MANDATORY behavior.
597 2023-10-12 Zhang, Jun <jun.zhang@intel.com>
599 * env.c (initialize_env): Use do_adjust_default_spincount.
600 * config/linux/x86/spincount.h: New file.
602 2023-10-08 Tobias Burnus <tobias@codesourcery.com>
604 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
606 2023-10-06 Tobias Burnus <tobias@codesourcery.com>
608 * libgomp.texi (Device Memory Routines): New.
610 2023-10-04 Tobias Burnus <tobias@codesourcery.com>
612 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
613 and that other target archs have no 'arch'/'isa' traits implemented.
615 2023-09-20 Tobias Burnus <tobias@codesourcery.com>
617 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
618 implemented for C only.
619 * testsuite/libgomp.c/allocate-4.c: New test.
620 * testsuite/libgomp.c/allocate-5.c: New test.
621 * testsuite/libgomp.c/allocate-6.c: New test.
623 2023-09-20 Jakub Jelinek <jakub@redhat.com>
626 * libgomp.texi: Mark decl attribute was added to the C++ attribute
627 syntax as implemented.
629 2023-09-19 Jakub Jelinek <jakub@redhat.com>
632 * env.c (initialize_env): Don't dereference environ if it is NULL.
635 2023-09-18 Richard Biener <rguenther@suse.de>
637 PR tree-optimization/111294
638 * team.c (gomp_team_start): Assert alloca size to avoid false
639 positive alloc-size diagnostic.
641 2023-09-12 Thomas Schwinge <thomas@codesourcery.com>
642 Chung-Lin Tang <cltang@codesourcery.com>
646 * configure.ac: Revert earlier changes, instead
647 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
648 * Makefile.in: Regenerate.
649 * configure: Likewise.
650 * testsuite/Makefile.in: Likewise.
651 * testsuite/lib/libgomp.exp (libgomp_init): Remove
652 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
653 If '--with-build-sysroot=[...]' was specified, use it for
655 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
656 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
657 (SYSROOT_CFLAGS_FOR_TARGET): Set.
658 * testsuite/libgomp.c++/c++.exp (lang_source_re)
659 (lang_include_flags): Set for build-tree testing.
660 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
661 (lang_include_flags): Likewise.
663 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
665 * libgomp.texi (Memory Management Routines): New; add documentation for
666 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
667 omp_get_default_allocator.
668 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
670 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
672 * target.c (gomp_unload_device): Remove tailing whitespace.
674 2023-09-04 Tobias Burnus <tobias@codesourcery.com>
675 Thomas Schwinge <thomas@codesourcery.com>
677 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
679 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
681 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
683 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
685 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
686 * testsuite/libgomp.fortran/imperfect1.f90: New.
687 * testsuite/libgomp.fortran/imperfect2.f90: New.
688 * testsuite/libgomp.fortran/imperfect3.f90: New.
689 * testsuite/libgomp.fortran/imperfect4.f90: New.
690 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
691 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
692 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
693 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
695 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
697 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
698 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
699 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
700 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
701 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
702 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
703 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
704 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
705 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
706 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
708 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
710 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
711 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
712 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
713 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
714 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
715 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
716 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
717 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
718 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
719 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
720 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
721 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
722 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
724 2023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
726 * testsuite/lib/libgomp.exp: Add effective target.
727 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
730 2023-08-22 Tobias Burnus <tobias@codesourcery.com>
732 * libgomp.texi (OpenMP 5.2 status): Add depobj with
733 destroy-var argument as 'N'. Mark defaultmap with
734 'all' category as 'Y'.
736 2023-08-19 Tobias Burnus <tobias@codesourcery.com>
739 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
741 2023-08-17 Tobias Burnus <tobias@codesourcery.com>
744 * allocator.c (gomp_init_libnuma): Call numa_available; if
745 not available or not returning 0, disable libnuma usage.
747 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
749 * configure: Regenerate.
751 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
753 * configure: Regenerate.
755 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
757 * configure: Regenerate.
759 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
761 * configure: Regenerate.
763 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
765 * configure: Regenerate.
767 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
769 * configure: Regenerate.
771 2023-07-29 Tobias Burnus <tobias@codesourcery.com>
773 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
774 GOMP_OFFLOAD_CAP_SHARED_MEM.
775 (omp_target_memcpy_rect_copy): Likewise for lock condition.
776 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
778 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
779 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
780 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
782 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
784 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
785 GOMP_OFFLOAD_memcpy3d): New prototypes.
786 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
788 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
789 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
790 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
791 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
792 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
793 GOMP_OFFLOAD_memcpy3d): New.
794 * target.c (omp_target_memcpy_rect_worker):
795 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
796 Permit all device-to-device copyies; invoke new plugins for
797 2D and 3D copying when available.
798 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
799 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
800 * testsuite/libgomp.fortran/target-12.f90: Likewise.
801 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
803 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
805 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
806 (Tasking Routines): Document omp_in_explicit_task.
807 (Implementation-defined ICV Initialization): Use @ref not @code.
809 2023-07-20 Tobias Burnus <tobias@codesourcery.com>
811 * libgomp.texi (OpenMP Runtime Library Routines):
812 Split long list by adding sections and moving routines there.
813 (OMP_ALLOCATORS): Fix typo.
815 2023-07-19 Tobias Burnus <tobias@codesourcery.com>
818 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
819 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
821 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
822 test file; tests are in non-rectangular-loop-1.f90.
823 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
824 testcase to use a non-constant step to retain the 'sorry' test.
825 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
827 2023-07-17 Tobias Burnus <tobias@codesoucery.com>
828 Chung-Lin Tang <cltang@codesourcery.com>
830 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
831 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
833 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
835 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
836 the traits. Add crossref to 'Memory allocation'.
837 (Memory allocation): Refer to OMP_ALLOCATOR for the available
838 traits and allocators/mem spaces; document the default value
839 for the pool_size trait.
841 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
843 * allocator.c (omp_init_allocator): Check whether symbol from
844 dlopened libnuma is available before using libnuma for
847 2023-07-13 David Edelsohn <dje.gcc@gmail.com>
849 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
850 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
851 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
853 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
855 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
856 'Memory allocation' section which contains the full status.
857 (TR11): Remove differently worded duplicated entry.
859 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
861 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
862 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
863 add GOMP_MEMKIND_LIBNUMA.
864 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
865 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
866 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
867 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
869 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
870 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
871 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
872 updated for libnuma usage.
873 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
874 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
876 2023-07-11 Tobias Burnus <tobias@codesourcery.com>
878 * allocator.c (omp_init_allocator): Use malloc for
879 omp_high_bw_mem_space when the memkind lib is unavailable
880 instead of returning omp_null_allocator.
881 * libgomp.texi (OpenMP 5.0): Fix typo.
882 (Memory allocation with libmemkind): Document implementation
885 2023-06-22 Tobias Burnus <tobias@codesourcery.com>
887 * libgomp.texi: Use @var for ICV vars.
888 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
889 document which ICV is set and which scope the ICV has; extend/cleanup
891 (Implementation-defined ICV Initialization): New.
892 (nvptx): Document the implementation-defined used per-warp stack size.
894 2023-06-19 Thomas Schwinge <thomas@codesourcery.com>
896 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
899 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
901 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
902 as expected dg-output.
904 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
907 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
908 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
909 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
910 * testsuite/libgomp.c/target-19.c: Update expected value.
911 * testsuite/libgomp.c++/target-18.C: Likewise.
912 * testsuite/libgomp.c++/target-19.C: Likewise.
913 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
914 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
915 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
917 2023-06-16 Tobias Burnus <tobias@codesourcery.com>
919 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
920 gomp_init_targets_once was called before using default-device-var.
921 * testsuite/libgomp.c/target-55.c: New test.
922 * testsuite/libgomp.c/target-55a.c: New test.
924 2023-06-15 Tobias Burnus <tobias@codesourcery.com>
926 * env.c (gomp_def_allocator_envvar): New var.
927 (parse_allocator): Handle OpenMP 5.1 syntax.
929 (omp_display_env): Output gomp_def_allocator_envvar
930 for an allocator with traits.
931 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
932 OMP_DISPLAY_AFFINITY): New.
933 * testsuite/libgomp.c/allocator-1.c: New test.
934 * testsuite/libgomp.c/allocator-2.c: New test.
935 * testsuite/libgomp.c/allocator-3.c: New test.
936 * testsuite/libgomp.c/allocator-4.c: New test.
937 * testsuite/libgomp.c/allocator-5.c: New test.
938 * testsuite/libgomp.c/allocator-6.c: New test.
940 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
942 * target.c (resolve_device): Align a
943 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
944 * testsuite/libgomp.c/target-51.c: Adjust.
946 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
948 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
950 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
952 * testsuite/libgomp.c/simd-math-1.c: Remove
953 '-foffload-options=-lm'.
954 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
956 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
959 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
961 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
962 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
965 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
967 * testsuite/libgomp.c/target-51.c: Fix typo.
969 2023-06-14 Tobias Burnus <tobias@codesourcery.com>
971 * env.c (gomp_default_icv_values): Init default_device_var to
972 an nonconforming value - INT_MIN.
973 (initialize_env): After env-var parsing, set default_device_var to
974 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
975 (omp_display_env): If default_device_var is INT_MIN, call
976 gomp_init_targets_once.
977 * icv-device.c (omp_get_default_device): Likewise.
978 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
979 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
980 * target.c (resolve_device): Improve error message device-num < 0
981 with 'mandatory' and no no-host devices available.
982 (gomp_target_init): Set default-device-var if INT_MIN.
983 * testsuite/libgomp.c/target-48.c: New test.
984 * testsuite/libgomp.c/target-49.c: New test.
985 * testsuite/libgomp.c/target-50.c: New test.
986 * testsuite/libgomp.c/target-50a.c: New test.
987 * testsuite/libgomp.c/target-51.c: New test.
988 * testsuite/libgomp.c/target-52.c: New test.
989 * testsuite/libgomp.c/target-53.c: New test.
990 * testsuite/libgomp.c/target-54.c: New test.
992 2023-06-13 Tobias Burnus <tobias@codesourcery.com>
995 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
996 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
998 2023-06-12 Tobias Burnus <tobias@codesourcery.com>
1000 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
1001 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
1002 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
1004 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
1005 changed error message.
1006 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1007 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
1008 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1009 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
1010 extend testcase to check that data is copied when needed.
1011 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1012 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1014 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
1015 Tobias Burnus <tobias@codesourcery.com>
1017 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
1018 also for non-offload_device targets; check that it runs
1019 successfully for those and for all until a checkpoint for all
1020 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
1021 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
1022 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
1023 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
1024 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
1025 add missing vars to map clause.
1027 2023-06-06 Tobias Burnus <tobias@codesourcery.com>
1029 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
1030 unified_address requirement as supported.
1031 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
1032 'unified_address' from the not-supported requirements.
1034 2023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
1035 Tobias Burnus <tobias@codesourcery.com>
1037 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
1038 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
1039 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
1041 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
1042 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
1043 Emit runtime error if memory region not present.
1044 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
1045 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
1046 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
1047 * testsuite/libgomp.fortran/target-present-1.f90: New test.
1048 * testsuite/libgomp.fortran/target-present-2.f90: New test.
1049 * testsuite/libgomp.fortran/target-present-3.f90: New test.
1051 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1054 * testsuite/lib/libgomp.exp: 'flock' through stdout.
1055 * testsuite/flock: New.
1056 * configure.ac (FLOCK): Point to that if no 'flock' available, but
1058 * configure: Regenerate.
1060 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1062 * configure.ac (PERL): Remove.
1063 * configure: Regenerate.
1064 * Makefile.in: Likewise.
1065 * testsuite/Makefile.in: Likewise.
1067 2023-06-01 Tobias Burnus <tobias@codesourcery.com>
1069 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1071 2023-05-26 Tobias Burnus <tobias@codesourcery.com>
1073 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1075 2023-05-21 Tobias Burnus <tobias@codesourcery.com>
1078 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1079 * config/nvptx/target.c (GOMP_teams4): Likewise.
1080 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1081 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1082 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1083 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1085 2023-05-19 Jakub Jelinek <jakub@redhat.com>
1088 * configure.ac (link_gomp): Include also $DL_LIBS.
1089 * configure: Regenerated.
1091 2023-05-17 Tobias Burnus <tobias@codesourcery.com>
1093 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1095 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1096 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1097 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1098 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1100 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1103 * configure.ac: Look for 'flock'.
1104 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1105 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1106 * testsuite/lib/libgomp.exp: ... but here, instead.
1107 (libgomp_load): Override for parallel testing.
1108 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1109 * configure: Regenerate.
1110 * Makefile.in: Regenerate.
1111 * testsuite/Makefile.in: Regenerate.
1113 2023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1114 Thomas Schwinge <thomas@codesourcery.com>
1117 * testsuite/Makefile.am (PWD_COMMAND): New variable.
1118 (%/site.exp): New target.
1119 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1120 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1121 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1123 (check_DEJAGNU_libgomp_targets): New variables.
1124 ($(check_DEJAGNU_libgomp_targets)): New target.
1125 ($(check_DEJAGNU_libgomp_targets)): New dependency.
1126 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1127 * testsuite/Makefile.in: Regenerate.
1128 * testsuite/lib/libgomp.exp: For parallel testing,
1129 'load_file ../libgomp-test-support.exp'.
1131 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1134 * configure.ac: 'AC_SUBST(CXX)'.
1135 * configure: Regenerate.
1136 * Makefile.in: Likewise.
1137 * testsuite/Makefile.in: Likewise.
1138 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1139 (GFORTRAN_UNDER_TEST): Set.
1140 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1141 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1142 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1143 * testsuite/libgomp.fortran/fortran.exp: Use
1144 'GFORTRAN_UNDER_TEST'.
1145 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1147 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1150 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1152 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1153 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1154 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1155 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1157 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1158 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1159 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1162 2023-05-12 Tobias Burnus <tobias@codesourcery.com>
1165 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1166 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1168 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1170 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1171 'lang_library_path' into a list of 'lang_library_paths'.
1172 * testsuite/libgomp.c++/c++.exp: Adjust.
1173 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1174 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1176 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1178 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1180 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1181 at 'lang_test_file_found'.
1182 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1183 'return' early if not able to test. Simplify 'ld_library_path' setup.
1184 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1185 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1186 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1188 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1190 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1192 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1193 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1194 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1196 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1198 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1199 * testsuite/libgomp.c/c.exp: Likewise.
1200 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1201 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1202 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1203 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1204 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1206 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1208 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1209 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1210 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1211 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1212 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1214 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1215 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1216 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1217 'lang_test_file_found' instead of 'lang_test_file'.
1219 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1221 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1223 * testsuite/libgomp.c++/c++.exp: Likewise.
1224 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1226 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1228 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1229 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1231 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1233 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1234 of 'libstdcxx_includes'.
1235 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1237 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1239 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1240 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1241 * libgomp.h (gomp_target_rev): Adjust.
1242 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1243 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1244 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1245 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1246 (rev_off_host_to_dev_cpy): Remove.
1247 (GOMP_OFFLOAD_run): Adjust.
1249 2023-05-04 Julian Brown <julian@codesourcery.com>
1252 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1253 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1254 vector length warning.
1255 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1256 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1257 missing copyin/copyout variable. Ignore vector length warnings.
1258 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1259 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1260 vector length warnings.
1261 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1263 2023-04-28 Julian Brown <julian@codesourcery.com>
1266 * testsuite/libgomp.fortran/pr109622.f90: New test.
1267 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1268 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1270 2023-04-25 Tobias Burnus <tobias@codesourcery.com>
1272 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1273 * testsuite/libgomp.c/scan-23.c: New test.
1274 * testsuite/libgomp.fortran/scan-2.f90: New test.
1276 2023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1278 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1279 weak_undefined options.
1281 2023-03-24 Tobias Burnus <tobias@codesourcery.com>
1283 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1285 2023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1288 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1291 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1294 * target.c (gomp_map_vars_internal): Allow for
1295 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1296 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1297 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1298 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1299 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1301 (gomp_offload_free): Remove.
1302 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1303 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1304 (cuda_free_argmem): Remove.
1305 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1308 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1310 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1311 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1314 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1316 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1317 'GOMP_MAP_IF_PRESENT'.
1318 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1319 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1320 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1321 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1322 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1324 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1326 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1328 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1331 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1333 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1334 another aspect of OpenACC 'async' semantics.
1336 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1338 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1340 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1341 Verify 'acc_ev_alloc', 'acc_ev_free'.
1343 2023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1346 * env.c (wait_policy): Initialize to -1.
1347 (initialize_icvs): Initialize icvs->wait_policy to -1.
1348 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1350 2023-03-08 Tobias Burnus <tobias@codesourcery.com>
1352 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1354 2023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1355 Paul-Antoine Arras <pa@codesourcery.com>
1357 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1359 2023-03-01 Tobias Burnus <tobias@codesourcery.com>
1361 PR middle-end/108546
1362 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1363 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1365 2023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1367 * testsuite/libgomp.fortran/alloc-10.f90: Use
1368 '-Wno-complain-wrong-lang'.
1369 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1370 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1371 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1372 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1373 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1374 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1375 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1376 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1377 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1378 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1380 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1382 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1383 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1384 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1385 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1388 2023-02-16 Jakub Jelinek <jakub@redhat.com>
1390 * libgomp.texi: Fix typos - theads -> threads.
1392 2023-02-16 Jakub Jelinek <jakub@redhat.com>
1394 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1395 comment typo and improve its wording.
1397 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
1399 * target.c (gomp_target_rev): Dereference ptr
1400 to get device address.
1401 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1402 for unallocated allocatable.
1404 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
1406 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1408 (GOMP_target_enter_exit_data): If the next map item is
1409 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1410 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1412 2023-02-09 Tobias Burnus <tobias@codesourcery.com>
1415 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1416 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1417 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1418 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1419 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1420 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1422 2023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1424 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1425 offloading compilation.
1427 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
1429 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1430 freeing not allocated memory.
1431 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1433 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
1435 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1437 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1438 reverse-offload requirement.
1440 2023-02-02 Andrew Stubbs <ams@codesourcery.com>
1442 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1443 (DEFAULT_TEAM_ARENA_SIZE): New define.
1444 (struct heap): Move to this file.
1445 (struct kernargs_abi): Likewise.
1446 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1448 * libgomp.h: Include libgomp-gcn.h.
1449 (TEAM_ARENA_SIZE): Remove.
1450 (team_malloc): Update the error message.
1451 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1452 struct kernargs_abi.
1453 (struct agent_info): Rename team arenas to ephemeral memories.
1454 (struct team_arena_list): Rename ....
1455 (struct ephemeral_memories_list): to this.
1456 (struct heap): Delete.
1457 (team_arena_size): New variable.
1458 (stack_size): New variable.
1459 (print_kernel_dispatch): Update debug messages.
1460 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1461 Read GCN_STACK_SIZE.
1462 (get_team_arena): Rename ...
1463 (configure_ephemeral_memories): ... to this, and set up stacks.
1464 (release_team_arena): Rename ...
1465 (release_ephemeral_memories): ... to this.
1466 (destroy_team_arenas): Rename ...
1467 (destroy_ephemeral_memories): ... to this.
1468 (create_kernel_dispatch): Add num_threads parameter.
1469 Adjust for kernargs_abi refactor and ephemeral memories.
1470 (release_kernel_dispatch): Adjust for ephemeral memories.
1471 (run_kernel): Pass thread-count to create_kernel_dispatch.
1472 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1473 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1475 2023-02-02 Tobias Burnus <tobias@codesourcery.com>
1477 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1479 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
1481 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1482 usage, remove unused -fdump-tree-original.
1483 * testsuite/libgomp.fortran/allocate-4.f90: New.
1485 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
1487 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1488 (GCN): Add item about 'omp requires'.
1489 (nvptx): Likewise; add item about reverse offload.
1491 2023-01-27 Tobias Burnus <tobias@codesourcery.com>
1494 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1496 2023-01-23 Tobias Burnus <tobias@codesourcery.com>
1498 * libgomp.texi (OpenMP 5.0): Set non-rectangular
1499 loop nest back to 'P' as Fortran support is incomplete.
1501 2023-01-19 Jakub Jelinek <jakub@redhat.com>
1503 PR middle-end/108459
1504 * testsuite/libgomp.c/pr108459.c: New test.
1506 2023-01-17 Martin Liska <mliska@suse.cz>
1508 * Makefile.in: Regenerate.
1509 * configure: Regenerate.
1511 2023-01-07 LIU Hao <lh_mouse@126.com>
1513 PR middle-end/108300
1514 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1517 2023-01-05 Jakub Jelinek <jakub@redhat.com>
1520 * testsuite/libgomp.c++/pr108286.C: New test.
1522 2023-01-02 Jakub Jelinek <jakub@redhat.com>
1524 * libgomp.texi: Bump @copying's copyright year.
1526 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1529 * config/nvptx/bar.c (generation_to_barrier): Remove.
1530 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1531 (GOMP_WAIT_H): Remove.
1532 (#include "../linux/bar.c"): Remove.
1533 (gomp_barrier_wait_end): New function.
1534 (gomp_barrier_wait): Likewise.
1535 (gomp_barrier_wait_last): Likewise.
1536 (gomp_team_barrier_wait_end): Likewise.
1537 (gomp_team_barrier_wait): Likewise.
1538 (gomp_team_barrier_wait_final): Likewise.
1539 (gomp_team_barrier_wait_cancel_end): Likewise.
1540 (gomp_team_barrier_wait_cancel): Likewise.
1541 (gomp_team_barrier_cancel): Likewise.
1542 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1543 (gomp_barrier_init): Remove init of waiters, lock fields.
1544 (gomp_team_barrier_wake): Remove prototype, add new static inline
1547 2022-12-21 Jakub Jelinek <jakub@redhat.com>
1550 * testsuite/libgomp.c++/pr108180.C: New test.
1552 2022-12-16 Tobias Burnus <tobias@codesourcery.com>
1554 PR libfortran/108056
1555 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1556 accidentally added file.
1558 2022-12-15 Tobias Burnus <tobias@codesourcery.com>
1560 PR libfortran/108056
1561 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1563 2022-12-14 Julian Brown <julian@codesourcery.com>
1565 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1568 2022-12-10 Tobias Burnus <tobias@codesourcery.com>
1570 * libgomp.h (struct target_mem_desc): Predeclare; move
1571 below after 'reverse_splay_tree_node' and add rev_array
1573 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1574 (reverse_splay_tree_node, reverse_splay_tree,
1575 reverse_splay_tree_key): New typedef.
1576 (struct gomp_device_descr): Add mem_map_rev member.
1577 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1578 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1579 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1580 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1581 splay_tree_callback but returning int not void.
1582 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1583 taking splay_tree_callback_stop as argument.
1584 * splay-tree.c (splay_tree_foreach_internal_lazy,
1585 splay_tree_foreach_lazy): New; but early exit if callback returns
1587 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1588 (gomp_map_lookup_rev): New.
1589 (gomp_load_image_to_device): Handle reverse-offload function
1591 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1592 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1593 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1594 gomp_map_cdata_lookup): New auxiliary structs and functions for
1596 (gomp_target_rev): Implement reverse offloading and its mapping.
1597 (gomp_target_init): Init current_device.mem_map_rev.root.
1598 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1599 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1600 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1601 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1602 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1603 mapping of on-device allocated variables.
1605 2022-12-09 Tobias Burnus <tobias@codesourcery.com>
1607 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1608 item about 'align'; mark clause as 'Y' and directive as 'N'.
1609 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1610 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1612 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1614 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1615 allow processing of device-specific values.
1616 (omp_set_teams_thread_limit): Likewise.
1618 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1619 (omp_set_teams_thread_limit): Likewise.
1621 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1623 (omp_set_teams_thread_limit): Likewise.
1624 * icv.c (omp_set_teams_thread_limit): Removed.
1625 (omp_get_teams_thread_limit): Likewise.
1627 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1628 to the limitation of the number of teams.
1629 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1630 the number of teams by twice the number of compute units.
1631 (parse_target_attributes): Limit the number of teams on gcn offload
1633 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1635 (gomp_load_image_to_device): Added a size check for the ICVs struct
1637 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1638 copy back the ICV values from device to host.
1639 (GOMP_target_ext): Update the number of teams and threads in the kernel
1640 args also considering device-specific values.
1641 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1642 of OMP_TEAMS_THREAD_LIMIT from the environment.
1643 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1644 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1645 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1646 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1647 * testsuite/libgomp.fortran/icv-5.f90: New test.
1648 * testsuite/libgomp.fortran/icv-6.f90: New test.
1650 2022-12-06 Tobias Burnus <tobias@codesourcery.com>
1652 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1653 (TR11): Add missing '@tab N @tab'.
1655 2022-11-30 Tobias Burnus <tobias@codesourcery.com>
1657 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1659 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1661 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1662 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1663 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1664 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1665 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1666 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1667 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1669 2022-11-28 Tobias Burnus <tobias@codesourcery.com>
1671 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1673 2022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1675 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1676 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1677 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1678 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1680 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
1682 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1683 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1684 as valid and the code having no reverse-offload code.
1685 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1687 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
1689 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1690 and status for Technical Report (TR) 11.
1692 2022-11-21 Tobias Burnus <tobias@codesourcery.com>
1694 * config/gcn/libgomp-gcn.h (struct output):
1695 Remove 'msg_u64' from the union, change
1696 value_u64[2] to value_u64[6].
1697 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1698 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1701 2022-11-19 Tobias Burnus <tobias@codesourcery.com>
1703 * config/gcn/libgomp-gcn.h: New file; contains
1704 struct output, declared previously in plugin-gcn.c.
1705 * config/gcn/target.c: Include it.
1706 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1707 (GOMP_target_ext): Handle reverse offload.
1708 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1709 (struct kernargs): Replace struct def by the one
1710 from libgomp-gcn.h for output_data.
1711 (process_reverse_offload): New.
1712 (console_output): Call it.
1714 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
1715 Andrew Stubbs <ams@codesourcery.com>
1717 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1718 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1720 2022-11-14 Martin Liska <mliska@suse.cz>
1723 2022-11-14 Martin Liska <mliska@suse.cz>
1725 * doc/amd-radeon-gcn.rst: New file.
1726 * doc/conf.py: New file.
1727 * doc/copyright.rst: New file.
1728 * doc/cuda-streams-usage.rst: New file.
1729 * doc/enabling-openacc.rst: New file.
1730 * doc/enabling-openmp.rst: New file.
1731 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1732 * doc/first-invocation-openacc-library-api.rst: New file.
1733 * doc/funding.rst: New file.
1734 * doc/general-public-license-3.rst: New file.
1735 * doc/gnu-free-documentation-license.rst: New file.
1736 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1737 * doc/index.rst: New file.
1738 * doc/indices-and-tables.rst: New file.
1739 * doc/introduction.rst: New file.
1740 * doc/memory-allocation-with-libmemkind.rst: New file.
1741 * doc/nvptx.rst: New file.
1742 * doc/offload-target-specifics.rst: New file.
1743 * doc/openacc-environment-variables.rst: New file.
1744 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1745 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1746 * doc/openacc-environment-variables/accproflib.rst: New file.
1747 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1748 * doc/openacc-introduction.rst: New file.
1749 * doc/openacc-library-and-environment-variables.rst: New file.
1750 * doc/openacc-library-interoperability.rst: New file.
1751 * doc/openacc-profiling-interface.rst: New file.
1752 * doc/openacc-runtime-library-routines.rst: New file.
1753 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1754 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1755 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1756 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1757 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1758 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1759 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1760 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1761 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1762 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1763 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1764 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1765 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1766 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1767 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1768 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1769 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1770 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1771 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1772 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1773 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1774 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1775 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1776 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1777 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1778 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1779 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1780 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1781 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1782 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1783 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1784 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1785 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1786 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1787 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1788 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1789 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1790 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1791 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1792 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1793 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1794 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1795 * doc/openmp-context-selectors.rst: New file.
1796 * doc/openmp-environment-variables.rst: New file.
1797 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1798 * doc/openmp-environment-variables/gompdebug.rst: New file.
1799 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1800 * doc/openmp-environment-variables/gompspincount.rst: New file.
1801 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1802 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1803 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1804 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1805 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1806 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1807 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1808 * doc/openmp-environment-variables/ompnested.rst: New file.
1809 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1810 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1811 * doc/openmp-environment-variables/ompplaces.rst: New file.
1812 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1813 * doc/openmp-environment-variables/ompschedule.rst: New file.
1814 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1815 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1816 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1817 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1818 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1819 * doc/openmp-implementation-specifics.rst: New file.
1820 * doc/openmp-implementation-status.rst: New file.
1821 * doc/openmp-implementation-status/openmp-45.rst: New file.
1822 * doc/openmp-implementation-status/openmp-50.rst: New file.
1823 * doc/openmp-implementation-status/openmp-51.rst: New file.
1824 * doc/openmp-implementation-status/openmp-52.rst: New file.
1825 * doc/openmp-runtime-library-routines.rst: New file.
1826 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1827 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1828 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1829 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1830 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1831 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1832 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1833 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1834 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1835 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1836 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1837 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1838 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1839 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1840 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1841 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1842 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1843 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1844 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1845 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1846 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1847 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1848 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1849 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1850 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1851 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1852 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1853 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1854 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1855 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1856 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1857 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1858 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1859 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1860 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1861 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1862 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1863 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1864 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1865 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1866 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1867 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1868 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1869 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1870 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1871 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1872 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1873 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1874 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1875 * doc/reporting-bugs.rst: New file.
1876 * doc/the-libgomp-abi.rst: New file.
1877 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1878 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1879 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1880 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1882 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1883 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1884 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1885 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1886 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1887 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1888 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1889 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1890 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1891 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1892 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1894 2022-11-14 Martin Liska <mliska@suse.cz>
1897 2022-11-14 Martin Liska <mliska@suse.cz>
1899 * Makefile.in: Support Sphinx based documentation.
1901 2022-11-14 Martin Liska <mliska@suse.cz>
1904 2022-11-14 Martin Liska <mliska@suse.cz>
1906 * libgomp.texi: Removed.
1908 2022-11-14 Martin Liska <mliska@suse.cz>
1911 2022-11-14 Martin Liska <mliska@suse.cz>
1913 * Makefile.in: Support --with-sphinx-build.
1914 * configure.ac: Likewise..
1915 * configure: Regenerate.
1917 2022-11-14 Martin Liska <mliska@suse.cz>
1920 2022-11-09 Martin Liska <mliska@suse.cz>
1922 * Makefile.in: Build info pages conditionally.
1924 2022-11-14 Martin Liska <mliska@suse.cz>
1927 2022-11-14 Martin Liska <mliska@suse.cz>
1929 * doc/amd-radeon-gcn.rst:
1930 Add trailing newline.
1931 * doc/copyright.rst:
1932 Add trailing newline.
1933 * doc/cuda-streams-usage.rst:
1934 Add trailing newline.
1935 * doc/enabling-openacc.rst:
1936 Add trailing newline.
1937 * doc/enabling-openmp.rst:
1938 Add trailing newline.
1939 * doc/first-invocation-nvidia-cublas-library-api.rst:
1940 Add trailing newline.
1941 * doc/first-invocation-openacc-library-api.rst:
1942 Add trailing newline.
1944 Add trailing newline.
1945 * doc/general-public-license-3.rst:
1946 Add trailing newline.
1947 * doc/gnu-free-documentation-license.rst:
1948 Add trailing newline.
1949 * doc/implementation-status-and-implementation-defined-behavior.rst:
1950 Add trailing newline.
1952 Add trailing newline.
1953 * doc/indices-and-tables.rst:
1954 Add trailing newline.
1955 * doc/introduction.rst:
1956 Add trailing newline.
1957 * doc/memory-allocation-with-libmemkind.rst:
1958 Add trailing newline.
1960 Add trailing newline.
1961 * doc/offload-target-specifics.rst:
1962 Add trailing newline.
1963 * doc/openacc-environment-variables.rst:
1964 Add trailing newline.
1965 * doc/openacc-environment-variables/accdevicenum.rst:
1966 Add trailing newline.
1967 * doc/openacc-environment-variables/accdevicetype.rst:
1968 Add trailing newline.
1969 * doc/openacc-environment-variables/accproflib.rst:
1970 Add trailing newline.
1971 * doc/openacc-environment-variables/gccaccnotify.rst:
1972 Add trailing newline.
1973 * doc/openacc-introduction.rst:
1974 Add trailing newline.
1975 * doc/openacc-library-and-environment-variables.rst:
1976 Add trailing newline.
1977 * doc/openacc-library-interoperability.rst:
1978 Add trailing newline.
1979 * doc/openacc-profiling-interface.rst:
1980 Add trailing newline.
1981 * doc/openacc-runtime-library-routines.rst:
1982 Add trailing newline.
1983 * doc/openacc-runtime-library-routines/accasynctest.rst:
1984 Add trailing newline.
1985 * doc/openacc-runtime-library-routines/accasynctestall.rst:
1986 Add trailing newline.
1987 * doc/openacc-runtime-library-routines/accattach.rst:
1988 Add trailing newline.
1989 * doc/openacc-runtime-library-routines/acccopyin.rst:
1990 Add trailing newline.
1991 * doc/openacc-runtime-library-routines/acccopyout.rst:
1992 Add trailing newline.
1993 * doc/openacc-runtime-library-routines/acccreate.rst:
1994 Add trailing newline.
1995 * doc/openacc-runtime-library-routines/accdelete.rst:
1996 Add trailing newline.
1997 * doc/openacc-runtime-library-routines/accdetach.rst:
1998 Add trailing newline.
1999 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2000 Add trailing newline.
2001 * doc/openacc-runtime-library-routines/accfree.rst:
2002 Add trailing newline.
2003 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2004 Add trailing newline.
2005 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2006 Add trailing newline.
2007 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2008 Add trailing newline.
2009 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2010 Add trailing newline.
2011 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2012 Add trailing newline.
2013 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2014 Add trailing newline.
2015 * doc/openacc-runtime-library-routines/accgetproperty.rst:
2016 Add trailing newline.
2017 * doc/openacc-runtime-library-routines/acchostptr.rst:
2018 Add trailing newline.
2019 * doc/openacc-runtime-library-routines/accinit.rst:
2020 Add trailing newline.
2021 * doc/openacc-runtime-library-routines/accispresent.rst:
2022 Add trailing newline.
2023 * doc/openacc-runtime-library-routines/accmalloc.rst:
2024 Add trailing newline.
2025 * doc/openacc-runtime-library-routines/accmapdata.rst:
2026 Add trailing newline.
2027 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2028 Add trailing newline.
2029 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2030 Add trailing newline.
2031 * doc/openacc-runtime-library-routines/accondevice.rst:
2032 Add trailing newline.
2033 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2034 Add trailing newline.
2035 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2036 Add trailing newline.
2037 * doc/openacc-runtime-library-routines/accproflookup.rst:
2038 Add trailing newline.
2039 * doc/openacc-runtime-library-routines/accprofregister.rst:
2040 Add trailing newline.
2041 * doc/openacc-runtime-library-routines/accprofunregister.rst:
2042 Add trailing newline.
2043 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2044 Add trailing newline.
2045 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2046 Add trailing newline.
2047 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2048 Add trailing newline.
2049 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2050 Add trailing newline.
2051 * doc/openacc-runtime-library-routines/accshutdown.rst:
2052 Add trailing newline.
2053 * doc/openacc-runtime-library-routines/accunmapdata.rst:
2054 Add trailing newline.
2055 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2056 Add trailing newline.
2057 * doc/openacc-runtime-library-routines/accupdateself.rst:
2058 Add trailing newline.
2059 * doc/openacc-runtime-library-routines/accwait.rst:
2060 Add trailing newline.
2061 * doc/openacc-runtime-library-routines/accwaitall.rst:
2062 Add trailing newline.
2063 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2064 Add trailing newline.
2065 * doc/openacc-runtime-library-routines/accwaitasync.rst:
2066 Add trailing newline.
2067 * doc/openmp-context-selectors.rst:
2068 Add trailing newline.
2069 * doc/openmp-environment-variables.rst:
2070 Add trailing newline.
2071 * doc/openmp-environment-variables/gompcpuaffinity.rst:
2072 Add trailing newline.
2073 * doc/openmp-environment-variables/gompdebug.rst:
2074 Add trailing newline.
2075 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2076 Add trailing newline.
2077 * doc/openmp-environment-variables/gompspincount.rst:
2078 Add trailing newline.
2079 * doc/openmp-environment-variables/gompstacksize.rst:
2080 Add trailing newline.
2081 * doc/openmp-environment-variables/ompcancellation.rst:
2082 Add trailing newline.
2083 * doc/openmp-environment-variables/ompdefaultdevice.rst:
2084 Add trailing newline.
2085 * doc/openmp-environment-variables/ompdisplayenv.rst:
2086 Add trailing newline.
2087 * doc/openmp-environment-variables/ompdynamic.rst:
2088 Add trailing newline.
2089 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2090 Add trailing newline.
2091 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2092 Add trailing newline.
2093 * doc/openmp-environment-variables/ompnested.rst:
2094 Add trailing newline.
2095 * doc/openmp-environment-variables/ompnumteams.rst:
2096 Add trailing newline.
2097 * doc/openmp-environment-variables/ompnumthreads.rst:
2098 Add trailing newline.
2099 * doc/openmp-environment-variables/ompplaces.rst:
2100 Add trailing newline.
2101 * doc/openmp-environment-variables/ompprocbind.rst:
2102 Add trailing newline.
2103 * doc/openmp-environment-variables/ompschedule.rst:
2104 Add trailing newline.
2105 * doc/openmp-environment-variables/ompstacksize.rst:
2106 Add trailing newline.
2107 * doc/openmp-environment-variables/omptargetoffload.rst:
2108 Add trailing newline.
2109 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2110 Add trailing newline.
2111 * doc/openmp-environment-variables/ompthreadlimit.rst:
2112 Add trailing newline.
2113 * doc/openmp-environment-variables/ompwaitpolicy.rst:
2114 Add trailing newline.
2115 * doc/openmp-implementation-specifics.rst:
2116 Add trailing newline.
2117 * doc/openmp-implementation-status.rst:
2118 Add trailing newline.
2119 * doc/openmp-implementation-status/openmp-45.rst:
2120 Add trailing newline.
2121 * doc/openmp-implementation-status/openmp-50.rst:
2122 Add trailing newline.
2123 * doc/openmp-implementation-status/openmp-51.rst:
2124 Add trailing newline.
2125 * doc/openmp-implementation-status/openmp-52.rst:
2126 Add trailing newline.
2127 * doc/openmp-runtime-library-routines.rst:
2128 Add trailing newline.
2129 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2130 Add trailing newline.
2131 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2132 Add trailing newline.
2133 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2134 Add trailing newline.
2135 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2136 Add trailing newline.
2137 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2138 Add trailing newline.
2139 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2140 Add trailing newline.
2141 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2142 Add trailing newline.
2143 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2144 Add trailing newline.
2145 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2146 Add trailing newline.
2147 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2148 Add trailing newline.
2149 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2150 Add trailing newline.
2151 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2152 Add trailing newline.
2153 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2154 Add trailing newline.
2155 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2156 Add trailing newline.
2157 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2158 Add trailing newline.
2159 * doc/openmp-runtime-library-routines/ompgetnested.rst:
2160 Add trailing newline.
2161 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2162 Add trailing newline.
2163 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2164 Add trailing newline.
2165 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2166 Add trailing newline.
2167 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2168 Add trailing newline.
2169 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2170 Add trailing newline.
2171 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2172 Add trailing newline.
2173 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2174 Add trailing newline.
2175 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2176 Add trailing newline.
2177 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2178 Add trailing newline.
2179 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2180 Add trailing newline.
2181 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2182 Add trailing newline.
2183 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2184 Add trailing newline.
2185 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2186 Add trailing newline.
2187 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2188 Add trailing newline.
2189 * doc/openmp-runtime-library-routines/ompinfinal.rst:
2190 Add trailing newline.
2191 * doc/openmp-runtime-library-routines/ompinitlock.rst:
2192 Add trailing newline.
2193 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2194 Add trailing newline.
2195 * doc/openmp-runtime-library-routines/ompinparallel.rst:
2196 Add trailing newline.
2197 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2198 Add trailing newline.
2199 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2200 Add trailing newline.
2201 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2202 Add trailing newline.
2203 * doc/openmp-runtime-library-routines/ompsetlock.rst:
2204 Add trailing newline.
2205 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2206 Add trailing newline.
2207 * doc/openmp-runtime-library-routines/ompsetnested.rst:
2208 Add trailing newline.
2209 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2210 Add trailing newline.
2211 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2212 Add trailing newline.
2213 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2214 Add trailing newline.
2215 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2216 Add trailing newline.
2217 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2218 Add trailing newline.
2219 * doc/openmp-runtime-library-routines/omptestlock.rst:
2220 Add trailing newline.
2221 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2222 Add trailing newline.
2223 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2224 Add trailing newline.
2225 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2226 Add trailing newline.
2227 * doc/reporting-bugs.rst:
2228 Add trailing newline.
2229 * doc/the-libgomp-abi.rst:
2230 Add trailing newline.
2231 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2232 Add trailing newline.
2233 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2234 Add trailing newline.
2235 * doc/the-libgomp-abi/implementing-critical-construct.rst:
2236 Add trailing newline.
2237 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2238 Add trailing newline.
2239 * doc/the-libgomp-abi/implementing-flush-construct.rst:
2240 Add trailing newline.
2241 * doc/the-libgomp-abi/implementing-for-construct.rst:
2242 Add trailing newline.
2243 * doc/the-libgomp-abi/implementing-master-construct.rst:
2244 Add trailing newline.
2245 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2246 Add trailing newline.
2247 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2248 Add trailing newline.
2249 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2250 Add trailing newline.
2251 * doc/the-libgomp-abi/implementing-private-clause.rst:
2252 Add trailing newline.
2253 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2254 Add trailing newline.
2255 * doc/the-libgomp-abi/implementing-sections-construct.rst:
2256 Add trailing newline.
2257 * doc/the-libgomp-abi/implementing-single-construct.rst:
2258 Add trailing newline.
2259 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2260 Add trailing newline.
2262 2022-11-14 Martin Liska <mliska@suse.cz>
2265 2022-11-09 Martin Liska <mliska@suse.cz>
2267 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2269 2022-11-14 Martin Liska <mliska@suse.cz>
2272 2022-11-14 Martin Liska <mliska@suse.cz>
2274 * doc/conf.py: Add newline at last line.
2276 2022-11-14 Martin Liska <mliska@suse.cz>
2279 2022-11-14 Martin Liska <mliska@suse.cz>
2282 * configure: Regenerate.
2283 * configure.ac: Always set sphinx-build.
2285 2022-11-13 Martin Liska <mliska@suse.cz>
2288 * configure: Regenerate.
2289 * configure.ac: Always set sphinx-build.
2291 2022-11-12 Jakub Jelinek <jakub@redhat.com>
2294 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2295 unsigned long. Change type of upper from unsigned to unsigned long.
2297 2022-11-10 Martin Liska <mliska@suse.cz>
2299 * doc/conf.py: Add newline at last line.
2301 2022-11-09 Martin Liska <mliska@suse.cz>
2303 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2305 2022-11-09 Martin Liska <mliska@suse.cz>
2307 * doc/amd-radeon-gcn.rst:
2308 Add trailing newline.
2309 * doc/copyright.rst:
2310 Add trailing newline.
2311 * doc/cuda-streams-usage.rst:
2312 Add trailing newline.
2313 * doc/enabling-openacc.rst:
2314 Add trailing newline.
2315 * doc/enabling-openmp.rst:
2316 Add trailing newline.
2317 * doc/first-invocation-nvidia-cublas-library-api.rst:
2318 Add trailing newline.
2319 * doc/first-invocation-openacc-library-api.rst:
2320 Add trailing newline.
2322 Add trailing newline.
2323 * doc/general-public-license-3.rst:
2324 Add trailing newline.
2325 * doc/gnu-free-documentation-license.rst:
2326 Add trailing newline.
2327 * doc/implementation-status-and-implementation-defined-behavior.rst:
2328 Add trailing newline.
2330 Add trailing newline.
2331 * doc/indices-and-tables.rst:
2332 Add trailing newline.
2333 * doc/introduction.rst:
2334 Add trailing newline.
2335 * doc/memory-allocation-with-libmemkind.rst:
2336 Add trailing newline.
2338 Add trailing newline.
2339 * doc/offload-target-specifics.rst:
2340 Add trailing newline.
2341 * doc/openacc-environment-variables.rst:
2342 Add trailing newline.
2343 * doc/openacc-environment-variables/accdevicenum.rst:
2344 Add trailing newline.
2345 * doc/openacc-environment-variables/accdevicetype.rst:
2346 Add trailing newline.
2347 * doc/openacc-environment-variables/accproflib.rst:
2348 Add trailing newline.
2349 * doc/openacc-environment-variables/gccaccnotify.rst:
2350 Add trailing newline.
2351 * doc/openacc-introduction.rst:
2352 Add trailing newline.
2353 * doc/openacc-library-and-environment-variables.rst:
2354 Add trailing newline.
2355 * doc/openacc-library-interoperability.rst:
2356 Add trailing newline.
2357 * doc/openacc-profiling-interface.rst:
2358 Add trailing newline.
2359 * doc/openacc-runtime-library-routines.rst:
2360 Add trailing newline.
2361 * doc/openacc-runtime-library-routines/accasynctest.rst:
2362 Add trailing newline.
2363 * doc/openacc-runtime-library-routines/accasynctestall.rst:
2364 Add trailing newline.
2365 * doc/openacc-runtime-library-routines/accattach.rst:
2366 Add trailing newline.
2367 * doc/openacc-runtime-library-routines/acccopyin.rst:
2368 Add trailing newline.
2369 * doc/openacc-runtime-library-routines/acccopyout.rst:
2370 Add trailing newline.
2371 * doc/openacc-runtime-library-routines/acccreate.rst:
2372 Add trailing newline.
2373 * doc/openacc-runtime-library-routines/accdelete.rst:
2374 Add trailing newline.
2375 * doc/openacc-runtime-library-routines/accdetach.rst:
2376 Add trailing newline.
2377 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2378 Add trailing newline.
2379 * doc/openacc-runtime-library-routines/accfree.rst:
2380 Add trailing newline.
2381 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2382 Add trailing newline.
2383 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2384 Add trailing newline.
2385 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2386 Add trailing newline.
2387 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2388 Add trailing newline.
2389 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2390 Add trailing newline.
2391 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2392 Add trailing newline.
2393 * doc/openacc-runtime-library-routines/accgetproperty.rst:
2394 Add trailing newline.
2395 * doc/openacc-runtime-library-routines/acchostptr.rst:
2396 Add trailing newline.
2397 * doc/openacc-runtime-library-routines/accinit.rst:
2398 Add trailing newline.
2399 * doc/openacc-runtime-library-routines/accispresent.rst:
2400 Add trailing newline.
2401 * doc/openacc-runtime-library-routines/accmalloc.rst:
2402 Add trailing newline.
2403 * doc/openacc-runtime-library-routines/accmapdata.rst:
2404 Add trailing newline.
2405 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2406 Add trailing newline.
2407 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2408 Add trailing newline.
2409 * doc/openacc-runtime-library-routines/accondevice.rst:
2410 Add trailing newline.
2411 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2412 Add trailing newline.
2413 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2414 Add trailing newline.
2415 * doc/openacc-runtime-library-routines/accproflookup.rst:
2416 Add trailing newline.
2417 * doc/openacc-runtime-library-routines/accprofregister.rst:
2418 Add trailing newline.
2419 * doc/openacc-runtime-library-routines/accprofunregister.rst:
2420 Add trailing newline.
2421 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2422 Add trailing newline.
2423 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2424 Add trailing newline.
2425 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2426 Add trailing newline.
2427 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2428 Add trailing newline.
2429 * doc/openacc-runtime-library-routines/accshutdown.rst:
2430 Add trailing newline.
2431 * doc/openacc-runtime-library-routines/accunmapdata.rst:
2432 Add trailing newline.
2433 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2434 Add trailing newline.
2435 * doc/openacc-runtime-library-routines/accupdateself.rst:
2436 Add trailing newline.
2437 * doc/openacc-runtime-library-routines/accwait.rst:
2438 Add trailing newline.
2439 * doc/openacc-runtime-library-routines/accwaitall.rst:
2440 Add trailing newline.
2441 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2442 Add trailing newline.
2443 * doc/openacc-runtime-library-routines/accwaitasync.rst:
2444 Add trailing newline.
2445 * doc/openmp-context-selectors.rst:
2446 Add trailing newline.
2447 * doc/openmp-environment-variables.rst:
2448 Add trailing newline.
2449 * doc/openmp-environment-variables/gompcpuaffinity.rst:
2450 Add trailing newline.
2451 * doc/openmp-environment-variables/gompdebug.rst:
2452 Add trailing newline.
2453 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2454 Add trailing newline.
2455 * doc/openmp-environment-variables/gompspincount.rst:
2456 Add trailing newline.
2457 * doc/openmp-environment-variables/gompstacksize.rst:
2458 Add trailing newline.
2459 * doc/openmp-environment-variables/ompcancellation.rst:
2460 Add trailing newline.
2461 * doc/openmp-environment-variables/ompdefaultdevice.rst:
2462 Add trailing newline.
2463 * doc/openmp-environment-variables/ompdisplayenv.rst:
2464 Add trailing newline.
2465 * doc/openmp-environment-variables/ompdynamic.rst:
2466 Add trailing newline.
2467 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2468 Add trailing newline.
2469 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2470 Add trailing newline.
2471 * doc/openmp-environment-variables/ompnested.rst:
2472 Add trailing newline.
2473 * doc/openmp-environment-variables/ompnumteams.rst:
2474 Add trailing newline.
2475 * doc/openmp-environment-variables/ompnumthreads.rst:
2476 Add trailing newline.
2477 * doc/openmp-environment-variables/ompplaces.rst:
2478 Add trailing newline.
2479 * doc/openmp-environment-variables/ompprocbind.rst:
2480 Add trailing newline.
2481 * doc/openmp-environment-variables/ompschedule.rst:
2482 Add trailing newline.
2483 * doc/openmp-environment-variables/ompstacksize.rst:
2484 Add trailing newline.
2485 * doc/openmp-environment-variables/omptargetoffload.rst:
2486 Add trailing newline.
2487 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2488 Add trailing newline.
2489 * doc/openmp-environment-variables/ompthreadlimit.rst:
2490 Add trailing newline.
2491 * doc/openmp-environment-variables/ompwaitpolicy.rst:
2492 Add trailing newline.
2493 * doc/openmp-implementation-specifics.rst:
2494 Add trailing newline.
2495 * doc/openmp-implementation-status.rst:
2496 Add trailing newline.
2497 * doc/openmp-implementation-status/openmp-45.rst:
2498 Add trailing newline.
2499 * doc/openmp-implementation-status/openmp-50.rst:
2500 Add trailing newline.
2501 * doc/openmp-implementation-status/openmp-51.rst:
2502 Add trailing newline.
2503 * doc/openmp-implementation-status/openmp-52.rst:
2504 Add trailing newline.
2505 * doc/openmp-runtime-library-routines.rst:
2506 Add trailing newline.
2507 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2508 Add trailing newline.
2509 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2510 Add trailing newline.
2511 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2512 Add trailing newline.
2513 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2514 Add trailing newline.
2515 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2516 Add trailing newline.
2517 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2518 Add trailing newline.
2519 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2520 Add trailing newline.
2521 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2522 Add trailing newline.
2523 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2524 Add trailing newline.
2525 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2526 Add trailing newline.
2527 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2528 Add trailing newline.
2529 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2530 Add trailing newline.
2531 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2532 Add trailing newline.
2533 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2534 Add trailing newline.
2535 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2536 Add trailing newline.
2537 * doc/openmp-runtime-library-routines/ompgetnested.rst:
2538 Add trailing newline.
2539 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2540 Add trailing newline.
2541 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2542 Add trailing newline.
2543 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2544 Add trailing newline.
2545 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2546 Add trailing newline.
2547 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2548 Add trailing newline.
2549 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2550 Add trailing newline.
2551 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2552 Add trailing newline.
2553 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2554 Add trailing newline.
2555 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2556 Add trailing newline.
2557 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2558 Add trailing newline.
2559 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2560 Add trailing newline.
2561 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2562 Add trailing newline.
2563 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2564 Add trailing newline.
2565 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2566 Add trailing newline.
2567 * doc/openmp-runtime-library-routines/ompinfinal.rst:
2568 Add trailing newline.
2569 * doc/openmp-runtime-library-routines/ompinitlock.rst:
2570 Add trailing newline.
2571 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2572 Add trailing newline.
2573 * doc/openmp-runtime-library-routines/ompinparallel.rst:
2574 Add trailing newline.
2575 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2576 Add trailing newline.
2577 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2578 Add trailing newline.
2579 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2580 Add trailing newline.
2581 * doc/openmp-runtime-library-routines/ompsetlock.rst:
2582 Add trailing newline.
2583 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2584 Add trailing newline.
2585 * doc/openmp-runtime-library-routines/ompsetnested.rst:
2586 Add trailing newline.
2587 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2588 Add trailing newline.
2589 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2590 Add trailing newline.
2591 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2592 Add trailing newline.
2593 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2594 Add trailing newline.
2595 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2596 Add trailing newline.
2597 * doc/openmp-runtime-library-routines/omptestlock.rst:
2598 Add trailing newline.
2599 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2600 Add trailing newline.
2601 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2602 Add trailing newline.
2603 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2604 Add trailing newline.
2605 * doc/reporting-bugs.rst:
2606 Add trailing newline.
2607 * doc/the-libgomp-abi.rst:
2608 Add trailing newline.
2609 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2610 Add trailing newline.
2611 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2612 Add trailing newline.
2613 * doc/the-libgomp-abi/implementing-critical-construct.rst:
2614 Add trailing newline.
2615 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2616 Add trailing newline.
2617 * doc/the-libgomp-abi/implementing-flush-construct.rst:
2618 Add trailing newline.
2619 * doc/the-libgomp-abi/implementing-for-construct.rst:
2620 Add trailing newline.
2621 * doc/the-libgomp-abi/implementing-master-construct.rst:
2622 Add trailing newline.
2623 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2624 Add trailing newline.
2625 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2626 Add trailing newline.
2627 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2628 Add trailing newline.
2629 * doc/the-libgomp-abi/implementing-private-clause.rst:
2630 Add trailing newline.
2631 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2632 Add trailing newline.
2633 * doc/the-libgomp-abi/implementing-sections-construct.rst:
2634 Add trailing newline.
2635 * doc/the-libgomp-abi/implementing-single-construct.rst:
2636 Add trailing newline.
2637 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2638 Add trailing newline.
2640 2022-11-09 Martin Liska <mliska@suse.cz>
2642 * Makefile.in: Build info pages conditionally.
2644 2022-11-09 Martin Liska <mliska@suse.cz>
2646 * Makefile.in: Support --with-sphinx-build.
2647 * configure.ac: Likewise..
2648 * configure: Regenerate.
2650 2022-11-09 Martin Liska <mliska@suse.cz>
2652 * libgomp.texi: Removed.
2654 2022-11-09 Martin Liska <mliska@suse.cz>
2656 * Makefile.in: Support Sphinx based documentation.
2658 2022-11-09 Martin Liska <mliska@suse.cz>
2660 * doc/amd-radeon-gcn.rst: New file.
2661 * doc/conf.py: New file.
2662 * doc/copyright.rst: New file.
2663 * doc/cuda-streams-usage.rst: New file.
2664 * doc/enabling-openacc.rst: New file.
2665 * doc/enabling-openmp.rst: New file.
2666 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2667 * doc/first-invocation-openacc-library-api.rst: New file.
2668 * doc/funding.rst: New file.
2669 * doc/general-public-license-3.rst: New file.
2670 * doc/gnu-free-documentation-license.rst: New file.
2671 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2672 * doc/index.rst: New file.
2673 * doc/indices-and-tables.rst: New file.
2674 * doc/introduction.rst: New file.
2675 * doc/memory-allocation-with-libmemkind.rst: New file.
2676 * doc/nvptx.rst: New file.
2677 * doc/offload-target-specifics.rst: New file.
2678 * doc/openacc-environment-variables.rst: New file.
2679 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2680 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2681 * doc/openacc-environment-variables/accproflib.rst: New file.
2682 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2683 * doc/openacc-introduction.rst: New file.
2684 * doc/openacc-library-and-environment-variables.rst: New file.
2685 * doc/openacc-library-interoperability.rst: New file.
2686 * doc/openacc-profiling-interface.rst: New file.
2687 * doc/openacc-runtime-library-routines.rst: New file.
2688 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2689 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2690 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2691 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2692 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2693 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2694 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2695 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2696 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2697 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2698 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2699 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2700 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2701 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2702 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2703 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2704 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2705 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2706 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2707 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2708 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2709 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2710 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2711 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2712 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2713 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2714 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2715 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2716 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2717 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2718 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2719 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2720 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2721 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2722 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2723 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2724 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2725 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2726 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2727 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2728 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2729 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2730 * doc/openmp-context-selectors.rst: New file.
2731 * doc/openmp-environment-variables.rst: New file.
2732 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2733 * doc/openmp-environment-variables/gompdebug.rst: New file.
2734 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2735 * doc/openmp-environment-variables/gompspincount.rst: New file.
2736 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2737 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2738 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2739 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2740 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2741 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2742 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2743 * doc/openmp-environment-variables/ompnested.rst: New file.
2744 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2745 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2746 * doc/openmp-environment-variables/ompplaces.rst: New file.
2747 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2748 * doc/openmp-environment-variables/ompschedule.rst: New file.
2749 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2750 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2751 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2752 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2753 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2754 * doc/openmp-implementation-specifics.rst: New file.
2755 * doc/openmp-implementation-status.rst: New file.
2756 * doc/openmp-implementation-status/openmp-45.rst: New file.
2757 * doc/openmp-implementation-status/openmp-50.rst: New file.
2758 * doc/openmp-implementation-status/openmp-51.rst: New file.
2759 * doc/openmp-implementation-status/openmp-52.rst: New file.
2760 * doc/openmp-runtime-library-routines.rst: New file.
2761 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2762 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2763 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2764 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2765 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2766 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2767 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2768 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2769 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2770 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2771 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2772 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2773 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2774 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2775 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2776 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2777 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2778 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2779 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2780 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2781 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2782 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2783 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2784 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2785 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2786 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2787 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2788 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2789 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2790 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2791 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2792 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2793 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2794 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2795 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2796 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2797 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2798 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2799 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2800 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2801 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2802 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2803 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2804 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2805 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2806 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2807 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2808 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2809 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2810 * doc/reporting-bugs.rst: New file.
2811 * doc/the-libgomp-abi.rst: New file.
2812 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2813 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2814 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2815 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2817 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2818 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2819 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2820 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2821 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2822 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2823 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2824 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2825 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2826 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2827 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2829 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2831 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2832 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2834 * plugin/configfrag.ac <enable_offload_targets>
2835 [*-intelmic-* | *-intelmicemul-*]: Remove.
2836 * configure: Regenerate.
2837 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2839 (offload_target_to_openacc_device_type)
2840 [$offload_target = *-intelmic*]: Remove.
2841 (check_effective_target_offload_device_intel_mic)
2842 (check_effective_target_offload_device_any_intel_mic): Remove.
2843 * testsuite/libgomp.c-c++-common/on_device_arch.h
2844 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2845 (any_device_arch_intel_mic): Remove.
2846 * testsuite/libgomp.c-c++-common/target-45.c: Remove
2847 'offload_device_any_intel_mic' XFAIL.
2848 * testsuite/libgomp.fortran/target10.f90: Likewise.
2850 2022-11-03 Tobias Burnus <tobias@codesourcery.com>
2852 * testsuite/libgomp.fortran/target-11.f90: New test.
2853 * testsuite/libgomp.fortran/target-13.f90: New test.
2855 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2859 * oacc-mem.c (goacc_enter_data_internal): Support
2860 OpenACC 'declare create' with Fortran allocatable arrays, part II.
2861 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2863 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2865 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2868 * oacc-mem.c (goacc_enter_data_internal): Support
2869 OpenACC 'declare create' with Fortran allocatable arrays, part I.
2870 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2872 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2875 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2877 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2880 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2882 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2885 2022-11-02 Cesar Philippidis <cesar@codesourcery.com>
2886 Thomas Schwinge <thomas@codesourcery.com>
2888 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2890 2022-10-28 Julian Brown <julian@codesourcery.com>
2891 Thomas Schwinge <thomas@codesourcery.com>
2894 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2895 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2896 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2897 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2898 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2900 2022-10-24 Thomas Schwinge <thomas@codesourcery.com>
2902 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2903 'ptx_dev->rev_data'.
2905 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
2907 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2908 'static' for this variable.
2909 * config/nvptx/libgomp-nvptx.h: New file.
2910 * config/nvptx/target.c: Include it.
2911 (GOMP_ADDITIONAL_ICVS): Declare extern var.
2912 (GOMP_REV_OFFLOAD_VAR): Declare var.
2913 (GOMP_target_ext): Handle reverse offload.
2914 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2915 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2916 * target.c (gomp_target_rev): ... this new stub function.
2917 * libgomp.h (gomp_target_rev): Declare.
2918 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2919 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2920 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2921 (struct ptx_device): Add rev_data member.
2922 (nvptx_open_device): Remove async_engines query, last used in
2923 r10-304-g1f4c5b9b; add unified-address assert check.
2924 (GOMP_OFFLOAD_get_num_devices): Claim unified address
2926 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2927 offload functions exist. Make offload var available
2929 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2930 (GOMP_OFFLOAD_run): Handle reverse offload.
2932 2022-10-21 Thomas Schwinge <thomas@codesourcery.com>
2934 PR tree-optimization/107195
2936 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2939 2022-10-20 Tobias Burnus <tobias@codesourcery.com>
2941 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2943 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2944 on_device_arch_gcn): New.
2945 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2946 requires-4.c but using heap-allocated memory.
2948 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2951 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
2953 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2955 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
2956 '-foffload-options' syntax.
2958 2022-10-13 Tobias Burnus <tobias@codesourcery.com>
2960 * testsuite/libgomp.fortran/task-7.f90: New test.
2961 * testsuite/libgomp.fortran/task-8.f90: New test.
2962 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
2963 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
2964 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
2965 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
2966 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
2968 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2970 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
2971 in deprecation bullet.
2973 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2975 * omp.h.in (omp_in_explicit_task): Declare.
2976 * omp_lib.h.in (omp_in_explicit_task): Likewise.
2977 * omp_lib.f90.in (omp_in_explicit_task): New interface.
2978 * libgomp.map (OMP_5.2): New symbol version, export
2979 omp_in_explicit_task and omp_in_explicit_task_.
2980 * task.c (omp_in_explicit_task): New function.
2981 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
2982 (omp_in_explicit_task_): New function.
2983 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
2984 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
2985 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
2986 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
2988 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2990 * task.c (gomp_create_artificial_team): Fix up handling of invocations
2991 from within explicit task.
2992 * target.c (GOMP_target_ext): Likewise.
2993 * testsuite/libgomp.c/task-7.c: New test.
2994 * testsuite/libgomp.c/task-8.c: New test.
2995 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
2996 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
2998 2022-10-12 Martin Liska <mliska@suse.cz>
3000 * configure: Regenerate.
3002 2022-10-11 Olivier Hainque <hainque@adacore.com>
3003 Olivier Hainque <hainque@adacore.com>
3005 * configure: Regenerate.
3007 2022-10-05 Tobias Burnus <tobias@codesourcery.com>
3009 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
3011 2022-10-04 Jakub Jelinek <jakub@redhat.com>
3013 * libgomp.texi (Support begin/end declare target syntax in C/C++):
3014 Mark as implemented.
3016 2022-09-30 Tobias Burnus <tobias@codesourcery.com>
3019 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
3021 2022-09-28 Tobias Burnus <tobias@codesourcery.com>
3023 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
3024 for C/C++. Remove duplicated 'begin declare target' entry.
3026 2022-09-24 Jakub Jelinek <jakub@redhat.com>
3029 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
3031 2022-09-14 Julian Brown <julian@codesourcery.com>
3033 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
3034 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
3035 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
3036 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
3037 test to here, make "run" test.
3039 2022-09-13 Jakub Jelinek <jakub@redhat.com>
3042 * env.c (get_icv_member_addr): Cast false to void * before assigning
3043 it to icv_addr[1], and comment the whole assignment out.
3045 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
3047 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3050 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
3052 * libgomp.texi (Offload-Target Specifics: nvptx): Document
3053 that reverse offload requires >= -march=sm_35.
3054 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3056 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3057 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3058 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3059 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3060 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3062 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
3064 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3065 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3067 2022-09-12 Jakub Jelinek <jakub@redhat.com>
3070 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3071 (main): Avoid tests for which corresponding non-_ALL suffixed variable
3072 is in the environment, or for OMP_NUM_TEAMS on the device
3073 OMP_NUM_TEAMS_DEV_?.
3075 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
3077 * env.c (initialize_env): Include libiberty environ.h.
3079 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3081 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3082 function address table '$offload_func_table' if rev_fn_table
3085 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3087 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3088 .offload_func_table to populate rev_fn_table when requested.
3090 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3092 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3093 'uint64_t **rev_fn_table' argument.
3094 * oacc-host.c (host_load_image): Likewise.
3095 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3097 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3098 * target.c (gomp_load_image_to_device): Update call but pass
3101 2022-09-09 Jakub Jelinek <jakub@redhat.com>
3104 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3105 char * for dest[1] initialization from params[1]. Formatting fixes.
3107 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
3110 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3112 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
3114 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3115 section; move OpenMP Context Selectors from ...
3116 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3119 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
3121 * config/gcn/icv-device.c (omp_get_default_device): Return device-
3123 (omp_get_max_teams): Added for GCN devices.
3124 (omp_set_num_teams): Likewise.
3126 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3128 (omp_get_max_teams): Added for NVPTX devices.
3129 (omp_set_num_teams): Likewise.
3131 * env.c (struct gomp_icv_list): New struct to store entries of initial
3133 (struct gomp_offload_icv_list): New struct to store entries of device-
3134 specific ICV values that are copied to the device and back.
3135 (struct gomp_default_icv_values): New struct to store default values of
3136 ICVs according to the OpenMP standard.
3137 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3138 (print_env_var_error): Function that prints an error for invalid values
3140 (parse_unsigned_long_1): Removed getenv. Generalized.
3141 (parse_unsigned_long): Likewise.
3142 (parse_int_1): Likewise.
3143 (parse_int): Likewise.
3144 (parse_int_secure): Likewise.
3145 (parse_unsigned_long_list): Likewise.
3146 (parse_target_offload): Likewise.
3147 (parse_bind_var): Likewise.
3148 (parse_stacksize): Likewise.
3149 (parse_boolean): Likewise.
3150 (parse_wait_policy): Likewise.
3151 (parse_allocator): Likewise.
3152 (omp_display_env): Extended to output different variants of environment
3154 (print_schedule): New helper function for omp_display_env which prints
3155 the values of run_sched_var.
3156 (print_proc_bind): New helper function for omp_display_env which prints
3157 the values of proc_bind_var.
3158 (enum gomp_parse_type): Collection of types used for parsing environment
3160 (ENTRY): Preprocess string lengths of environment variables.
3161 (OMP_VAR_CNT): Preprocess table size.
3162 (OMP_HOST_VAR_CNT): Likewise.
3163 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3165 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3166 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3167 (print_device_specific_icvs): New helper function for omp_display_env to
3168 print device specific ICV values.
3169 (get_device_num): New helper function for parse_device_specific.
3170 Extracts the device number from an environment variable name.
3171 (get_icv_member_addr): Gets the memory address for a particular member
3173 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3174 (initialize_icvs): New function to initialize a gomp_initial_icvs
3176 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3177 (startswith): Checks if a string starts with a given prefix.
3178 (initialize_env): Extended to parse the new syntax of environment
3180 * icv-device.c (omp_get_max_teams): Added.
3182 (omp_set_num_teams): Likewise.
3183 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3184 (omp_get_max_teams): Likewise.
3186 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3187 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3188 holds the designated ICVs of the target device.
3189 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3190 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3192 (enum gomp_env_suffix): Collection of possible suffixes of environment
3194 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3196 (struct gomp_default_icv):New struct to hold ICVs for which we need
3197 to store initial values.
3198 (struct gomp_icv_list): Definition of a linked list that is used for
3199 storing ICVs for the devices and also for _DEV, _ALL, and without
3201 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3203 (struct gomp_offload_icv_list): Definition of a linked list that holds
3204 device-specific ICVs that are copied to devices.
3205 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3206 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3207 * libgomp.texi: Updated.
3208 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3209 further ICVs from the offload image.
3210 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3211 * target.c (gomp_get_offload_icv_item): Get a list item of
3212 gomp_offload_icv_list.
3213 (get_gomp_offload_icvs): New. Returns the ICV values
3214 depending on the device num and the variable hierarchy.
3215 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3216 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3217 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3218 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3219 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3220 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3221 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3223 2022-09-08 Jakub Jelinek <jakub@redhat.com>
3225 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3227 * testsuite/libgomp.c/doacross-4.c: New test.
3228 * testsuite/libgomp.c/doacross-5.c: New test.
3229 * testsuite/libgomp.c/doacross-6.c: New test.
3230 * testsuite/libgomp.c/doacross-7.c: New test.
3232 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
3234 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3236 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
3238 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3239 refer to 'requires'.
3240 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3241 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3242 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3243 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3245 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
3247 PR middle-end/106548
3248 * testsuite/libgomp.c/linear-2.c: New test.
3250 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
3252 * splay-tree.h: Fix splay_* macro unsetting if
3253 splay_tree_prefix is defined.
3255 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
3257 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3259 2022-07-29 Jakub Jelinek <jakub@redhat.com>
3261 PR middle-end/106449
3262 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3264 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
3266 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3268 2022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3270 PR middle-end/101551
3271 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3272 'offloading_enabled' diagnostics issue.
3274 2022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3276 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3277 '_Pragma' diagnostics verification.
3279 2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3281 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3282 improved warning locations.
3283 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3285 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3287 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3288 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3289 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3290 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3291 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3293 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3295 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3296 Denote as legacy entry points.
3297 * testsuite/lib/libgomp.exp
3298 (check_effective_target_offload_target_any): New proc.
3299 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3300 'offload_target_any'.
3301 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3302 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3303 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3305 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3307 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3308 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3310 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3312 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3314 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3316 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3318 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3320 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
3321 Jakub Jelinek <jakub@redhat.com>
3323 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3325 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
3326 Chung-Lin Tang <cltang@codesourcery.com>
3327 Thomas Schwinge <thomas@codesourcery.com>
3329 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3330 omp_requires_mask arg.
3331 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3332 return -1 when device available but omp_requires_mask != 0.
3333 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3334 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3336 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3337 goacc_attach_host_thread_to_device, acc_get_num_devices,
3338 acc_set_device_num, get_property_any): Likewise.
3339 * target.c (omp_requires_mask): New global var.
3340 (gomp_requires_to_name): New.
3341 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3342 (gomp_target_init): Handle omp_requires_mask.
3343 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3344 (OpenMP 5.1): Add a missed item.
3345 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3346 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3347 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3348 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3349 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3350 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3351 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3352 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3353 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3354 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3355 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3356 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3357 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3358 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3359 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3360 * testsuite/libgomp.fortran/requires-1.f90: New test.
3362 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
3364 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3365 with fromto as implemented.
3367 2022-06-28 Martin Liska <mliska@suse.cz>
3369 * acinclude.m4: Fix typo in mold linker detection.
3370 * Makefile.in: Regenerate.
3371 * configure: Regenerate.
3373 2022-06-21 Jakub Jelinek <jakub@redhat.com>
3374 Paul Iannetta <piannetta@kalrayinc.com>
3377 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3379 2022-06-17 Martin Liska <mliska@suse.cz>
3381 * libgomp.texi: Add table header for new features of
3384 2022-06-15 Jakub Jelinek <jakub@redhat.com>
3386 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3387 q to ddress of an automatic variable. Use -5 instead of -1 in
3388 omp_get_mapped_ptr call. Add test with omp_initial_device.
3389 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3390 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3391 Renumber stop arguments afterwards.
3393 2022-06-13 Jakub Jelinek <jakub@redhat.com>
3395 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3396 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3398 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3399 * target.c (resolve_device): Add remapped argument, handle
3400 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3401 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3402 if remapped, otherwise treat omp_initial_device that way. For
3403 omp_invalid_device, always emit gomp_fatal, even when
3404 OMP_TARGET_OFFLOAD isn't mandatory.
3405 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3406 GOMP_target_update, GOMP_target_update_ext,
3407 GOMP_target_enter_exit_data): Pass true as remapped argument to
3409 (omp_target_alloc, omp_target_free, omp_target_is_present,
3410 omp_target_memcpy_check, omp_target_associate_ptr,
3411 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3412 omp_target_is_accessible): Pass false as remapped argument to
3413 resolve_device. Treat omp_initial_device the same as
3414 gomp_get_num_devices (). Don't bypass resolve_device calls if
3415 device_num is negative.
3416 (omp_pause_resource): Treat omp_initial_device the same as
3417 gomp_get_num_devices (). Call resolve_device.
3418 * icv-device.c (omp_set_default_device): Always set to device_num
3419 even when it is negative.
3420 * libgomp.texi: Document that Conforming device numbers,
3421 omp_initial_device and omp_invalid_device is implemented.
3422 * testsuite/libgomp.c/target-41.c (main): Add test with
3424 * testsuite/libgomp.c/target-45.c: New test.
3425 * testsuite/libgomp.c/target-46.c: New test.
3426 * testsuite/libgomp.c/target-47.c: New test.
3427 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3428 test with omp_initial_device. Use -5 instead of -1 for negative value
3430 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3431 Likewise. Reorder stop numbers.
3433 2022-06-10 Jakub Jelinek <jakub@redhat.com>
3435 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3436 rather than "libmemkind.so".
3438 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3440 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3441 * plugin/configfrag.ac (--with-cuda-driver)
3442 (--with-cuda-driver-include, --with-cuda-driver-lib)
3443 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3444 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3446 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3447 (cuda_driver_lib): Remove.
3448 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3449 * Makefile.in: Regenerate.
3450 * configure: Likewise.
3451 * testsuite/Makefile.in: Likewise.
3453 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3455 * config/linux/allocator.c: Fix up #include directive.
3457 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3459 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3460 (enum gomp_memkind_kind): New type.
3461 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3463 (struct gomp_memkind_data): New type.
3464 (memkind_data, memkind_data_once): New variables.
3465 (gomp_init_memkind, gomp_get_memkind): New functions.
3466 (omp_init_allocator): Initialize data.memkind, don't fail for
3467 omp_high_bw_mem_space if libmemkind supports it.
3468 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3469 memkind support of LIBGOMP_USE_MEMKIND is defined.
3470 * config/linux/allocator.c: New file.
3472 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
3474 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3475 * testsuite/libgomp.fortran/scope-2.f90: New test.
3477 2022-06-02 David Malcolm <dmalcolm@redhat.com>
3479 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3481 2022-05-31 Jakub Jelinek <jakub@redhat.com>
3483 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3484 scope construct with allocate clause.
3485 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3486 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3488 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
3490 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3491 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3492 explicit 'to' and 'enter' clause.
3493 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3495 2022-05-28 Jakub Jelinek <jakub@redhat.com>
3498 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3499 defined(HAVE__ALIGNED_MALLOC) case.
3500 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3501 handling as last option before fallback instead of first.
3502 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3505 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3507 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3509 * testsuite/libgomp.c/target-41.c: Likewise.
3511 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
3513 * libgomp.texi (Other new OpenMP 5.1 features): Add
3514 'begin declare target'.
3515 (Other new OpenMP 5.2 features): New.
3517 2022-05-25 Jakub Jelinek <jakub@redhat.com>
3519 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3520 is the last task taskwait depend depends on, wake it up.
3521 Similarly if it is the last child of a taskgroup, use atomic
3522 store instead of decrement and awak taskgroup wait if any.
3523 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3525 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3527 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3528 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3529 (gcn_gfx90a_s): New.
3530 (isa_hsa_name): Support gfx90a.
3531 (isa_code): Likewise.
3533 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
3536 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3537 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3539 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3542 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3543 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3544 * task.c (empty_task): New function.
3545 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3546 (gomp_task_run_post_handle_depend): Declare.
3547 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3549 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3550 (GOMP_taskwait_depend_nowait): New function.
3551 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3553 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
3556 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3557 Support attach for GOMP_MAP_FIRSTPRIVATE.
3558 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3559 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3560 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3562 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3564 * libgomp.map: Added omp_target_memcpy_async and
3565 omp_target_memcpy_rect_async.
3566 * libgomp.texi: Both functions are now supported.
3567 * omp.h.in: Added omp_target_memcpy_async and
3568 omp_target_memcpy_rect_async.
3569 * omp_lib.f90.in: Added interfaces for both new functions.
3570 * omp_lib.h.in: Likewise.
3571 * target.c (ialias_redirect): Added for GOMP_task.
3572 (omp_target_memcpy): Restructured into check and copy part.
3573 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3574 omp_target_memcpy_async that checks requirements.
3575 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3576 omp_target_memcpy_async that performs the memcpy.
3577 (omp_target_memcpy_async_helper): New helper function that is used in
3578 omp_target_memcpy_async for the asynchronous task.
3579 (omp_target_memcpy_async): Added.
3580 (omp_target_memcpy_rect): Restructured into check and copy part.
3581 (omp_target_memcpy_rect_check): New helper function for
3582 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3584 (omp_target_memcpy_rect_copy): New helper function for
3585 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3587 (omp_target_memcpy_rect_async_helper): New helper function that is used
3588 in omp_target_memcpy_rect_async for the asynchronous task.
3589 (omp_target_memcpy_rect_async): Added.
3590 * task.c (ialias): Added for GOMP_task.
3591 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3592 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3593 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3594 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3595 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3596 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3597 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3598 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3600 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
3602 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3603 (OpenMP Context Selectors): Add missing comma.
3604 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3605 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3606 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3607 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3609 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3611 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3612 comment for omp_display_env feature.
3614 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3616 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3617 to document OpenMP context selectors.
3619 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3621 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3622 from bool to unsigned char.
3623 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3624 Ignore dependencies where
3625 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3626 rather than just task->depend[i].is_in && ent->is_in. Remember
3627 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3629 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3630 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3631 rather than just elem.is_in && ent->is_in.
3632 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3633 inoutset depend-kind.
3634 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3635 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3636 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3638 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3640 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3642 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3644 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3645 * testsuite/libgomp.fortran/depend-5.f90: New test.
3646 * testsuite/libgomp.fortran/depend-6.f90: New test.
3647 * testsuite/libgomp.fortran/depend-7.f90: New test.
3649 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3651 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3652 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3653 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3655 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
3657 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3659 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
3661 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3663 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3665 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3666 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3667 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3668 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3669 * Makefile.in: Regenerate.
3671 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3673 * Makefile.am (libgomp_la_LIBADD): Initialize.
3674 * plugin/configfrag.ac (DL_LIBS): New.
3675 (PLUGIN_GCN_LIBS): Remove.
3676 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3677 * plugin/Makefrag.am (libgomp_la_LIBADD)
3678 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3679 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3680 * Makefile.in: Regenerate.
3681 * config.h.in: Likewise.
3682 * configure: Likewise.
3683 * testsuite/Makefile.in: Likewise.
3685 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3687 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3688 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3689 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3690 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3691 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3692 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3693 * Makefile.in: Regenerate.
3694 * config.h.in: Likewise.
3695 * configure: Likewise.
3697 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3699 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3700 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3701 * Makefile.in: Regenerate.
3702 * config.h.in: Likewise.
3703 * configure: Likewise.
3704 * testsuite/Makefile.in: Likewise.
3706 2022-05-12 Jakub Jelinek <jakub@redhat.com>
3708 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3709 * task.c (gomp_init_task): Initialize depend_all_memory.
3710 (gomp_task_handle_depend): Handle omp_all_memory.
3711 (gomp_task_run_post_handle_depend_hash): Clear
3712 parent->depend_all_memory if equal to current task.
3713 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3714 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3715 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3716 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3718 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3720 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3721 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3722 * Makefile.in: Regenerate.
3723 * configure: Likewise.
3724 * testsuite/Makefile.in: Likewise.
3726 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3728 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3729 consider 'PLUGIN_GCN_CPPFLAGS'.
3730 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3731 'PLUGIN_GCN_LDFLAGS'.
3732 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3734 * Makefile.in: Regenerate.
3735 * configure: Likewise.
3736 * testsuite/Makefile.in: Likewise.
3738 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3740 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3741 (HSA_RUNTIME_LDFLAGS): Remove.
3742 * configure: Regenerate.
3744 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3746 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3747 'append always_ld_library_path ":$hsa_runtime_lib"'.
3748 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3750 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3752 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3753 multi-device testing.
3755 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3757 * libgomp.map: Added omp_target_is_accessible.
3758 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3759 * omp.h.in: Added omp_target_is_accessible.
3760 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3761 * omp_lib.h.in: Likewise.
3762 * target.c (omp_target_is_accessible): Added implementation of
3763 omp_target_is_accessible.
3764 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3765 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3767 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3769 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3771 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3773 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3775 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3777 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3779 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3781 * libgomp.map: Added omp_get_mapped_ptr.
3782 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3783 * omp.h.in: Added omp_get_mapped_ptr.
3784 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3785 * omp_lib.h.in: Likewise.
3786 * target.c (omp_get_mapped_ptr): Added implementation of
3788 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3789 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3790 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3791 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3792 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3793 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3794 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3795 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3797 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
3800 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3801 privatization scanning. For GCN offloading compilation, raise
3802 '-mgang-private-size'.
3804 2022-04-26 Jakub Jelinek <jakub@redhat.com>
3807 * work.c (gomp_init_work_share): Don't mask of adjustment for
3808 dynamic long long realignment if struct gomp_work_share has smaller
3809 alignof than long long.
3810 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3811 struct gomp_work_share has smaller alignof than long long or if
3812 sizeof (struct gomp_work_share) is smaller than
3813 INLINE_ORDERED_TEAM_IDS_OFF.
3814 * loop_ull.c (GOMP_loop_ull_start): Likewise.
3815 * sections.c (GOMP_sections2_start): Likewise.
3817 2022-04-25 Jakub Jelinek <jakub@redhat.com>
3818 Thomas Schwinge <thomas@codesourcery.com>
3821 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3823 2022-04-13 Jakub Jelinek <jakub@redhat.com>
3825 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3827 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
3829 * plugin/cuda/cuda.h: Remove file.
3830 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3831 "cuda/cuda.h" instead of <cuda.h>.
3832 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3833 'PLUGIN_NVPTX_CPPFLAGS'.
3834 * configure: Regenerate.
3836 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
3838 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3840 2022-04-04 Tom de Vries <tdevries@suse.de>
3842 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3843 on_device_arch_nvptx instead of offload_target_nvptx.
3844 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3846 2022-04-01 Tom de Vries <tdevries@suse.de>
3848 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3850 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3852 2022-04-01 Tom de Vries <tdevries@suse.de>
3854 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3857 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
3858 Lulu Cheng <chenglulu@loongson.cn>
3860 * configure.tgt: Add LoongArch triplet.
3862 2022-03-28 Tom de Vries <tdevries@suse.de>
3864 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3865 instead of /libexec/.
3866 * configure: Regenerate.
3868 2022-03-25 Tom de Vries <tdevries@suse.de>
3871 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3873 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3874 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3876 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
3878 PR middle-end/104285
3879 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3880 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3881 * testsuite/libgomp.c++/target-same-name-2.C: New test.
3882 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3883 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3884 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3886 2022-03-22 Tom de Vries <tdevries@suse.de>
3890 * testsuite/libgomp.c/pr104783-2.c: New test.
3892 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
3895 * testsuite/libgomp.fortran/associate4.f90: New test.
3897 2022-03-18 Tom de Vries <tdevries@suse.de>
3900 * testsuite/libgomp.c/pr104952-1.c: New test.
3901 * testsuite/libgomp.c/pr104952-2.c: New test.
3903 2022-03-18 Jakub Jelinek <jakub@redhat.com>
3905 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3906 variable next to pl variable.
3908 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3910 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3912 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3913 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3915 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3918 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3919 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3921 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
3923 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3924 omp_set_max_active_levels.
3925 * testsuite/libgomp.fortran/icv-8.f90: New test.
3927 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
3930 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3932 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
3934 * libgomp.texi: Fix typo.
3936 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3938 PR middle-end/100280
3939 PR middle-end/104892
3940 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3941 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3942 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3944 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3946 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3947 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3948 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3951 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3953 PR middle-end/104892
3954 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
3956 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
3957 enable '--param=openacc-kernels=decompose' and adjust.
3958 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3960 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3961 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3964 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3967 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
3968 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
3969 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3970 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
3972 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3974 PR middle-end/100280
3975 PR middle-end/104086
3976 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3978 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3980 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
3982 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3985 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
3987 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
3988 trait. Test last index in w and v array. Remove redundant
3989 assignment to V(1). Move alignment checks at the end of
3992 2022-03-10 Tom de Vries <tdevries@suse.de>
3994 * testsuite/libgomp.c/pr104783.c: New test.
3996 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3999 PR middle-end/102330
4000 PR middle-end/104774
4001 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4003 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4005 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4007 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4009 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4011 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4013 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4015 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4019 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4021 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4023 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4025 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4027 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4029 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4030 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4031 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4033 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
4036 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
4037 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4038 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4039 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4041 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4044 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
4045 expected diagnostics.
4047 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4049 PR middle-end/104784
4050 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4051 Test with '--param=openacc-kernels=decompose'.
4052 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4054 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4056 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4058 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4060 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4062 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4064 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4066 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4068 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4070 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4072 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4074 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4076 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4078 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4080 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4082 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4084 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4086 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4088 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4090 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4092 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4094 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4096 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4098 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4100 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4102 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4104 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4106 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4108 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4110 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4112 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4114 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4117 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4119 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4120 Test '-fopt-info-omp-all'.
4121 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4123 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4125 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4127 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4129 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4131 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4133 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4135 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4137 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4139 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4141 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4143 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4145 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4147 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4149 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4151 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4153 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4155 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4157 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4159 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4161 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4163 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4165 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4167 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4169 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4171 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4173 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4175 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4177 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4179 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4181 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4183 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4186 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4188 PR middle-end/100280
4189 PR middle-end/104132
4190 PR middle-end/104133
4191 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4194 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4196 PR middle-end/100280
4197 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4198 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4201 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4203 PR middle-end/100280
4204 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4205 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4208 2022-02-28 Tom de Vries <tdevries@suse.de>
4210 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4211 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4212 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4213 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4214 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4215 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4217 2022-02-24 Tom de Vries <tdevries@suse.de>
4219 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4220 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4221 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4222 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4223 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4224 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4225 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4227 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4229 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4230 gang-redundant execution.
4232 2022-02-22 Tom de Vries <tdevries@suse.de>
4235 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4236 from config/rtems/bar.c.
4237 (futex_wait, futex_wake): New function.
4238 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4239 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4240 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4241 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4242 and replace with include of config/linux/bar.c.
4243 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4244 (gomp_barrier_init): Init new fields.
4245 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4247 * testsuite/libgomp.c/pr99555-1.c: Same.
4248 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4250 2022-02-22 Tom de Vries <tdevries@suse.de>
4253 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4254 -foffload=-Wa,--verify for nvptx.
4255 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4257 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
4259 * testsuite/libgomp.fortran/depend-4.f90: New test.
4261 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
4264 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4266 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4268 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4269 * target.c (copy_firstprivate_data): Copy only if host address is not
4271 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4272 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4273 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4274 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4275 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4276 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4277 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4278 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4279 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4280 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4282 2022-02-08 Jakub Jelinek <jakub@redhat.com>
4285 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4287 * testsuite/libgomp.c/pr104385.c: New test.
4289 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
4291 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4292 STOP of previous commit.
4294 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
4296 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4297 from is_64bit_aligned_.
4298 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4299 and use it, more implicit none, remove unused argument.
4301 2022-02-03 David Seifert <soap@gentoo.org>
4302 Jakub Jelinek <jakub@redhat.com>
4304 * configure.ac: Support --disable-werror.
4305 * configure: Regenerate.
4307 2022-02-01 Tom de Vries <tdevries@suse.de>
4309 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4311 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4312 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4314 2022-02-01 Tom de Vries <tdevries@suse.de>
4316 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4317 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4319 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4321 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4323 2022-02-01 Tom de Vries <tdevries@suse.de>
4325 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4327 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4329 2022-01-31 Martin Liska <mliska@suse.cz>
4331 * acinclude.m4: Detect *_ld_is_mold and use it.
4332 * configure: Regenerate.
4334 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
4336 * libgomp.texi (OpenMP 5.0): Update implementation status.
4338 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4340 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4341 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4342 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4343 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4344 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4345 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4346 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4347 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4348 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4349 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4350 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4351 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4352 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4353 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4354 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4356 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4358 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4359 "static") to make the device num available in the offload image.
4361 2022-01-19 Martin Liska <mliska@suse.cz>
4362 Thomas Schwinge <thomas@codesourcery.com>
4364 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4366 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4367 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4369 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4370 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4371 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4372 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4373 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4375 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4377 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4379 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4381 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4383 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4385 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4386 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4387 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4389 2022-01-18 Martin Liska <mliska@suse.cz>
4391 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4393 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4394 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4395 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4396 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4397 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4398 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4399 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4400 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4401 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4402 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4403 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4404 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4405 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4406 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4407 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4409 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4411 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4412 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4413 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4415 2022-01-17 Julian Brown <julian@codesourcery.com>
4416 Thomas Schwinge <thomas@codesourcery.com>
4418 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4419 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4420 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4422 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4423 Andrew Stubbs <ams@codesourcery.com>
4425 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4426 the number of teams and threads if necessary.
4427 (gcn_exec): Automatically set the number of gangs and workers if
4430 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4432 * testsuite/libgomp.fortran/allocate-1.c: New test.
4433 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4434 * libgomp.texi: Remove string that says that allocate clause
4435 support is for C/C++ only.
4437 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4439 * testsuite/libgomp.c-c++-common/on_device_arch.h
4440 (any_device_arch, any_device_arch_intel_mic): New.
4441 * testsuite/lib/libgomp.exp
4442 (check_effective_target_offload_device_any_intel_mic): New.
4443 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4444 * testsuite/libgomp.fortran/target10.f90: Likewise.
4446 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4448 PR tree-optimization/102192
4449 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4450 '-Wuninitialized' diagnostics.
4452 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4454 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4455 current '-Wuninitialized' diagnostics.
4456 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4457 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4458 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4459 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4460 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4461 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4462 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4463 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4464 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4465 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4466 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4469 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4471 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4472 for 'offload_device_intel_mic'.
4474 2022-01-13 Julian Brown <julian@codesourcery.com>
4475 Thomas Schwinge <thomas@codesourcery.com>
4477 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4478 offloading execution XFAIL.
4480 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4482 PR middle-end/100280
4483 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4485 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4486 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4489 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4491 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4493 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4495 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4496 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4497 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4498 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4499 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4501 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4502 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4503 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4504 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4506 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
4508 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4509 * testsuite/libgomp.fortran/target10.f90: Likewise.
4511 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4513 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4514 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4515 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4517 2022-01-03 Jakub Jelinek <jakub@redhat.com>
4519 * libgomp.texi: Bump @copying's copyright year.
4521 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
4523 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4524 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4526 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
4528 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4529 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4530 table, not individual symbols.
4532 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4534 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4535 "target offload_device_nonshared_as"
4536 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4537 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4539 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4541 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4542 not overwritten during cross-host/device copying.
4543 (gomp_update): Likewise.
4544 (gomp_exit_data): Likewise.
4545 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4546 * testsuite/libgomp.c++/target-12.C: Likewise.
4547 * testsuite/libgomp.c++/target-15.C: Likewise.
4548 * testsuite/libgomp.c++/target-16.C: Likewise.
4549 * testsuite/libgomp.c++/target-17.C: Likewise.
4550 * testsuite/libgomp.c++/target-21.C: Likewise.
4551 * testsuite/libgomp.c++/target-23.C: Likewise.
4552 * testsuite/libgomp.c/target-23.c: Likewise.
4553 * testsuite/libgomp.c/target-29.c: Likewise.
4554 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4556 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4559 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4560 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4561 (goacc_enter_data_internal): Likewise.
4562 * target.c (gomp_map_vars_existing): Update assert condition to
4563 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4564 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4565 parameter, add support for mapping a pointer with NULL target.
4566 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4567 parameter, add support for attaching a pointer with NULL target.
4568 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4569 gomp_attach_pointer, add handling for
4570 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4571 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4572 * testsuite/libgomp.c++/target-23.C: New testcase.
4573 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4574 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4575 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4576 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4577 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4578 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4579 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4581 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
4583 * libgomp.texi (OpenMP 5.1): Update status.
4585 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
4587 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4589 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4592 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4593 * testsuite/libgomp.fortran/pr90030.f90: New test.
4595 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4596 Thomas Schwinge <thomas@codesourcery.com>
4598 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4601 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4602 Thomas Schwinge <thomas@codesourcery.com>
4604 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4607 2021-11-29 Richard Biener <rguenther@suse.de>
4609 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4612 2021-11-24 Jakub Jelinek <jakub@redhat.com>
4614 PR middle-end/103384
4615 * testsuite/libgomp.c/declare-variant-2.c: New test.
4617 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
4619 * alloc.c (gomp_aligned_alloc): Fix typo.
4621 2021-11-18 Jakub Jelinek <jakub@redhat.com>
4624 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4625 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4626 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4627 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4628 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4629 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4630 gomp_aligned_alloc instead of team_malloc.
4632 2021-11-18 Jakub Jelinek <jakub@redhat.com>
4635 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4636 memalign over posix_memalign over aligned_alloc over fallback
4637 with malloc instead of aligned_alloc over _aligned_alloc over
4638 posix_memalign over memalign over fallback with malloc. For
4639 aligned_alloc, round up size up to multiple of al.
4641 2021-11-16 Jakub Jelinek <jakub@redhat.com>
4643 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4644 construct as implemented.
4646 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
4648 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4650 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4652 * task.c (gomp_create_target_task): Copy args array as well.
4653 * target.c (gomp_target_fallback): Add args argument.
4654 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4655 (GOMP_target): Adjust gomp_target_fallback caller.
4656 (GOMP_target_ext): Likewise.
4657 (gomp_target_task_fn): Likewise.
4658 * config/nvptx/team.c (gomp_nvptx_main): Set
4659 gomp_global_icv.thread_limit_var.
4660 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4662 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4664 * config/nvptx/team.c (__gomp_team_num): Define as
4665 __attribute__((shared)) var.
4666 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4667 * config/nvptx/target.c (__gomp_team_num): Declare as
4668 extern __attribute__((shared)) var.
4669 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4670 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4671 is bigger than num_blocks, use num_teams_lower teams and arrange for
4672 bumping of __gomp_team_num if !first and returning false once we run
4674 * config/nvptx/teams.c (__gomp_team_num): Declare as
4675 extern __attribute__((shared)) var.
4676 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4678 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4680 * testsuite/libgomp.c/teams-5.c: New test.
4682 2021-11-12 Jakub Jelinek <jakub@redhat.com>
4685 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4687 * config/gcn/teams.c: ... here. New file.
4689 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4691 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4692 implicit map handling to allow a "superset" existing map as valid case.
4693 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4694 (get_implicit): New function to extract implicit status.
4695 (gomp_map_fields_existing): Adjust arguments in calls to
4696 gomp_map_vars_existing, and add uses of get_implicit.
4697 (gomp_map_vars_internal): Likewise.
4698 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4700 2021-11-12 Jakub Jelinek <jakub@redhat.com>
4702 * libgomp_g.h (GOMP_teams4): Declare.
4703 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4704 * target.c (GOMP_teams4): New function.
4705 * config/nvptx/target.c (GOMP_teams): Remove.
4706 (GOMP_teams4): New function.
4707 * config/gcn/target.c (GOMP_teams): Remove.
4708 (GOMP_teams4): New function.
4709 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4710 teams instead of <= 2.
4711 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4713 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
4715 * testsuite/libgomp.fortran/teams-1.f90: New test.
4717 2021-11-11 Jakub Jelinek <jakub@redhat.com>
4719 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4720 * team.c (struct gomp_thread_start_data): Likewise.
4721 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4722 (gomp_team_start): Initialize start_data->num_teams and
4723 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4724 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4725 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4726 instead of gomp_num_teams and gomp_team_num.
4727 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4728 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4729 * testsuite/libgomp.c/teams-4.c: New test.
4731 2021-11-11 Jakub Jelinek <jakub@redhat.com>
4733 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4735 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4737 * env.c (parse_gomp_openacc_dim): Restore parsing.
4739 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
4741 PR middle-end/102972
4742 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4744 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4745 * testsuite/libgomp.c/target-3.c: Likewise.
4746 * testsuite/libgomp.c/target-5.c: Likewise.
4747 * testsuite/libgomp.c/target-6.c: Likewise.
4748 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4749 * testsuite/libgomp.c/teams-1.c: Likewise.
4750 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4751 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4752 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4753 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4754 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4755 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4756 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4758 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
4760 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4761 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4763 2021-10-27 Jakub Jelinek <jakub@redhat.com>
4765 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4766 aren't implemented for Fortran yet.
4768 2021-10-27 Jakub Jelinek <jakub@redhat.com>
4770 * testsuite/libgomp.c/loop-26.c: New test.
4771 * testsuite/libgomp.c/loop-27.c: New test.
4773 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
4776 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4777 instead of #include <alloca.h> + alloca.
4779 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4781 * libgomp.texi (Support of strictly structured blocks in Fortran):
4783 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4785 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4787 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4788 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4790 2021-10-20 Jakub Jelinek <jakub@redhat.com>
4793 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4794 (struct gomp_work_share): Only use aligned(64) attribute if
4795 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4796 add padding before lock to ensure lock is at offset 64 bytes
4798 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4799 New poor man's static assertions.
4800 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4801 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4803 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
4804 Richard Biener <rguenther@suse.de>
4806 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4808 2021-10-18 Jakub Jelinek <jakub@redhat.com>
4810 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4811 && gomp_places_list_len < count after nfirst <= nlast loop condition.
4813 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
4822 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4824 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4826 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4827 type from char [50] to const char *.
4828 (places_array): Add a testcase for simplified syntax place followed
4829 by length or length and stride.
4831 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4833 * env.c (parse_one_place): Handle non-negative-number the same
4834 as { non-negative-number }. Reject even !number:1 and
4835 !number:1:stride or !place:1 or !place:1:stride instead of just
4836 length other than 1.
4837 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4838 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4839 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4841 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4844 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4846 * env.c (parse_schedule): For strtoul or strtoull calls which don't
4847 clearly reject return value 0 as invalid handle the case where end
4848 pointer is the same as first argument as invalid.
4849 (parse_unsigned_long_1): Likewise.
4850 (parse_one_place): Likewise.
4851 (parse_places_var): Likewise.
4852 (parse_stacksize): Likewise.
4853 (parse_spincount): Likewise.
4854 (parse_affinity): Likewise.
4855 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
4856 Make code valid C89.
4857 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4858 For strtoul calls which don't clearly reject return value 0 as
4859 invalid handle the case where end pointer is the same as first
4860 argument as invalid.
4861 (gomp_affinity_init_level_1): Likewise.
4862 (gomp_affinity_init_numa_domains): Likewise.
4863 * config/rtems/proc.c (parse_thread_pools): Likewise.
4865 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4867 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4868 after creating count places clean up and return immediately.
4869 * testsuite/libgomp.c/places-6.c: New test.
4870 * testsuite/libgomp.c/places-7.c: New test.
4871 * testsuite/libgomp.c/places-8.c: New test.
4872 * testsuite/libgomp.c/places-9.c: New test.
4873 * testsuite/libgomp.c/places-10.c: New test.
4875 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4877 * env.c (parse_places_var): Handle numa_domains as level 5.
4878 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4880 (gomp_affinity_init_level): Use it instead of
4881 gomp_affinity_init_level_1 for level == 5.
4882 * testsuite/libgomp.c/places-5.c: New test.
4884 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4886 * env.c (parse_places_var): Handle ll_caches as level 4.
4887 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4889 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4891 (gomp_affinity_init_level): Likewise.
4892 * testsuite/libgomp.c/places-1.c: New test.
4893 * testsuite/libgomp.c/places-2.c: New test.
4894 * testsuite/libgomp.c/places-3.c: New test.
4895 * testsuite/libgomp.c/places-4.c: New test.
4897 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4899 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4902 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4904 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4906 2021-10-12 Julian Brown <julian@codesourcery.com>
4908 * target.c (gomp_copy_host2dev): Release device lock on cbuf
4911 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
4913 * testsuite/libgomp.fortran/icv-3.f90: New.
4914 * testsuite/libgomp.fortran/icv-4.f90: New.
4916 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4918 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4919 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4920 OMP_TEAMS_THREAD_LIMIT): Document.
4922 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4924 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4925 to avoid makeinfo warnings.
4927 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4929 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4930 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4932 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4936 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4937 allocation sizes from 420 to 320 and from 768 to 568.
4938 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4939 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4940 for cr from 16 to 4.
4942 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4944 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4945 * testsuite/libgomp.c/scan-12.c: Likewise.
4946 * testsuite/libgomp.c/scan-13.c: Likewise.
4947 * testsuite/libgomp.c/scan-14.c: Likewise.
4948 * testsuite/libgomp.c/scan-15.c: Likewise.
4949 * testsuite/libgomp.c/scan-16.c: Likewise.
4950 * testsuite/libgomp.c/scan-17.c: Likewise.
4951 * testsuite/libgomp.c/scan-18.c: Likewise.
4952 * testsuite/libgomp.c/scan-19.c: Likewise.
4953 * testsuite/libgomp.c/scan-20.c: Likewise.
4954 * testsuite/libgomp.c/scan-21.c: Likewise.
4955 * testsuite/libgomp.c/scan-22.c: Likewise.
4956 * testsuite/libgomp.c++/scan-9.C: Likewise.
4957 * testsuite/libgomp.c++/scan-10.C: Likewise.
4958 * testsuite/libgomp.c++/scan-11.C: Likewise.
4959 * testsuite/libgomp.c++/scan-12.C: Likewise.
4960 * testsuite/libgomp.c++/scan-13.C: Likewise.
4961 * testsuite/libgomp.c++/scan-14.C: Likewise.
4962 * testsuite/libgomp.c++/scan-15.C: Likewise.
4963 * testsuite/libgomp.c++/scan-16.C: Likewise.
4965 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
4967 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
4969 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
4971 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
4973 * omp.h.in: Add deprecated flag for omp_atv_sequential.
4974 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
4975 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
4976 * testsuite/libgomp.fortran/alloc-12.f90: New test.
4978 2021-10-11 Jakub Jelinek <jakub@redhat.com>
4980 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
4981 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4982 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
4983 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4984 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
4985 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4986 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
4987 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
4988 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
4989 omp_set_teams_thread_limit{,_,_8_}.
4990 * icv.c (omp_set_num_teams, omp_get_max_teams,
4991 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
4993 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
4994 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
4995 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
4997 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
4998 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
4999 is not specified, use gomp_nteams_var.
5000 * fortran.c (omp_set_num_teams, omp_get_max_teams,
5001 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
5003 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
5004 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
5005 omp_get_teams_thread_limit_): New functions.
5007 2021-10-09 liuhongt <hongtao.liu@intel.com>
5009 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
5010 * testsuite/libgomp.c++/scan-11.C: Ditto.
5011 * testsuite/libgomp.c++/scan-12.C: Ditto.
5012 * testsuite/libgomp.c++/scan-13.C: Ditto.
5013 * testsuite/libgomp.c++/scan-14.C: Ditto.
5014 * testsuite/libgomp.c++/scan-15.C: Ditto.
5015 * testsuite/libgomp.c++/scan-16.C: Ditto.
5016 * testsuite/libgomp.c++/scan-9.C: Ditto.
5017 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
5018 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
5019 * testsuite/libgomp.c/scan-11.c: Ditto.
5020 * testsuite/libgomp.c/scan-12.c: Ditto.
5021 * testsuite/libgomp.c/scan-13.c: Ditto.
5022 * testsuite/libgomp.c/scan-14.c: Ditto.
5023 * testsuite/libgomp.c/scan-15.c: Ditto.
5024 * testsuite/libgomp.c/scan-16.c: Ditto.
5025 * testsuite/libgomp.c/scan-17.c: Ditto.
5026 * testsuite/libgomp.c/scan-18.c: Ditto.
5027 * testsuite/libgomp.c/scan-19.c: Ditto.
5028 * testsuite/libgomp.c/scan-20.c: Ditto.
5029 * testsuite/libgomp.c/scan-21.c: Ditto.
5030 * testsuite/libgomp.c/scan-22.c: Ditto.
5032 2021-10-09 Jakub Jelinek <jakub@redhat.com>
5034 * libgomp.texi (OpenMP 5.1): Mention implemented support for
5035 structured block sequences in C/C++. Mention support for
5036 unconstrained/reproducible modifiers on order clause.
5037 Mention partial (C/C++ only) support of extentensions to atomics
5038 construct. Mention partial (C/C++ on clause only) support of
5039 align/allocator modifiers on allocate clause.
5041 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
5043 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
5044 based on libgomp.c-c++-common/order-reproducible-1.c.
5045 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
5046 * testsuite/libgomp.fortran/my-usleep.c: New test.
5048 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
5050 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5051 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5052 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5053 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5054 based on libgomp.c-c++-common/alloc-9.c.
5056 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5058 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5059 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5061 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5063 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5065 * env.c (handle_omp_display_env): Use ialias_call.
5066 * icv-device.c: Move ialias right below each function.
5067 (omp_get_device_num): Use ialias_call.
5068 * fortran.c (omp_fulfill_event): Add ialias_redirect.
5069 * icv.c (omp_get_active_level): Add ialias_redirect.
5071 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5073 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5074 __alloc_align__ (1) attribute.
5075 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5077 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
5079 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5080 for -fintrinsic-modules-path= warning of the C compiler.
5081 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5082 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5084 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
5086 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5087 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5088 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5090 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5092 * testsuite/libgomp.fortran/alloc-10.f90: New test.
5093 * testsuite/libgomp.fortran/alloc-6.f90: New test.
5094 * testsuite/libgomp.fortran/alloc-7.c: New test.
5095 * testsuite/libgomp.fortran/alloc-7.f90: New test.
5096 * testsuite/libgomp.fortran/alloc-8.f90: New test.
5097 * testsuite/libgomp.fortran/alloc-9.f90: New test.
5099 2021-09-30 Jakub Jelinek <jakub@redhat.com>
5101 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5102 omp_realloc): New prototypes.
5103 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5105 * allocator.c: Include string.h.
5106 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
5107 variable and use it instead of alignment so that when retrying the old
5108 alignment is used again. Don't retry if new alignment is the same
5109 as old alignment, unless allocator had pool size.
5110 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5111 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5112 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5113 omp_aligned_calloc and omp_realloc.
5114 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5115 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5116 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5117 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5118 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5119 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5121 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
5124 * configure.ac: Only check for int-type = 2*size_t support when
5125 building with Fortran support.
5126 * configure: Regenerate.
5128 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
5130 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5131 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5133 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
5135 * team.c: Initialize start_data.
5136 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5137 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5139 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
5141 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5142 dg-message back to dg-note.
5144 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
5147 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5148 expected dg-note output.
5150 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
5153 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5154 r12-3722 by removing -Wno-missing-include-dirs.
5155 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5157 2021-09-22 Jakub Jelinek <jakub@redhat.com>
5159 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5160 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5162 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
5165 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5167 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5169 2021-09-18 Jakub Jelinek <jakub@redhat.com>
5171 * testsuite/libgomp.c++/default-1.C: New test.
5172 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5173 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5174 to default clause in C and C++" as implemented.
5176 2021-09-17 Julian Brown <julian@codesourcery.com>
5178 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5180 2021-09-17 Julian Brown <julian@codesourcery.com>
5182 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5184 2021-09-17 Jakub Jelinek <jakub@redhat.com>
5186 * libgomp.texi (OpenMP 5.1): Spelling fix,
5187 declare variante -> declare variant.
5189 2021-09-17 Jakub Jelinek <jakub@redhat.com>
5191 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5192 Use /* */ comments instead of //.
5193 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5194 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5195 * testsuite/libgomp.c++/atomic-16.C: New test.
5196 * testsuite/libgomp.c++/atomic-17.C: New test.
5198 2021-09-10 Jakub Jelinek <jakub@redhat.com>
5200 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5201 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5202 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5204 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
5206 * libgomp.texi (OpenMP Implementation Status): Extend
5208 (OpenACC Profiling Interface): Fix typo.
5210 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
5212 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5213 not to 4.5; link to new section.
5214 (OpenMP Implementation Status): New.
5216 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5218 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5220 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
5222 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5224 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5226 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5227 Jakub Jelinek <jakub@redhat.com>
5229 * testsuite/libgomp.c/address-space-1.c: New file.
5231 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5233 * testsuite/lib/libgomp.exp
5234 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5235 (check_effective_target_offload_device_intel_mic): New 'proc'.
5236 * testsuite/libgomp.c-c++-common/on_device_arch.h
5237 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5238 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5240 * testsuite/libgomp.fortran/target10.f90: Likewise.
5242 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
5244 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5245 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5246 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5247 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5249 2021-08-23 Jakub Jelinek <jakub@redhat.com>
5251 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5252 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5253 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5255 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5257 * config/nvptx/error.c (fwrite, exit): Override, too.
5258 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5259 of offloading testing.
5260 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5262 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
5264 * testsuite/libgomp.fortran/error-1.f90: New test.
5266 2021-08-20 Jakub Jelinek <jakub@redhat.com>
5268 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5269 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5270 * error.c (GOMP_warning, GOMP_error): New functions.
5271 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5273 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
5275 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5276 omp_target_free. omp_target_is_present, omp_target_memcpy,
5277 omp_target_memcpy_rect, omp_target_associate_ptr,
5278 omp_target_disassociate_ptr): Add interface.
5279 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5280 omp_target_free. omp_target_is_present, omp_target_memcpy,
5281 omp_target_memcpy_rect, omp_target_associate_ptr,
5282 omp_target_disassociate_ptr): Add interface.
5283 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5284 interface block for omp_alloc + omp_free.
5285 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5286 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5287 * testsuite/libgomp.fortran/target-12.f90: New test.
5289 2021-08-18 Jakub Jelinek <jakub@redhat.com>
5291 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5293 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
5295 * testsuite/libgomp.fortran/scope-1.f90: New test.
5296 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5298 2021-08-17 Jakub Jelinek <jakub@redhat.com>
5300 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5301 * Makefile.in: Regenerated.
5302 * libgomp_g.h (GOMP_scope_start): Declare.
5303 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5304 * scope.c: New file.
5305 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5306 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5308 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5310 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5313 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
5315 * testsuite/libgomp.fortran/masked-1.f90: New test.
5317 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5319 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5321 2021-08-12 Jakub Jelinek <jakub@redhat.com>
5323 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5325 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
5327 * env.c (parse_bind_var): Accept 'primary' as alias for
5329 (omp_display_env): Add TODO comment to
5330 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5331 * libgomp.texi: Change 'master thread' to 'primary thread'
5332 in line with OpenMP 5.1.
5333 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5334 omp_proc_bind_master is an alias of it.
5335 (OMP_PROC_BIND): Mention 'PRIMARY'.
5336 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5337 (omp_proc_bind_primary): Add.
5338 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5339 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5340 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5341 * omp_lib.h.in (omp_proc_bind_primary): Add.
5342 * testsuite/libgomp.c/affinity-1.c: Check that
5343 'primary' works and is identical to 'master'.
5345 2021-08-09 Julian Brown <julian@codesourcery.com>
5346 Kwok Cheung Yeung <kcy@codesourcery.com>
5347 Thomas Schwinge <thomas@codesourcery.com>
5349 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5351 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5352 [acc_device_radeon]: Update.
5353 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5354 [ACC_DEVICE_TYPE_radeon]: Likewise.
5355 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5356 [acc_device_radeon]: Likewise.
5357 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5358 [ACC_DEVICE_TYPE_radeon]: Likewise.
5359 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5360 'openacc_radeon_accel_selected' and '-O0'.
5361 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5363 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5365 * icv-device.c (omp_get_device_num): New API function, host side.
5366 * fortran.c (omp_get_device_num_): New interface function.
5367 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5368 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5369 omp_get_device_num_.
5370 * libgomp.texi (omp_get_device_num): Add documentation for new API
5372 * omp.h.in (omp_get_device_num): Add declaration.
5373 * omp_lib.f90.in (omp_get_device_num): Likewise.
5374 * omp_lib.h.in (omp_get_device_num): Likewise.
5375 * target.c (gomp_load_image_to_device): If additional entry for device
5376 number exists at end of returned entries from 'load_image_func' hook,
5377 copy the assigned device number over to the device variable.
5378 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5379 (omp_get_device_num): New API function, device side.
5380 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5381 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5382 at end of returned 'target_table' entries.
5383 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5384 (omp_get_device_num): New API function, device side.
5385 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5386 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5387 at end of returned 'target_table' entries.
5388 * testsuite/lib/libgomp.exp
5389 (check_effective_target_offload_target_intelmic): New function for
5390 testing for intelmic offloading.
5391 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5392 * testsuite/libgomp.fortran/target10.f90: New test.
5394 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5395 Ulrich Drepper <drepper@redhat.com>
5397 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5398 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5400 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5401 Julian Brown <julian@codesourcery.com>
5402 Kwok Cheung Yeung <kcy@codesourcery.com>
5404 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5405 's%oaccdevlow%oaccloops%g'.
5406 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5407 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5408 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5410 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5412 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5414 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5416 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5418 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5420 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5422 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5424 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5426 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
5428 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5430 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5432 2021-07-27 Ulrich Drepper <drepper@gmail.com>
5434 * env.c (wait_policy, stacksize): New static variables,
5435 move out of handle_omp_display_env.
5436 (omp_display_env): New function. The meat of the old
5437 handle_omp_display_env function.
5438 (handle_omp_display_env): Change to not take parameters
5439 and instead use the global variables. Only perform
5440 parsing, defer to omp_display_env for the implementation.
5441 (initialize_env): Remove local variables wait_policy and
5442 stacksize. Don't pass parameters to handle_omp_display_env.
5443 * fortran.c: Add ialias_redirect for omp_display_env.
5444 (omp_display_env_, omp_display_env_8_): New functions.
5445 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5446 omp_display_env_, and omp_display_env_8_.
5447 * omp.h.in: Declare omp_display_env.
5448 * omp_lib.f90.in: Likewise.
5449 * omp_lib.h.in: Likewise.
5451 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5452 Julian Brown <julian@codesourcery.com>
5454 * target.c (gomp_coalesce_buf_add): Update comment.
5455 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5457 (gomp_map_vars_internal): Only 'if (!aq)', do
5458 'gomp_coalesce_buf_add'.
5459 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5462 2021-07-27 Julian Brown <julian@codesourcery.com>
5463 Thomas Schwinge <thomas@codesourcery.com>
5465 * libgomp.h (gomp_copy_host2dev): Update prototype.
5466 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5467 argument to gomp_copy_host2dev (false).
5468 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5469 (copy_data): Don't free src.
5470 (queue_push_copy): Remove free_src handling.
5471 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5472 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5474 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5476 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5477 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5478 data when true, and set up deferred freeing of temporary buffer.
5479 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5480 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5481 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5482 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5483 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5486 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5487 Tom de Vries <tom@codesourcery.com>
5489 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5490 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5492 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5494 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5495 sequencing of 'async' data copying vs. profiling events.
5496 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5499 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5500 Julian Brown <julian@codesourcery.com>
5502 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5503 'async'/'wait' issue.
5504 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5505 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5506 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5508 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5509 Joseph Myers <joseph@codesourcery.com>
5510 Cesar Philippidis <cesar@codesourcery.com>
5512 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5514 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5516 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5518 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5520 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5523 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5524 '-Wno-error=array-bounds'.
5525 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5526 * libgomp.h [__AMDGCN__]: Likewise.
5528 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5531 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5532 * libgomp.h [__AMDGCN__]: Likewise.
5534 2021-07-13 Jakub Jelinek <jakub@redhat.com>
5535 Florian Weimer <fweimer@redhat.com>
5537 * config/linux/sem.h: Don't include limits.h.
5538 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5539 * config/linux/affinity.c: Include limits.h.
5541 2021-07-01 Jakub Jelinek <jakub@redhat.com>
5544 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5546 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
5549 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5550 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5551 avoid disabling other offload targets.
5552 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5553 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5554 * testsuite/libgomp.c/target-44.c: Likewise.
5556 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
5558 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5559 target has shared memory and disable some scalar pointer/allocatable
5560 checks if not as firstprivate does not work.
5562 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5565 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5566 Add "target offload_device_nonshared_as" condition for enabling test.
5568 2021-06-24 Jakub Jelinek <jakub@redhat.com>
5570 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5571 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5572 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5573 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5575 2021-06-23 Jakub Jelinek <jakub@redhat.com>
5577 PR middle-end/101167
5578 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5580 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5582 * hashtab.h (htab_clear): New function with initialization code
5583 factored out from...
5584 (htab_create): ...here, adjust to use htab_clear function.
5585 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5586 special refcount values, add comments.
5587 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5588 (REFCOUNT_LINK): Likewise.
5589 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5591 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5593 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5594 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5595 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5596 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5597 (struct splay_tree_key_s): Add structelem_refcount and
5598 structelem_refcount_ptr fields into a union with dynamic_refcount.
5600 (gomp_map_vars): Delete declaration.
5601 (gomp_map_vars_async): Likewise.
5602 (gomp_unmap_vars): Likewise.
5603 (gomp_unmap_vars_async): Likewise.
5604 (goacc_map_vars): New declaration.
5605 (goacc_unmap_vars): Likewise.
5606 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5607 (goacc_enter_datum): Likewise.
5608 (goacc_enter_data_internal): Likewise.
5609 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5610 and goacc_unmap_vars.
5611 (GOACC_data_start): Adjust to use goacc_map_vars.
5612 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5613 * target.c (hash_entry_type): New typedef.
5614 (htab_alloc): New function hook for hashtab.h.
5615 (htab_free): Likewise.
5616 (htab_hash): Likewise.
5617 (htab_eq): Likewise.
5618 (hashtab.h): Add file include.
5619 (gomp_increment_refcount): New function.
5620 (gomp_decrement_refcount): Likewise.
5621 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5622 gomp_increment_refcount.
5623 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5624 to gomp_map_vars_existing.
5625 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5626 variable to guard OpenMP specific paths, adjust calls to
5627 gomp_map_vars_existing, add structure element sibling splay_tree_key
5628 sequence creation code, adjust Fortran map case to avoid increment
5630 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5631 local refcount_set if caller passed in NULL, adjust call to
5632 gomp_map_vars_internal.
5633 (gomp_map_vars_async): Adjust and rename into...
5634 (goacc_map_vars): ...this new function, adjust call to
5635 gomp_map_vars_internal.
5636 (gomp_remove_splay_tree_key): New function with code factored out from
5637 gomp_remove_var_internal.
5638 (gomp_remove_var_internal): Add code to handle removing multiple
5639 splay_tree_key sequence for structure elements, adjust code to use
5640 gomp_remove_splay_tree_key for splay-tree key removal.
5641 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5642 gomp_decrement_refcount.
5643 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5644 local refcount_set if caller passed in NULL, adjust call to
5645 gomp_unmap_vars_internal.
5646 (gomp_unmap_vars_async): Adjust and rename into...
5647 (goacc_unmap_vars): ...this new function, adjust call to
5648 gomp_unmap_vars_internal.
5649 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5651 (GOMP_target_ext): Likewise.
5652 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5653 (GOMP_target_data): Likewise.
5654 (GOMP_target_data_ext): Likewise.
5655 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5656 (gomp_exit_data): Add refcount_set parameter, adjust to use
5657 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5659 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5660 gomp_map_vars and gomp_exit_data.
5661 (gomp_target_task_fn): Likewise.
5662 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5663 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5664 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5665 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5666 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5667 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5669 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
5672 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5674 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
5675 Thomas Schwinge <thomas@codesourcery.com>
5677 * libgomp.map (GOACC_2.0.2): New symbol version.
5678 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5679 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5681 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5682 Andrew Stubbs <ams@codesourcery.com>
5684 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5686 (GOACC_enter_exit_data): ... here.
5687 (GOACC_declare): Use it.
5689 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5691 * oacc-parallel.c (GOACC_declare): Move...
5692 * oacc-mem.c: ... here.
5693 * libgomp_g.h: Adjust.
5695 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
5696 Thomas Schwinge <thomas@codesourcery.com>
5698 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5701 2021-06-10 Jakub Jelinek <jakub@redhat.com>
5703 PR tree-optimization/100981
5704 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5705 dsdotr and dsdoti to 0.
5707 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
5709 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5710 if atomic compare-and-swap is supported on 'int'.
5712 2021-06-09 Richard Biener <rguenther@suse.de>
5714 PR tree-optimization/100981
5715 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5717 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5719 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5721 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5723 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5724 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5726 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5728 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5729 '-DACC_MEM_SHARED=0'.
5730 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5731 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5732 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5733 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5734 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5735 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5736 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5737 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5738 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5739 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5740 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5741 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5742 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5743 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5744 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5745 'acc_device_radeon' testing.
5746 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5747 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5748 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5749 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5750 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5751 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5752 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5753 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5754 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5755 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5756 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5757 for non-'openacc_nvidia_accel_selected'.
5758 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5759 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5760 all implement this checking".
5761 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5762 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5763 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5764 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5765 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5767 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5769 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5770 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5772 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5774 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5775 for 'acc_device_radeon'.
5777 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5779 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5780 for non-'acc_device_nvidia'.
5782 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5784 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5785 'acc_device_radeon' testing.
5786 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5787 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5788 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5790 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5792 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5793 require 'openacc_nvidia_accel_selected'. Fix up for
5794 'ACC_DEVICE_TYPE_radeon'.
5796 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5798 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5799 'openacc_nvidia_accel_selected'.
5800 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5802 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5804 * testsuite/lib/libgomp.exp
5805 (check_effective_target_openacc_radeon_accel_selected):
5808 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5810 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5813 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5815 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5816 <acc_device_nvidia>: Update comment.
5818 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
5820 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5822 2021-05-27 Jakub Jelinek <jakub@redhat.com>
5824 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5825 check_effective_target_openacc_cublas,
5826 check_effective_target_openacc_cudart): New.
5827 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5828 target openacc_cublas.
5829 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5830 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5831 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5832 target openacc_cuda.
5833 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5834 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5835 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5836 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5837 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5838 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5839 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5840 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5841 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5842 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5843 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5844 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5845 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5846 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5847 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5848 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5849 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5850 targets openacc_cublas and openacc_cudart.
5851 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5852 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5853 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5854 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5855 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5856 Require effective target openacc_cudart.
5857 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5858 for effective target openacc_cuda and add && defined USE_CUDA_H to
5859 preprocessor conditionals. Guard -lcuda also on openacc_cuda
5862 2021-05-26 Jakub Jelinek <jakub@redhat.com>
5865 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5866 GOMP_target_end_data, GOMP_target_update_ext,
5867 GOMP_target_enter_exit_data): New dummy entrypoints.
5868 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5869 GOMP_target_end_data, GOMP_target_update_ext,
5870 GOMP_target_enter_exit_data): Likewise.
5871 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5872 OMPFROM, OMPTO): Define.
5873 (main): Remove #pragma omp target teams around all the tests.
5874 * testsuite/libgomp.c-c++-common/target-41.c: New test.
5875 * testsuite/libgomp.c-c++-common/target-42.c: New test.
5877 2021-05-25 Jakub Jelinek <jakub@redhat.com>
5880 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5882 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
5885 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5886 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5887 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5889 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
5892 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5893 uninteresting/varying diagnostics.
5895 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5898 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5899 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5901 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5904 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5906 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5907 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5908 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5910 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5912 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5914 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5916 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5918 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5920 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5922 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5924 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5926 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5928 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5930 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5932 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5934 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5936 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5938 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5940 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5942 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5944 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5946 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5948 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5950 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5951 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5952 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5953 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
5954 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5955 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5956 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5957 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5958 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5959 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5960 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5961 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5962 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5963 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5964 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5966 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
5968 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
5970 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5972 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5973 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5975 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5976 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5977 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5978 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5979 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
5980 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5981 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5983 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5985 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5987 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5989 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5991 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5993 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5995 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5997 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5999 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
6001 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
6003 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
6005 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
6007 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6008 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6009 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6011 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6013 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6014 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
6015 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6017 2021-05-21 Julian Brown <julian@codesourcery.com>
6018 Chung-Lin Tang <cltang@codesourcery.com>
6019 Thomas Schwinge <thomas@codesourcery.com>
6022 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
6024 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
6026 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
6029 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
6031 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
6032 for nvptx offloading.
6034 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
6036 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
6038 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
6041 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
6043 2021-05-19 Julian Brown <julian@codesourcery.com>
6045 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
6047 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6049 * testsuite/lib/libgomp.exp
6050 (check_effective_target_offload_target_nvptx): Don't shadow global
6051 'offload_targets' variable.
6053 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6055 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6056 '-latomic' to nvptx offloading compilation.
6057 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6059 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6061 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6062 offloading compilation.
6064 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
6066 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6067 if new tasks generated.
6068 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6070 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
6072 * testsuite/libgomp.fortran/parallel-master.f90: New test.
6074 2021-05-13 Martin Liska <mliska@suse.cz>
6077 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6078 * testsuite/libgomp.c/pr46032-2.c: Likewise.
6079 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6080 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6082 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
6084 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6085 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6087 2021-05-11 Jakub Jelinek <jakub@redhat.com>
6089 PR middle-end/100471
6090 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6091 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6093 * testsuite/libgomp.c/task-reduction-4.c: New test.
6095 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
6096 Tom de Vries <tdevries@suse.de>
6098 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6099 complex/floating-point || + && reduction with 'omp target'.
6100 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6102 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
6104 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6105 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6106 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6107 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6109 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
6112 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6113 declaration to scope of non-'depend'-guarded assignment to avoid races.
6115 2021-05-03 Tom de Vries <tdevries@suse.de>
6118 * testsuite/libgomp.c/target-44.c: New test.
6120 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
6122 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6124 2021-04-29 Tom de Vries <tdevries@suse.de>
6126 * testsuite/libgomp.c/pr81778.c: New test.
6128 2021-04-29 Tom de Vries <tdevries@suse.de>
6131 * testsuite/libgomp.c/target-43.c: New file.
6133 2021-04-28 Jakub Jelinek <jakub@redhat.com>
6134 Tobias Burnus <tobias@codesourcery.com>
6136 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6137 * target.c (gomp_load_plugin_for_device): If set and if a plugin
6138 can't be dlopened, silently assume it has no devices.
6139 * Makefile.in: Regenerate.
6140 * config.h.in: Regenerate.
6141 * configure: Regenerate.
6143 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
6145 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6146 Use [Ww]arning in dg-bogus as FE diagnostic and default
6147 diagnostic differ and the result depends on ENABLE_OFFLOAD.
6148 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6149 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6150 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6152 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
6154 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6155 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6156 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6157 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6158 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6160 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6161 Nathan Sidwell <nathan@codesourcery.com>
6162 Tom de Vries <vries@codesourcery.com>
6163 Julian Brown <julian@codesourcery.com>
6164 Kwok Cheung Yeung <kcy@codesourcery.com>
6166 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6167 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6168 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6169 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6170 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6171 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6172 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6174 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6175 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6176 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6177 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6179 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6180 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6182 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6183 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6184 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6185 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6186 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6187 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6189 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6190 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6191 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6192 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6193 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6194 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6195 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6196 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6197 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6198 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6199 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6201 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6203 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6205 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6206 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6208 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6209 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6210 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6211 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6212 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6213 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6214 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6216 2021-04-22 Richard Biener <rguenther@suse.de>
6218 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6221 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6223 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6224 omp_depend_kind instead of defining it as 16.
6226 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6228 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6229 New, based on check_effective_target_offload_target_nvptx.
6230 (check_effective_target_offload_target_nvptx): Call it.
6231 (check_effective_target_offload_target_amdgcn): New.
6232 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6233 Require target offload_target_nvptx || offload_target_amdgcn.
6234 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6235 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6236 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6238 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6240 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6242 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6244 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6245 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6246 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6248 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6250 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6252 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6255 * testsuite/lib/libgomp.exp
6256 (check_effective_target_offload_device_nvptx): New.
6257 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6258 resolved, make sure that we exit quickly, with error status,
6260 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6261 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6263 2021-04-14 Jakub Jelinek <jakub@redhat.com>
6266 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6267 cp = omp_alloc with cp, p arguments instead of cq, q and call
6268 c_f_pointer after last cq = omp_alloc with cq, q.
6270 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6273 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6274 for loop with GT/GE condition.
6275 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6277 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6282 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6284 2021-04-09 Jakub Jelinek <jakub@redhat.com>
6287 * team.c (gomp_thread_start): Call pthread_setspecific for
6288 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6289 has been initialized to avoid false positive warning.
6291 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
6294 * testsuite/lib/on_device_arch.c: Move to ...
6295 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6296 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6297 #include on_device_arch.h.
6298 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6299 on_device_arch.h instead of using dg-additional-source.
6300 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6301 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6302 on_device_arch.c without relative paths.
6304 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6306 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6307 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6308 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6309 * config.h.in: Regenerate.
6310 * configure: Likewise.
6312 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6315 * testsuite/lib/on_device_arch.c: New file.
6316 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6317 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6318 skip for nvptx offloading, with error status.
6319 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6321 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6323 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6324 OpenACC 'serial' construct diagnostic for nvptx offloading.
6326 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
6329 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6331 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
6334 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6336 2021-03-04 Jakub Jelinek <jakub@redhat.com>
6338 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6339 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6340 checking of -m32 or -mx32 options on the command line.
6341 * config.h.in: Regenerated.
6342 * configure: Regenerated.
6344 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6346 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6347 support from the target.
6349 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6350 Jakub Jelinek <jakub@redhat.com>
6353 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6354 (struct gomp_task): Replace detach and completion_sem fields with
6355 union containing completion_sem and detach_team. Add deferred_p
6357 (struct gomp_team): Remove task_detach_queue.
6358 * task.c: Include assert.h.
6359 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6360 Rearrange initialization order of fields.
6361 (task_fulfilled_p): Delete.
6362 (GOMP_task): Use address of task as the event handle. Remove
6363 initialization of detach field. Initialize deferred_p field.
6364 Use automatic local for completion_sem. Initialize detach_team field
6366 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6367 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6368 decrement task_running_count. Move finish_cancelled block out of
6369 else branch. Relocate call to gomp_team_barrier_done.
6370 (GOMP_taskwait): Handle tasks with completion events that have not
6372 (GOMP_taskgroup_end): Likewise.
6373 (omp_fulfill_event): Use address of task as event handle. Post to
6374 completion_sem for undeferred tasks. Clear detach_team if task
6375 has not finished. For finished tasks, handle post-execution tasks,
6376 call gomp_team_barrier_wake if necessary, and free task.
6377 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6378 (free_team): Remove free of task_detach_queue.
6379 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6380 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6381 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6382 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6383 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6384 Change data-sharing of detach events on enclosing parallel to private.
6385 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6387 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6388 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6389 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6390 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6391 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6392 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6393 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6394 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6395 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6396 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6397 Change data-sharing of detach events on enclosing parallel to private.
6398 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6400 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6401 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6402 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6403 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6404 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6406 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
6409 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6411 2021-02-17 Julian Brown <julian@codesourcery.com>
6413 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6416 2021-02-17 Julian Brown <julian@codesourcery.com>
6418 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6419 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6421 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6423 * config/linux/x86/futex.h (__futex_wait):
6424 Revert output type back to long.
6425 (__futex_wake): Ditto.
6426 (futex_wait): Update for revert.
6427 (futex_wake): Ditto.
6429 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6431 * config/linux/x86/futex.h (__futex_wait): New static inline
6432 wrapper function. Correct output type to int and
6433 timeout type to void *.
6434 (__futex_wake): New static inline wrapper function.
6435 Correct output type to int.
6436 (futex_wait): Use __futex_wait.
6437 (futex_wake): Use __futex_wake.
6439 2021-02-10 Julian Brown <julian@codesourcery.com>
6442 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6445 2021-02-04 Julian Brown <julian@codesourcery.com>
6447 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6449 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
6451 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6452 EF_AMDGPU_MACH_AMDGCN_GFX908.
6453 (gcn_gfx908_s): New constant string.
6454 (isa_hsa_name): Add gfx908.
6455 (isa_code): Add gfx908.
6457 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6459 * libgomp.texi (omp_fulfill_event): New entry.
6461 2021-01-20 Jakub Jelinek <jakub@redhat.com>
6463 * task.c (GOMP_task): Rename priority argument to priority_arg,
6464 add priority automatic variable and modify that variable. Instead of
6465 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6466 check flags for that bit.
6468 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
6471 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6473 2021-01-18 Andreas Schwab <schwab@suse.de>
6475 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6477 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6479 * config/rtems/sem.h (gomp_sem_getcount): New function.
6481 2021-01-18 Jakub Jelinek <jakub@redhat.com>
6483 * config/linux/sem.h (gomp_sem_getcount): New function.
6484 * config/posix/sem.h (gomp_sem_getcount): New function.
6485 * config/posix/sem.c (gomp_sem_getcount): New function.
6486 * config/accel/sem.h (gomp_sem_getcount): New function.
6487 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6488 (omp_fulfill_event): Likewise.
6490 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6492 * fortran.c (omp_fulfill_event_): New.
6493 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6494 (struct gomp_team): Add task_detach_queue and task_detach_count
6496 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6497 * libgomp_g.h (GOMP_task): Add extra argument.
6498 * omp.h.in (enum omp_event_handle_t): New.
6499 (omp_fulfill_event): New.
6500 * omp_lib.f90.in (omp_event_handle_kind): New.
6501 (omp_fulfill_event): New.
6502 * omp_lib.h.in (omp_event_handle_kind): New.
6503 (omp_fulfill_event): Declare.
6504 * priority_queue.c (priority_tree_find): New.
6505 (priority_list_find): New.
6506 (priority_queue_find): New.
6507 * priority_queue.h (priority_queue_predicate): New.
6508 (priority_queue_find): New.
6509 * task.c (gomp_init_task): Initialize detach field.
6510 (task_fulfilled_p): New.
6511 (GOMP_task): Add detach argument. Ignore detach argument if
6512 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6513 field. Copy address of completion_sem into detach argument and
6514 into the start of the data record. Wait for detach event if task
6516 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6517 Remove completed tasks and requeue dependent tasks.
6518 (omp_fulfill_event): New.
6519 * team.c (gomp_new_team): Initialize task_detach_queue and
6520 task_detach_count fields.
6521 (free_team): Free task_detach_queue field.
6522 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6523 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6524 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6525 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6526 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6527 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6528 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6529 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6530 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6531 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6532 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6533 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6535 2021-01-15 Jakub Jelinek <jakub@redhat.com>
6538 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6539 be added through preprocessor check on
6540 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6542 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6545 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6547 * configure: Regenerate.
6548 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6551 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6553 * configure: Re-generate.
6555 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6557 * configure: Re-generate.
6559 2021-01-05 Julian Brown <julian@codesourcery.com>
6561 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6562 (struct ptx_device): Add omp_stacks struct.
6563 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6564 (nvptx_close_device): Free cached stacks block and mutex.
6565 (nvptx_stacks_free): New function.
6566 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6567 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6568 (nvptx_stacks_alloc): Rename to...
6569 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6570 size or smaller is required.
6571 (nvptx_stacks_free): Remove.
6572 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6573 during kernel execution.
6575 2021-01-01 Jakub Jelinek <jakub@redhat.com>
6577 * libgomp.texi: Bump @copying's copyright year.
6579 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6581 * libgomp.texi (Top): Avoid bad "up" link.
6583 2020-12-18 Jakub Jelinek <jakub@redhat.com>
6585 * testsuite/libgomp.c/task-6.c: New test.
6587 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
6589 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6590 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6592 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
6594 * testsuite/libgomp.fortran/scan-1.f90: New test.
6596 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6599 * configure: Regenerate.
6601 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
6603 * configure: Regenerate.
6605 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6607 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6608 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6610 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
6612 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6615 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
6617 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6618 (reserved): Delete unused define.
6620 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6622 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6623 Tcl 8.5-specific behavior.
6624 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6626 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6628 * env.c (gomp_global_icv): Remove nest_var field. Add
6629 max_active_levels_var field.
6630 (gomp_max_active_levels_var): Remove.
6631 (parse_boolean): Return true on success.
6632 (handle_omp_display_env): Express OMP_NESTED in terms of
6633 max_active_levels_var. Change format specifier for
6634 max_active_levels_var.
6635 (initialize_env): Set max_active_levels_var from
6636 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6638 * icv.c (omp_set_nested): Express in terms of
6639 max_active_levels_var.
6640 (omp_get_nested): Likewise.
6641 (omp_set_max_active_levels): Use max_active_levels_var field instead
6642 of gomp_max_active_levels_var.
6643 (omp_get_max_active_levels): Likewise.
6644 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6645 max_active_levels_var field.
6646 (gomp_supported_active_levels): Set to UCHAR_MAX.
6647 (gomp_max_active_levels_var): Delete.
6648 * libgomp.texi (omp_get_nested): Update documentation.
6649 (omp_set_nested): Likewise.
6650 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6651 (OMP_NESTED): Likewise.
6652 (OMP_NUM_THREADS): Likewise.
6653 (OMP_PROC_BIND): Likewise.
6654 * parallel.c (gomp_resolve_num_threads): Replace reference
6655 to nest_var with max_active_levels_var. Use max_active_levels_var
6656 field instead of gomp_max_active_levels_var.
6658 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
6660 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6661 nvptx_usleep; use also for device={arch(gcn)}.
6663 2020-11-14 Jakub Jelinek <jakub@redhat.com>
6665 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6666 (foo): Add tests for non-VLA private and firstprivate clauses on
6668 (bar): Likewise. Remove taking of address from private/firstprivate
6670 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6671 (foo): Add p, q, px and s arguments. Add tests for array reductions
6672 and for non-VLA private and firstprivate clauses on omp task.
6674 (main): Adjust foo caller. Don't call bar.
6676 2020-11-13 Gergö Barany <gergo@codesourcery.com>
6677 Thomas Schwinge <thomas@codesourcery.com>
6679 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6681 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6683 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6685 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6686 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6688 2020-11-13 Gergö Barany <gergo@codesourcery.com>
6689 Thomas Schwinge <thomas@codesourcery.com>
6692 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6694 2020-11-13 Jakub Jelinek <jakub@redhat.com>
6696 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6697 for array reductions.
6698 (main): Adjust foo callers.
6700 2020-11-12 Jakub Jelinek <jakub@redhat.com>
6702 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6703 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6704 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6705 * allocator.c (omp_aligned_alloc): New for now static function,
6706 add alignment argument and handle it.
6707 (omp_alloc): Reimplement using omp_aligned_alloc.
6708 (GOMP_alloc, GOMP_free): New functions.
6709 (omp_free): Add ialias.
6710 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6711 * testsuite/libgomp.c++/allocate-1.C: New test.
6713 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6716 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6718 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6720 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6722 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6723 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6724 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6725 (goacc_enter_data_internal): Likewise.
6726 * target.c (gomp_map_vars_internal):
6727 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6728 of gomp_attach_pointer for OpenMP cases.
6729 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6730 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6731 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6733 2020-11-05 Ulrich Drepper <drepper@redhat.com>
6734 Kwok Cheung Yeung <kcy@codesourcery.com>
6736 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6737 * Makefile.in: Regenerate.
6738 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6739 pragmas to ignore -Wdeprecated-declarations warnings.
6741 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6742 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6743 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6744 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6746 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6748 * testsuite/libgomp.c/affinity-1.c: Likewise.
6749 * testsuite/libgomp.c/affinity-2.c: Likewise.
6750 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6751 * testsuite/libgomp.c/lib-1.c: Likewise.
6752 * testsuite/libgomp.c/nested-1.c: Likewise.
6753 * testsuite/libgomp.c/nested-2.c: Likewise.
6754 * testsuite/libgomp.c/nested-3.c: Likewise.
6755 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6756 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6757 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6758 * testsuite/libgomp.c/pr35549.c: Likewise.
6759 * testsuite/libgomp.c/pr42942.c: Likewise.
6760 * testsuite/libgomp.c/pr61200.c: Likewise.
6761 * testsuite/libgomp.c/sort-1.c: Likewise.
6762 * testsuite/libgomp.c/target-5.c: Likewise.
6763 * testsuite/libgomp.c/target-6.c: Likewise.
6764 * testsuite/libgomp.c/teams-1.c: Likewise.
6765 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6766 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6767 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6768 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6769 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6770 * testsuite/libgomp.fortran/lib2.f: Likewise.
6771 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6772 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6774 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6777 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6778 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6779 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6781 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6785 * testsuite/lib/libgomp.exp (libgomp_init): Set
6786 'gcc_warning_prefix', 'gcc_error_prefix'.
6788 2020-10-30 Jakub Jelinek <jakub@redhat.com>
6790 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6791 even in field_tgt_clear initializer.
6793 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6795 * testsuite/libgomp.c/target-42.c: New test.
6797 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6798 Tom de Vries <tdevries@suse.de>
6801 * testsuite/libgomp.c/usleep.h: New file.
6802 * testsuite/libgomp.c/target-32.c: Include usleep.h.
6803 (main): Use tgt_usleep instead of usleep.
6804 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6805 (main): Use tgt_usleep instead of usleep.
6807 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6810 * testsuite/libgomp.c/declare-variant-1.c: New test.
6812 2020-10-22 Jakub Jelinek <jakub@redhat.com>
6814 * testsuite/libgomp.c/target-41.c: New test.
6816 2020-10-22 Jakub Jelinek <jakub@redhat.com>
6818 * icv.c (omp_get_initial_device): Remove including corresponding
6820 * icv-device.c (omp_get_initial_device): New function. Return
6821 gomp_get_num_devices (). Add ialias.
6822 * target.c (resolve_device): Don't fail with
6823 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6824 gomp_get_num_devices ().
6825 (omp_target_alloc, omp_target_free, omp_target_is_present,
6826 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6827 omp_target_disassociate_ptr, omp_pause_resource): Use
6828 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6829 first use in the functions, in uses dominated by the
6830 gomp_get_num_devices call use num_devices_openmp instead.
6831 * libgomp.texi (omp_get_initial_device): Document.
6832 * config/gcn/icv-device.c (omp_get_initial_device): New function.
6834 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6835 * testsuite/libgomp.c/target-40.c: New test.
6837 2020-10-21 Jakub Jelinek <jakub@redhat.com>
6839 * env.c (parse_target_offload): Change new_offload var type to int,
6840 preinitialize to -1, remove found var and test new_offload != -1
6843 2020-10-20 Jakub Jelinek <jakub@redhat.com>
6845 * target.c (gomp_target_init): Inside of the function, use automatic
6846 variables corresponding to num_devices, num_devices_openmp and devices
6847 global variables and update the globals only at the end of the
6850 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
6852 * env.c (gomp_target_offload_var): New.
6853 (parse_target_offload): New.
6854 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6855 (initialize_env): Parse OMP_TARGET_OFFLOAD.
6856 * libgomp.h (gomp_target_offload_t): New.
6857 (gomp_target_offload_var): New.
6858 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6859 * target.c (resolve_device): Generate error if device not found and
6860 offloading is mandatory.
6861 (gomp_target_fallback): Generate error if offloading is mandatory.
6862 (GOMP_target): Add argument in call to gomp_target_fallback.
6863 (GOMP_target_ext): Likewise.
6864 (gomp_target_data_fallback): Generate error if offloading is mandatory.
6865 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6866 (GOMP_target_data_ext): Likewise.
6867 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6868 (gomp_target_init): Return early if offloading is disabled.
6870 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
6872 * libgomp.texi (omp_get_max_active_levels): Modify description.
6873 (omp_get_supported_active_levels): Make descriptions consistent.
6875 2020-10-14 Jakub Jelinek <jakub@redhat.com>
6877 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6879 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6881 * env.c (gomp_max_active_levels_var): Initialize to
6882 gomp_supported_active_levels.
6883 (initialize_env): Limit gomp_max_active_levels_var to be at most
6884 equal to gomp_supported_active_levels.
6885 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6886 (omp_get_supported_active_levels_): New.
6887 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6888 to at most equal to gomp_supported_active_levels.
6889 (omp_get_supported_active_levels): New.
6890 * libgomp.h (gomp_supported_active_levels): New.
6891 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6892 omp_get_supported_active_levels_.
6893 * libgomp.texi (omp_get_supported_active_levels): New.
6894 (omp_set_max_active_levels): Update. Add reference to
6895 omp_get_supported_active_levels.
6896 * omp.h.in (omp_get_supported_active_levels): New.
6897 * omp_lib.f90.in (omp_get_supported_active_levels): New.
6898 * omp_lib.h.in (omp_get_supported_active_levels): New.
6899 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6900 against omp_get_supported_active_levels.
6901 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6903 2020-10-11 Clement Chigot <clement.chigot@atos.net>
6905 * config/t-aix: Delete and recreate libgomp before creating
6908 2020-10-08 Tom de Vries <tdevries@suse.de>
6911 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6914 2020-10-06 Tom de Vries <tdevries@suse.de>
6916 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6918 2020-10-06 Tom de Vries <tdevries@suse.de>
6921 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6923 2020-10-05 Tom de Vries <tdevries@suse.de>
6926 * testsuite/libgomp.fortran/pr95654.f90: New test.
6928 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
6930 * Makefile.in: Regenerate with automake 1.15.1.
6931 * aclocal.m4: Likewise.
6932 * configure: Likewise.
6933 * testsuite/Makefile.in: Likewise.
6935 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
6937 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6940 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
6942 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6944 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
6946 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6947 total number of threads is one.
6948 (gomp_team_barrier_wake): Likewise.
6949 (gomp_team_barrier_wait_end): Likewise.
6950 (gomp_team_barrier_wait_cancel_end): Likewise.
6951 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
6952 (gomp_team_barrier_wake): Likewise.
6953 (gomp_team_barrier_wait_end): Likewise.
6954 (gomp_team_barrier_wait_cancel_end): Likewise.
6955 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
6957 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
6960 * testsuite/libgomp.c++/pr96390.C: New test.
6961 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
6963 2020-09-27 Clement Chigot <clement.chigot@atos.net>
6965 * config/t-aix: Use $(AR) without -X32_64.
6967 2020-09-25 Jakub Jelinek <jakub@redhat.com>
6969 * testsuite/libgomp.c/loop-25.c: New test.
6971 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
6974 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
6976 2020-09-22 Tom de Vries <tdevries@suse.de>
6978 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
6981 2020-09-16 Nathan Sidwell <nathan@acm.org>
6983 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
6985 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
6988 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
6990 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
6993 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
6994 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
6995 (gomp_map_vars_existing): Update call to it.
6996 (gomp_map_fields_existing): Likewise
6997 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
6998 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
7000 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
7002 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
7003 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
7005 2020-09-14 Tom de Vries <tdevries@suse.de>
7007 * config/nvptx/atomic.c: New file. Add
7008 __sync_val_compare_and_swap_16.
7009 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
7010 target offload_target_nvptx.
7012 2020-09-08 Julian Brown <julian@codesourcery.com>
7014 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
7015 iteration-ordering assumptions.
7017 2020-09-08 Julian Brown <julian@codesourcery.com>
7019 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
7020 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7022 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
7024 * plugin/plugin-nvptx.c (nvptx_free):
7025 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
7026 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
7029 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
7031 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
7033 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
7035 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
7037 2020-08-13 Jakub Jelinek <jakub@redhat.com>
7039 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
7040 * testsuite/libgomp.c/loop-23.c (main): Likewise.
7041 * testsuite/libgomp.c/loop-24.c: New test.
7043 2020-08-08 Jakub Jelinek <jakub@redhat.com>
7044 Tobias Burnus <tobias@codesourcery.com>
7047 * testsuite/libgomp.fortran/pr93553.f90: New test.
7049 2020-08-05 Jakub Jelinek <jakub@redhat.com>
7051 * testsuite/libgomp.c/loop-22.c: New test.
7052 * testsuite/libgomp.c/loop-23.c: New test.
7054 2020-08-05 Jakub Jelinek <jakub@redhat.com>
7057 * testsuite/libgomp.c/teams-3.c: New test.
7058 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7060 (N(test)): Use it before all N(f*) calls.
7061 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7062 (main): Don't call all test_* functions from within
7063 #pragma omp teams reduction(|:err), call them directly.
7065 2020-08-04 Tom de Vries <tdevries@suse.de>
7068 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7069 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7071 2020-08-03 Julian Brown <julian@codesourcery.com>
7072 Thomas Schwinge <thomas@codesourcery.com>
7074 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7075 shared-memory devices. Extend with further checking.
7077 2020-08-03 Martin Jambor <mjambor@suse.cz>
7079 * plugin/Makefrag.am: Remove configuration of HSA plugin.
7080 * aclocal.m4: Regenerated.
7081 * Makefile.in: Regenerated.
7082 * config.h.in: Regenerated.
7083 * configure: Regenerated.
7084 * plugin/configfrag.ac: Likewise.
7085 * plugin/hsa_ext_finalize.h: Removed.
7086 * plugin/plugin-hsa.c: Likewise.
7087 * testsuite/Makefile.in: Regenerated.
7088 * testsuite/lib/libgomp.exp
7089 (offload_target_to_openacc_device_type): Remove hsa case.
7090 (check_effective_target_hsa_offloading_selected_nocache): Removed
7091 (check_effective_target_hsa_offloading_selected): Likewise.
7092 (libgomp_init): Do not add -Wno-hsa to additional_flags.
7093 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7094 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7095 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7096 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7097 * testsuite/libgomp.hsa.c/c.exp: Likewise.
7098 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7099 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7100 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7101 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7102 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7103 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7104 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7105 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7106 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7107 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7108 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7109 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7110 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7111 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7112 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7113 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7114 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7115 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7116 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7118 2020-07-27 Julian Brown <julian@codesourcery.com>
7119 Thomas Schwinge <thomas@codesourcery.com>
7121 * libgomp.h (struct target_var_desc): Rename do_detach field to
7123 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
7124 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7125 (goacc_enter_data_internal): Don't affect reference counts
7126 for attach mappings.
7127 (goacc_exit_data_internal): Don't affect reference counts for detach
7129 * target.c (gomp_map_vars_existing): Don't affect reference counts for
7131 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7132 mark attach mappings.
7133 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7134 reference count for attach mappings.
7135 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7136 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7137 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7138 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7140 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7141 gracefully in no-finalize mode.
7142 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7144 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
7146 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7148 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7149 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7151 2020-07-23 Julian Brown <julian@codesourcery.com>
7152 Thomas Schwinge <thomas@codesourcery.com>
7154 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7155 finalization for detach operation.
7156 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7159 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
7161 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7162 * libgomp_f.h.in (omp_check_defines): Check whether
7163 sizeof of determined Fortran kind and C typedef match.
7164 * omp_lib.f90.in: Add omp_depened_kind.
7165 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7166 * configure: Regenerate.
7167 * Makefile.in: Regenerate.
7168 * testsuite/Makefile.in: Regenerate.
7170 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
7172 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7173 gcc/testsuite/c-c++-common/gomp/.
7174 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7175 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7176 from gcc/testsuite/gfortran.dg/gomp/.
7177 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7179 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
7181 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7182 * omp_lib.h.in: Likewise.
7184 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
7187 * testsuite/libgomp.c/pr95620.c: New test.
7189 2020-07-16 Julian Brown <julian@codesourcery.com>
7190 Thomas Schwinge <thomas@codesourcery.com>
7192 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7193 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7195 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7197 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7198 avoid conversion on 32bit systems from 32bit to 64bit due
7199 to -fdefault-integer-8.
7201 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7203 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7204 variables; add character(kind=4) tests; update TODO comment.
7206 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7208 * allocator.c: Add ialias for omp_init_allocator and
7209 omp_destroy_allocator.
7210 * configure.ac: Set INTPTR_T_KIND.
7211 * configure: Regenerate.
7212 * Makefile.in: Regenerate.
7213 * testsuite/Makefile.in: Regenerate.
7214 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7215 omp_set_default_allocator_, omp_get_default_allocator_): New
7216 functions and ialias_redirect.
7217 * icv.c: Add ialias for omp_set_default_allocator and
7218 omp_get_default_allocator.
7219 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7220 omp_destroy_allocator_, omp_set_default_allocator_ and
7221 omp_get_default_allocator_.
7222 * omp_lib.f90.in: Add allocator traits parameters, declare
7223 allocator routines and add related kind parameters.
7224 * omp_lib.h.in: Likewise.
7225 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7226 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7227 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7228 * testsuite/libgomp.fortran/alloc-3.F: New test.
7229 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7230 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7232 2020-07-14 Tom de Vries <tom@codesourcery.com>
7233 Cesar Philippidis <cesar@codesourcery.com>
7234 Thomas Schwinge <thomas@codesourcery.com>
7235 Kwok Cheung Yeung <kcy@codesourcery.com>
7237 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7239 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7240 acc_init_state to initializing at the start, and to initialized at the
7242 (self_initializing_p): New function.
7243 (acc_get_device_type): Return acc_device_none if called by thread that
7244 is currently executing acc_init_1.
7245 * libgomp.texi (acc_get_device_type): Update documentation.
7246 (Implementation Status and Implementation-Defined Behavior): Likewise.
7247 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7249 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
7251 * config/t-aix: Set BITS from compiler cpp macro.
7253 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
7255 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7257 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
7260 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7262 2020-07-14 Jakub Jelinek <jakub@redhat.com>
7264 * testsuite/libgomp.c/loop-21.c: New test.
7266 2020-07-13 Julian Brown <julian@codesourcery.com>
7267 Thomas Schwinge <thomas@codesourcery.com>
7269 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7271 2020-07-10 Julian Brown <julian@codesourcery.com>
7272 Thomas Schwinge <thomas@codesourcery.com>
7274 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7276 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7277 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7279 (acc_unmap_data): Update comment.
7280 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7281 dynamic_refcount semantics.
7282 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7283 Adjust for dynamic_refcount semantics.
7284 (goacc_enter_data_internal): Implement "present" case of dynamic
7285 memory-map handling here. Update "non-present" case for
7286 dynamic_refcount semantics.
7287 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7288 * target.c (gomp_map_vars_internal): Remove
7289 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7291 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7292 (gomp_load_image_to_device): Substitute dynamic_refcount for
7294 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7295 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7296 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7297 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7298 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7300 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7302 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7304 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7305 Remove stale comment.
7306 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7307 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7308 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7309 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7310 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7311 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7313 2020-07-10 Julian Brown <julian@codesourcery.com>
7314 Thomas Schwinge <thomas@codesourcery.com>
7316 * oacc-mem.c (goacc_map_var_existing): New function.
7317 (goacc_enter_datum): Use above function.
7318 (goacc_exit_datum_1): New function.
7319 (goacc_exit_datum): Use above function.
7321 2020-07-09 Julian Brown <julian@codesourcery.com>
7322 Thomas Schwinge <thomas@codesourcery.com>
7325 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7326 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7328 2020-07-09 Julian Brown <julian@codesourcery.com>
7330 * oacc-mem.c (find_group_last): Group data-movement clauses
7331 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7332 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7334 2020-07-09 Jakub Jelinek <jakub@redhat.com>
7336 * testsuite/libgomp.c/loop-19.c: New test.
7337 * testsuite/libgomp.c/loop-20.c: New test.
7339 2020-07-09 Jakub Jelinek <jakub@redhat.com>
7341 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7342 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7343 it. Remove __omp_alloctrait_value_max__.
7344 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7345 omp_atk_alignment and omp_atk_pool_size.
7347 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7349 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7350 behavior for 'GOMP_MAP_FORCE_FROM'.
7351 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7353 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7355 * oacc-mem.c (goacc_exit_data_internal): Remove
7356 'GOMP_MAP_ALWAYS_FROM' handling.
7358 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7360 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7361 'scan-assembler' with 'scan-offload-rtl'.
7362 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7363 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7364 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7365 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7367 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7369 * target.c (gomp_map_vars_existing): Assert 'kind !=
7371 (gomp_map_vars_internal): Clean up.
7373 2020-06-27 Jakub Jelinek <jakub@redhat.com>
7375 * testsuite/libgomp.c/loop-17.c: New test.
7376 * testsuite/libgomp.c/loop-18.c: New test.
7378 2020-06-26 Marek Polacek <polacek@redhat.com>
7380 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7382 2020-06-23 Alexandre Oliva <oliva@adacore.com>
7384 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7385 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7387 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
7389 * Makefile.am: Use -include.
7390 * Makefile.in: Regenerate.
7392 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
7394 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7395 * Makefile.in: Regenerate
7396 * configure.ac (tmake_file): Substitute.
7397 * configure: Regenerate.
7398 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7399 * config/t-aix: New file.
7401 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7404 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7407 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
7409 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7410 variant for HSA_RUNTIME_LIB name.
7411 (find_executable_symbol_1): Delete.
7412 (find_executable_symbol): Delete.
7413 (init_kernel_properties): Add ".kd" suffix to symbol names.
7414 (find_load_offset): Delete.
7415 (create_and_finalize_hsa_program): Remove relocation handling.
7417 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
7419 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7421 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
7425 * testsuite/libgomp.fortran/target-var.f90: New test.
7427 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7428 Julian Brown <julian@codesourcery.com>
7430 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7433 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7434 Julian Brown <julian@codesourcery.com>
7436 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7439 2020-06-05 Julian Brown <julian@codesourcery.com>
7441 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7442 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7444 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7446 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7447 Evaluate 'copyfrom' individually for each entry.
7448 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7450 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7452 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7453 Evaluate 'finalize' individually for each entry.
7454 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7455 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7458 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7460 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7462 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7464 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7465 Julian Brown <julian@codesourcery.com>
7467 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7469 (acc_unmap_data, goacc_exit_data_internal): Restore
7470 'is_tgt_unmapped' checking.
7471 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7473 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7474 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7475 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7476 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7477 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7478 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7480 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7481 Julian Brown <julian@codesourcery.com>
7483 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7485 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7488 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7490 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7493 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7496 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7497 Julian Brown <julian@codesourcery.com>
7499 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7501 (acc_map_data): Clean up accordingly.
7503 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7505 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7506 of over-eager 'finalize' clause.
7507 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7509 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7510 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7511 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7512 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7513 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7514 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7515 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7516 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7518 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7520 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7522 2020-06-04 Julian Brown <julian@codesourcery.com>
7524 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7526 (goacc_detach_internal): Likewise.
7528 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7530 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7532 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7533 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7534 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7535 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7536 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7538 2020-06-02 Jakub Jelinek <jakub@redhat.com>
7540 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7543 2020-05-30 Jakub Jelinek <jakub@redhat.com>
7545 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7547 2020-05-30 Jakub Jelinek <jakub@redhat.com>
7549 * allocator.c (omp_alloc): For size == 0, return NULL early.
7551 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
7554 * configure: Regenerated.
7556 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7559 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7561 2020-05-19 Jakub Jelinek <jakub@redhat.com>
7563 * omp.h.in (omp_uintptr_t): New typedef.
7564 (__GOMP_UINTPTR_T_ENUM): Define.
7565 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7566 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7567 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7568 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7569 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7570 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7571 (gomp_def_allocator): Declare.
7572 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7573 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7574 omp_alloc and omp_free.
7575 * team.c (gomp_team_start): Copy over ts.def_allocator.
7576 * env.c (gomp_def_allocator): New variable.
7577 (parse_wait_policy): Adjust function comment.
7578 (parse_allocator): New function.
7579 (handle_omp_display_env): Print OMP_ALLOCATOR.
7580 (initialize_env): Call parse_allocator.
7581 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7582 * allocator.c: New file.
7583 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7585 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7586 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7587 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7588 * Makefile.in: Regenerated.
7590 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7593 * configure: Regenerated.
7595 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7598 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7600 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7602 * configure: Regenerated.
7604 2020-05-14 Jakub Jelinek <jakub@redhat.com>
7606 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7608 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
7611 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7612 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7613 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7614 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7615 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7616 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7617 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7619 2020-05-12 Jakub Jelinek <jakub@redhat.com>
7621 * testsuite/libgomp.c/target-39.c: New test.
7623 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7625 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7626 * openacc.f90 (acc_device_current): Likewise.
7627 * openacc.h (acc_device_current): Likewise.
7628 * openacc_lib.h (acc_device_current): Likewise.
7631 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7632 'dg-allow-blank-lines-in-output'.
7634 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7635 * testsuite/lib/libgomp.exp
7636 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7637 'radeon'. Adjust all users.
7638 (check_effective_target_openacc_amdgcn_accel_present): Rename
7640 (check_effective_target_openacc_radeon_accel_present): ... this.
7642 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7643 (check_effective_target_openacc_radeon_accel_selected): ... this.
7646 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7649 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
7653 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7655 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7656 hsa_agent_iterate_regions.
7658 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7661 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7664 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
7667 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7670 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
7673 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7675 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7678 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7680 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7682 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7684 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7686 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7688 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7690 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7692 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7694 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7696 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7698 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7700 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7702 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7704 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7706 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7708 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7710 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7712 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7714 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7716 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7718 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7720 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7722 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7724 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7726 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7728 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7730 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7732 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7734 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7736 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7738 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7740 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7743 2020-04-10 Julian Brown <julian@codesourcery.com>
7744 Thomas Schwinge <thomas@codesourcery.com>
7747 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7749 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7751 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7753 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7755 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7757 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7759 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7761 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7763 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7765 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7767 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7769 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7771 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7773 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7775 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7777 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7780 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7782 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7785 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
7788 * libgomp.oacc-c++/declare-pr94120.C: New.
7790 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
7792 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7794 * configure: Regenerate.
7795 * testsuite/libgomp-site-extra.exp.in: New file.
7796 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7798 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7800 * testsuite/Makefile.in: Regenerate.
7802 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
7804 PR tree-optimization/89713
7806 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7808 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7810 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
7812 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7813 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7815 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
7818 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7820 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
7823 * target.c (gomp_load_image_to_device): Fix link
7826 2020-03-19 Jakub Jelinek <jakub@redhat.com>
7829 * testsuite/libgomp.c++/pr93931.C: New test.
7831 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
7833 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7834 dg-allow-blank-lines-in-output.
7836 2020-03-18 Julian Brown <julian@codesourcery.com>
7837 Tobias Burnus <tobias@codesourcery.com>
7839 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7840 it work concurrently.
7842 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
7844 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7845 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7846 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7848 2020-03-14 Jakub Jelinek <jakub@redhat.com>
7851 * testsuite/libgomp.c/pr93566.c: New test.
7853 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
7855 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7856 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7857 integer(acc_device_property) for the type of the return value of
7860 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
7862 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7863 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7864 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7865 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7866 (acc_set_device_num): Fix Fortran argument name, use same name for C.
7867 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7868 corrections; add note about the previous interface and named constant.
7869 (OpenACC library and environment variables): Fix two typos.
7870 * openacc.f90: Use for all procedures the argument names from the spec
7871 as for …_h they are user visible.
7872 (openacc_kinds): Rename acc_device_property to
7873 acc_device_property_kinds and change value to int32 ; and update users.
7874 Re-add acc_device_property for for backward compatibility.
7875 (acc_get_property_string_h): Clean up as acc_device_property_kind
7877 (acc_get_property_h): Likewise and return c_size_t instead of
7878 acc_device_property.
7879 (openacc): Also export acc_device_property_kinds.
7880 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7881 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7882 handling; check against /= 0 instead of == 1 to match C.
7883 * openacc_lib.h: Use for all procedures the argument names from the spec
7884 as for …_h they are user visible. Place !GCC$ into the first column to
7885 be active also for fixed-form souce form.
7886 (acc_device_current, acc_device_property_kind, acc_device_property,
7887 acc_property_memory, acc_property_free_memory, acc_property_name,
7888 acc_property_vendor, acc_property_driver): New named constants.
7889 (acc_get_property, acc_get_property_string): New generic interface.
7891 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
7894 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7895 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7897 (gomp_target_task_fn): Assert "devicep->async_run_func".
7898 (clear_unsupported_flags): New function to remove unsupported flags
7899 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7900 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7901 * testsuite/libgomp.c/target-33.c:
7902 Remove xfail for offload_target_nvptx.
7903 * testsuite/libgomp.c/target-34.c: Likewise.
7905 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
7907 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7908 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7909 * testsuite/libgomp.c/target-34.c: Likewise.
7910 * testsuite/libgomp.c/target-link-1.c: Add xfail for
7911 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7913 2020-02-09 Jakub Jelinek <jakub@redhat.com>
7915 * testsuite/libgomp.c/target-38.c: New test.
7917 2020-02-06 Jakub Jelinek <jakub@redhat.com>
7920 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7922 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
7924 * testsuite/lib/libgomp.exp
7925 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7926 and not as 'source' argument to libgomp_target_compile.
7928 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
7930 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7931 (gcn_gfx801_s): Remove.
7932 (isa_hsa_name): Remove gfx801.
7933 (isa_gcc_name): Remove gfx801/carizzo.
7934 (isa_code): Remove gfx801.
7936 2020-02-03 Julian Brown <julian@codesourcery.com>
7937 Tobias Burnus <tobias@codesourcery.com>
7939 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7940 and *_finalize variants; document acc_attach and acc_detach; update
7941 references from OpenACC 2.0 to 2.6.
7942 * openacc.f90 (openacc_version): Update to 201711.
7943 * openacc_lib.h (openacc_version): Update to 201711.
7944 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7945 openacc_version to 201711.
7946 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7948 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
7950 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
7951 and vgpr_count fields.
7952 (struct kernel_info): Add a field for a hsa_kernel_description.
7953 (run_kernel): Reduce the number of threads/workers if the requested
7954 number would require too many VGPRs.
7955 (init_basic_kernel_info): Initialize description field with
7956 the hsa_kernel_description entry for the kernel.
7958 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
7961 * plugin/configfrag.ac (enable_offload_targets): Skip
7962 HSA and GCN plugin besides -m32 also for -mx32.
7963 * configure: Regenerate.
7965 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
7967 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
7969 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
7971 * plugin-gcn.c (struct agent_info): Add fields "name" and
7973 (GOMP_OFFLOAD_init_device): ... and init from here.
7974 (struct hsa_context_info): Add field "driver_version_s" ...
7975 (init_hsa_contest): ... and init from here.
7976 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
7978 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7979 Enable test execution for amdgcn and host offloading targets.
7980 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
7981 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7982 (expect_device_properties): Split function into ...
7983 (expect_device_string_properties): ... this new function ...
7984 (expect_device_memory): ... and this new function.
7985 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
7988 2020-01-28 Julian Brown <julian@codesourcery.com>
7990 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
7991 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
7992 component/non-component variable refs in a single directive.
7993 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
7995 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
7997 * configure.ac: Handle `--with-toolexeclibdir='.
7998 * Makefile.in: Regenerate.
7999 * aclocal.m4: Regenerate.
8000 * configure: Regenerate.
8001 * testsuite/Makefile.in: Regenerate.
8003 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
8005 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
8006 (expect_device_properties): Remove "expected_free_mem" argument,
8007 change "expected_total_mem" argument type to size_t;
8008 change types of acc_get_property results to size_t,
8009 adapt format strings.
8010 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
8011 Use %zu instead of %zd to print size_t values.
8012 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
8014 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
8015 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
8017 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
8019 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
8021 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
8024 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
8026 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
8027 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
8028 Adjust test dimensions for amdgcn.
8029 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
8030 gang/worker/vector expectations dynamically.
8031 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
8033 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
8034 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
8035 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
8036 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
8037 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
8038 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
8039 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
8040 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
8041 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
8042 (acc_gang): Recognise acc_device_radeon.
8043 (acc_worker): Likewise.
8044 (acc_vector): Likewise.
8045 (main): Set expectations for amdgcn.
8046 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
8047 (main): Adjust gang/worker/vector expectations dynamically.
8048 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8049 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8050 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8051 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8054 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
8056 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8058 (openacc): Likewise.
8059 * openacc.f90 (openacc_kinds): Likewise.
8060 (openacc): Likewise.
8061 * openacc.h (acc_device_t): Likewise.
8062 * openacc_lib.h: Likewise.
8063 * testsuite/lib/libgomp.exp
8064 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8065 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8066 (cb_compute_construct_end): Likewise.
8067 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8068 (cb_enqueue_launch_start): Likewise.
8069 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8070 (cb_enter_data_end): Likewise.
8071 (cb_exit_data_start): Likewise.
8072 (cb_exit_data_end): Likewise.
8073 (cb_compute_construct_end): Likewise.
8074 (cb_enqueue_launch_start): Likewise.
8075 (cb_enqueue_launch_end): Likewise.
8076 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8079 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
8081 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
8082 to use this instead of 'enum gomp_device_property'.
8083 (GOMP_OFFLOAD_get_property): Rename to...
8084 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
8085 * libgomp.h (struct gomp_device_descr): Move
8086 'GOMP_OFFLOAD_openacc_get_property'...
8087 (struct acc_dispatch_t): ... here. Adjust all users.
8088 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8090 * target.c (gomp_map_vars_internal)
8091 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8094 2020-01-10 Jakub Jelinek <jakub@redhat.com>
8097 * libgomp.h (gomp_print_string): Change return type from void to int.
8098 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
8099 not all characters have been written.
8101 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
8103 * libgomp.texi: Fix typos, use https.
8105 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
8107 * testsuite/libgomp.fortran/optional-map.f90: Add test for
8108 unallocated/disassociated actual arguments to nonallocatable/nonpointer
8109 dummy arguments; those are/shall be regarded as absent arguments.
8110 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8111 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8113 2020-01-01 Jakub Jelinek <jakub@redhat.com>
8115 Update copyright years.
8117 * libgomp.texi: Bump @copying's copyright year.
8119 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
8122 * oacc-init.c (goacc_runtime_deinitialize): New function.
8124 2019-12-28 Jakub Jelinek <jakub@redhat.com>
8127 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8128 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
8130 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
8131 Frederik Harwath <frederik@codesourcery.com>
8132 Thomas Schwinge <tschwinge@codesourcery.com>
8134 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8135 * libgomp-plugin.h (gomp_device_property_value): New union.
8136 (gomp_device_property_value): New prototype.
8137 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8139 (acc_device_property_t): New enum.
8140 (acc_get_property, acc_get_property_string): New prototypes.
8141 * oacc-init.c (acc_get_device_type): Also assert that result
8142 is not `acc_device_current'.
8143 (get_property_any, acc_get_property, acc_get_property_string):
8145 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8146 `acc_property_memory', `acc_property_free_memory',
8147 `acc_property_name', `acc_property_vendor' and
8148 `acc_property_driver' constants. Add `acc_device_property' data
8150 (openacc_internal): Add `acc_get_property' and
8151 `acc_get_property_string' interfaces. Add `acc_get_property_h',
8152 `acc_get_property_string_h', `acc_get_property_l' and
8153 `acc_get_property_string_l'.
8154 * oacc-host.c (host_get_property): New function.
8155 (host_dispatch): Wire it.
8156 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8157 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8158 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8159 * libgomp.texi (OpenACC Runtime Library Routines): Add
8161 (acc_get_property): New node.
8162 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8164 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8165 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8166 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8168 (GOMP_OFFLOAD_get_property): New function.
8169 (struct ptx_device): Add new field "name".
8170 (cuda_driver_version_s): Add new static variable ...
8171 (nvptx_init): ... and init from here.
8173 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8174 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8175 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8176 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8177 with test helper functions.
8179 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8181 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
8183 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8186 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8188 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8191 2019-12-19 Julian Brown <julian@codesourcery.com>
8193 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8194 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8195 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8197 2019-12-19 Julian Brown <julian@codesourcery.com>
8198 Cesar Philippidis <cesar@codesourcery.com>
8200 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8201 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8202 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8203 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8204 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8205 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8206 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8207 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8208 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8209 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8210 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8211 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8212 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8214 2019-12-19 Julian Brown <julian@codesourcery.com>
8216 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8217 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8218 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8219 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8220 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8221 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8222 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8223 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8224 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8225 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8226 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8227 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8229 2019-12-19 Julian Brown <julian@codesourcery.com>
8231 * libgomp.h (struct target_var_desc): Add do_detach flag.
8232 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8233 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8234 struct components. Tidy up and add some new checks.
8235 (goacc_enter_data_internal): Update call to find_group_last.
8236 (goacc_exit_data_internal): Support detach operations and
8238 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8239 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8240 attach/detach in enter/exit data detection code.
8241 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8243 (gomp_map_vars_internal): Support attach.
8244 (gomp_unmap_vars_internal): Support detach.
8246 2019-12-19 Julian Brown <julian@codesourcery.com>
8247 Thomas Schwinge <thomas@codesourcery.com>
8249 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8250 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8251 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8252 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8253 acc_detach_finalize_async.
8254 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8255 acc_detach, acc_detach_async, acc_detach_finalize,
8256 acc_detach_finalize_async): New functions.
8257 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8258 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8260 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8261 (gomp_remove_var_internal): Free attachment counts if present.
8262 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8263 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8265 2019-12-19 Julian Brown <julian@codesourcery.com>
8266 Cesar Philippidis <cesar@codesourcery.com>
8268 * libgomp.h (gomp_map_val): Add prototype.
8269 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8270 open-coding device-address calculation.
8271 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8274 2019-12-19 Julian Brown <julian@codesourcery.com>
8276 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8277 field for virtual_refcount.
8278 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8279 (gomp_free_memmap): Remove prototype.
8280 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8281 instead of calling gomp_free_memmap.
8282 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8284 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8285 to_free field to NULL then calling gomp_unmap_vars. Handle
8286 REFCOUNT_INFINITY on target blocks.
8287 (goacc_enter_data): Rename to...
8288 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8289 handling for mapping groups. Use virtual_refcount instead of
8290 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8291 map_map_vars_async call. Re-do lookup for target pointer return value.
8292 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8293 renamed goacc_enter_datum function.
8294 (goacc_exit_data): Rename to...
8295 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8296 (acc_delete, acc_delete_async, acc_delete_finalize,
8297 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8298 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8299 goacc_exit_datum function.
8300 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8301 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8303 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8304 goacc_exit_data_internal helper functions.
8305 * target.c (gomp_map_vars_internal): Handle
8306 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8308 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8309 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8310 virtual_refcount field instead of dynamic_refcount.
8311 (gomp_free_memmap): Remove function.
8312 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8313 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8314 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8316 2019-12-19 Julian Brown <julian@codesourcery.com>
8317 Thomas Schwinge <thomas@codesourcery.com>
8319 * libgomp.h (struct splay_tree_aux): New.
8320 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8321 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8323 (gomp_remove_var_internal): Free aux block if present.
8324 (gomp_load_image_to_device): Zero-initialise aux field instead of
8326 (omp_target_associate_pointer): Zero-initialise aux field.
8328 2019-12-18 Jakub Jelinek <jakub@redhat.com>
8331 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8333 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8336 2019-12-19 Julian Brown <julian@codesourcery.com>
8337 Maciej W. Rozycki <macro@codesourcery.com>
8338 Tobias Burnus <tobias@codesourcery.com>
8339 Thomas Schwinge <thomas@codesourcery.com>
8341 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8342 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8343 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8344 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8345 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8346 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8347 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8348 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8349 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8351 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8353 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8355 (goacc_insert_pointer): ... from here, "present" case.
8356 (goacc_insert_pointer): Inline function into...
8357 (GOACC_enter_exit_data): ... here, and simplify.
8359 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8361 (goacc_insert_pointer): ... from here, "not present" case.
8363 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8366 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8367 'goacc_enter_data', 'goacc_exit_data'.
8369 * oacc-mem.c (delete_copyout): Refactor into...
8370 (goacc_exit_data): ... this. Adjust all users.
8372 * oacc-mem.c (present_create_copy): Refactor into...
8373 (goacc_enter_data): ... this. Adjust all users.
8375 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8378 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8379 like 'GOMP_MAP_FROM'.
8384 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8386 (GOACC_enter_exit_data): Simplify accordingly.
8387 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8389 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8390 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8392 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8394 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8395 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8397 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8399 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8401 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8402 'finalize' handling.
8405 * oacc-mem.c (acc_map_data, present_create_copy)
8406 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8407 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8408 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8409 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8410 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8411 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8412 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8413 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8416 * target.c (gomp_unmap_tgt): Make it 'static'.
8417 * libgomp.h (gomp_unmap_tgt): Remove.
8419 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
8422 * testsuite/libgomp.c/pr86416-1.c: New.
8423 * testsuite/libgomp.c/pr86416-2.c: New.
8425 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
8427 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8428 all symbols as public except for the 'use …, only' imported symbol,
8430 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8431 all symbols from module openacc_kinds as PUBLIC
8432 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8434 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8436 2019-12-13 Julian Brown <julian@codesourcery.com>
8440 * libgomp.h (gomp_remove_var_async): Add prototype.
8441 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8443 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8444 whether target_mem_desc was unmapped.
8445 (gomp_unref_tgt_void): New.
8446 (gomp_remove_var): Reimplement in terms of...
8447 (gomp_remove_var_internal): ...this new helper function.
8448 (gomp_remove_var_async): New, implemented using above helper function.
8449 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8452 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
8454 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8455 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8456 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8457 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8458 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8460 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8461 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8463 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
8465 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8466 as public except for the 'use …, only' imported symbol, which is
8468 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8469 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8470 attributes for acc_copyout_finalize and acc_delete_finalize.
8472 2019-12-11 Jakub Jelinek <jakub@redhat.com>
8475 * testsuite/libgomp.fortran/atomic1.f90: New test.
8477 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8480 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8481 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8483 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8484 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8485 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8486 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8487 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8489 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8490 * oacc-mem.c: ... here.
8491 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8492 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8493 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8495 * libgomp_g.h: Update.
8497 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8498 * oacc-async.c: ... here.
8499 * oacc-int.h (goacc_wait): Declare.
8500 * libgomp_g.h: Update
8503 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8505 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8507 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8509 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8511 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8513 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8516 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8517 Julian Brown <julian@codesourcery.com>
8519 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8520 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8522 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
8524 * omp_lib.h.in: Fix spelling of function declaration
8525 omp_get_cancell(l)ation.
8526 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8528 * env.c: Fix comment typos.
8529 * oacc-host.c: Likewise.
8530 * ordered.c: Likewise.
8533 * config/gcn/task.c: Likewise.
8534 * config/gcn/team.c: Likewise.
8535 * config/nvptx/task.c: Likewise.
8536 * config/nvptx/team.c: Likewise.
8537 * plugin/plugin-gcn.c: Likewise.
8538 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8539 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8540 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8542 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
8544 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8545 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8546 unnecessary 'dg-additional-options "-w"'.
8548 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8549 Julian Brown <julian@codesourcery.com>
8554 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8555 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8557 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8559 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8561 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8563 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8566 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8567 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8569 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8571 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8573 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8575 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8577 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8579 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8580 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8581 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8582 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8583 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8584 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8585 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8586 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8587 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8588 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8591 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8592 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8593 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8595 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8597 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8599 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8600 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8603 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8605 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8607 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8609 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8611 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8612 ... with their content moved into, and extended in this new file.
8613 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8615 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8617 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8619 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8622 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8625 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8627 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8629 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8631 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
8633 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8635 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8636 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8637 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8638 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8640 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8641 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8643 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8645 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8647 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
8648 Kwok Cheung Yeung <kcy@codesourcery.com>
8650 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8651 if input it a NULL pointer.
8652 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8653 diagnostic of NULL pointer.
8654 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8655 * testsuite/libgomp.fortran/optional-map.f90: New.
8656 * testsuite/libgomp.fortran/use_device_addr-1.f90
8657 (test_dummy_opt_callee_1_absent): New.
8658 (test_dummy_opt_call_1): Call it.
8659 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8660 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8661 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8662 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8663 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8664 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8665 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8666 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8667 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8668 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8669 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8670 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8671 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8672 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8673 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8674 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8676 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
8678 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8679 expect dg-output of 'Error termination.' for GCN.
8680 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8681 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8683 2019-12-04 Jakub Jelinek <jakub@redhat.com>
8686 * testsuite/libgomp.fortran/teams1.f90: New test.
8687 * testsuite/libgomp.fortran/teams2.f90: New test.
8689 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
8691 * oacc-init.c (acc_known_device_type): Add function.
8692 (unknown_device_type_error): Add function.
8693 (name_of_acc_device_t): Change to call unknown_device_type_error
8695 (resolve_device): Use acc_known_device_type.
8696 (acc_init): Fail if acc_device_t argument is not valid.
8697 (acc_shutdown): Likewise.
8698 (acc_get_num_devices): Likewise.
8699 (acc_set_device_type): Likewise.
8700 (acc_get_device_num): Likewise.
8701 (acc_set_device_num): Likewise.
8702 (acc_on_device): Add comment that argument validity is not checked.
8704 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
8706 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8708 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8709 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8710 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8711 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8712 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8714 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8717 * configure.tgt: Avoid IE tls on *-*-musl*.
8719 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
8721 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8722 adding a common-block test case.
8724 2019-11-29 Jakub Jelinek <jakub@redhat.com>
8727 * testsuite/libgomp.c++/udr-20.C: New test.
8728 * testsuite/libgomp.c++/udr-21.C: New test.
8730 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8732 * testsuite/lib/libgomp.exp
8733 (check_effective_target_offload_target_nvptx): New proc.
8734 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8736 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8737 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8738 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8740 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8742 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8743 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8744 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8745 * testsuite/libgomp.c/private-1.c: Likewise.
8746 * testsuite/libgomp.c/task-1.c: Likewise.
8747 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8749 2019-11-20 Julian Brown <julian@codesourcery.com>
8751 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8753 (queue_push_launch): Lock aq->mutex before calling
8754 wait_for_queue_nonfull.
8755 (queue_push_callback): Likewise.
8756 (queue_push_asyncwait): Likewise.
8757 (queue_push_placeholder): Likewise.
8759 2019-11-20 Julian Brown <julian@codesourcery.com>
8761 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8762 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8763 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8766 2019-11-20 Julian Brown <julian@codesourcery.com>
8770 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8771 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8772 in non-present/create case.
8773 (delete_copyout): Change error condition to fail only on copies outside
8774 of mapped block. Adjust error message accordingly.
8775 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8776 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8777 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8779 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8780 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8781 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8783 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
8785 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8786 libatomic in build-tree testing.
8788 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
8790 * testsuite/Makefile.in: Regenerate.
8792 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
8794 * testsuite/libgomp.c/target-print-1.c: New file.
8795 * testsuite/libgomp.fortran/target-print-1.f90: New file.
8796 * testsuite/libgomp.oacc-c/print-1.c: New file.
8797 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8799 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8800 Kwok Cheung Yeung <kcy@codesourcery.com>
8801 Julian Brown <julian@codesourcery.com>
8802 Tom de Vries <tom@codesourcery.com>
8804 * plugin/Makefrag.am: Add amdgcn plugin support.
8805 * plugin/configfrag.ac: Likewise.
8806 * plugin/plugin-gcn.c: New file.
8807 * configure: Regenerate.
8808 * Makefile.in: Regenerate.
8809 * testsuite/Makefile.in: Regenerate.
8811 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8813 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8814 and use team_malloc variants.
8815 (gomp_gcn_exit_kernel): Use team_free.
8816 * libgomp.h (TEAM_ARENA_SIZE): Define.
8817 (TEAM_ARENA_START): Define.
8818 (TEAM_ARENA_FREE): Define.
8819 (TEAM_ARENA_END): Define.
8820 (team_malloc): New function.
8821 (team_malloc_cleared): New function.
8822 (team_free): New function.
8823 * team.c (gomp_new_team): Initialize and use team_malloc.
8824 (free_team): Use team_free.
8825 (gomp_free_thread): Use team_free.
8826 (gomp_pause_host): Use team_free.
8827 * work.c (gomp_init_work_share): Use team_malloc.
8828 (gomp_fini_work_share): Use team_free.
8830 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8831 Kwok Cheung Yeung <kcy@codesourcery.com>
8832 Julian Brown <julian@codesourcery.com>
8833 Tom de Vries <tom@codesourcery.com>
8835 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8836 * Makefile.in: Regenerate.
8837 * config.h.in (PLUGIN_GCN): Add new undef.
8838 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8839 * config/gcn/affinity-fmt.c: New file.
8840 * config/gcn/bar.c: New file.
8841 * config/gcn/bar.h: New file.
8842 * config/gcn/doacross.h: New file.
8843 * config/gcn/icv-device.c: New file.
8844 * config/gcn/oacc-target.c: New file.
8845 * config/gcn/simple-bar.h: New file.
8846 * config/gcn/target.c: New file.
8847 * config/gcn/task.c: New file.
8848 * config/gcn/team.c: New file.
8849 * config/gcn/time.c: New file.
8850 * configure.ac: Add amdgcn*-*-*.
8851 * configure: Regenerate.
8852 * configure.tgt: Add amdgcn*-*-*.
8853 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8854 * libgomp.h (gcn_thrs): Add amdgcn variant.
8855 (set_gcn_thrs): Likewise.
8856 (gomp_thread): Likewise.
8857 * oacc-int.h (goacc_thread): Likewise.
8858 * oacc-target.c: New file.
8859 * openacc.f90 (acc_device_gcn): New parameter.
8860 * openacc.h (acc_device_t): Add acc_device_gcn.
8861 * team.c (gomp_free_pool_helper): Add amdgcn support.
8863 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8864 Julian Brown <julian@codesourcery.com>
8866 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8868 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8870 * oacc-host.c (host_openacc_async_construct): Add device parameter.
8871 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8874 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8876 * configure.tgt (nvptx*-*-*): Add "accel" directory.
8877 * config/nvptx/libgomp-plugin.c: Move ...
8878 * config/accel/libgomp-plugin.c: ... to here.
8879 * config/nvptx/lock.c: Move ...
8880 * config/accel/lock.c: ... to here.
8881 * config/nvptx/mutex.c: Move ...
8882 * config/accel/mutex.c: ... to here.
8883 * config/nvptx/mutex.h: Move ...
8884 * config/accel/mutex.h: ... to here.
8885 * config/nvptx/oacc-async.c: Move ...
8886 * config/accel/oacc-async.c: ... to here.
8887 * config/nvptx/oacc-cuda.c: Move ...
8888 * config/accel/oacc-cuda.c: ... to here.
8889 * config/nvptx/oacc-host.c: Move ...
8890 * config/accel/oacc-host.c: ... to here.
8891 * config/nvptx/oacc-init.c: Move ...
8892 * config/accel/oacc-init.c: ... to here.
8893 * config/nvptx/oacc-mem.c: Move ...
8894 * config/accel/oacc-mem.c: ... to here.
8895 * config/nvptx/oacc-plugin.c: Move ...
8896 * config/accel/oacc-plugin.c: ... to here.
8897 * config/nvptx/omp-lock.h: Move ...
8898 * config/accel/omp-lock.h: ... to here.
8899 * config/nvptx/openacc.f90: Move ...
8900 * config/accel/openacc.f90: ... to here.
8901 * config/nvptx/pool.h: Move ...
8902 * config/accel/pool.h: ... to here.
8903 * config/nvptx/proc.c: Move ...
8904 * config/accel/proc.c: ... to here.
8905 * config/nvptx/ptrlock.c: Move ...
8906 * config/accel/ptrlock.c: ... to here.
8907 * config/nvptx/ptrlock.h: Move ...
8908 * config/accel/ptrlock.h: ... to here.
8909 * config/nvptx/sem.c: Move ...
8910 * config/accel/sem.c: ... to here.
8911 * config/nvptx/sem.h: Move ...
8912 * config/accel/sem.h: ... to here.
8913 * config/nvptx/thread-stacksize.h: Move ...
8914 * config/accel/thread-stacksize.h: ... to here.
8916 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
8917 Tobias Burnus <tobias@codesourcery.com>
8918 Frederik Harwath <frederik@codesourcery.com>
8919 Thomas Schwinge <thomas@codesourcery.com>
8922 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8923 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8924 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8926 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
8927 Kwok Cheung Yeung <kcy@codesourcery.com>
8929 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8930 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8932 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
8934 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8936 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8938 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8939 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8941 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
8943 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8944 Add expected warnings about missing reduction clauses.
8945 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8947 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8949 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
8952 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
8954 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
8955 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
8956 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
8957 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8958 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8959 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8961 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
8964 * testsuite/libgomp.fortran/allocatable2.f90: Use
8965 unique numbers with 'stop'.
8966 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8967 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8968 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
8969 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
8970 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
8972 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
8974 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
8975 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
8976 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8977 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
8978 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
8979 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
8981 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
8983 * testsuite/libgomp.fortran/target9.f90: New.
8985 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
8987 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
8988 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
8989 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
8990 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
8991 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
8992 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
8993 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
8994 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
8995 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
8996 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
8997 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
8998 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
8999 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
9000 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
9001 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
9002 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
9003 * testsuite/libgomp.fortran/associate1.f90: Ditto.
9004 * testsuite/libgomp.fortran/associate2.f90: Ditto.
9005 * testsuite/libgomp.fortran/associate3.f90: Ditto.
9006 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
9007 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
9008 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
9009 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
9010 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
9011 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
9012 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
9013 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
9014 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
9015 * testsuite/libgomp.fortran/character1.f90: Ditto.
9016 * testsuite/libgomp.fortran/character2.f90: Ditto.
9017 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
9018 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
9019 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
9020 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
9021 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
9022 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
9023 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
9024 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
9025 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
9026 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
9027 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
9028 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
9029 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
9030 * testsuite/libgomp.fortran/do1.f90: Ditto.
9031 * testsuite/libgomp.fortran/do2.f90: Ditto.
9032 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
9033 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
9034 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
9035 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
9036 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
9037 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
9038 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
9039 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
9040 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
9041 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
9042 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
9043 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
9044 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
9045 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
9046 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
9047 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9048 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9049 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9050 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9051 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9052 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9053 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9054 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9055 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9056 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9057 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9058 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9059 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9060 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9061 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9062 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9063 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9064 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9065 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9066 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9067 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9068 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9069 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9070 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9071 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9072 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9073 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9074 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9075 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9076 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9077 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9078 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9079 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9080 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9081 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9082 * testsuite/libgomp.fortran/lib1.f90: Ditto.
9083 * testsuite/libgomp.fortran/lib4.f90: Ditto.
9084 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9085 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9086 * testsuite/libgomp.fortran/nested1.f90: Ditto.
9087 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9088 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9089 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9090 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9091 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9092 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9093 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9094 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9095 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9096 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9097 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9098 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9099 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9100 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9101 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9102 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9103 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9104 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9105 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9106 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9107 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9108 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9109 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9110 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9111 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9112 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9113 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9114 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9115 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9116 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9117 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9118 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9119 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9120 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9121 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9122 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9123 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9124 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9125 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9126 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9127 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9128 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9129 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9130 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9131 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9132 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9133 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9134 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9135 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9136 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9137 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9138 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9139 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9140 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9141 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9142 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9143 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9144 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9145 * testsuite/libgomp.fortran/reference1.f90: Ditto.
9146 * testsuite/libgomp.fortran/reference2.f90: Ditto.
9147 * testsuite/libgomp.fortran/retval1.f90: Ditto.
9148 * testsuite/libgomp.fortran/retval2.f90: Ditto.
9149 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9150 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9151 * testsuite/libgomp.fortran/simd1.f90: Ditto.
9152 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9153 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9154 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9155 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9156 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9157 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9158 * testsuite/libgomp.fortran/stack.f90: Ditto.
9159 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9160 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9161 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9162 * testsuite/libgomp.fortran/target1.f90: Ditto.
9163 * testsuite/libgomp.fortran/target2.f90: Ditto.
9164 * testsuite/libgomp.fortran/target3.f90: Ditto.
9165 * testsuite/libgomp.fortran/target4.f90: Ditto.
9166 * testsuite/libgomp.fortran/target5.f90: Ditto.
9167 * testsuite/libgomp.fortran/target6.f90: Ditto.
9168 * testsuite/libgomp.fortran/target7.f90: Ditto.
9169 * testsuite/libgomp.fortran/target8.f90: Ditto.
9170 * testsuite/libgomp.fortran/task1.f90: Ditto.
9171 * testsuite/libgomp.fortran/task2.f90: Ditto.
9172 * testsuite/libgomp.fortran/task3.f90: Ditto.
9173 * testsuite/libgomp.fortran/task4.f90: Ditto.
9174 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9175 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9176 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9177 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9178 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9179 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9180 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9181 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9182 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9183 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9184 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9185 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9186 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9187 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9188 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9189 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9190 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9191 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9192 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9193 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9194 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9195 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9196 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9197 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9198 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9199 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9200 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9201 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9202 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9203 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9204 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9205 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9206 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9207 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9209 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
9211 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9212 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9213 Ditto; add 'dg-do run' for torture testing.
9214 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9215 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9216 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9217 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9218 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9219 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9220 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9221 * testsuite/libgomp.fortran/task2.f90: Ditto.
9222 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9223 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9224 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9225 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9226 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9227 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9229 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
9231 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9232 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9233 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9234 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9235 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9236 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9237 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9238 Use 'stop' not abort().
9239 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9240 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9241 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9242 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9243 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9244 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9245 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9246 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9247 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9248 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9249 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9250 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9251 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9252 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9253 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9254 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9255 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9257 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9259 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9261 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9263 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9265 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9267 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9269 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9271 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9273 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9275 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9277 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9279 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9281 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9283 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9284 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9285 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9286 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9287 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9288 Likewise and also add 'dg-do run'.
9289 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9292 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9293 Tobias Burnus <tobias@codesourcery.com>
9295 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9296 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9297 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9299 2019-10-14 Jakub Jelinek <jakub@redhat.com>
9302 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9305 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
9307 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9308 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9310 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9313 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9316 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
9319 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9321 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9323 2019-10-09 Jakub Jelinek <jakub@redhat.com>
9326 * target.c (gomp_map_vars_internal): Readd the previous
9327 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9328 though do that just in the !not_found_cnt case.
9330 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
9332 * gfortran.dg/gomp/target-simd.f90: New.
9334 2019-10-02 Julian Brown <julian@codesourcery.com>
9335 Cesar Philippidis <cesar@codesourcery.com>
9337 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9338 * target.c (FIELD_TGT_EMPTY): Define.
9339 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9340 as switch instead of list of ifs.
9341 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9343 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9345 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9346 include. Replace alloca () with __builtin_alloca ().
9347 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9349 2019-10-01 Jakub Jelinek <jakub@redhat.com>
9351 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9352 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9353 * oacc-parallel.c: Don't include "libgomp_g.h".
9354 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9355 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9356 * aclocal.m4: Regenerated.
9357 * config.h.in: Regenerated.
9358 * configure: Regenerated.
9359 * Makefile.in: Regenerated.
9361 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9363 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9365 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
9367 * configure: Regenerate.
9369 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
9371 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9372 string is initialized.
9374 2019-09-06 Florian Weimer <fweimer@redhat.com>
9376 * configure: Regenerate.
9378 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9381 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9382 scanning to conform to the GNU Coding Standards.
9383 * configure: Regenerate.
9385 2019-08-28 Jakub Jelinek <jakub@redhat.com>
9388 * testsuite/libgomp.c/scan-21.c: New test.
9389 * testsuite/libgomp.c/scan-22.c: New test.
9391 2019-08-27 Jakub Jelinek <jakub@redhat.com>
9394 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9396 * testsuite/libgomp.c/scan-12.c: Likewise.
9397 * testsuite/libgomp.c/scan-13.c: Likewise.
9398 * testsuite/libgomp.c/scan-14.c: Likewise.
9399 * testsuite/libgomp.c/scan-15.c: Likewise.
9400 * testsuite/libgomp.c/scan-16.c: Likewise.
9401 * testsuite/libgomp.c/scan-17.c: Likewise.
9402 * testsuite/libgomp.c/scan-18.c: Likewise.
9403 * testsuite/libgomp.c/scan-19.c: Likewise.
9404 * testsuite/libgomp.c/scan-20.c: Likewise.
9405 * testsuite/libgomp.c++/scan-9.C: Likewise.
9406 * testsuite/libgomp.c++/scan-10.C: Likewise.
9407 * testsuite/libgomp.c++/scan-11.C: Likewise.
9408 * testsuite/libgomp.c++/scan-12.C: Likewise.
9409 * testsuite/libgomp.c++/scan-14.C: Likewise.
9410 * testsuite/libgomp.c++/scan-15.C: Likewise.
9411 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9412 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9413 * testsuite/libgomp.c++/scan-16.C: Likewise.
9415 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9418 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9419 -std=legacy so invalid code in the test case is accepted.
9421 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9424 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9427 2019-08-08 Jakub Jelinek <jakub@redhat.com>
9429 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9430 perform the lookup in the first loop only if !not_found_cnt, otherwise
9431 perform lookups for it in the second loop guarded with
9432 if (not_found_cnt || has_firstprivate).
9433 * testsuite/libgomp.c/target-37.c: New test.
9434 * testsuite/libgomp.c++/target-22.C: New test.
9436 2019-08-07 Jakub Jelinek <jakub@redhat.com>
9438 * testsuite/libgomp.c/target-18.c (struct S): New type.
9439 (foo): Use use_device_addr clause instead of use_device_ptr clause
9440 where required by OpenMP 5.0, add further tests for both use_device_ptr
9441 and use_device_addr clauses.
9442 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9443 (foo): Use use_device_addr clause instead of use_device_ptr clause
9444 where required by OpenMP 5.0, add further tests for both use_device_ptr
9445 and use_device_addr clauses. Add t and u arguments.
9446 (main): Adjust caller.
9448 2019-08-06 Jakub Jelinek <jakub@redhat.com>
9450 * testsuite/libgomp.c++/loop-13.C: New test.
9451 * testsuite/libgomp.c++/loop-14.C: New test.
9452 * testsuite/libgomp.c++/loop-15.C: New test.
9454 2019-07-31 Jakub Jelinek <jakub@redhat.com>
9457 * testsuite/libgomp.c++/for-27.C: New test.
9459 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9461 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
9462 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9464 2019-07-20 Jakub Jelinek <jakub@redhat.com>
9466 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9468 2019-07-08 Jakub Jelinek <jakub@redhat.com>
9470 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9471 * testsuite/libgomp.c++/scan-16.C: Likewise.
9473 2019-07-06 Jakub Jelinek <jakub@redhat.com>
9475 * testsuite/libgomp.c/scan-19.c: New test.
9476 * testsuite/libgomp.c/scan-20.c: New test.
9478 * testsuite/libgomp.c/scan-11.c: New test.
9479 * testsuite/libgomp.c/scan-12.c: New test.
9480 * testsuite/libgomp.c/scan-13.c: New test.
9481 * testsuite/libgomp.c/scan-14.c: New test.
9482 * testsuite/libgomp.c/scan-15.c: New test.
9483 * testsuite/libgomp.c/scan-16.c: New test.
9484 * testsuite/libgomp.c/scan-17.c: New test.
9485 * testsuite/libgomp.c/scan-18.c: New test.
9486 * testsuite/libgomp.c++/scan-9.C: New test.
9487 * testsuite/libgomp.c++/scan-10.C: New test.
9488 * testsuite/libgomp.c++/scan-11.C: New test.
9489 * testsuite/libgomp.c++/scan-12.C: New test.
9490 * testsuite/libgomp.c++/scan-13.C: New test.
9491 * testsuite/libgomp.c++/scan-14.C: New test.
9492 * testsuite/libgomp.c++/scan-15.C: New test.
9493 * testsuite/libgomp.c++/scan-16.C: New test.
9495 2019-07-04 Jakub Jelinek <jakub@redhat.com>
9497 * testsuite/libgomp.c/scan-9.c: New test.
9498 * testsuite/libgomp.c/scan-10.c: New test.
9500 2019-07-03 Jakub Jelinek <jakub@redhat.com>
9502 * testsuite/libgomp.c++/scan-1.C: New test.
9503 * testsuite/libgomp.c++/scan-2.C: New test.
9504 * testsuite/libgomp.c++/scan-3.C: New test.
9505 * testsuite/libgomp.c++/scan-4.C: New test.
9506 * testsuite/libgomp.c++/scan-5.C: New test.
9507 * testsuite/libgomp.c++/scan-6.C: New test.
9508 * testsuite/libgomp.c++/scan-7.C: New test.
9509 * testsuite/libgomp.c++/scan-8.C: New test.
9510 * testsuite/libgomp.c/scan-1.c: New test.
9511 * testsuite/libgomp.c/scan-2.c: New test.
9512 * testsuite/libgomp.c/scan-3.c: New test.
9513 * testsuite/libgomp.c/scan-4.c: New test.
9514 * testsuite/libgomp.c/scan-5.c: New test.
9515 * testsuite/libgomp.c/scan-6.c: New test.
9516 * testsuite/libgomp.c/scan-7.c: New test.
9517 * testsuite/libgomp.c/scan-8.c: New test.
9519 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9521 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9522 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9525 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9528 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9530 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9533 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9536 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9538 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9539 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9540 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9541 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9544 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9547 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9549 2019-06-16 Tom de Vries <tdevries@suse.de>
9551 PR tree-optimization/89376
9552 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9554 2019-06-15 Tom de Vries <tdevries@suse.de>
9556 PR tree-optimization/89713
9557 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9558 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9560 2019-06-15 Jakub Jelinek <jakub@redhat.com>
9563 * testsuite/libgomp.c/pr90779.c: New test.
9564 * testsuite/libgomp.fortran/pr90779.f90: New test.
9566 2019-06-15 Tom de Vries <tdevries@suse.de>
9568 PR tree-optimization/90009
9569 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9571 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9573 PR tree-optimization/89713
9574 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9576 2019-06-11 Jakub Jelinek <jakub@redhat.com>
9579 * testsuite/libgomp.c/pr90811.c: New test.
9581 2019-06-05 Jakub Jelinek <jakub@redhat.com>
9583 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9584 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9586 2019-06-04 Jakub Jelinek <jakub@redhat.com>
9588 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9589 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9590 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9591 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9593 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9595 * configure.ac: Call AX_COUNT_CPUS.
9596 Substitute CPU_COUNT.
9597 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9599 * aclocal.m4: Regenerate.
9600 * configure: Regenerate.
9601 * Makefile.in, testsuite/Makefile.in: Regenerate.
9603 2019-05-29 Jakub Jelinek <jakub@redhat.com>
9605 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9607 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9608 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9609 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9611 2019-05-27 Jakub Jelinek <jakub@redhat.com>
9613 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9615 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9618 * work.c (gomp_init_work_share): Instead of aligning final ordered
9619 value to multiples of long long alignment, align to that the
9620 first part (ordered team ids) and if inline_ordered_team_ids
9621 is not on a long long alignment boundary within the structure,
9622 use __alignof__ (long long) - 1 pad size always.
9623 * loop.c (GOMP_loop_start): Fix *mem computation if
9624 inline_ordered_team_ids is not aligned on long long alignment boundary
9625 within the structure.
9626 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9627 * sections.c (GOMP_sections2_start): Likewise.
9629 2019-05-24 Jakub Jelinek <jakub@redhat.com>
9631 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9632 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9635 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9636 HAVE_INTTYPES_H is defined.
9637 (print_uint64_t): New typedef.
9638 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9639 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9640 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9641 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9642 before casting to void *.
9643 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9644 * oacc-mem.c: Don't include config.h nor stdint.h.
9645 * target.c: Don't include config.h.
9646 * oacc-cuda.c: Likewise.
9647 * oacc-host.c: Don't include stdint.h.
9649 2019-05-20 Jakub Jelinek <jakub@redhat.com>
9652 * alloc.c (_GNU_SOURCE): Define.
9654 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9656 * acc_prof.h: New file.
9657 * oacc-profiling.c: Likewise.
9658 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9659 Add these, respectively.
9660 * Makefile.in: Regenerate.
9661 * env.c (initialize_env): Call goacc_profiling_initialize.
9662 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9663 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9664 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9665 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9666 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9667 acc_prof_register, acc_prof_unregister, and acc_register_library.
9668 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9669 GOMP_PLUGIN_goacc_thread.
9670 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9671 prof_callbacks_enabled members.
9672 (goacc_prof_enabled, goacc_profiling_initialize)
9673 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9674 (goacc_profiling_dispatch): Declare.
9675 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9676 (GOACC_PROFILING_SETUP_P): Define.
9677 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9678 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9679 OpenACC Profiling Interface.
9680 * oacc-cuda.c (acc_get_current_cuda_device)
9681 (acc_get_current_cuda_context, acc_get_cuda_stream)
9682 (acc_set_cuda_stream): Likewise.
9683 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9684 (acc_init, acc_set_device_type, acc_get_device_type)
9685 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9686 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9687 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9688 (acc_unmap_data, present_create_copy, delete_copyout)
9689 (update_dev_host): Likewise.
9690 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9691 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9693 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9694 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9696 * libgomp.texi: Update.
9697 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9699 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9700 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9702 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9704 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9706 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9709 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9711 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9712 (struct goacc_asyncqueue_list): Likewise.
9713 (goacc_aq): Likewise.
9714 (goacc_aq_list): Likewise.
9715 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9716 (GOMP_OFFLOAD_openacc_async_test): Remove.
9717 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9718 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9719 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9720 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9721 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9722 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9723 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9724 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9725 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9726 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9727 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9728 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9729 (GOMP_OFFLOAD_openacc_async_test): Declare.
9730 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9731 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9732 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9733 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9734 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9736 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9737 (gomp_acc_insert_pointer): Adjust declaration.
9738 (gomp_copy_host2dev): New declaration.
9739 (gomp_copy_dev2host): Likewise.
9740 (gomp_map_vars_async): Likewise.
9741 (gomp_unmap_tgt): Likewise.
9742 (gomp_unmap_vars_async): Likewise.
9743 (gomp_fini_device): Likewise.
9745 * oacc-async.c (get_goacc_thread): New function.
9746 (get_goacc_thread_device): New function.
9747 (lookup_goacc_asyncqueue): New function.
9748 (get_goacc_asyncqueue): New function.
9749 (acc_async_test): Adjust code to use new async design.
9750 (acc_async_test_all): Likewise.
9751 (acc_wait): Likewise.
9752 (acc_wait_async): Likewise.
9753 (acc_wait_all): Likewise.
9754 (acc_wait_all_async): Likewise.
9755 (goacc_async_free): New function.
9756 (goacc_init_asyncqueues): Likewise.
9757 (goacc_fini_asyncqueues): Likewise.
9758 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9760 (acc_set_cuda_stream): Likewise.
9761 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9762 (host_openacc_register_async_cleanup): Remove.
9763 (host_openacc_async_exec): New function.
9764 (host_openacc_async_test): Adjust parameters.
9765 (host_openacc_async_test_all): Remove.
9766 (host_openacc_async_wait): Remove.
9767 (host_openacc_async_wait_async): Remove.
9768 (host_openacc_async_wait_all): Remove.
9769 (host_openacc_async_wait_all_async): Remove.
9770 (host_openacc_async_set_async): Remove.
9771 (host_openacc_async_synchronize): New function.
9772 (host_openacc_async_serialize): New function.
9773 (host_openacc_async_host2dev): New function.
9774 (host_openacc_async_dev2host): New function.
9775 (host_openacc_async_queue_callback): New function.
9776 (host_openacc_async_construct): New function.
9777 (host_openacc_async_destruct): New function.
9778 (struct gomp_device_descr host_dispatch): Remove initialization of old
9779 interface, add initialization of new async sub-struct.
9780 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9781 (goacc_attach_host_thread_to_device): Remove old async code usage.
9782 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9783 (goacc_fini_asyncqueues): Likewise.
9784 (goacc_async_copyout_unmap_vars): Likewise.
9785 (goacc_async_free): Likewise.
9786 (get_goacc_asyncqueue): Likewise.
9787 (lookup_goacc_asyncqueue): Likewise.
9788 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9790 (present_create_copy): Adjust code to use new async design.
9791 (delete_copyout): Likewise.
9792 (update_dev_host): Likewise.
9793 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9795 (gomp_acc_remove_pointer): Adjust code to use new async design.
9796 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9798 (GOACC_enter_exit_data): Likewise.
9799 (goacc_wait): Likewise.
9800 (GOACC_update): Likewise.
9801 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9802 when called, warn as obsolete in comment.
9803 * target.c (goacc_device_copy_async): New function.
9804 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9805 add goacc_device_copy_async case.
9806 (gomp_copy_dev2host): Likewise.
9807 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9808 (gomp_map_pointer): Likewise.
9809 (gomp_map_fields_existing): Likewise.
9810 (gomp_map_vars_internal): New always_inline function, renamed from
9812 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9813 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9814 passing goacc_asyncqueue argument.
9815 (gomp_unmap_tgt): Remove static, add attribute_hidden.
9816 (gomp_unref_tgt): New function.
9817 (gomp_unmap_vars_internal): New always_inline function, renamed from
9819 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9820 (gomp_unmap_vars_async): Implement by calling
9821 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9822 (gomp_fini_device): New function.
9823 (gomp_exit_data): Adjust gomp_copy_dev2host call.
9824 (gomp_load_plugin_for_device): Remove old interface, adjust to load
9825 new async interface.
9826 (gomp_target_fini): Adjust code to call gomp_fini_device.
9828 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9829 (struct ptx_stream): Remove.
9830 (struct nvptx_thread): Remove current_stream field.
9831 (cuda_map_create): Remove.
9832 (cuda_map_destroy): Remove.
9837 (struct goacc_asyncqueue): Define.
9838 (struct nvptx_callback): Define.
9839 (struct ptx_free_block): Define.
9840 (struct ptx_device): Remove null_stream, active_streams, async_streams,
9841 stream_lock, and next fields.
9842 (enum ptx_event_type): Remove.
9843 (struct ptx_event): Remove.
9844 (ptx_event_lock): Remove.
9845 (ptx_events): Remove.
9846 (init_streams_for_device): Remove.
9847 (fini_streams_for_device): Remove.
9848 (select_stream_for_async): Remove.
9849 (nvptx_init): Remove ptx_events and ptx_event_lock references.
9850 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9852 (nvptx_open_device): Add free_blocks initialization, remove
9853 init_streams_for_device call.
9854 (nvptx_close_device): Remove fini_streams_for_device call, add
9855 free_blocks destruct code.
9857 (event_add): Remove.
9858 (nvptx_exec): Adjust parameters and code.
9859 (nvptx_free): Likewise.
9860 (nvptx_host2dev): Remove.
9861 (nvptx_dev2host): Remove.
9862 (nvptx_set_async): Remove.
9863 (nvptx_async_test): Remove.
9864 (nvptx_async_test_all): Remove.
9865 (nvptx_wait): Remove.
9866 (nvptx_wait_async): Remove.
9867 (nvptx_wait_all): Remove.
9868 (nvptx_wait_all_async): Remove.
9869 (nvptx_get_cuda_stream): Remove.
9870 (nvptx_set_cuda_stream): Remove.
9871 (GOMP_OFFLOAD_alloc): Adjust code.
9872 (GOMP_OFFLOAD_free): Likewise.
9873 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9874 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9875 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9876 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9877 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9878 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9879 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9880 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9881 (cuda_free_argmem): New function.
9882 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9883 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9884 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9885 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9886 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9887 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9888 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9889 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9890 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9891 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9892 (cuda_callback_wrapper): New function.
9893 (cuda_memcpy_sanity_check): New function.
9894 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9895 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9896 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9897 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9899 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
9902 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9904 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
9906 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9908 2019-03-27 Kevin Buettner <kevinb@redhat.com>
9910 * team.c (gomp_team_start): Initialize pool->threads[0].
9912 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
9914 * testsuite/libgomp.oacc-c++/c++.exp: Specify
9915 "-foffload=$offload_target".
9916 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9917 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9918 * testsuite/lib/libgomp.exp
9919 (check_effective_target_openacc_nvidia_accel_configured): Remove,
9920 as (conceptually) merged into
9921 check_effective_target_openacc_nvidia_accel_selected. Adjust all
9924 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9925 * testsuite/libgomp-test-support.exp.in: Adjust.
9926 * testsuite/lib/libgomp.exp: Likewise. Don't populate
9927 openacc_device_types_s.
9928 (offload_target_to_openacc_device_type): New proc.
9929 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9930 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9931 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9932 * Makefile.in: Regenerate.
9933 * configure: Likewise.
9934 * testsuite/Makefile.in: Likewise.
9936 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9937 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9938 instead of OFFLOAD_TARGETS.
9939 * target.c (gomp_target_init): Adjust.
9940 * testsuite/libgomp-test-support.exp.in: Likewise.
9941 * testsuite/lib/libgomp.exp: Likewise. Populate
9942 openacc_device_types_s instead of offload_targets_s_openacc.
9943 (check_effective_target_openacc_nvidia_accel_selected)
9944 (check_effective_target_openacc_host_selected): Adjust.
9945 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9946 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9947 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9948 * Makefile.in: Regenerate.
9949 * config.h.in: Likewise.
9950 * configure: Likewise.
9951 * testsuite/Makefile.in: Likewise.
9953 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
9954 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
9955 "offloading: supported, but hardware not accessible".
9956 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9957 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9959 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
9962 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
9964 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
9965 and related adjustment.
9967 2019-01-30 Jakub Jelinek <jakub@redhat.com>
9970 * testsuite/libgomp.c++/pr88988.C: New test.
9972 2019-01-28 Jakub Jelinek <jakub@redhat.com>
9975 * testsuite/libgomp.c/pr89002.c: New test.
9977 2019-01-28 Richard Biener <rguenther@suse.de>
9980 PR tree-optimization/86865
9981 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
9983 2019-01-24 Tom de Vries <tdevries@suse.de>
9985 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
9986 once instantiated_devices drops to 0.
9988 2019-01-23 Tom de Vries <tdevries@suse.de>
9991 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
9993 (nvptx_exec): Don't call map_push if mapnum == 0.
9994 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
9996 2019-01-23 Tom de Vries <tdevries@suse.de>
10000 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
10001 (map_fini): Remove "assert (!s->map->active)".
10002 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
10004 2019-01-23 Tom de Vries <tdevries@suse.de>
10007 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
10008 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
10010 2019-01-15 Tom de Vries <tdevries@suse.de>
10013 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
10016 2019-01-12 Tom de Vries <tdevries@suse.de>
10018 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
10019 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
10020 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
10021 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
10023 2019-01-12 Tom de Vries <tdevries@suse.de>
10025 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
10027 2019-01-12 Tom de Vries <tdevries@suse.de>
10029 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
10030 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
10031 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
10033 2019-01-12 Tom de Vries <tdevries@suse.de>
10036 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
10037 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
10039 2019-01-12 Tom de Vries <tdevries@suse.de>
10042 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
10043 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
10045 2019-01-12 Tom de Vries <tdevries@suse.de>
10047 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10048 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10049 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10051 2019-01-12 Tom de Vries <tdevries@suse.de>
10053 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10054 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10055 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10057 2019-01-12 Tom de Vries <tdevries@suse.de>
10059 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10060 resources diagnostic.
10062 2019-01-12 Tom de Vries <tdevries@suse.de>
10064 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10065 vector length to be 128.
10066 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10067 length 2097152 to be reduced to 1024 instead of 32.
10069 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
10070 James Norris <jnorris@codesourcery.com>
10072 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10073 Library Routines", and "Environment Variables".
10075 2019-01-11 Tom de Vries <tdevries@suse.de>
10077 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10080 2019-01-11 Tom de Vries <tdevries@suse.de>
10082 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10084 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10085 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10086 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10087 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10089 2019-01-11 Tom de Vries <tdevries@suse.de>
10091 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10094 2019-01-10 Nathan Sidwell <nathan@acm.org>
10095 Julian Brown <julian@codesourcery.com>
10098 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10099 * testsuite/libgomp.oacc-c++/pr71959.C: New.
10101 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10103 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10106 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10108 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
10109 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10112 2019-01-09 Tom de Vries <tdevries@suse.de>
10115 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10116 #define instead of "const int".
10117 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10118 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10119 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10120 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10122 2019-01-09 Tom de Vries <tdevries@suse.de>
10124 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10127 2019-01-07 Tom de Vries <tdevries@suse.de>
10129 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10130 GOMP_OPENACC_DIM argument.
10132 2019-01-03 Tom de Vries <tdevries@suse.de>
10134 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10135 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10137 2019-01-01 Jakub Jelinek <jakub@redhat.com>
10139 Update copyright years.
10141 2019-01-01 Jakub Jelinek <jakub@redhat.com>
10143 * libgomp.texi: Bump @copying's copyright year.
10145 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10147 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10148 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10149 (GOACC_declare): Redefine the "device" argument to "flags".
10151 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10152 Cesar Philippidis <cesar@codesourcery.com>
10154 * target.c (struct gomp_coalesce_chunk): New structure.
10155 (struct gomp_coalesce_buf): Update the chunks member to use that
10156 type. Adjust all users.
10158 2018-12-19 Tom de Vries <tdevries@suse.de>
10160 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10161 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10162 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10164 2018-12-19 Tom de Vries <tdevries@suse.de>
10166 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10167 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10168 gcc/testsuite/gcc.dg/goacc.
10169 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10171 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10172 Chung-Lin Tang <cltang@codesourcery.com>
10174 * oacc-mem.c (acc_present_or_create): Remove definition and change
10175 to alias of acc_create.
10176 (acc_present_or_copyin): Remove definition and change to alias of
10178 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10179 of acc_present_or_create.
10180 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10181 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10182 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10183 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10184 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10185 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10186 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10187 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10188 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10189 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10190 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10191 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10192 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10193 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10194 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10195 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10197 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10200 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10201 "identical parameters".
10202 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10203 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10206 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10207 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10210 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10211 (nvptx_wait_async): Unseen async-argument is a no-op.
10212 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10213 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10214 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10215 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10216 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10217 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10218 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10219 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10220 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10222 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10223 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10225 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10227 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10228 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10229 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10231 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10234 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10235 (acc_set_cuda_stream): Clarify.
10236 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10238 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10240 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10241 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10242 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10243 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10245 2018-12-14 Tom de Vries <tdevries@suse.de>
10247 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10248 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10249 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10250 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10251 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10253 2018-12-13 Tom de Vries <tdevries@suse.de>
10255 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10256 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10257 * fortran.c (omp_display_affinity_): ... here.
10258 * libgomp.h (gomp_print_string): Declare.
10259 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10260 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10263 2018-12-13 Jakub Jelinek <jakub@redhat.com>
10266 * testsuite/libgomp.c++/for-24.C (results): Include it in
10267 omp declare target region.
10268 (main): Use map (always, tofrom: results) instead of
10269 map (tofrom: results).
10271 2018-12-12 Jakub Jelinek <jakub@redhat.com>
10274 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10275 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10277 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10279 2018-12-12 Andreas Schwab <schwab@suse.de>
10281 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10284 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10287 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10289 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10290 Jakub Jelinek <jakub@redhat.com>
10292 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10293 devicep->host2dev_func.
10295 2018-12-08 Jakub Jelinek <jakub@redhat.com>
10298 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10299 tls_runtime effective target.
10300 (t): New threadprivate variable.
10301 (main): Set t in threads which execute iterations of the worksharing
10302 loop. Propagate that to the task after the loop and don't abort
10303 if the current taskgroup hasn't been cancelled.
10305 2018-12-02 Jakub Jelinek <jakub@redhat.com>
10307 * testsuite/libgomp.c/task-reduction-3.c: New test.
10309 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10311 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10314 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10315 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10317 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10319 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10321 2018-10-19 Richard Biener <rguenther@suse.de>
10323 PR tree-optimization/88182
10324 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10326 2018-11-26 Jakub Jelinek <jakub@redhat.com>
10328 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10329 (RUNTEST): Don't define.
10330 (RUNTESTDEFAULTFLAGS): Add.
10331 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10332 (distclean-am): Depend on distclean-DEJAGNU.
10333 (check-am): If -j% option is present in MFLAGS and if
10334 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10335 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10336 * testsuite/Makefile.in: Regenerated.
10338 2018-11-26 Richard Biener <rguenther@suse.de>
10340 PR tree-optimization/88182
10341 * testsuite/libgomp.c++/pr88182.C: New testcase.
10343 2018-11-20 Jakub Jelinek <jakub@redhat.com>
10346 * config/mingw32/affinity-fmt.c: New file.
10348 2018-11-09 Jakub Jelinek <jakub@redhat.com>
10350 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10351 (gomp_display_affinity): Use __builtin_choose_expr to handle
10352 properly handle argument having integral, or pointer or some other
10353 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10354 with uint64_t type instead of %llx and unsigned long long.
10356 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10357 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10359 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10361 * affinity.c: Include <string.h>, <stdio.h>.
10362 (gomp_display_affinity_place): Remove cpusetp.
10363 * teams.c: Include <limits.h>.
10365 2018-11-08 Jakub Jelinek <jakub@redhat.com>
10367 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10368 in_reduction clause for s[0].
10370 * affinity.c (gomp_display_affinity_place): New function.
10371 * affinity-fmt.c: New file.
10372 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10373 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10374 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10375 Move these functions to ...
10376 * config/nvptx/teams.c: ... here. New file.
10377 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10379 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10381 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10382 and _aligned_malloc.
10383 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10384 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10385 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10386 gomp_affinity_format_len): New variables.
10387 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10388 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10389 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10390 modifiers. Display (non-default) chunk sizes. Print
10391 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10392 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10393 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10394 * fortran.c: Include stdio.h and string.h.
10395 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10396 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10397 (omp_set_affinity_format_, omp_get_affinity_format_,
10398 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10399 omp_pause_resource_all_): New functions.
10400 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10402 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10404 * teams.c: ... here. New file.
10405 * libgomp_g.h: Include gstdint.h.
10406 (GOMP_loop_nonmonotonic_runtime_start,
10407 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10408 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10409 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10410 GOMP_parallel_loop_nonmonotonic_runtime,
10411 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10412 GOMP_loop_ull_nonmonotonic_runtime_start,
10413 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10414 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10415 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10416 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10417 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10418 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10419 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10420 GOMP_teams_reg): Declare.
10421 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10422 gomp_aligned_alloc uses fallback implementation.
10423 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10424 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10425 (struct gomp_doacross_work_share): Add extra field.
10426 (struct gomp_work_share): Add task_reductions field.
10427 (struct gomp_taskgroup): Add workshare and reductions fields.
10428 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10429 (gomp_thread_handle): New typedef.
10430 (gomp_display_affinity_place, gomp_set_affinity_format,
10431 gomp_display_string, gomp_display_affinity,
10432 gomp_display_affinity_thread): Declare.
10433 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10434 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10435 gomp_workshare_task_reduction_register): Declare.
10436 (gomp_team_start): Add taskgroup argument.
10437 (gomp_pause_host): Declare.
10438 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10440 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10441 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10442 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10443 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10444 GOMP_loop_ull_doacross_start,
10445 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10446 GOMP_loop_maybe_nonmonotonic_runtime_next,
10447 GOMP_loop_maybe_nonmonotonic_runtime_start,
10448 GOMP_loop_nonmonotonic_runtime_next,
10449 GOMP_loop_nonmonotonic_runtime_start,
10450 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10451 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10452 GOMP_loop_ull_nonmonotonic_runtime_next,
10453 GOMP_loop_ull_nonmonotonic_runtime_start,
10454 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10455 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10456 GOMP_taskgroup_reduction_register,
10457 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10458 GOMP_teams_reg and GOMP_taskwait_depend.
10459 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10460 omp_{capture,display}_affinity{,_}, and
10461 omp_[gs]et_affinity_format{,_}.
10462 * loop.c: Include string.h.
10463 (GOMP_loop_runtime_next): Add ialias.
10464 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10465 (gomp_loop_static_start, gomp_loop_dynamic_start,
10466 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10467 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10468 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10469 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10470 or gomp_doacross_init callers.
10471 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10472 GOMP_loop_doacross_start): New functions.
10473 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10474 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10475 Mask off GFS_MONOTONIC bit.
10476 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10477 GOMP_loop_maybe_nonmonotonic_runtime_start,
10478 GOMP_loop_nonmonotonic_runtime_next,
10479 GOMP_loop_nonmonotonic_runtime_start,
10480 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10481 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10483 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10485 * loop_ull.c: Include string.h.
10486 (GOMP_loop_ull_runtime_next): Add ialias.
10487 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10488 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10489 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10490 gomp_loop_ull_ordered_dynamic_start,
10491 gomp_loop_ull_ordered_guided_start,
10492 gomp_loop_ull_doacross_static_start,
10493 gomp_loop_ull_doacross_dynamic_start,
10494 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10495 and gomp_doacross_ull_init callers.
10496 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10497 GOMP_loop_ull_doacross_start): New functions.
10498 (GOMP_loop_ull_runtime_start,
10499 GOMP_loop_ull_ordered_runtime_start,
10500 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10501 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10502 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10503 GOMP_loop_ull_nonmonotonic_runtime_next,
10504 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10505 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10506 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10507 (omp_pause_resource_t, omp_depend_t): New typedefs.
10508 (enum omp_lock_hint_t): Renamed to ...
10509 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10510 enumerators using numbers and omp_lock_hint_* as their aliases.
10511 (omp_lock_hint_t): New typedef. Rename to ...
10512 (omp_sync_hint_t): ... this.
10513 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10514 omp_sync_hint_t instead of omp_lock_hint_t.
10515 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10516 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10518 (omp_target_is_present, omp_target_disassociate_ptr):
10519 Change first argument from void * to const void *.
10520 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10521 from void * to const void *.
10522 (omp_target_associate_ptr): Change first and second arguments from
10523 void * to const void *.
10524 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10525 omp_pause_hard): New parameters.
10526 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10527 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10529 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10530 omp_pause_hard): New parameters.
10531 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10532 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10534 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10535 EXTRA argument. If not needed to prepare array, if extra is 0,
10536 clear ws->doacross, otherwise allocate just doacross structure and
10537 extra payload. If array is needed, allocate also extra payload.
10538 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10539 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10541 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10543 (GOMP_parallel): Likewise. Formatting fix.
10544 (GOMP_parallel_reductions): New function.
10545 (GOMP_cancellation_point): If taskgroup has workshare
10546 flag set, check cancelled of prev taskgroup if any.
10547 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10548 on prev taskgroup if any.
10549 * sections.c: Include string.h.
10550 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10551 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10552 (GOMP_sections2_start): New function.
10553 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10554 Pass NULL as taskgroup to gomp_team_start.
10555 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10556 gomp_work_share_start callers.
10557 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10558 If taskgroup has workshare flag set, check cancelled on prev
10559 taskgroup if any. Guard all cancellation tests with
10560 gomp_cancel_var test.
10561 (omp_target_is_present, omp_target_disassociate_ptr):
10562 Change ptr argument from void * to const void *.
10563 (omp_target_memcpy): Change src argument from void * to const void *.
10564 (omp_target_memcpy_rect): Likewise.
10565 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10566 instead of char * where needed.
10567 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10568 from void * to const void *.
10569 (omp_pause_resource, omp_pause_resource_all): New functions.
10570 * task.c (gomp_task_handle_depend): Handle new depend array format
10571 in addition to the old. Handle mutexinoutset kinds the same as
10572 inout for now, handle unspecified kinds.
10573 (gomp_create_target_task): If taskgroup has workshare flag set, check
10574 cancelled on prev taskgroup if any. Guard all cancellation tests with
10575 gomp_cancel_var test. Handle new depend array format count in
10576 addition to the old.
10577 (GOMP_task): Likewise. Adjust function comment.
10578 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10579 cancelled on prev taskgroup if any. Guard all cancellation tests with
10580 gomp_cancel_var test.
10581 (GOMP_taskwait_depend): New function.
10582 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10583 format in addition to the old. Handle mutexinoutset kinds the same as
10584 inout for now, handle unspecified kinds. Fix a function comment typo.
10585 (gomp_taskgroup_init): New function.
10586 (GOMP_taskgroup_start): Use it.
10587 (gomp_reduction_register, gomp_create_artificial_team,
10588 GOMP_taskgroup_reduction_register,
10589 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10590 gomp_parallel_reduction_register,
10591 gomp_workshare_task_reduction_register,
10592 gomp_workshare_taskgroup_start,
10593 GOMP_workshare_task_reduction_unregister): New functions.
10594 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10595 check cancelled on prev taskgroup if any. Guard all cancellation
10596 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10597 by calling GOMP_taskgroup_reduction_register.
10598 * team.c (gomp_thread_attr): Remove comment.
10599 (struct gomp_thread_start_data): Add handle field.
10600 (gomp_thread_start): Call pthread_detach.
10601 (gomp_new_team): Adjust gomp_init_work_share caller.
10602 (gomp_free_pool_helper): Call pthread_detach.
10603 (gomp_team_start): Add taskgroup argument, initialize implicit
10604 tasks' taskgroup field to that. Don't call
10605 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10606 (gomp_team_end): Determine nesting by thr->ts.level != 0
10607 rather than thr->ts.team != NULL.
10608 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10609 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10610 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10611 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10612 if more than 1 allocate also extra payload at the end of array. Never
10613 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10614 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10615 return true instead of ws.
10616 * Makefile.in: Regenerated.
10617 * configure: Regenerated.
10618 * config.h.in: Regenerated.
10619 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10621 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10622 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10623 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10624 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10625 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10626 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10627 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10628 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10629 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10630 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10631 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10632 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10633 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10634 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10635 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10636 define a different N(test), don't define N(f0) to N(f14), but instead
10637 define N(f20) to N(f34) using != comparisons.
10638 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10639 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10640 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10641 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10642 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10643 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10644 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10645 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10646 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10647 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10648 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10649 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10650 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10651 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10652 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10653 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10654 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10655 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10656 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10657 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10658 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10659 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10660 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10661 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10662 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10663 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10664 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10665 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10666 * testsuite/libgomp.c++/depend-1.C: New test.
10667 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10668 * testsuite/libgomp.c++/depobj-1.C: New test.
10669 * testsuite/libgomp.c++/for-16.C: New test.
10670 * testsuite/libgomp.c++/for-21.C: New test.
10671 * testsuite/libgomp.c++/for-22.C: New test.
10672 * testsuite/libgomp.c++/for-23.C: New test.
10673 * testsuite/libgomp.c++/for-24.C: New test.
10674 * testsuite/libgomp.c++/for-25.C: New test.
10675 * testsuite/libgomp.c++/for-26.C: New test.
10676 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10677 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10678 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10679 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10680 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10681 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10682 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10683 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10684 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10685 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10686 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10687 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10688 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10689 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10690 * testsuite/libgomp.c/task-reduction-1.c: New test.
10691 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10692 * testsuite/libgomp.c/task-reduction-2.c: New test.
10693 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10694 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10695 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10696 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10697 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10698 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10699 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10700 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10701 * testsuite/libgomp.c/teams-1.c: New test.
10702 * testsuite/libgomp.c/teams-2.c: New test.
10703 * testsuite/libgomp.c/thread-limit-4.c: New test.
10704 * testsuite/libgomp.c/thread-limit-5.c: New test.
10705 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10707 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10709 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10710 acc_memcpy_to/from_device functions, now with async parameter.
10711 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10712 (acc_memcpy_from_device): Likewise.
10713 (acc_memcpy_to_device_async): New API function.
10714 (acc_memcpy_from_device_async): Likewise.
10715 (present_create_copy): Add async parameter and async setting/unsetting.
10716 (acc_create): Adjust present_create_copy call.
10717 (acc_copyin): Likewise.
10718 (acc_present_or_create): Likewise.
10719 (acc_present_or_copyin): Likewise.
10720 (acc_create_async): New API function.
10721 (acc_copyin_async): New API function.
10722 (delete_copyout): Add async parameter and async setting/unsetting.
10723 (acc_delete): Adjust delete_copyout call.
10724 (acc_copyout): Likewise.
10725 (acc_delete_async): New API function.
10726 (acc_copyout_async): Likewise.
10727 (update_dev_host): Add async parameter and async setting/unsetting.
10728 (acc_update_device): Adjust update_dev_host call.
10729 (acc_update_self): Likewise.
10730 (acc_update_device_async): New API function.
10731 (acc_update_self_async): Likewise.
10732 * openacc.h (acc_copyin_async): Declare new API function.
10733 (acc_create_async): Likewise.
10734 (acc_copyout_async): Likewise.
10735 (acc_delete_async): Likewise.
10736 (acc_update_device_async): Likewise.
10737 (acc_update_self_async): Likewise.
10738 (acc_memcpy_to_device_async): Likewise.
10739 (acc_memcpy_from_device_async): Likewise.
10740 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10741 (acc_copyin_async_64_h): New subroutine.
10742 (acc_copyin_async_array_h): New subroutine.
10743 (acc_create_async_32_h): New subroutine.
10744 (acc_create_async_64_h): New subroutine.
10745 (acc_create_async_array_h): New subroutine.
10746 (acc_copyout_async_32_h): New subroutine.
10747 (acc_copyout_async_64_h): New subroutine.
10748 (acc_copyout_async_array_h): New subroutine.
10749 (acc_delete_async_32_h): New subroutine.
10750 (acc_delete_async_64_h): New subroutine.
10751 (acc_delete_async_array_h): New subroutine.
10752 (acc_update_device_async_32_h): New subroutine.
10753 (acc_update_device_async_64_h): New subroutine.
10754 (acc_update_device_async_array_h): New subroutine.
10755 (acc_update_self_async_32_h): New subroutine.
10756 (acc_update_self_async_64_h): New subroutine.
10757 (acc_update_self_async_array_h): New subroutine.
10758 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10759 (acc_copyin_async_64_h): New subroutine.
10760 (acc_copyin_async_array_h): New subroutine.
10761 (acc_create_async_32_h): New subroutine.
10762 (acc_create_async_64_h): New subroutine.
10763 (acc_create_async_array_h): New subroutine.
10764 (acc_copyout_async_32_h): New subroutine.
10765 (acc_copyout_async_64_h): New subroutine.
10766 (acc_copyout_async_array_h): New subroutine.
10767 (acc_delete_async_32_h): New subroutine.
10768 (acc_delete_async_64_h): New subroutine.
10769 (acc_delete_async_array_h): New subroutine.
10770 (acc_update_device_async_32_h): New subroutine.
10771 (acc_update_device_async_64_h): New subroutine.
10772 (acc_update_device_async_array_h): New subroutine.
10773 (acc_update_self_async_32_h): New subroutine.
10774 (acc_update_self_async_64_h): New subroutine.
10775 (acc_update_self_async_array_h): New subroutine.
10776 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10777 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10778 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10779 acc_memcpy_to_device_async*, acc_update_device_async*, and
10780 acc_update_self_async* entries.
10781 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10782 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10783 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10785 2018-10-31 Joseph Myers <joseph@codesourcery.com>
10788 * Makefile.am: Include multilib.am
10789 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10790 (CLEANFILES): Remove libgomp.info.
10791 * configure.ac: Remove AC_PREREQ.
10792 * testsuite/Makefile.am (RUNTEST): Remove quotes.
10793 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10796 2018-10-29 Joseph Myers <joseph@codesourcery.com>
10797 Julian Brown <julian@codesourcery.com>
10799 * testsuite/libgomp.oacc-c++/this.C: New.
10801 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
10803 * plugin/plugin-nvptx.c (struct cuda_map): New.
10804 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10805 h_tail with (cuda_map *) map.
10806 (cuda_map_create): New function.
10807 (cuda_map_destroy): New function.
10808 (map_init): Update to use a linked list of cuda_map objects.
10809 (map_fini): Likewise.
10810 (map_pop): Likewise.
10811 (map_push): Likewise. Return CUdeviceptr instead of void.
10812 (init_streams_for_device): Remove stales references to ptx_stream
10814 (select_stream_for_async): Likewise.
10815 (nvptx_exec): Update call to map_init.
10817 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
10818 Julian Brown <julian@codesourcery.com>
10820 PR middle-end/86336
10821 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10823 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
10824 Thomas Koenig <tkoenig@gcc.gnu.org>
10827 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10828 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10829 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10830 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10831 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10832 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10833 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10835 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
10836 Tom de Vries <tdevries@suse.de>
10839 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10840 (cuOccupancyMaxPotentialBlockSize): Declare.
10841 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10842 CUDA_ONE_CALL_MAYBE_NULL.
10843 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10844 CUoccupancyB2DSize and declare
10845 cuOccupancyMaxPotentialBlockSize.
10846 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10847 default num_gangs and num_workers when the driver supports it.
10849 2018-08-08 Tom de Vries <tdevries@suse.de>
10851 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10852 CUDA_ONE_CALL_MAYBE_NULL.
10853 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10854 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10855 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10858 2018-08-08 Tom de Vries <tdevries@suse.de>
10860 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10861 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10864 2018-08-08 Tom de Vries <tdevries@suse.de>
10866 * plugin/plugin-nvptx.c
10867 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10868 (nvptx_open_device): Use
10869 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10871 2018-08-08 Tom de Vries <tdevries@suse.de>
10873 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10874 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
10876 2018-08-07 Tom de Vries <tdevries@suse.de>
10878 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10879 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10880 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
10881 corresponding call in CUDA_ONE_CALL. Add def/undef of
10882 CUDA_ONE_CALL_MAYBE_NULL.
10883 (CUDA_CALL_EXISTS): Define.
10885 2018-08-07 Tom de Vries <tdevries@suse.de>
10887 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10888 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10889 corresponding undefs right after.
10891 2018-08-04 Tom de Vries <tdevries@suse.de>
10893 * plugin/configfrag.ac: For --without-cuda-driver, set
10894 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
10895 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10896 * configure: Regenerate.
10898 2018-08-02 Tom de Vries <tdevries@suse.de>
10901 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10902 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10903 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10905 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10906 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10907 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10909 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10910 Thomas Schwinge <thomas@codesourcery.com>
10912 * config/nvptx/oacc-parallel.c: Truncate.
10914 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10915 James Norris <jnorris@codesourcery.com>
10917 * plugin/plugin-nvptx.c (struct map): Removed.
10918 (map_init, map_pop): Remove use of struct map.
10919 (map_push): Likewise and change argument list.
10920 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10922 2018-08-01 Tom de Vries <tdevries@suse.de>
10924 * plugin/cuda-lib.def: New file. Factor out of ...
10925 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10926 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10929 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
10931 Revert 'AsyncI/O patch committed'.
10932 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10933 Thomas Koenig <tkoenig@gcc.gnu.org>
10936 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10937 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10938 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10939 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10940 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10941 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10942 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10944 2018-07-30 Tom de Vries <tdevries@suse.de>
10946 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10947 (nvptx_exec): Ensure worker and vector default dims don't exceed
10948 targ_fn->max_threads_per_block.
10950 2018-07-30 Tom de Vries <tdevries@suse.de>
10952 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
10953 (nvptx_open_device): Init default_dims for device.
10954 (nvptx_exec): Use default_dims from device.
10956 2018-07-26 Jakub Jelinek <jakub@redhat.com>
10959 * testsuite/libgomp.c++/for-15.C (results): Include it in
10960 omp declare target region.
10961 (main): Use map (always, tofrom: results) instead of
10962 map (tofrom: results).
10964 PR middle-end/86660
10965 * testsuite/libgomp.c/pr86660.c: New test.
10967 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10968 Tom de Vries <tdevries@suse.de>
10970 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
10971 sufficient resources to launch a kernel, and give a hint on how to fix
10974 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10975 Tom de Vries <tdevries@suse.de>
10977 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
10978 max_threads_per_block and max_threads_per_multiprocessor fields.
10979 (nvptx_open_device): Initialize new fields.
10980 (nvptx_exec): Use num_sms, and new fields.
10982 2018-07-26 Tom de Vries <tdevries@suse.de>
10984 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
10985 to correct locations. Remove xfail.
10987 2018-07-26 Tom de Vries <tdevries@suse.de>
10989 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
10990 acc_wait. Move acc_async_test calls to correct locations. Remove
10993 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10994 Thomas Koenig <tkoenig@gcc.gnu.org>
10997 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10998 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10999 * testsuite/libgomp.fortran/async_io_3.f90: New test.
11000 * testsuite/libgomp.fortran/async_io_4.f90: New test.
11001 * testsuite/libgomp.fortran/async_io_5.f90: New test.
11002 * testsuite/libgomp.fortran/async_io_6.f90: New test.
11003 * testsuite/libgomp.fortran/async_io_7.f90: New test.
11005 2018-07-17 Jakub Jelinek <jakub@redhat.com>
11007 PR middle-end/86542
11008 * testsuite/libgomp.c++/pr86542.C: New test.
11010 PR middle-end/86539
11011 * testsuite/libgomp.c++/pr86539.C: New test.
11013 2018-07-11 Jakub Jelinek <jakub@redhat.com>
11016 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
11017 (results): Make sure the variable is not inside declare target region.
11018 (qux): Remove unused function.
11020 2018-07-10 Jakub Jelinek <jakub@redhat.com>
11023 * testsuite/libgomp.c++/for-15.C: New test.
11025 2018-06-26 Jakub Jelinek <jakub@redhat.com>
11028 * testsuite/libgomp.c++/pr86291.C: New test.
11030 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
11032 * libgomp.texi (Top): Move www.openmp.org to https.
11033 (Enabling OpenMP): Ditto.
11034 (omp_get_active_level): Ditto.
11035 (omp_get_ancestor_thread_num): Ditto.
11036 (omp_get_cancellation): Ditto.
11037 (omp_get_default_device): Ditto.
11038 (omp_get_dynamic): Ditto.
11039 (omp_get_level): Ditto.
11040 (omp_get_max_active_levels): Ditto.
11041 (omp_get_max_task_priority): Ditto.
11042 (omp_get_max_threads): Ditto.
11043 (omp_get_nested): Ditto.
11044 (omp_get_num_devices): Ditto.
11045 (omp_get_num_procs): Ditto.
11046 (omp_get_num_teams): Ditto.
11047 (omp_get_num_threads): Ditto.
11048 (omp_get_proc_bind): Ditto.
11049 (omp_get_schedule): Ditto.
11050 (omp_get_team_num): Ditto.
11051 (omp_get_team_size): Ditto.
11052 (omp_get_thread_limit): Ditto.
11053 (omp_get_thread_num): Ditto.
11054 (omp_in_parallel): Ditto.
11055 (omp_in_final): Ditto.
11056 (omp_is_initial_device): Ditto.
11057 (omp_set_default_device): Ditto.
11058 (omp_set_dynamic): Ditto.
11059 (omp_set_max_active_levels): Ditto.
11060 (omp_set_nested): Ditto.
11061 (omp_set_num_threads): Ditto.
11062 (omp_set_schedule): Ditto.
11063 (omp_init_lock): Ditto.
11064 (omp_set_lock): Ditto.
11065 (omp_test_lock): Ditto.
11066 (omp_unset_lock): Ditto.
11067 (omp_destroy_lock): Ditto.
11068 (omp_init_nest_lock): Ditto.
11069 (omp_set_nest_lock): Ditto.
11070 (omp_test_nest_lock): Ditto.
11071 (omp_unset_nest_lock): Ditto.
11072 (omp_destroy_nest_lock): Ditto.
11073 (omp_get_wtick): Ditto.
11074 (omp_get_wtime): Ditto.
11075 (OMP_CANCELLATION): Ditto.
11076 (OMP_DISPLAY_ENV): Ditto.
11077 (OMP_DEFAULT_DEVICE): Ditto.
11078 (OMP_DYNAMIC): Ditto.
11079 (OMP_MAX_ACTIVE_LEVELS): Ditto.
11080 (OMP_MAX_TASK_PRIORITY): Ditto.
11081 (OMP_NESTED): Ditto.
11082 (OMP_NUM_THREADS): Ditto.
11083 (OMP_PROC_BIND): Ditto.
11084 (OMP_PLACES): Ditto.
11085 (OMP_STACKSIZE): Ditto.
11086 (OMP_SCHEDULE): Ditto.
11087 (OMP_THREAD_LIMIT): Ditto.
11088 (OMP_WAIT_POLICY): Ditto.
11090 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
11091 James Norris <jnorris@codesourcery.com>
11092 Julian Brown <julian@codesourcery.com>
11093 Thomas Schwinge <thomas@codesourcery.com>
11094 Tom de Vries <tom@codesourcery.com>
11096 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11097 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11098 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11099 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11100 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11101 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11102 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11103 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11104 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11105 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11107 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11109 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11111 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11113 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11115 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11117 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11119 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11121 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11123 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11125 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11127 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11129 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11131 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11133 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11135 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11137 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11139 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11141 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11143 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11145 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11147 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11149 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11151 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11153 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11155 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11157 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11159 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11160 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11161 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11162 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11163 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11164 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11165 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11166 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11167 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11169 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11171 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11172 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11173 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11175 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11176 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11177 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11179 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11181 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11183 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11185 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11187 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11189 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11191 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11193 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11195 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11197 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11199 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11201 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11203 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11205 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11207 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11208 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11209 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11210 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11211 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11212 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11213 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11215 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11216 Thomas Schwinge <thomas@codesourcery.com>
11217 Cesar Philippidis <cesar@codesourcery.com>
11219 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11220 (gomp_acc_remove_pointer): Update declaration.
11221 (gomp_acc_declare_allocate): Declare.
11222 (gomp_remove_var): Declare.
11223 * libgomp.map (OACC_2.5): Define.
11224 * oacc-mem.c (acc_map_data): Update refcount.
11225 (acc_unmap_data): Likewise.
11226 (present_create_copy): Likewise.
11227 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11228 (acc_copyin): Likewise.
11229 (FLAG_FINALIZE): Define.
11230 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11231 (acc_delete_finalize): New function.
11232 (acc_delete_finalize_async): New function.
11233 (acc_copyout_finalize): New function.
11234 (acc_copyout_finalize_async): New function.
11235 (gomp_acc_insert_pointer): Update refcounts.
11236 (gomp_acc_remove_pointer): Return if data is not present on the
11238 * oacc-parallel.c (find_pset): Rename to find_pointer.
11239 (find_pointer): Add support for GOMP_MAP_POINTER.
11240 (handle_ftn_pointers): New function.
11241 (GOACC_parallel_keyed): Update refcounts of variables.
11242 (GOACC_enter_exit_data): Add support for finalized data mappings.
11243 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11245 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11246 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11247 for GOMP_MAP_FORCE_FROM.
11248 * openacc.f90 (module openacc_internal): Add
11249 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11250 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11251 acc_copyout_finalize and acc_delete_finalize.
11252 (acc_copyout_finalize_32_h): New subroutine.
11253 (acc_copyout_finalize_64_h): New subroutine.
11254 (acc_copyout_finalize_array_h): New subroutine.
11255 (acc_delete_finalize_32_h): New subroutine.
11256 (acc_delete_finalize_64_h): New subroutine.
11257 (acc_delete_finalize_array_h): New subroutine.
11258 * openacc.h (acc_copyout_finalize): Declare.
11259 (acc_copyout_finalize_async): Declare.
11260 (acc_delete_finalize): Declare.
11261 (acc_delete_finalize_async): Declare.
11262 * openacc_lib.h (acc_copyout_finalize): New interface.
11263 (acc_delete_finalize): New interface.
11264 * target.c (gomp_map_vars): Update dynamic_refcount.
11265 (gomp_remove_var): New function.
11266 (gomp_unmap_vars): Use it.
11267 (gomp_unload_image_from_device): Likewise.
11268 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11269 case to utilize OpenACC 2.5 data clause semantics.
11270 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11271 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11272 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11273 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11274 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11275 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11276 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11277 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11278 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11279 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11280 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11281 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11282 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11283 utilize OpenACC 2.5 data clause semantics.
11284 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11285 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11286 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11287 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11288 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11289 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11290 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11291 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11292 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11294 2018-05-21 Janus Weil <janus@gcc.gnu.org>
11298 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11299 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11300 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11301 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11302 * testsuite/libgomp.fortran/task2.f90: Ditto.
11303 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11304 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11305 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11306 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11307 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11308 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11309 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11310 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11311 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11313 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11316 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11318 2018-05-09 Tom de Vries <tom@codesourcery.com>
11321 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11322 to GOACC_enter_exit_data.
11324 2018-05-09 Tom de Vries <tom@codesourcery.com>
11327 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11328 (async_synchronous_p): New function.
11329 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11331 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11332 async_valid_stream_id_p.
11333 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11334 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11336 2018-05-07 Tom de Vries <tom@codesourcery.com>
11339 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11340 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11342 2018-05-03 Tom de Vries <tom@codesourcery.com>
11345 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11346 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11347 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11348 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11350 2018-05-02 Tom de Vries <tom@codesourcery.com>
11353 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11354 GOMP_OPENACC_DIM ...
11355 * env.c (parse_gomp_openacc_dim): ... here. New function.
11356 (initialize_env): Call parse_gomp_openacc_dim.
11357 (goacc_default_dims): Define.
11358 * libgomp.h (goacc_default_dims): Declare.
11359 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11360 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11361 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11362 GOMP_PLUGIN_acc_default_dim.
11363 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11364 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11366 2018-05-02 Tom de Vries <tom@codesourcery.com>
11369 * testsuite/libgomp.c++/udr-9.C: Update.
11370 * testsuite/libgomp.c++/atomic-16.C: Remove.
11371 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11372 * testsuite/libgomp.c++/loop-13.C: Remove.
11373 * testsuite/libgomp.c++/loop-14.C: Remove.
11374 * testsuite/libgomp.c++/loop-15.C: Remove.
11375 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11376 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11377 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11378 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11379 * testsuite/libgomp.c++/ordered-1.C: Remove.
11380 * testsuite/libgomp.c++/pr45784.C: Remove.
11381 * testsuite/libgomp.c++/pr64824.C: Remove.
11382 * testsuite/libgomp.c++/pr64868.C: Remove.
11383 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11384 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11385 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11386 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11387 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11388 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11389 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11390 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11391 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11392 * testsuite/libgomp.c++/pr69389.C: Remove.
11393 * testsuite/libgomp.c++/simd10.C: Remove.
11394 * testsuite/libgomp.c++/simd11.C: Remove.
11395 * testsuite/libgomp.c++/simd12.C: Remove.
11396 * testsuite/libgomp.c++/simd13.C: Remove.
11397 * testsuite/libgomp.c++/target-1.C: Remove.
11398 * testsuite/libgomp.c++/target-3.C: Remove.
11399 * testsuite/libgomp.c++/target-4.C: Remove.
11400 * testsuite/libgomp.c++/target-5.C: Remove.
11401 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11402 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11403 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11404 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11405 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11406 * testsuite/libgomp.c++/udr-9.C: Remove.
11407 * testsuite/libgomp.c++/for-10.C: Remove.
11408 * testsuite/libgomp.c++/for-11.C: Remove.
11409 * testsuite/libgomp.c++/for-12.C: Remove.
11410 * testsuite/libgomp.c++/for-13.C: Remove.
11411 * testsuite/libgomp.c++/for-14.C: Remove.
11412 * testsuite/libgomp.c++/for-9.C: Remove.
11413 * testsuite/libgomp.c/atomic-18.c: Move ...
11414 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11415 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11416 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11417 * testsuite/libgomp.c/loop-13.c: Move ...
11418 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11419 * testsuite/libgomp.c/loop-14.c: Move ...
11420 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11421 * testsuite/libgomp.c/loop-15.c: Remove.
11422 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11423 * testsuite/libgomp.c/monotonic-1.c: Move ...
11424 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11425 * testsuite/libgomp.c/monotonic-2.c: Move ...
11426 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11427 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11428 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11429 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11430 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11431 * testsuite/libgomp.c/ordered-4.c: Move ...
11432 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11433 * testsuite/libgomp.c/pr45784.c: Move ...
11434 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11435 * testsuite/libgomp.c/pr64824.c: Move ...
11436 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11437 * testsuite/libgomp.c/pr64868.c: Move ...
11438 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11439 * testsuite/libgomp.c/pr66199-1.c: Move ...
11440 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11441 * testsuite/libgomp.c/pr66199-2.c: Move ...
11442 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11443 * testsuite/libgomp.c/pr66199-3.c: Move ...
11444 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11445 * testsuite/libgomp.c/pr66199-4.c: Move ...
11446 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11447 * testsuite/libgomp.c/pr66199-5.c: Move ...
11448 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11449 * testsuite/libgomp.c/pr66199-6.c: Move ...
11450 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11451 * testsuite/libgomp.c/pr66199-7.c: Move ...
11452 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11453 * testsuite/libgomp.c/pr66199-8.c: Move ...
11454 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11455 * testsuite/libgomp.c/pr66199-9.c: Move ...
11456 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11457 * testsuite/libgomp.c/pr69389.c: Move ...
11458 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11459 * testsuite/libgomp.c/simd-14.c: Move ...
11460 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11461 * testsuite/libgomp.c/simd-15.c: Move ...
11462 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11463 * testsuite/libgomp.c/simd-16.c: Move ...
11464 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11465 * testsuite/libgomp.c/simd-17.c: Move ...
11466 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11467 * testsuite/libgomp.c/target-1.c: Move ...
11468 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11469 * testsuite/libgomp.c/target-10.c: Move ...
11470 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11471 * testsuite/libgomp.c/target-13.c: Move ...
11472 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11473 * testsuite/libgomp.c/target-2.c: Move ...
11474 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11475 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11476 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11477 * testsuite/libgomp.c/taskloop-1.c: Move ...
11478 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11479 * testsuite/libgomp.c/taskloop-2.c: Move ...
11480 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11481 * testsuite/libgomp.c/taskloop-3.c: Move ...
11482 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11483 * testsuite/libgomp.c/taskloop-4.c: Move ...
11484 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11485 * testsuite/libgomp.c/udr-1.c: Move ...
11486 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11487 * testsuite/libgomp.c/for-1.c: Move ...
11488 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11489 * testsuite/libgomp.c/for-1.h: Move ...
11490 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11491 * testsuite/libgomp.c/for-2.c: Move ...
11492 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11493 * testsuite/libgomp.c/for-2.h: Move ...
11494 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11495 * testsuite/libgomp.c/for-3.c: Move ...
11496 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11497 * testsuite/libgomp.c/for-4.c: Move ...
11498 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11499 * testsuite/libgomp.c/for-5.c: Move ...
11500 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11501 * testsuite/libgomp.c/for-6.c: Move ...
11502 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11504 2018-05-02 Tom de Vries <tom@codesourcery.com>
11507 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11508 __builtin_goacc_parlevel_{id,size}.
11509 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11510 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11511 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11512 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11513 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11514 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11515 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11516 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11517 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11518 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11519 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11520 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11521 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11522 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11523 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11524 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11525 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11526 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11527 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11528 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11529 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11530 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11531 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11533 2018-05-02 Tom de Vries <tom@codesourcery.com>
11536 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11538 2018-05-02 Tom de Vries <tom@codesourcery.com>
11541 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11543 2018-04-29 Julian Brown <julian@codesourcery.com>
11544 Tom de Vries <tom@codesourcery.com>
11547 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11548 arbitrary order for iterations of atomic subtract check.
11550 2018-04-28 Tom de Vries <tom@codesourcery.com>
11553 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11554 atomic capture results obtained in parallel loop to an array, instead of
11557 2018-04-26 Tom de Vries <tom@codesourcery.com>
11560 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11561 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11562 (process_GOMP_NVPTX_JIT): New function.
11563 (link_ptx): Use process_GOMP_NVPTX_JIT.
11565 2018-04-26 Richard Biener <rguenther@suse.de>
11566 Tom de Vries <tom@codesourcery.com>
11569 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11571 2018-04-26 Tom de Vries <tom@codesourcery.com>
11574 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11575 recursion depth from 25 to 23.
11576 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11578 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11580 * configure: Regenerated.
11582 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11583 Tom de Vries <tom@codesourcery.com>
11586 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11588 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11591 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11592 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11593 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11594 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11595 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11596 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11598 PR libfortran/85166
11599 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11601 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11603 2018-04-19 Jakub Jelinek <jakub@redhat.com>
11605 * configure: Regenerated.
11607 2018-04-18 David Malcolm <dmalcolm@redhat.com>
11610 * configure: Regenerate.
11612 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11613 Tom de Vries <tom@codesourcery.com>
11615 PR middle-end/84955
11616 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11617 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11619 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11623 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11624 test from gfortran.dg to here.
11626 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11628 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11629 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11631 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11633 PR middle-end/84955
11634 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11635 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11637 2018-04-05 Tom de Vries <tom@codesourcery.com>
11640 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11642 2018-03-26 Tom de Vries <tom@codesourcery.com>
11644 PR tree-optimization/85063
11645 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11646 * testsuite/libgomp.c/switch-conversion.c: New test.
11647 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11648 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11650 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11653 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11654 call abort by STOP n.
11655 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11656 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11657 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11658 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11659 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11660 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11661 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11662 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11663 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11664 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11665 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11666 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11667 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11668 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11669 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11670 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11671 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11672 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11673 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11674 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11675 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11676 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11677 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11678 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11679 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11680 * testsuite/libgomp.fortran/character1.f90: Likewise.
11681 * testsuite/libgomp.fortran/character2.f90: Likewise.
11682 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11683 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11684 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11685 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11686 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11687 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11688 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11689 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11690 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11691 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11692 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11693 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11694 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11695 * testsuite/libgomp.fortran/do1.f90: Likewise.
11696 * testsuite/libgomp.fortran/do2.f90: Likewise.
11697 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11698 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11699 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11700 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11701 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11702 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11703 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11704 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11705 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11706 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11707 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11708 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11709 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11710 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11711 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11712 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11713 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11714 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11715 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11716 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11717 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11718 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11719 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11720 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11721 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11722 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11723 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11724 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11725 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11726 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11727 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11728 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11729 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11730 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11731 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11732 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11733 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11734 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11735 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11736 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11737 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11738 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11739 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11740 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11741 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11742 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11743 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11744 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11745 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11746 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11747 * testsuite/libgomp.fortran/lib2.f: Likewise.
11748 * testsuite/libgomp.fortran/lib3.f: Likewise.
11749 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11750 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11751 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11752 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11753 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11754 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11755 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11756 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11757 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11758 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11759 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11760 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11761 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11762 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11763 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11764 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11765 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11766 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11767 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11768 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11769 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11770 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11771 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11772 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11773 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11774 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11775 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11776 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11777 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11778 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11779 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11780 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11781 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11782 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11783 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11784 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11785 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11786 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11787 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11788 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11789 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11790 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11791 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11792 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11793 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11794 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11795 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11796 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11797 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11798 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11799 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11800 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11801 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11802 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11803 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11804 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11805 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11806 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11807 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11808 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11809 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11810 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11811 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11812 * testsuite/libgomp.fortran/reference1.f90: Likewise.
11813 * testsuite/libgomp.fortran/reference2.f90: Likewise.
11814 * testsuite/libgomp.fortran/retval1.f90: Likewise.
11815 * testsuite/libgomp.fortran/retval2.f90: Likewise.
11816 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11817 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11818 * testsuite/libgomp.fortran/simd1.f90: Likewise.
11819 * testsuite/libgomp.fortran/simd2.f90: Likewise.
11820 * testsuite/libgomp.fortran/simd3.f90: Likewise.
11821 * testsuite/libgomp.fortran/simd4.f90: Likewise.
11822 * testsuite/libgomp.fortran/simd5.f90: Likewise.
11823 * testsuite/libgomp.fortran/simd6.f90: Likewise.
11824 * testsuite/libgomp.fortran/simd7.f90: Likewise.
11825 * testsuite/libgomp.fortran/stack.f90: Likewise.
11826 * testsuite/libgomp.fortran/strassen.f90: Likewise.
11827 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11828 * testsuite/libgomp.fortran/tabs2.f: Likewise.
11829 * testsuite/libgomp.fortran/target1.f90: Likewise.
11830 * testsuite/libgomp.fortran/target2.f90: Likewise.
11831 * testsuite/libgomp.fortran/target3.f90: Likewise.
11832 * testsuite/libgomp.fortran/target4.f90: Likewise.
11833 * testsuite/libgomp.fortran/target5.f90: Likewise.
11834 * testsuite/libgomp.fortran/target6.f90: Likewise.
11835 * testsuite/libgomp.fortran/target7.f90: Likewise.
11836 * testsuite/libgomp.fortran/target8.f90: Likewise.
11837 * testsuite/libgomp.fortran/task1.f90: Likewise.
11838 * testsuite/libgomp.fortran/task2.f90: Likewise.
11839 * testsuite/libgomp.fortran/task3.f90: Likewise.
11840 * testsuite/libgomp.fortran/task4.f90: Likewise.
11841 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11842 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11843 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11844 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11845 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11846 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11847 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11848 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11849 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11850 * testsuite/libgomp.fortran/udr1.f90: Likewise.
11851 * testsuite/libgomp.fortran/udr10.f90: Likewise.
11852 * testsuite/libgomp.fortran/udr11.f90: Likewise.
11853 * testsuite/libgomp.fortran/udr12.f90: Likewise.
11854 * testsuite/libgomp.fortran/udr13.f90: Likewise.
11855 * testsuite/libgomp.fortran/udr14.f90: Likewise.
11856 * testsuite/libgomp.fortran/udr15.f90: Likewise.
11857 * testsuite/libgomp.fortran/udr2.f90: Likewise.
11858 * testsuite/libgomp.fortran/udr3.f90: Likewise.
11859 * testsuite/libgomp.fortran/udr4.f90: Likewise.
11860 * testsuite/libgomp.fortran/udr5.f90: Likewise.
11861 * testsuite/libgomp.fortran/udr6.f90: Likewise.
11862 * testsuite/libgomp.fortran/udr7.f90: Likewise.
11863 * testsuite/libgomp.fortran/udr8.f90: Likewise.
11864 * testsuite/libgomp.fortran/udr9.f90: Likewise.
11865 * testsuite/libgomp.fortran/vla1.f90: Likewise.
11866 * testsuite/libgomp.fortran/vla2.f90: Likewise.
11867 * testsuite/libgomp.fortran/vla3.f90: Likewise.
11868 * testsuite/libgomp.fortran/vla4.f90: Likewise.
11869 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11870 * testsuite/libgomp.fortran/vla6.f90: Likewise.
11871 * testsuite/libgomp.fortran/vla7.f90: Likewise.
11872 * testsuite/libgomp.fortran/vla8.f90: Likewise.
11873 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11874 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11875 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11876 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11877 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11878 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11879 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11880 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11881 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11882 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11883 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11884 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11885 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11886 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11887 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11888 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11889 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11890 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11891 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11892 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11893 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11894 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11895 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11896 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11897 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11898 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11899 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11900 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11901 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11902 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11903 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11904 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11905 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11906 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11907 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11908 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11909 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11910 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11911 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11912 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11913 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11914 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11915 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11916 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11917 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11918 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11919 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11920 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11921 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11922 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11923 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11924 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11925 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11926 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11927 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11928 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11929 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11930 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11931 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11932 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11933 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11934 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11935 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11936 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11937 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11938 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11939 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11940 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11941 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11942 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11943 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11944 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11945 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11946 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11947 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
11948 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11949 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11950 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11951 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11952 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11953 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11954 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11955 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
11956 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
11957 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11958 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11959 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11960 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11961 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
11962 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
11963 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
11964 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11965 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11966 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
11968 2018-03-20 Richard Biener <rguenther@suse.de>
11970 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
11971 parallelizable loop.
11973 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11976 * configure: Regenerate.
11978 2018-02-16 Jakub Jelinek <jakub@redhat.com>
11981 * libgomp.fortran/pr84418-1.f90: New test.
11982 * libgomp.fortran/pr84418-2.f90: New test.
11984 2018-02-14 Jakub Jelinek <jakub@redhat.com>
11987 * testsuite/libgomp.fortran/threadprivate4.f90: Add
11988 -std=f2003 -fall-intrinsics into dg-additional-options.
11990 2018-02-08 Martin Jambor <mjambor@suse.cz>
11992 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
11995 2018-02-08 Martin Jambor <mjambor@suse.cz>
11997 * testsuite/libgomp.hsa.c/staticvar.c: New test.
11999 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12001 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
12002 [__cplusplus]: Declare extern "C".
12004 2018-02-07 Tom de Vries <tom@codesourcery.com>
12007 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
12009 2018-01-29 Christoph Spiel <cspiel@freenet.de>
12010 Jakub Jelinek <jakub@redhat.com>
12013 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
12014 instead of omp_lock_t.
12016 2018-01-25 Tom de Vries <tom@codesourcery.com>
12019 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
12021 2018-01-24 Tom de Vries <tom@codesourcery.com>
12024 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
12026 2018-01-24 Tom de Vries <tom@codesourcery.com>
12029 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
12031 2018-01-19 Tom de Vries <tom@codesourcery.com>
12032 Cesar Philippidis <cesar@codesourcery.com>
12035 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
12036 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
12038 2018-01-03 Jakub Jelinek <jakub@redhat.com>
12040 Update copyright years.
12042 * libgomp.texi: Bump @copying's copyright year.
12044 2017-12-30 Tom de Vries <tom@codesourcery.com>
12047 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12048 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12050 2017-12-27 Tom de Vries <tom@codesourcery.com>
12053 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12054 (test_nonstatic): Fix return type to workaround PR83046.
12056 2017-12-05 Jakub Jelinek <jakub@redhat.com>
12059 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12060 j suffix instead of i.
12061 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12064 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
12066 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12067 call to acc_wait (1).
12069 2017-11-24 Jakub Jelinek <jakub@redhat.com>
12072 * testsuite/libgomp.fortran/pr81304.f90: New test.
12074 2017-11-23 Jakub Jelinek <jakub@redhat.com>
12077 * libgomp.fortran/pr81841.f90: New test.
12079 2017-11-22 Jakub Jelinek <jakub@redhat.com>
12082 * target.c (gomp_target_init): Compute lengths just once and
12083 use them in both malloc size and subsequent copying.
12085 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12087 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12088 * acinclude.m4: Add cet.m4.
12089 * configure: Regenerate.
12090 * Makefile.in: Likewise.
12091 * testsuite/Makefile.in: Likewise.
12093 2017-11-15 Tom de Vries <tom@codesourcery.com>
12095 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12096 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
12097 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12098 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
12099 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12100 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
12102 2017-11-14 Tom de Vries <tom@codesourcery.com>
12104 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12105 non-nvidia devices.
12107 2017-11-07 Jakub Jelinek <jakub@redhat.com>
12110 * testsuite/libgomp.c++/pr82835.C: New test.
12112 2017-11-06 Martin Liska <mliska@suse.cz>
12114 * testsuite/libgomp.c++/loop-2.C: Return a value
12115 for functions with non-void return type, or change type to void,
12116 or add -Wno-return-type for test.
12117 * testsuite/libgomp.c++/loop-4.C: Likewise.
12118 * testsuite/libgomp.c++/parallel-1.C: Likewise.
12119 * testsuite/libgomp.c++/shared-1.C: Likewise.
12120 * testsuite/libgomp.c++/single-1.C: Likewise.
12121 * testsuite/libgomp.c++/single-2.C: Likewise.
12123 2017-10-31 Tom de Vries <tom@codesourcery.com>
12125 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12126 "do {} while (false)".
12127 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12128 after HSA_DEBUG call.
12130 2017-10-28 Jakub Jelinek <jakub@redhat.com>
12132 * target.c (struct gomp_coalesce_buf): New type.
12133 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12134 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12135 (gomp_copy_host2dev): Add CBUF argument, if copying into
12136 the cached ranges, memcpy into buffer instead of copying
12138 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12139 Add CBUF argument, pass it through to other calls.
12140 (gomp_map_vars): Aggregate copies from host to device if small enough
12141 and with small enough gaps in between into memcpy into a buffer and
12142 fewer host to device copies from the buffer.
12143 (gomp_update): Adjust gomp_copy_host2dev caller.
12145 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
12147 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12149 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12150 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12151 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12152 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12154 2017-10-16 Tom de Vries <tom@codesourcery.com>
12156 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12157 openacc_nvidia_accel_selected.
12158 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12159 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12160 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12161 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12162 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12163 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12164 openacc_nvidia_accel_selected. Skip for shared memory device.
12165 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12166 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12168 2017-10-09 Martin Jambor <mjambor@suse.cz>
12171 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12173 2017-10-07 Tom de Vries <tom@codesourcery.com>
12175 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12176 Remove acc_device_nvidia references.
12177 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12180 2017-10-05 Tom de Vries <tom@codesourcery.com>
12182 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12183 vector_length(32) clause from acc parallel directive.
12184 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12186 2017-10-04 Tom de Vries <tom@codesourcery.com>
12188 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12189 (main): Reduce sum of arr elements. Assert that hres is exactly
12190 representable in 32-bit floating point.
12191 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12192 (main): Reduce sum of arr elements. Assert that hres and hmres are
12193 exactly representable in 32-bit floating point.
12194 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12196 2017-09-28 Tom de Vries <tom@codesourcery.com>
12198 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12200 * testsuite/libgomp.c++/pr69393.C: Same.
12201 * testsuite/libgomp.c++/taskloop-1.C: Same.
12202 * testsuite/libgomp.c++/taskloop-3.C: Same.
12203 * testsuite/libgomp.c++/taskloop-4.C: Same.
12204 * testsuite/libgomp.c/for-4.c: Same.
12205 * testsuite/libgomp.c/pr66199-3.c: Same.
12206 * testsuite/libgomp.c/pr66199-4.c: Same.
12207 * testsuite/libgomp.c/pr66199-6.c: Same.
12208 * testsuite/libgomp.c/taskloop-1.c: Same.
12209 * testsuite/libgomp.c/taskloop-3.c: Same.
12210 * testsuite/libgomp.c/taskloop-4.c: Same.
12211 * testsuite/libgomp.fortran/aligned1.f03: Same.
12212 * testsuite/libgomp.fortran/condinc1.f: Same.
12213 * testsuite/libgomp.fortran/condinc3.f90: Same.
12214 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12215 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12216 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12217 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12218 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12219 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12220 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12221 * testsuite/libgomp.fortran/recursion1.f90: Same.
12222 * testsuite/libgomp.fortran/target2.f90: Same.
12223 * testsuite/libgomp.fortran/target5.f90: Same.
12224 * testsuite/libgomp.fortran/task3.f90: Same.
12226 2017-09-28 Tom de Vries <tom@codesourcery.com>
12228 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12229 vector_length(32) clause from acc parallel directive.
12230 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12232 2017-09-27 Tom de Vries <tom@codesourcery.com>
12234 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12235 Remove acc_device_nvidia references.
12237 2017-09-16 Tom de Vries <tom@codesourcery.com>
12240 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12242 2017-09-14 Tom de Vries <tom@codesourcery.com>
12244 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12245 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12246 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12247 * testsuite/libgomp.c/c.exp: Include test-cases from
12248 libgomp.c-c++-common.
12249 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12252 2017-09-14 Jakub Jelinek <jakub@redhat.com>
12255 * testsuite/libgomp.c++/pr81314.C: New test.
12257 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12259 * libgomp.texi (Top): www.openacc.org now uses https.
12260 (Enabling OpenACC): Ditto.
12261 (acc_get_num_devices): Ditto.
12262 (acc_set_device_type): Ditto.
12263 (acc_get_device_type): Ditto.
12264 (acc_set_device_num): Ditto.
12265 (acc_get_device_num): Ditto.
12266 (acc_async_test): Ditto.
12267 (acc_async_test_all): Ditto.
12269 (acc_wait_all): Ditto.
12270 (acc_wait_all_async): Ditto.
12271 (acc_wait_async): Ditto.
12273 (acc_shutdown): Ditto.
12274 (acc_on_device): Ditto.
12275 (acc_malloc): Ditto.
12277 (acc_copyin): Ditto.
12278 (acc_present_or_copyin): Ditto.
12279 (acc_create): Ditto.
12280 (acc_present_or_create): Ditto.
12281 (acc_copyout): Ditto.
12282 (acc_delete): Ditto.
12283 (acc_update_device): Ditto.
12284 (acc_update_self): Ditto.
12285 (acc_map_data): Ditto.
12286 (acc_unmap_data): Ditto.
12287 (acc_deviceptr): Ditto.
12288 (acc_hostptr): Ditto.
12289 (acc_is_present): Ditto.
12290 (acc_memcpy_to_device): Ditto.
12291 (acc_memcpy_from_device): Ditto.
12292 (acc_get_current_cuda_device): Ditto.
12293 (acc_get_current_cuda_context): Ditto.
12294 (acc_get_cuda_stream): Ditto.
12295 (acc_set_cuda_stream): Ditto.
12296 (ACC_DEVICE_TYPE): Ditto.
12297 (ACC_DEVICE_NUM): Ditto.
12298 (OpenACC Library Interoperability): Ditto.
12300 2017-08-09 Jakub Jelinek <jakub@redhat.com>
12303 * testsuite/libgomp.c/pr81687-1.c: New test.
12304 * testsuite/libgomp.c/pr81687-2.c: New test.
12306 2017-08-07 Jakub Jelinek <jakub@redhat.com>
12309 * testsuite/libgomp.c/pr69389.c: New test.
12310 * testsuite/libgomp.c++/pr69389.C: New test.
12312 2017-08-07 Tom de Vries <tom@codesourcery.com>
12314 PR middle-end/78266
12315 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12316 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12318 2017-07-27 Jakub Jelinek <jakub@redhat.com>
12321 * testsuite/libgomp.c/pr45784.c: New test.
12322 * testsuite/libgomp.c++/pr45784.C: New test.
12324 2017-07-19 Tom de Vries <tom@codesourcery.com>
12326 * testsuite/libgomp.oacc-c/vec.c: New test.
12328 2017-07-03 Tom de Vries <tom@codesourcery.com>
12330 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12332 2017-06-27 Tom de Vries <tom@codesourcery.com>
12334 * plugin/plugin-nvptx.c (notify_var): New function.
12335 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12337 2017-06-27 Tom de Vries <tom@codesourcery.com>
12339 * env.c (parse_unsigned_long_1): Factor out of ...
12340 (parse_unsigned_long): ... here.
12341 (parse_int_1): Factor out of ...
12342 (parse_int): ... here.
12343 (parse_int_secure): New function.
12344 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12345 * secure_getenv.h: Factor out of ...
12346 * plugin/plugin-hsa.c: ... here.
12347 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12349 2017-06-21 Jakub Jelinek <jakub@redhat.com>
12352 * testsuite/libgomp.c++/pr81130.C: New test.
12354 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12356 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12358 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12359 dg-xfail-run-if default args.
12361 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12363 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12364 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12366 2017-05-30 Jakub Jelinek <jakub@redhat.com>
12369 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12370 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12371 sibling lists, depending on level just pick up what CPUs to put
12372 together into a place vs. whether add multiple ordered places.
12374 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12376 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12377 * libgomp.map (OACC_2.0.1): Add these.
12378 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12379 for "acc_wait", and "acc_wait_all", respectively.
12380 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12381 for "acc_wait", and "acc_wait_all", respectively.
12382 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12383 * libgomp.texi (acc_wait, acc_wait_all): Update.
12384 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12385 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12386 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12388 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12389 acc_present_or_copyin and acc_present_or_create procedures,
12391 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12392 generally different variants of OpenACC Runtime Library functions.
12393 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12395 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12396 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12398 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12399 of preprocessor definitions.
12400 * libgomp.h (strong_alias): Guard by "#ifdef
12401 HAVE_ATTRIBUTE_ALIAS".
12402 * oacc-mem.c: Provide "acc_pcreate" as alias for
12403 "acc_present_or_create", and "acc_pcopyin" as alias for
12404 "acc_present_or_copyin".
12405 * libgomp.map: New version "OACC_2.0.1".
12406 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12407 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12408 its content into...
12409 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12412 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12413 when disabling nvptx offloading.
12415 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12417 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12418 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12419 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12421 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12422 * testsuite/lib/libgomp.exp
12423 (check_effective_target_openacc_nvidia_accel_configured): New
12425 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12426 (check_effective_target_c++): New procs.
12427 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12428 (check_effective_target_c++): Likewise.
12430 2017-05-22 Jakub Jelinek <jakub@redhat.com>
12432 PR middle-end/80809
12433 * testsuite/libgomp.c/pr80809-2.c: New test.
12434 * testsuite/libgomp.c/pr80809-3.c: New test.
12436 PR middle-end/80809
12437 * testsuite/libgomp.c/pr80809-1.c: New test.
12439 PR middle-end/80853
12440 * testsuite/libgomp.c/pr80853.c: New test.
12442 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12444 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12445 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12446 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12447 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12448 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12450 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12451 Debug output for failure.
12453 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12455 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12457 2017-04-27 Jakub Jelinek <jakub@redhat.com>
12460 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12461 bootstrap compare failures.
12463 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
12465 * testsuite/libgomp.c/target-36.c: New testcase.
12467 2017-04-13 Jakub Jelinek <jakub@redhat.com>
12469 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12472 2017-04-11 Jakub Jelinek <jakub@redhat.com>
12475 * testsuite/libgomp.c/pr80394.c: New test.
12477 2017-04-04 Jakub Jelinek <jakub@redhat.com>
12480 * config/posix/thread-stacksize.h: New file.
12481 * config/darwin/thread-stacksize.h: New file.
12482 * config/nvptx/thread-stacksize.h: New file.
12483 * env.c: Include thread-stacksize.h.
12484 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12485 instead of 0. Call pthread_attr_setstacksize even if
12486 GOMP_DEFAULT_STACKSIZE is non-zero.
12488 2017-03-30 Jakub Jelinek <jakub@redhat.com>
12490 * env.c (initialize_env): Initialize stacksize to 0.
12492 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
12495 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12497 2017-03-08 Jakub Jelinek <jakub@redhat.com>
12500 * testsuite/libgomp.c/pr79940.c: New test.
12502 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12504 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12506 Add __float128 options.
12508 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
12510 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12511 hppa*-*-* dg-skip-if directive.
12513 2017-02-09 Jakub Jelinek <jakub@redhat.com>
12515 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12516 dg-skip-if directive into a comment.
12518 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12519 Chung-Lin Tang <cltang@codesourcery.com>
12521 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12522 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12523 add additional case.
12524 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12525 "openacc_nvidia_accel_selected".
12526 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12527 Add num_workers(8) clause.
12529 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
12531 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12533 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12534 include complex.h on hppa*-*-hpux*.
12535 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12537 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12539 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12541 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12542 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12543 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12544 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12545 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12546 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12547 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12548 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12549 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12550 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12552 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12554 * libgomp-plugin.h: #include <stdbool.h>.
12555 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12556 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12557 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12558 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12559 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12560 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12561 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12562 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12563 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12564 (GOMP_OFFLOAD_openacc_async_test)
12565 (GOMP_OFFLOAD_openacc_async_test_all)
12566 (GOMP_OFFLOAD_openacc_async_wait)
12567 (GOMP_OFFLOAD_openacc_async_wait_async)
12568 (GOMP_OFFLOAD_openacc_async_wait_all)
12569 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12570 (GOMP_OFFLOAD_openacc_async_set_async)
12571 (GOMP_OFFLOAD_openacc_create_thread_data)
12572 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12573 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12574 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12575 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12576 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12577 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12579 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12580 (GOMP_OFFLOAD_unload_image): Fix argument types.
12582 2017-01-26 Jakub Jelinek <jakub@redhat.com>
12584 * testsuite/lib/libgomp.exp
12585 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12586 check_compile invocation. Fix up removal of executable. Drop
12587 bogus "2>&1" argument.
12589 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12592 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
12593 Martin Jambor <mjambor@suse.cz>
12595 * plugin/hsa.h: Moved to top level include.
12596 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12598 2017-01-21 Jakub Jelinek <jakub@redhat.com>
12601 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12602 of cat to get version from BASE-VER file.
12603 * testsuite/Makefile.in: Regenerated.
12605 2017-01-19 Jakub Jelinek <jakub@redhat.com>
12607 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12610 2017-01-17 Jakub Jelinek <jakub@redhat.com>
12612 * plugin/hsa.h: Add GCC runtime library exception.
12613 * plugin/hsa_ext_finalize.h: Likewise.
12615 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12616 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12617 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12618 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12619 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12620 library to link ptx plugin against.
12621 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12622 (CUDA_CALLS): Define.
12623 (cuda_lib, cuda_lib_inited): New variables.
12624 (init_cuda_lib): New function.
12625 (CUDA_CALL_PREFIX): Define.
12626 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12627 (CUDA_CALL): Use FN instead of (FN).
12628 (CUDA_CALL_NOCHECK): Define.
12629 (cuda_error, fini_streams_for_device, select_stream_for_async,
12630 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12631 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12632 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12633 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12635 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12637 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12638 Use CUDA_CALL_NOCHECK.
12639 * plugin/cuda/cuda.h: New file.
12640 * config.h.in: Regenerated.
12641 * configure: Regenerated.
12644 * configure.ac: Add GCC_BASE_VER.
12645 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12646 get version from BASE-VER file.
12647 * testsuite/Makefile.in: Regenerated.
12648 * configure: Regenerated.
12649 * Makefile.in: Regenerated.
12651 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12654 * Makefile.am: Make fincludedir multilib-aware.
12655 * Makefile.in: Regenerate.
12657 2017-01-01 Jakub Jelinek <jakub@redhat.com>
12659 Update copyright years.
12661 * libgomp.texi: Bump @copying's copyright year.
12663 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12665 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12666 pthread_spinlock_t instead of gomp_mutex_t lock.
12667 (gomp_get_thread_pool): Likewise.
12668 (gomp_release_thread_pool): Likewise.
12669 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12672 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12674 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12675 thread pool in case nthreads == 1.
12677 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12679 * config/nvptx/env.c: Delete.
12680 * icv.c: Move definitions of ICV variables back ...
12681 * env.c: ...here. Do not compile environment-related functionality if
12682 LIBGOMP_OFFLOADED_ONLY is set.
12684 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12686 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12687 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12688 * configure: Regenerate.
12689 * config.h.in: Likewise.
12691 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12693 * Makefile.in: Regenerate with automake-1.11.6.
12694 * aclocal.m4: Likewise.
12695 * configure: Likewise.
12696 * testsuite/Makefile.in: Likewise.
12698 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
12700 * config/nvptx/critical.c: Delete to use generic implementation.
12702 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12704 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12705 ../../affinity.c as fallback.
12706 * config/nvptx/affinity.c: Delete to use fallback implementation.
12708 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
12709 Jakub Jelinek <jakub@redhat.com>
12710 Dmitry Melnik <dm@ispras.ru>
12712 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12713 * Makefile.in. Regenerate.
12714 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12715 (LIBGOMP_USE_PTHREADS): ...here; new define.
12716 * configure: Regenerate.
12717 * config.h.in: Likewise.
12718 * config/posix/affinity.c: Move to...
12719 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12720 interface by LIBGOMP_USE_PTHREADS.
12721 * critical.c: Split out GOMP_atomic_{start,end} into...
12722 * atomic.c: ...here (new file).
12723 * env.c: Split out ICV definitions into...
12724 * icv.c: ...here (new file) and...
12725 * icv-device.c: ...here. New file.
12726 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12727 (gomp_destroy_lock_30): Ditto.
12728 (gomp_set_lock_30): Ditto.
12729 (gomp_unset_lock_30): Ditto.
12730 (gomp_test_lock_30): Ditto.
12731 (gomp_init_nest_lock_30): Ditto.
12732 (gomp_destroy_nest_lock_30): Ditto.
12733 (gomp_set_nest_lock_30): Ditto.
12734 (gomp_unset_nest_lock_30): Ditto.
12735 (gomp_test_nest_lock_30): Ditto.
12737 * config/nvptx/lock.c: New.
12738 * config/nvptx/bar.c: New.
12739 * config/nvptx/bar.h: New.
12740 * config/nvptx/doacross.h: New.
12741 * config/nvptx/error.c: New.
12742 * config/nvptx/icv-device.c: New.
12743 * config/nvptx/mutex.h: New.
12744 * config/nvptx/pool.h: New.
12745 * config/nvptx/proc.c: New.
12746 * config/nvptx/ptrlock.h: New.
12747 * config/nvptx/sem.h: New.
12748 * config/nvptx/simple-bar.h: New.
12749 * config/nvptx/target.c: New.
12750 * config/nvptx/task.c: New.
12751 * config/nvptx/team.c: New.
12752 * config/nvptx/time.c: New.
12753 * config/posix/simple-bar.h: New.
12754 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12755 (gomp_num_teams_var): Declare.
12756 (struct gomp_thread_pool): Change threads_dock member to
12757 gomp_simple_barrier_t.
12758 [__nvptx__] (gomp_thread): New implementation.
12759 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12760 (gomp_thread_destructor): Ditto.
12761 (gomp_init_thread_affinity): Ditto.
12762 * team.c: Guard uses of Pthreads-specific interfaces by
12763 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12764 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12765 * config/nvptx/alloc.c: Delete.
12766 * config/nvptx/barrier.c: Ditto.
12767 * config/nvptx/fortran.c: Ditto.
12768 * config/nvptx/iter.c: Ditto.
12769 * config/nvptx/iter_ull.c: Ditto.
12770 * config/nvptx/loop.c: Ditto.
12771 * config/nvptx/loop_ull.c: Ditto.
12772 * config/nvptx/ordered.c: Ditto.
12773 * config/nvptx/parallel.c: Ditto.
12774 * config/nvptx/priority_queue.c: Ditto.
12775 * config/nvptx/sections.c: Ditto.
12776 * config/nvptx/single.c: Ditto.
12777 * config/nvptx/splay-tree.c: Ditto.
12778 * config/nvptx/work.c: Ditto.
12779 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12780 -foffload=-lgfortran in addition to -lgfortran.
12781 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12782 * plugin/plugin-nvptx.c: Include <limits.h>.
12783 (struct targ_fn_descriptor): Add new fields.
12784 (struct ptx_device): Ditto. Set them...
12785 (nvptx_open_device): ...here.
12786 (nvptx_adjust_launch_bounds): New.
12787 (nvptx_host2dev): Allow NULL 'nvthd'.
12788 (nvptx_dev2host): Ditto.
12789 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12790 (link_ptx): Adjust log sizes.
12791 (nvptx_host2dev): Allow NULL 'nvthd'.
12792 (nvptx_dev2host): Ditto.
12793 (nvptx_set_clocktick): New. Use it...
12794 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
12796 (GOMP_OFFLOAD_dev2dev): New.
12797 (nvptx_adjust_launch_bounds): New.
12798 (nvptx_stacks_size): New.
12799 (nvptx_stacks_alloc): New.
12800 (nvptx_stacks_free): New.
12801 (GOMP_OFFLOAD_run): New.
12802 (GOMP_OFFLOAD_async_run): New (stub).
12804 2016-11-23 Martin Jambor <mjambor@suse.cz>
12806 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12807 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12808 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12810 2016-11-23 Martin Liska <mliska@suse.cz>
12811 Martin Jambor <mjambor@suse.cz>
12813 * plugin/hsa.h: New file.
12814 * plugin/hsa_ext_finalize.h: New file.
12815 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
12816 header file unistd.h, and functions secure_getenv, __secure_getenv,
12817 getuid, geteuid, getgid and getegid.
12818 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12820 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12821 Handle various cases of secure_getenv presence, add an implementation
12822 when we can test effective UID and GID.
12823 (struct hsa_runtime_fn_info): New structure.
12824 (hsa_runtime_fn_info hsa_fns): New variable.
12825 (hsa_runtime_lib): Likewise.
12826 (support_cpu_devices): Likewise.
12827 (init_enviroment_variables): Load newly introduced ENV
12829 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12830 (hsa_fatal): Likewise.
12831 (DLSYM_FN): New macro.
12832 (init_hsa_runtime_functions): New function.
12833 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12834 structure. Depending on environment, also allow CPU devices.
12835 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12836 (get_kernarg_memory_region): Likewise.
12837 (GOMP_OFFLOAD_init_device): Likewise.
12838 (destroy_hsa_program): Likewise.
12839 (init_basic_kernel_info): New function.
12840 (GOMP_OFFLOAD_load_image): Use it.
12841 (create_and_finalize_hsa_program): Call hsa run-time functions via
12843 (create_single_kernel_dispatch): Likewise.
12844 (release_kernel_dispatch): Likewise.
12845 (init_single_kernel): Likewise.
12846 (parse_target_attributes): Allow up multiple HSA grid dimensions.
12847 (get_group_size): New function.
12848 (run_kernel): Likewise.
12849 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12850 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12852 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12853 * testsuite/libgomp-test-support.exp.in: Likewise.
12854 * Makefile.in: Regenerated.
12855 * aclocal.m4: Likewise.
12856 * config.h.in: Likewise.
12857 * configure: Likewise.
12858 * testsuite/Makefile.in: Likewise.
12860 2016-11-15 Martin Jambor <mjambor@suse.cz>
12861 Alexander Monakov <amonakov@ispras.ru>
12863 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12864 mapping clauses to target constructs.
12865 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12867 2016-11-15 Matthias Klose <doko@ubuntu.com>
12869 * configure: Regenerate.
12871 2016-11-10 Jakub Jelinek <jakub@redhat.com>
12873 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12874 * omp_lib.h.in (openmp_version): Likewise.
12875 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12877 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12879 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12880 (fib_wrapper): Add map(from: x) clause.
12881 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12882 (e_53_2): Likewise.
12883 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12884 (accum): Add map(tmp) clause.
12885 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12886 (accum): Add map(tofrom: tmp) clause.
12887 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12888 (gramSchmidt): Likewise.
12889 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12890 map(tofrom: sum) clause.
12891 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12892 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
12893 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12894 only allowed on the loop iterator.
12895 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12896 * testsuite/libgomp.fortran/taskloop2.f90: New test.
12897 * testsuite/libgomp.fortran/taskloop4.f90: New test.
12898 * testsuite/libgomp.fortran/doacross1.f90: New test.
12899 * testsuite/libgomp.fortran/doacross3.f90: New test.
12900 * testsuite/libgomp.fortran/taskloop1.f90: New test.
12901 * testsuite/libgomp.fortran/taskloop3.f90: New test.
12902 * testsuite/libgomp.fortran/doacross2.f90: New test.
12903 * testsuite/libgomp.c/doacross-1.c (main): Add missing
12904 #pragma omp atomic read.
12905 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12906 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12908 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
12909 Nathan Sidwell <nathan@acm.org>
12911 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12912 to determine default geometry.
12913 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12916 2016-11-01 Jakub Jelinek <jakub@redhat.com>
12918 * hashtab.h: Use standard GPLv3 with runtime exception
12921 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
12923 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12924 size when allocating new thread.
12926 2016-09-14 Marek Polacek <polacek@redhat.com>
12928 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12930 2016-08-19 Jakub Jelinek <jakub@redhat.com>
12933 * testsuite/libgomp.fortran/pr71014.f90: New test.
12935 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
12937 PR middle-end/70895
12938 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12939 firstprivate clauses.
12940 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12942 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12943 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12944 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12945 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12946 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12947 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12948 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12949 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12950 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12951 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12952 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12953 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
12955 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
12958 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
12960 2016-08-08 Jakub Jelinek <jakub@redhat.com>
12963 * testsuite/libgomp.c++/pr58706.C: New test.
12965 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
12967 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
12968 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
12969 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
12971 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
12972 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
12974 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
12976 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
12977 test, and don't hardcode -O0.
12979 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
12981 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
12983 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
12985 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
12988 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
12990 PR middle-end/71734
12991 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
12992 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
12994 2016-07-01 Jakub Jelinek <jakub@redhat.com>
12997 * testsuite/libgomp.fortran/associate3.f90: New test.
12999 2016-06-17 Jakub Jelinek <jakub@redhat.com>
13001 * testsuite/libgomp.c++/target-21.C: New test.
13003 2016-06-16 Jakub Jelinek <jakub@redhat.com>
13005 * testsuite/libgomp.c++/target-20.C: New test.
13007 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
13008 Cesar Philippidis <cesar@codesourcery.com>
13010 PR middle-end/71373
13011 * libgomp.oacc-c/nested-function-1.c: New file.
13012 * libgomp.oacc-c/nested-function-2.c: Likewise.
13013 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
13014 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
13015 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
13017 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
13020 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
13021 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
13022 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
13024 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
13026 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
13027 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
13029 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
13032 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
13034 2016-05-26 Jakub Jelinek <jakub@redhat.com>
13036 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
13037 instead of invalid schedule(static, 0).
13038 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
13040 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13042 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
13043 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
13044 parameter, use to set async stream around call to gomp_unmap_vars,
13045 call gomp_unmap_vars() with 'do_copyfrom' set to true.
13046 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
13047 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13048 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13049 (event_add): Add int parameter, initialize 'val' field when
13050 adding new ptx_event struct.
13051 (nvptx_evec): Adjust event_add() call arguments.
13052 (nvptx_host2dev): Likewise.
13053 (nvptx_dev2host): Likewise.
13054 (nvptx_wait_async): Likewise.
13055 (nvptx_wait_all_async): Likewise.
13056 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13057 pass to event_add() call.
13058 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13060 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13061 call openacc.register_async_cleanup_func() hook.
13062 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13063 * target.c (gomp_copy_from_async): Delete function.
13064 (gomp_map_vars): Remove async_refcount.
13065 (gomp_unmap_vars): Likewise.
13066 (gomp_load_image_to_device): Likewise.
13067 (omp_target_associate_ptr): Likewise.
13068 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13069 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13070 (gomp_copy_from_async): Remove.
13072 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13074 * target.c (gomp_device_copy): New function.
13075 (gomp_copy_host2dev): Likewise.
13076 (gomp_copy_dev2host): Likewise.
13077 (gomp_free_device_memory): Likewise.
13078 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13079 (gomp_map_pointer): Likewise.
13080 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13081 NULL value from alloc_func plugin hook.
13082 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13083 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13084 (gomp_unmap_vars): Likewise.
13085 (gomp_update): Adjust to call gomp_copy_dev2host and
13086 gomp_copy_host2dev functions.
13087 (gomp_unload_image_from_device): Handle false value from
13088 unload_image_func plugin hook.
13089 (gomp_init_device): Handle false value from init_device_func
13091 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13092 (omp_target_free): Adjust to call gomp_free_device_memory.
13093 (omp_target_memcpy): Handle return values from host2dev_func,
13094 dev2host_func, and dev2dev_func plugin hooks.
13095 (omp_target_memcpy_rect_worker): Likewise.
13096 (gomp_target_fini): Handle false value from fini_device_func
13098 * libgomp.h (struct gomp_device_descr): Adjust return type of
13099 init_device_func, fini_device_func, unload_image_func, free_func,
13100 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13101 * oacc-init.c (acc_shutdown_1): Handle false value from
13102 fini_device_func plugin hook.
13103 * oacc-host.c (host_init_device): Change return type to bool.
13104 (host_fini_device): Likewise.
13105 (host_unload_image): Likewise.
13106 (host_free): Likewise.
13107 (host_dev2host): Likewise.
13108 (host_host2dev): Likewise.
13109 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13110 (acc_memcpy_to_device): Likewise.
13111 (acc_memcpy_from_device): Likewise.
13112 (delete_copyout): Add libfnname parameter, handle free_func
13113 hook fatal error case.
13114 (acc_delete): Adjust delete_copyout call.
13115 (acc_copyout): Likewise.
13116 (update_dev_host): Move gomp_mutex_unlock to after
13117 host2dev/dev2host hook calls.
13119 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13120 to 'hsa_error_msg', for clarity.
13121 (hsa_fatal): Likewise.
13122 (hsa_error): New function.
13123 (init_hsa_context): Change return type to bool, adjust to return
13125 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13127 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13128 return false on error.
13129 (get_agent_info): Adjust to return NULL on error.
13130 (destroy_hsa_program): Change return type to bool, adjust to
13131 return false on error.
13132 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13133 (destroy_module): Change return type to bool, adjust to
13134 return false on error.
13135 (GOMP_OFFLOAD_unload_image): Likewise.
13136 (GOMP_OFFLOAD_fini_device): Likewise.
13137 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13138 (GOMP_OFFLOAD_free): Change to return false when called.
13139 (GOMP_OFFLOAD_dev2host): Likewise.
13140 (GOMP_OFFLOAD_host2dev): Likewise.
13141 (GOMP_OFFLOAD_dev2dev): Likewise.
13143 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13144 (CUDA_CALL): Likewise.
13145 (CUDA_CALL_ASSERT): Likewise.
13146 (map_init): Change return type to bool, use CUDA_CALL* macros.
13147 (map_fini): Likewise.
13148 (init_streams_for_device): Change return type to bool, adjust
13150 (fini_streams_for_device): Change return type to bool, adjust
13152 (select_stream_for_async): Release stream_lock before calls to
13153 GOMP_PLUGIN_fatal, adjust call to map_init.
13154 (nvptx_init): Use CUDA_CALL* macros.
13155 (nvptx_attach_host_thread_to_device): Change return type to bool,
13156 use CUDA_CALL* macros.
13157 (nvptx_open_device): Use CUDA_CALL* macros.
13158 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13160 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13161 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13162 (nvptx_exec): Use CUDA_CALL* macros.
13163 (nvptx_alloc): Use CUDA_CALL* macros.
13164 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13165 (nvptx_host2dev): Likewise.
13166 (nvptx_dev2host): Likewise.
13167 (nvptx_wait): Use CUDA_CALL* macros.
13168 (nvptx_wait_async): Likewise.
13169 (nvptx_wait_all): Likewise.
13170 (nvptx_wait_all_async): Likewise.
13171 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13172 use CUDA_CALL* macros, adjust call to map_fini.
13173 (GOMP_OFFLOAD_init_device): Change return type to bool,
13174 adjust code accordingly.
13175 (GOMP_OFFLOAD_fini_device): Likewise.
13176 (GOMP_OFFLOAD_load_image): Adjust calls to
13177 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13178 use CUDA_CALL* macros.
13179 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13181 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13182 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13183 handle error return.
13184 (GOMP_OFFLOAD_dev2host): Likewise.
13185 (GOMP_OFFLOAD_host2dev): Likewise.
13186 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13187 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13189 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13191 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13192 (acc_free): Likewise.
13193 (acc_memcpy_to_device): Likewise.
13194 (acc_memcpy_from_device): Likewise.
13195 (acc_deviceptr): Likewise.
13196 (acc_hostptr): Likewise.
13197 (acc_is_present): Likewise.
13198 (acc_map_data): Likewise.
13199 (acc_unmap_data): Likewise.
13200 (present_create_copy): Likewise.
13201 (delete_copyout): Likewise.
13202 (update_dev_host): Likewise.
13203 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13204 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13205 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13206 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13207 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13208 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13209 it only runs on nvptx targets.
13210 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13211 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13212 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13213 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13214 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13215 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13216 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13217 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13218 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13219 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13220 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13221 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13222 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13223 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13224 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13225 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13226 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13227 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13228 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13229 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13230 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13231 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13232 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13234 2016-05-23 Martin Jambor <mjambor@suse.cz>
13236 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13238 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13240 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13241 to gomp_init_targets_once.
13242 (acc_set_device_type): Remove !cached_base_dev condition on call to
13243 gomp_init_targets_once, move call to before acc_device_lock acquire,
13245 (acc_get_device_num): Remove !cached_base_dev condition on call to
13246 gomp_init_targets_once.
13247 (acc_set_device_num): Likewise.
13249 2016-05-16 Martin Jambor <mjambor@suse.cz>
13251 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
13253 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13255 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13256 expected partitioning.
13258 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13260 PR middle-end/70626
13261 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13262 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13263 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13265 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
13267 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13270 2016-04-19 Jakub Jelinek <jakub@redhat.com>
13272 PR middle-end/70680
13273 * testsuite/libgomp.c/pr70680-1.c: New test.
13274 * testsuite/libgomp.c/pr70680-2.c: New test.
13276 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13278 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13279 pass parameter variables to subroutines.
13281 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13283 PR middle-end/70643
13284 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13286 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13289 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13290 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13292 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13294 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13295 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13296 GOACC_declare prototype.
13298 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13299 Merge this file, and...
13300 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13301 ... this file, and...
13302 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13303 ... this file, and...
13304 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13305 ... this file, and...
13306 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13307 ... this file, and...
13308 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13309 ... this file, and...
13310 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13311 ... this file, and...
13312 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13313 ... this file, and...
13314 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13315 ... this file, and...
13316 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13317 ... this file, and...
13318 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13319 ... this file, and...
13320 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13321 ... this file, and...
13322 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13323 ... this file into...
13324 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13327 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13328 Make failure observable.
13330 2016-04-12 Jakub Jelinek <jakub@redhat.com>
13332 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13334 * target.c (gomp_target_fallback_firstprivate,
13335 gomp_target_unshare_firstprivate): Removed.
13336 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13337 before waiting for dependencies.
13338 (gomp_target_task_fn): Don't copy firstprivate vars here.
13339 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13340 firstprivate_copies here.
13341 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13342 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13343 explicit/implicit firstprivate.
13345 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13349 PR tree-optimization/70373
13350 PR middle-end/70533
13351 PR middle-end/70534
13352 PR middle-end/70535
13353 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13355 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13357 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13359 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13361 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13363 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13365 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13367 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13369 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13371 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13372 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13373 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13374 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13376 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13378 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13380 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13382 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13384 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13385 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13386 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13387 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13388 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13389 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13391 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13392 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13393 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13394 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13395 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13396 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13397 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13398 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13399 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13400 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13401 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13402 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13403 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13404 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13405 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13407 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13408 James Norris <jnorris@codesourcery.com>
13409 Nathan Sidwell <nathan@codesourcery.com>
13410 Julian Brown <julian@codesourcery.com>
13411 Cesar Philippidis <cesar@codesourcery.com>
13412 Chung-Lin Tang <cltang@codesourcery.com>
13413 Tom de Vries <tom@codesourcery.com>
13415 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13416 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13417 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13418 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13419 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13420 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13421 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13422 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13423 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13425 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13427 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13429 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13430 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13431 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13432 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13434 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13436 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13437 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13438 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13439 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13440 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13441 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13442 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13443 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13444 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13445 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13447 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13448 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13449 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13451 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13453 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13455 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13457 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13459 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13460 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13461 ... this new file. Update.
13462 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13463 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13464 ... this new file. Update.
13465 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13466 file. Incorporate...
13467 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13469 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13471 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13473 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13475 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13477 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13478 set-torture-options.
13480 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13482 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13484 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13485 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13486 -fno-builtin-acc_on_device instead of -O0.
13487 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13489 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13490 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13492 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13493 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13494 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13495 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13496 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13497 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13498 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13499 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13500 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13501 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13502 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13503 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13504 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13505 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13506 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13507 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13508 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13509 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13511 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13513 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13516 2016-03-24 Martin Liska <mliska@suse.cz>
13518 * plugin/plugin-hsa.c (packet_store_release): New function
13519 that is taken from the HSA runtime manual.
13520 (GOMP_OFFLOAD_run): Use the function.
13522 2016-03-23 Jakub Jelinek <jakub@redhat.com>
13525 * testsuite/libgomp.c++/pr70376.C: New test.
13527 2016-03-23 Tom de Vries <tom@codesourcery.com>
13529 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13530 initialization of lresult and lvresult.
13531 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13533 2016-03-23 James Norris <jnorris@codesourcery.com>
13534 Daichi Fukuoka <dc-fukuoka@sgi.com>
13537 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13538 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13539 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13540 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13542 2016-03-23 Martin Liska <mliska@suse.cz>
13545 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13546 argument just in case a dispatched kernel uses that argument.
13548 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13550 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13551 -ftree-parallelize-loops/-fopenacc changes.
13552 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13554 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13556 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13558 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13560 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13561 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13563 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13565 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13566 always_ld_library_path the path to libgcc_s.
13568 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13571 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13573 2016-03-09 Tom de Vries <tom@codesourcery.com>
13575 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13576 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13577 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13579 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13580 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13581 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13582 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13584 2016-03-07 Martin Jambor <mjambor@suse.cz>
13586 * testsuite/lib/libgomp.exp
13587 (check_effective_target_hsa_offloading_selected_nocache): New.
13588 (check_effective_target_hsa_offloading_selected): Likewise.
13589 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13590 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13591 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13592 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13593 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13594 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13595 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13596 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13597 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13598 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13599 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13600 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13601 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13602 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13603 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13604 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13605 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13607 2016-03-07 Martin Jambor <mjambor@suse.cz>
13609 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13610 non-shared memory accelerators.
13611 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13612 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13613 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13614 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13615 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13616 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13617 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13618 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13619 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13621 2016-03-07 Martin Jambor <mjambor@suse.cz>
13623 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13626 2016-03-02 Jakub Jelinek <jakub@redhat.com>
13629 * testsuite/libgomp.c++/pr69555-1.C: New test.
13630 * testsuite/libgomp.c++/pr69555-2.C: New test.
13632 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13633 Martin Jambor <mjambor@suse.cz>
13635 * testsuite/lib/libgomp.exp
13636 (check_effective_target_offload_device_shared_as): New proc.
13637 * testsuite/libgomp.c++/declare_target-1.C: New test.
13639 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13642 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13644 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13646 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13647 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13649 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13650 -ftree-parallelize-loops/-fopenacc changes.
13651 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13652 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13654 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13656 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13658 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13660 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13662 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13664 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13666 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13667 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13669 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13670 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13672 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13673 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13676 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13678 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13680 2016-02-19 Jakub Jelinek <jakub@redhat.com>
13683 * testsuite/libgomp.c/pr69805.c: New test.
13685 2016-02-16 Tom de Vries <tom@codesourcery.com>
13688 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13690 2016-02-09 Tom de Vries <tom@codesourcery.com>
13692 PR tree-optimization/69599
13693 * testsuite/libgomp.c/omp-nested-3.c: New test.
13694 * testsuite/libgomp.c/pr46032-2.c: New test.
13695 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13696 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13698 2016-02-09 Tom de Vries <tom@codesourcery.com>
13701 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13703 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
13705 * testsuite/libgomp.c/target-31.c: Fix testcase.
13707 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
13709 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13711 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13712 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13713 reduction and map clauses.
13714 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13716 2016-02-02 James Norris <jnorris@codesourcery.com>
13718 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13720 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13722 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13723 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13725 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13728 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13730 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13731 (hsa_kmt_lib): Set variables.
13732 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13733 always_ld_library_path.
13734 * Makefile.in: Regenerate.
13735 * configure: Likewise.
13736 * testsuite/Makefile.in: Likewise.
13738 * plugin/configfrag.ac (offload_additional_options)
13739 (offload_additional_lib_paths): Don't amend for hsa offloading.
13740 * configure: Regenerate.
13742 * plugin/configfrag.ac: Don't configure for offloading target if
13743 we don't build the corresponding plugin.
13744 * configure: Regenerate.
13746 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13748 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13749 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13751 2016-01-26 Tom de Vries <tom@codesourcery.com>
13753 PR tree-optimization/69110
13754 * testsuite/libgomp.c/pr69110.c: New test.
13756 2016-01-25 Richard Biener <rguenther@suse.de>
13759 * testsuite/libgomp.c++/pr69393.C: New testcase.
13761 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13763 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13764 function wasn't mapped to the device with non-shared memory.
13766 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13768 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13770 2016-01-19 Martin Jambor <mjambor@suse.cz>
13771 Martin Liska <mliska@suse.cz>
13773 * plugin/Makefrag.am: Add HSA plugin requirements.
13774 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13775 (HSA_RUNTIME_LIB): Likewise.
13776 (HSA_RUNTIME_CPPFLAGS): Likewise.
13777 (HSA_RUNTIME_INCLUDE): New substitution.
13778 (HSA_RUNTIME_LIB): Likewise.
13779 (HSA_RUNTIME_LDFLAGS): Likewise.
13780 (hsa-runtime): New configure option.
13781 (hsa-runtime-include): Likewise.
13782 (hsa-runtime-lib): Likewise.
13783 (PLUGIN_HSA): New substitution variable.
13784 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13786 (PLUGIN_HSA_CPPFLAGS): Likewise.
13787 (PLUGIN_HSA_LDFLAGS): Likewise.
13788 (PLUGIN_HSA_LIBS): Likewise.
13789 Check that we have access to HSA run-time.
13790 * libgomp-plugin.h (offload_target_type): New element
13791 OFFLOAD_TARGET_TYPE_HSA.
13792 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13794 (bool gomp_create_target_task): Updated.
13795 (gomp_device_descr): Extra parameter of run_func and async_run_func,
13796 new field can_run_func.
13797 * libgomp_g.h (GOMP_target_ext): Update prototype.
13798 * oacc-host.c (host_run): Added a new parameter args.
13799 * target.c (calculate_firstprivate_requirements): New function.
13800 (copy_firstprivate_data): Likewise.
13801 (gomp_target_fallback_firstprivate): Use them.
13802 (gomp_target_unshare_firstprivate): New function.
13803 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13805 (GOMP_target): Do host fallback for all shared memory devices. Do not
13806 pass any args to plugins.
13807 (GOMP_target_ext): Introduce device-specific argument parameter args.
13808 Allow host fallback if device shares memory. Do not remap data if
13809 device has shared memory.
13810 (gomp_target_task_fn): Likewise. Also treat shared memory devices
13811 like host fallback for mappings.
13812 (GOMP_target_data): Treat shared memory devices like host fallback.
13813 (GOMP_target_data_ext): Likewise.
13814 (GOMP_target_update): Likewise.
13815 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
13816 gomp_create_target_task.
13817 (GOMP_target_enter_exit_data): Likewise.
13818 (omp_target_alloc): Treat shared memory devices like host fallback.
13819 (omp_target_free): Likewise.
13820 (omp_target_is_present): Likewise.
13821 (omp_target_memcpy): Likewise.
13822 (omp_target_memcpy_rect): Likewise.
13823 (omp_target_associate_ptr): Likewise.
13824 (gomp_load_plugin_for_device): Also load can_run.
13825 * task.c (GOMP_PLUGIN_target_task_completion): Free
13826 firstprivate_copies.
13827 (gomp_create_target_task): Accept new argument args and store it to
13829 * plugin/plugin-hsa.c: New file.
13831 2016-01-18 Tom de Vries <tom@codesourcery.com>
13833 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13834 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13835 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13836 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13837 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13838 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13839 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13840 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13841 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13842 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13843 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13845 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13847 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13848 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13849 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13850 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13851 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13852 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13853 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13854 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13856 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13858 2016-01-15 Jakub Jelinek <jakub@redhat.com>
13860 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13862 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
13864 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13866 2016-01-12 James Norris <jnorris@codesourcery.com>
13868 * libgomp.texi: Updates for OpenACC.
13870 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
13872 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13874 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
13877 * testsuite/libgomp.fortran/pr66680.f90: New test.
13879 2016-01-07 Jakub Jelinek <jakub@redhat.com>
13881 PR middle-end/68960
13882 * testsuite/libgomp.c/pr68960.c: New test.
13884 2016-01-06 Nathan Sidwell <nathan@acm.org>
13886 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
13887 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13889 2016-01-04 Jakub Jelinek <jakub@redhat.com>
13891 Update copyright years.
13893 * libgomp.texi: Bump @copying's copyright year.
13895 2015-12-31 Nathan Sidwell <nathan@acm.org>
13897 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13898 dg-additional-options syntax.
13899 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13900 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13901 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13902 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13903 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13904 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13905 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13906 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13907 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13908 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13909 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13910 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13911 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13912 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13913 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13914 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13915 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13916 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13918 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
13920 * libgomp.h (REFCOUNT_LINK): Define.
13921 (struct splay_tree_key_s): Add link_key.
13922 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13923 Replace target address of the pointer with target address of newly
13924 mapped object in the splay tree. Set link pointer on target to the
13925 device address of the mapped object.
13926 (gomp_unmap_vars): Restore target address of the pointer in the splay
13927 tree for REFCOUNT_LINK objects after unmapping.
13928 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13929 declare target link" objects.
13930 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
13931 "omp declare target link" objects, which were mapped for the image.
13932 (gomp_exit_data): Restore target address of the pointer in the splay
13933 tree for REFCOUNT_LINK objects after unmapping.
13934 * testsuite/libgomp.c/target-link-1.c: New file.
13936 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
13938 * libgomp.h (gomp_device_state): New enum.
13939 (struct gomp_device_descr): Replace is_initialized with state.
13940 (gomp_fini_device): Remove declaration.
13941 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13942 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13943 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
13944 (acc_set_device_type): Use state instead of is_initialized.
13945 (acc_set_device_num): Likewise.
13946 * target.c (resolve_device): Use state instead of is_initialized.
13947 Do not initialize finalized device.
13948 (gomp_map_vars): Do nothing if device is finalized.
13949 (gomp_unmap_vars): Likewise.
13950 (gomp_update): Likewise.
13951 (GOMP_offload_register_ver): Use state instead of is_initialized.
13952 (GOMP_offload_unregister_ver): Likewise.
13953 (gomp_init_device): Likewise.
13954 (gomp_unload_device): Likewise.
13955 (gomp_fini_device): Remove.
13956 (gomp_get_target_fn_addr): Do nothing if device is finalized.
13957 (GOMP_target): Go to host fallback if device is finalized.
13958 (GOMP_target_ext): Likewise.
13959 (gomp_exit_data): Do nothing if device is finalized.
13960 (gomp_target_task_fn): Go to host fallback if device is finalized.
13961 (gomp_target_fini): New static function.
13962 (gomp_target_init): Use state instead of is_initialized.
13963 Call gomp_target_fini at exit.
13965 2015-12-09 Tom de Vries <tom@codesourcery.com>
13967 PR tree-optimization/68716
13968 * testsuite/libgomp.c/omp-nested-2.c: New test.
13970 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
13972 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
13973 target openacc_nvidia_accel_selected.
13974 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
13975 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
13976 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
13977 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
13979 2015-12-01 Julian Brown <julian@codesourcery.com>
13980 James Norris <James_Norris@mentor.com>
13982 * oacc-parallel.c (GOACC_host_data): New function.
13983 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
13984 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
13985 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
13986 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
13987 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
13988 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
13989 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
13991 2015-11-30 James Norris <jnorris@codesourcery.com>
13992 Cesar Philippidis <cesar@codesourcery.com>
13995 * libgomp.oacc-fortran/routine-5.f90: New test.
13996 * libgomp.oacc-fortran/routine-7.f90: New test.
13997 * libgomp.oacc-fortran/routine-9.f90: New test.
13999 2015-11-30 Tom de Vries <tom@codesourcery.com>
14001 PR tree-optimization/46032
14002 * testsuite/libgomp.c/pr46032.c: New test.
14004 2015-11-27 Jakub Jelinek <jakub@redhat.com>
14007 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
14008 (gomp_create_target_task): Call it before freeing
14009 GOMP_TARGET_TASK_DATA tasks.
14012 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
14013 in between case label and OpenMP standalone directives.
14014 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
14016 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
14018 * configure: Regenerate.
14020 2015-11-26 Jakub Jelinek <jakub@redhat.com>
14022 * testsuite/libgomp.c/target-35.c: New test.
14024 2015-11-22 James Norris <jnorris@codesourcery.com>
14025 Cesar Philippidis <cesar@codesourcery.com>
14027 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
14028 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
14029 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
14030 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
14031 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
14033 2015-11-20 Jakub Jelinek <jakub@redhat.com>
14035 PR middle-end/68221
14036 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
14037 * testsuite/libgomp.c/reduction-12.c: Likewise.
14038 * testsuite/libgomp.c++/reduction-11.C: Likewise.
14039 * testsuite/libgomp.c++/reduction-12.C: Likewise.
14041 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
14043 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
14044 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
14045 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
14046 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
14047 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14049 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14050 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14052 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
14054 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14055 worker & gang cases.
14056 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14058 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
14060 * config/nvptx/priority_queue.c: New file.
14062 2015-11-14 Jakub Jelinek <jakub@redhat.com>
14064 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14067 2015-11-14 Jakub Jelinek <jakub@redhat.com>
14068 Aldy Hernandez <aldyh@redhat.com>
14069 Ilya Verbin <ilya.verbin@intel.com>
14071 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14072 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14073 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14074 iterators or IV by chunk size.
14075 * parallel.c (gomp_resolve_num_threads): Don't assume that
14076 if thr->ts.team is non-NULL, then pool must be non-NULL.
14077 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14078 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14079 GOMP_PLUGIN_target_task_completion.
14080 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14081 * Makefile.in: Regenerate.
14082 * libgomp.h: Shuffle prototypes and forward definitions around so
14083 priority queues can be defined.
14084 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14085 (enum gomp_target_task_state): New enum.
14086 (struct gomp_target_task): Add state, tgt, task and team fields.
14087 (gomp_create_target_task): Change return type to bool, add
14089 (gomp_target_task_fn): Change return type to bool.
14090 (struct gomp_device_descr): Add async_run_func.
14091 (struct gomp_task): Remove children, next_child, prev_child,
14092 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14094 (struct gomp_taskgroup): Remove children.
14095 Add taskgroup_queue.
14096 (struct gomp_team): Change task_queue type to a priority queue.
14097 (splay_compare): Define inline.
14098 (priority_queue_offset): New.
14099 (priority_node_to_task): New.
14100 (task_to_priority_node): New.
14101 * oacc-mem.c: Do not include splay-tree.h.
14102 * priority_queue.c: New file.
14103 * priority_queue.h: New file.
14104 * splay-tree.c: Do not include splay-tree.h.
14105 (splay_tree_foreach_internal): New.
14106 (splay_tree_foreach): New.
14107 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14108 (splay_tree_callback): Define typedef.
14109 * target.c (splay_compare): Move to libgomp.h.
14110 (GOMP_target): Don't adjust *thr in any way around running offloaded
14112 (GOMP_target_ext): Likewise. Handle target nowait.
14113 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14114 return value from gomp_create_target_task, if false, fallthrough
14115 as if no dependencies exist.
14116 (gomp_target_task_fn): Change return type to bool, return true
14117 if the task should have another part scheduled later. Handle
14119 (gomp_load_plugin_for_device): Initialize async_run.
14120 * task.c (gomp_init_task): Initialize children_queue.
14121 (gomp_clear_parent_in_list): New.
14122 (gomp_clear_parent_in_tree): New.
14123 (gomp_clear_parent): Handle priorities.
14124 (GOMP_task): Likewise.
14125 (priority_queue_move_task_first,
14126 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14128 (gomp_create_target_task): Use priority queues. Change return type
14129 to bool, add state argument, return false if for async
14130 {{enter,exit} data,update} constructs no dependencies need to be
14131 waited for, handle target nowait. Set task->fn to NULL instead of
14132 gomp_target_task_fn.
14133 (verify_children_queue): Remove.
14134 (priority_list_upgrade_task): New.
14135 (priority_queue_upgrade_task): New.
14136 (verify_task_queue): Remove.
14137 (priority_list_downgrade_task): New.
14138 (priority_queue_downgrade_task): New.
14139 (gomp_task_run_pre): Use priority queues.
14140 Abstract code out to priority_queue_downgrade_task.
14141 (gomp_task_run_post_handle_dependers): Use priority queues.
14142 (gomp_task_run_post_remove_parent): Likewise.
14143 (gomp_task_run_post_remove_taskgroup): Likewise.
14144 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
14146 (GOMP_taskwait): Likewise.
14147 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
14148 priority-queue_upgrade_task.
14149 (GOMP_taskgroup_start): Use priority queues.
14150 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
14151 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
14153 * taskloop.c (GOMP_taskloop): Handle priorities.
14154 * team.c (gomp_new_team): Call priority_queue_init.
14155 (free_team): Call priority_queue_free.
14156 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14157 team created for target nowait in implicit parallel region.
14158 (gomp_team_start): For nested check, test thr->ts.level instead of
14159 thr->ts.team != NULL.
14160 * testsuite/libgomp.c/doacross-3.c: New test.
14161 * testsuite/libgomp.c/ordered-5.c: New test.
14162 * testsuite/libgomp.c/priority.c: New test.
14163 * testsuite/libgomp.c/target-31.c: New test.
14164 * testsuite/libgomp.c/target-32.c: New test.
14165 * testsuite/libgomp.c/target-33.c: New test.
14166 * testsuite/libgomp.c/target-34.c: New test.
14168 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14170 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14172 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14173 loop is sequential.
14175 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14177 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14178 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14180 2015-11-12 James Norris <jnorris@codesourcery.com>
14181 Joseph Myers <joseph@codesourcery.com>
14183 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14184 * oacc-parallel.c (GOACC_declare): New function.
14185 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14186 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14187 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14188 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14189 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14191 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14193 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14195 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14197 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14198 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14200 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14202 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14203 inadvertent commit.
14205 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14207 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14208 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14209 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14210 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14211 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14213 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14215 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14216 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14218 2015-11-05 Jakub Jelinek <jakub@redhat.com>
14219 Ilya Verbin <ilya.verbin@intel.com>
14221 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14222 GOMP_loop_nonmonotonic_dynamic_start,
14223 GOMP_loop_nonmonotonic_guided_next,
14224 GOMP_loop_nonmonotonic_guided_start,
14225 GOMP_loop_ull_nonmonotonic_dynamic_next,
14226 GOMP_loop_ull_nonmonotonic_dynamic_start,
14227 GOMP_loop_ull_nonmonotonic_guided_next,
14228 GOMP_loop_ull_nonmonotonic_guided_start,
14229 GOMP_parallel_loop_nonmonotonic_dynamic,
14230 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14231 (GOMP_target_41): Renamed to ...
14232 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14234 (GOMP_target_data_41): Renamed to ...
14235 (GOMP_target_data_ext): ... this.
14236 (GOMP_target_update_41): Renamed to ...
14237 (GOMP_target_update_ext): ... this.
14238 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14239 GOMP_target_data_ext and GOMP_target_update_ext instead of
14240 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14241 Export GOMP_loop_nonmonotonic_dynamic_next,
14242 GOMP_loop_nonmonotonic_dynamic_start,
14243 GOMP_loop_nonmonotonic_guided_next,
14244 GOMP_loop_nonmonotonic_guided_start,
14245 GOMP_loop_ull_nonmonotonic_dynamic_next,
14246 GOMP_loop_ull_nonmonotonic_dynamic_start,
14247 GOMP_loop_ull_nonmonotonic_guided_next,
14248 GOMP_loop_ull_nonmonotonic_guided_start,
14249 GOMP_parallel_loop_nonmonotonic_dynamic and
14250 GOMP_parallel_loop_nonmonotonic_guided.
14251 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14252 GOMP_parallel_loop_nonmonotonic_guided,
14253 GOMP_loop_nonmonotonic_dynamic_start,
14254 GOMP_loop_nonmonotonic_guided_start,
14255 GOMP_loop_nonmonotonic_dynamic_next,
14256 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14257 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14258 GOMP_loop_ull_nonmonotonic_guided_start,
14259 GOMP_loop_ull_nonmonotonic_dynamic_next,
14260 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14261 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14263 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14264 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14265 Use gomp_map_val function.
14266 (gomp_target_fallback_firstprivate): New static function.
14267 (GOMP_target_41): Renamed to ...
14268 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14269 arguments. Move firstprivate fallback handling into a new
14271 (GOMP_target_data_41): Renamed to ...
14272 (GOMP_target_data_ext): ... this.
14273 (GOMP_target_update_41): Renamed to ...
14274 (GOMP_target_update_ext): ... this.
14275 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14276 gomp_map_0len_lookup instead of gomp_map_lookup.
14277 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14279 * testsuite/libgomp.c/target-28.c: Likewise.
14280 * testsuite/libgomp.c/monotonic-1.c: New test.
14281 * testsuite/libgomp.c/monotonic-2.c: New test.
14282 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14283 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14284 * testsuite/libgomp.c/pr66199-5.c: New test.
14285 * testsuite/libgomp.c/pr66199-6.c: New test.
14286 * testsuite/libgomp.c/pr66199-7.c: New test.
14287 * testsuite/libgomp.c/pr66199-8.c: New test.
14288 * testsuite/libgomp.c/pr66199-9.c: New test.
14289 * testsuite/libgomp.c/reduction-11.c: New test.
14290 * testsuite/libgomp.c/reduction-12.c: New test.
14291 * testsuite/libgomp.c/reduction-13.c: New test.
14292 * testsuite/libgomp.c/reduction-14.c: New test.
14293 * testsuite/libgomp.c/reduction-15.c: New test.
14294 * testsuite/libgomp.c/target-12.c (main): Adjust for
14295 omp_target_is_present change for one-past-last element.
14296 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14297 the same var is both mapped and privatized.
14298 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14299 handling of zero-length array sections.
14300 * testsuite/libgomp.c/target-28.c: New test.
14301 * testsuite/libgomp.c/target-29.c: New test.
14302 * testsuite/libgomp.c/target-30.c: New test.
14303 * testsuite/libgomp.c/target-teams-1.c: New test.
14304 * testsuite/libgomp.c++/member-6.C: New test.
14305 * testsuite/libgomp.c++/member-7.C: New test.
14306 * testsuite/libgomp.c++/monotonic-1.C: New test.
14307 * testsuite/libgomp.c++/monotonic-2.C: New test.
14308 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14309 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14310 * testsuite/libgomp.c++/pr66199-3.C: New test.
14311 * testsuite/libgomp.c++/pr66199-4.C: New test.
14312 * testsuite/libgomp.c++/pr66199-5.C: New test.
14313 * testsuite/libgomp.c++/pr66199-6.C: New test.
14314 * testsuite/libgomp.c++/pr66199-7.C: New test.
14315 * testsuite/libgomp.c++/pr66199-8.C: New test.
14316 * testsuite/libgomp.c++/pr66199-9.C: New test.
14317 * testsuite/libgomp.c++/reduction-11.C: New test.
14318 * testsuite/libgomp.c++/reduction-12.C: New test.
14319 * testsuite/libgomp.c++/target-13.C: New test.
14320 * testsuite/libgomp.c++/target-14.C: New test.
14321 * testsuite/libgomp.c++/target-15.C: New test.
14322 * testsuite/libgomp.c++/target-16.C: New test.
14323 * testsuite/libgomp.c++/target-17.C: New test.
14324 * testsuite/libgomp.c++/target-18.C: New test.
14325 * testsuite/libgomp.c++/target-19.C: New test.
14327 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14329 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14330 and reduction copy.
14331 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14332 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14333 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14334 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14335 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14336 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14337 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14338 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14339 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14340 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14341 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14342 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14343 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14344 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14346 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14348 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14349 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14350 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14351 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14352 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14353 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14354 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14355 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14357 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14359 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14360 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14361 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14362 * oacc-host.c (host_openacc_exec): Likewise.
14363 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14365 2015-11-03 Julian Brown <julian@codesourcery.com>
14366 Thomas Schwinge <thomas@codesourcery.com>
14368 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14369 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14370 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14372 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14373 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14375 2015-11-03 James Norris <jnorris@codesourcery.com>
14377 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14379 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14381 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14382 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14383 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14384 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14385 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14387 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14389 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14391 (enum acc_async_t): Reformat.
14392 (acc_on_device): Declare compatible with builtin and provide C++
14394 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14396 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14397 Cesar Philippidis <cesar@codesourcery.com>
14399 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14400 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14401 ... this. Add a description of the test at the top of the file.
14402 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14403 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14404 ... this. Add a description of the test at the top of the file.
14406 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14408 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14409 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14410 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14411 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14412 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14413 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14415 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14417 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14420 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14423 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14425 2015-10-27 James Norris <jnorris@codesourcery.com>
14427 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14428 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14430 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14432 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14433 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14435 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14436 acc_device_nvidia usage.
14437 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14438 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14439 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14441 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14442 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14445 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14449 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14450 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14452 2015-10-23 Tom de Vries <tom@codesourcery.com>
14455 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14457 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14459 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14461 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14463 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14464 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14466 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14467 to 0 when mapnum is 0.
14469 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14471 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14472 Cast to int from int32_t.
14474 2015-10-13 Jakub Jelinek <jakub@redhat.com>
14475 Aldy Hernandez <aldyh@redhat.com>
14476 Ilya Verbin <ilya.verbin@intel.com>
14478 * config/linux/affinity.c (omp_get_place_num_procs,
14479 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14480 * config/linux/doacross.h: New file.
14481 * config/posix/affinity.c (omp_get_place_num_procs,
14482 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14483 * config/posix/doacross.h: New file.
14484 * env.c: Include gomp-constants.h.
14485 (struct gomp_task_icv): Rename run_sched_modifier to
14486 run_sched_chunk_size.
14487 (gomp_max_task_priority_var): New variable.
14488 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14489 (handle_omp_display_env): Change _OPENMP value from 201307 to
14490 201511. Print OMP_MAX_TASK_PRIORITY.
14491 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14492 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14493 chunk_size and run_sched_modifier to run_sched_chunk_size.
14494 (omp_get_max_task_priority, omp_get_initial_device,
14495 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14496 omp_get_partition_place_nums): New functions.
14497 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14498 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14500 (omp_get_num_places_, omp_get_place_num_procs_,
14501 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14502 omp_get_place_proc_ids_8_, omp_get_place_num_,
14503 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14504 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14505 omp_get_max_task_priority_): New functions.
14506 * libgomp_g.h (GOMP_loop_doacross_static_start,
14507 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14508 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14509 GOMP_loop_ull_doacross_dynamic_start,
14510 GOMP_loop_ull_doacross_guided_start,
14511 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14512 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14513 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14514 GOMP_target_data_41, GOMP_target_update_41,
14515 GOMP_target_enter_exit_data): New prototypes.
14516 (GOMP_task): Add prototype argument.
14517 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14518 (struct gomp_doacross_work_share): New type.
14519 (struct gomp_work_share): Add doacross field.
14520 (struct gomp_task_icv): Rename run_sched_modifier to
14521 run_sched_chunk_size.
14522 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14523 GOMP_TASK_UNDEFERRED. Add comments.
14524 (struct gomp_task_depend_entry): Add comments.
14525 (struct gomp_task): Likewise.
14526 (struct gomp_taskgroup): Likewise.
14527 (struct gomp_target_task): New type.
14528 (struct gomp_team): Add comment.
14529 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14530 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14531 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14532 (struct target_var_desc): New type.
14533 (struct target_mem_desc): Adjust comment. Use struct
14534 target_var_desc instead of splay_tree_key for list.
14535 (REFCOUNT_INFINITY): Define.
14536 (struct splay_tree_key_s): Remove copy_from field.
14537 (struct gomp_device_descr): Add dev2dev_func field.
14538 (enum gomp_map_vars_kind): New enum.
14539 (gomp_map_vars): Add one argument.
14540 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14541 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14542 omp_get_place_num_procs, omp_get_place_num_procs_,
14543 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14544 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14545 omp_get_place_num_, omp_get_partition_num_places,
14546 omp_get_partition_num_places_, omp_get_partition_place_nums,
14547 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14548 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14549 omp_target_free, omp_target_is_present, omp_target_memcpy,
14550 omp_target_memcpy_rect, omp_target_associate_ptr and
14551 omp_target_disassociate_ptr.
14552 (GOMP_4.0.2): Renamed to ...
14553 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14554 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14555 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14556 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14557 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14558 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14559 GOMP_loop_ull_doacross_guided_start,
14560 GOMP_loop_ull_doacross_runtime_start,
14561 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14562 GOMP_doacross_ull_wait.
14563 * libgomp.texi: Document omp_get_max_task_priority.
14564 Rename modifier argument to chunk_size for omp_set_schedule and
14565 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14566 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14567 to run_sched_chunk_size renaming.
14568 (GOMP_loop_ordered_runtime_start): Likewise.
14569 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14570 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14571 GOMP_parallel_loop_runtime_start): New functions.
14572 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14573 to run_sched_chunk_size renaming.
14574 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14575 GOMP_loop_doacross_guided_start): New functions or aliases.
14576 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14577 run_sched_modifier to run_sched_chunk_size renaming.
14578 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14579 (gomp_loop_ull_doacross_static_start,
14580 gomp_loop_ull_doacross_dynamic_start,
14581 gomp_loop_ull_doacross_guided_start,
14582 GOMP_loop_ull_doacross_runtime_start): New functions.
14583 (GOMP_loop_ull_doacross_static_start,
14584 GOMP_loop_ull_doacross_dynamic_start,
14585 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14586 * oacc-mem.c (acc_map_data, present_create_copy,
14587 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14589 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14590 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14591 instead of false to gomp_map_vars.
14592 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14593 * omp.h.in (omp_lock_hint_t): New type.
14594 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14595 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14596 omp_get_place_num, omp_get_partition_num_places,
14597 omp_get_partition_place_nums, omp_get_initial_device,
14598 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14599 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14600 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14602 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14603 (omp_lock_hint_none, omp_lock_hint_uncontended,
14604 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14605 omp_lock_hint_speculative): New parameters.
14606 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14607 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14608 omp_get_place_num, omp_get_partition_num_places,
14609 omp_get_partition_place_nums, omp_get_initial_device,
14610 omp_get_max_task_priority): New interfaces.
14611 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14613 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14614 (omp_lock_hint_none, omp_lock_hint_uncontended,
14615 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14616 omp_lock_hint_speculative): New parameters.
14617 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14618 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14619 omp_get_place_num, omp_get_partition_num_places,
14620 omp_get_partition_place_nums, omp_get_initial_device,
14621 omp_get_max_task_priority): New functions and subroutines.
14622 * ordered.c: Include stdarg.h and string.h.
14623 (MAX_COLLAPSED_BITS): Define.
14624 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14625 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14626 GOMP_doacross_ull_wait): New functions.
14627 * target.c: Include errno.h.
14628 (resolve_device): If device is not initialized, call
14629 gomp_init_device on it.
14630 (gomp_map_lookup): New function.
14631 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14632 Don't bump refcount if REFCOUNT_INFINITY. Handle
14633 GOMP_MAP_ALWAYS_TO_P.
14634 (get_kind): Rename is_openacc argument to short_mapkind.
14635 (gomp_map_pointer): Use gomp_map_lookup.
14636 (gomp_map_fields_existing): New function.
14637 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14638 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14639 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14640 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14641 Adjust for tgt->list changed type and copy_from living in there.
14642 (gomp_copy_from_async): Adjust for tgt->list changed type and
14643 copy_from living in there.
14644 (gomp_unmap_vars): Likewise.
14645 (gomp_update): Likewise. Rename is_openacc argument to
14646 short_mapkind. Don't fail if object is not mapped.
14647 (gomp_load_image_to_device): Initialize refcount to
14649 (gomp_target_fallback): New function.
14650 (gomp_get_target_fn_addr): Likewise.
14651 (GOMP_target): Adjust gomp_map_vars caller, use
14652 gomp_get_target_fn_addr and gomp_target_fallback.
14653 (GOMP_target_41): New function.
14654 (gomp_target_data_fallback): New function.
14655 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14656 (GOMP_target_data_41): New function.
14657 (GOMP_target_update): Adjust gomp_update caller.
14658 (GOMP_target_update_41): New function.
14659 (gomp_exit_data, GOMP_target_enter_exit_data,
14660 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14661 omp_target_is_present, omp_target_memcpy,
14662 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14663 omp_target_associate_ptr, omp_target_disassociate_ptr,
14664 gomp_load_plugin_for_device): New functions.
14665 * task.c: Include gomp-constants.h. Include taskloop.c
14666 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14667 (gomp_task_handle_depend): New function.
14668 (GOMP_task): Use it. Add priority argument. Use
14669 gomp-constant.h constants instead of hardcoded numbers.
14670 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14671 (gomp_create_target_task): New function.
14672 (verify_children_queue, verify_taskgroup_queue,
14673 verify_task_queue): New functions.
14674 (gomp_task_run_pre): Call verify_*_queue functions.
14675 If an upcoming tied task is about to leave the sibling or
14676 taskgroup queues in an invalid state, adjust appropriately.
14677 Remove taskgroup argument. Add comments.
14678 (gomp_task_run_post_handle_dependers): Add comments.
14679 (gomp_task_run_post_remove_parent): Likewise.
14680 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14681 (GOMP_taskwait): Likewise. Add comments.
14682 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14683 problem such that the first non parent_depends_on task does not
14684 end up at the end of the children queue.
14685 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14686 GOMP_TASK_UNDEFERRED.
14687 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14688 * taskloop.c: New file.
14689 * testsuite/lib/libgomp.exp
14690 (check_effective_target_offload_device_nonshared_as): New proc.
14691 * testsuite/libgomp.c/affinity-2.c: New test.
14692 * testsuite/libgomp.c/doacross-1.c: New test.
14693 * testsuite/libgomp.c/doacross-2.c: New test.
14694 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14695 Add map clause to target.
14696 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14697 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14698 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14699 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14700 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14702 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14703 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14704 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14705 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14706 not defined. Use those where needed.
14707 * testsuite/libgomp.c/for-4.c: New test.
14708 * testsuite/libgomp.c/for-5.c: New test.
14709 * testsuite/libgomp.c/for-6.c: New test.
14710 * testsuite/libgomp.c/linear-1.c: New test.
14711 * testsuite/libgomp.c/ordered-4.c: New test.
14712 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14713 only allowed on the loop iterator.
14714 * testsuite/libgomp.c/pr66199-3.c: New test.
14715 * testsuite/libgomp.c/pr66199-4.c: New test.
14716 * testsuite/libgomp.c/reduction-7.c: New test.
14717 * testsuite/libgomp.c/reduction-8.c: New test.
14718 * testsuite/libgomp.c/reduction-9.c: New test.
14719 * testsuite/libgomp.c/reduction-10.c: New test.
14720 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14722 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14723 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14724 * testsuite/libgomp.c/target-11.c: New test.
14725 * testsuite/libgomp.c/target-12.c: New test.
14726 * testsuite/libgomp.c/target-13.c: New test.
14727 * testsuite/libgomp.c/target-14.c: New test.
14728 * testsuite/libgomp.c/target-15.c: New test.
14729 * testsuite/libgomp.c/target-16.c: New test.
14730 * testsuite/libgomp.c/target-17.c: New test.
14731 * testsuite/libgomp.c/target-18.c: New test.
14732 * testsuite/libgomp.c/target-19.c: New test.
14733 * testsuite/libgomp.c/target-20.c: New test.
14734 * testsuite/libgomp.c/target-21.c: New test.
14735 * testsuite/libgomp.c/target-22.c: New test.
14736 * testsuite/libgomp.c/target-23.c: New test.
14737 * testsuite/libgomp.c/target-24.c: New test.
14738 * testsuite/libgomp.c/target-25.c: New test.
14739 * testsuite/libgomp.c/target-26.c: New test.
14740 * testsuite/libgomp.c/target-27.c: New test.
14741 * testsuite/libgomp.c/taskloop-1.c: New test.
14742 * testsuite/libgomp.c/taskloop-2.c: New test.
14743 * testsuite/libgomp.c/taskloop-3.c: New test.
14744 * testsuite/libgomp.c/taskloop-4.c: New test.
14745 * testsuite/libgomp.c++/ctor-13.C: New test.
14746 * testsuite/libgomp.c++/doacross-1.C: New test.
14747 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14748 Replace offload_device with offload_device_nonshared_as.
14749 * testsuite/libgomp.c++/for-12.C: New test.
14750 * testsuite/libgomp.c++/for-13.C: New test.
14751 * testsuite/libgomp.c++/for-14.C: New test.
14752 * testsuite/libgomp.c++/linear-1.C: New test.
14753 * testsuite/libgomp.c++/member-1.C: New test.
14754 * testsuite/libgomp.c++/member-2.C: New test.
14755 * testsuite/libgomp.c++/member-3.C: New test.
14756 * testsuite/libgomp.c++/member-4.C: New test.
14757 * testsuite/libgomp.c++/member-5.C: New test.
14758 * testsuite/libgomp.c++/ordered-1.C: New test.
14759 * testsuite/libgomp.c++/reduction-5.C: New test.
14760 * testsuite/libgomp.c++/reduction-6.C: New test.
14761 * testsuite/libgomp.c++/reduction-7.C: New test.
14762 * testsuite/libgomp.c++/reduction-8.C: New test.
14763 * testsuite/libgomp.c++/reduction-9.C: New test.
14764 * testsuite/libgomp.c++/reduction-10.C: New test.
14765 * testsuite/libgomp.c++/reference-1.C: New test.
14766 * testsuite/libgomp.c++/simd14.C: New test.
14767 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14768 * testsuite/libgomp.c++/target-5.C: New test.
14769 * testsuite/libgomp.c++/target-6.C: New test.
14770 * testsuite/libgomp.c++/target-7.C: New test.
14771 * testsuite/libgomp.c++/target-8.C: New test.
14772 * testsuite/libgomp.c++/target-9.C: New test.
14773 * testsuite/libgomp.c++/target-10.C: New test.
14774 * testsuite/libgomp.c++/target-11.C: New test.
14775 * testsuite/libgomp.c++/target-12.C: New test.
14776 * testsuite/libgomp.c++/taskloop-1.C: New test.
14777 * testsuite/libgomp.c++/taskloop-2.C: New test.
14778 * testsuite/libgomp.c++/taskloop-3.C: New test.
14779 * testsuite/libgomp.c++/taskloop-4.C: New test.
14780 * testsuite/libgomp.c++/taskloop-5.C: New test.
14781 * testsuite/libgomp.c++/taskloop-6.C: New test.
14782 * testsuite/libgomp.c++/taskloop-7.C: New test.
14783 * testsuite/libgomp.c++/taskloop-8.C: New test.
14784 * testsuite/libgomp.c++/taskloop-9.C: New test.
14785 * testsuite/libgomp.fortran/affinity1.f90: New test.
14786 * testsuite/libgomp.fortran/affinity2.f90: New test.
14788 2015-10-13 Tom de Vries <tom@codesourcery.com>
14790 PR tree-optimization/67476
14791 * testsuite/libgomp.c/autopar-3.c: New test.
14792 * testsuite/libgomp.c/autopar-4.c: New test.
14793 * testsuite/libgomp.c/autopar-5.c: New test.
14794 * testsuite/libgomp.c/autopar-6.c: New test.
14795 * testsuite/libgomp.c/autopar-7.c: New test.
14796 * testsuite/libgomp.c/autopar-8.c: New test.
14798 2015-10-12 James Norris <jnorris@codesourcery.com>
14800 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14803 2015-10-09 David Malcolm <dmalcolm@redhat.com>
14805 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14806 using load_gcc_lib.
14808 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
14810 * oacc-ptx.h: Remove file, moving its content into...
14811 * config/nvptx/fortran.c: ... here...
14812 * config/nvptx/oacc-init.c: ..., here...
14813 * config/nvptx/oacc-parallel.c: ..., and here.
14814 * config/nvptx/openacc.f90: New file.
14815 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14816 (link_ptx): Don't link in predefined bits of PTX code.
14818 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
14819 Bernd Schmidt <bernds@codesourcery.com>
14821 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14822 (struct targ_ptx_obj): New.
14823 (nvptx_tdata): Move earlier, change data format.
14824 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
14826 (GOMP_OFFLOAD_load_image): Adjust.
14828 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
14830 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14831 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14832 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14833 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14834 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14835 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14836 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14837 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14838 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14839 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14840 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14841 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14842 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14843 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14844 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14845 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14846 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14847 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14848 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14849 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14850 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14851 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14852 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14853 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14854 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14855 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14856 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14857 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14858 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14859 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14860 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14861 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14862 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14863 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14864 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14865 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14866 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14867 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14868 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14869 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14870 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14871 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14872 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14873 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14874 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14875 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14876 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14877 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14878 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14879 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14880 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14881 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14882 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14883 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14884 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14885 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14886 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14887 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14888 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14889 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14890 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14891 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14892 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14894 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14896 * oacc-init.c (acc_on_device): Force optimization level.
14898 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14900 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14901 (cuda_errlist): Delete.
14902 (cuda_error): Reimplement.
14904 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
14906 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14908 * libgomp.map (GOACC_parallel_keyed): New.
14909 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
14911 (GOACC_parallel_keyed): New interface. Lose geometry arguments
14912 and take keyed varargs list. Adjust call to exec_func.
14913 (GOACC_parallel): Force host fallback.
14914 * libgomp_g.h (GOACC_parallel): Remove.
14915 (GOACC_parallel_keyed): Declare.
14916 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
14917 (struct targ_gn_descriptor): Replace name field with launch field.
14918 (nvptx_exec): Lose separate geometry args, take array. Process
14919 dynamic dimensions and adjust.
14920 (struct nvptx_tdata): Replace fn_names field with fn_descs.
14921 (GOMP_OFFLOAD_load_image): Adjust for change in function table
14923 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14925 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14928 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
14931 * oacc-int.h (goacc_host_init): Add declaration.
14932 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14933 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14935 2015-09-08 Aditya Kumar <hiraditya@msn.com>
14936 Sebastian Pop <s.pop@samsung.com>
14938 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
14940 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14941 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14942 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14943 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14944 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14946 2015-09-03 Jakub Jelinek <jakub@redhat.com>
14948 * configure.tgt: Add missing ;; in between nvptx and rtems
14951 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14953 * config/posix/pool.h (gomp_adjust_thread_attr): New.
14954 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
14955 (gomp_thread_pool_reservoir): Add priority member.
14956 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
14958 (parse_thread_pools): Likewise.
14959 * team.c (gomp_team_start): Call configuration provided
14960 gomp_adjust_thread_attr(). Destroy thread attributes if
14962 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
14964 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14966 * config/posix/pool.h: New.
14967 * config/rtems/pool.h: Likewise.
14968 * config/rtems/proc.c: Likewise.
14969 * libgomp.h (gomp_thread_destructor): Declare.
14970 * team.c: Include configuration provided "pool.h".
14971 (gomp_get_thread_pool): Define in configuration.
14972 (gomp_team_end): Call configuration defined
14973 gomp_release_thread_pool().
14975 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14977 * config/rtems/bar.c: New.
14978 * config/rtems/bar.h: Likewise.
14979 * config/rtems/mutex.c: Likewise.
14980 * config/rtems/mutex.h: Likewise.
14981 * config/rtems/sem.c: Likewise.
14982 * config/rtems/sem.h: Likewise.
14983 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
14984 <sys/lock.h> header file.
14985 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
14986 supported by Newlib.
14987 * configure: Regenerate.
14989 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14991 * team.c (gomp_new_thread_pool): Delete and move content to ...
14992 (gomp_get_thread_pool): ... new function. Allocate and
14993 initialize thread pool on demand.
14994 (get_last_team): Use gomp_get_thread_pool().
14995 (gomp_team_start): Delete thread pool initialization.
14997 2015-09-03 Tom de Vries <tom@codesourcery.com>
14999 PR tree-optimization/65637
15000 * testsuite/libgomp.c/autopar-2.c: New test.
15002 2015-08-29 Tom de Vries <tom@codesourcery.com>
15004 PR tree-optimization/46193
15005 * testsuite/libgomp.c/pr46193.c: New test.
15007 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
15010 * libgomp.map: Add 4.0.2 version.
15011 * target.c (offload_image_descr): Add version field.
15012 (gomp_load_image_to_device): Add version argument. Adjust plugin
15013 call. Improve load mismatch diagnostic.
15014 (gomp_unload_image_from_device): Add version argument. Adjust plugin
15016 (GOMP_offload_regster): Make stub function, move bulk to ...
15017 (GOMP_offload_register_ver): ... here. Process version argument.
15018 (GOMP_offload_unregister): Make stub function, move bulk to ...
15019 (GOMP_offload_unregister_ver): ... here. Process version argument.
15020 (gomp_init_device): Process version field.
15021 (gomp_unload_device): Process version field.
15022 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
15023 macros. Check plugin version.
15024 * libgomp.h (gomp_device_descr): Add version function field. Adjust
15025 loader and unloader types.
15026 * oacc-host.c: Include gomp-constants.h.
15027 (host_version): New.
15028 (host_load_image, host_unload_image): Adjust.
15029 (host_dispatch): Add host_version.
15030 * plugin/plugin-nvptx.c: Include gomp-constants.h.
15031 (GOMP_OFFLOAD_version): New.
15032 (GOMP_OFFLOAD_load_image): Add version arg and check it.
15033 (GOMP_OFFLOAD_unload_image): Likewise.
15034 * plugin/plugin-host.c: Include gomp-constants.h.
15035 (GOMP_OFFLOAD_version): New.
15036 (GOMP_OFFLOAD_load_image): Add version arg.
15037 (GOMP_OFFLOAD_unload_image): Likewise.
15039 2015-08-24 Tom de Vries <tom@codesourcery.com>
15041 PR tree-optimization/65468
15042 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
15044 2015-08-24 Tom de Vries <tom@codesourcery.com>
15046 PR tree-optimization/65468
15047 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15049 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
15053 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15054 (gomp_iter_guided_next): Idem.
15055 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15056 (gomp_iter_ull_guided_next): Idem.
15057 * config/linux/wait.h (do_spin): Idem.
15059 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15061 * libgomp-plugin.h (enum offload_target_type): Remove
15062 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15063 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15064 * openacc.h (enum acc_device_t): Likewise.
15065 * openacc_lib.h: Likewise.
15066 * oacc-init.c (name_of_acc_device_t): Don't handle it.
15067 (acc_on_device): Just use __builtin_acc_on_device.
15068 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15069 of acc_on_device builtin.
15070 * plugin/plugin-host.h: Remove file.
15071 * plugin/plugin-host.c: Likewise, but salvage some content into...
15072 * oacc-host.c: ... this file.
15073 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15074 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15075 * Makefile.in: Regenerate.
15076 * configure: Likewise.
15077 * testsuite/lib/libgomp.exp
15078 (check_effective_target_openacc_host_nonshm_selected): Remove.
15079 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15080 ACC_DEVICE_TYPE=host_nonshm.
15081 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15082 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15083 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15084 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15085 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15086 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15088 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15089 Jakub Jelinek <jakub@redhat.com>
15091 * config/nvptx/affinity.c: New file.
15092 * config/nvptx/alloc.c: Likewise.
15093 * config/nvptx/bar.c: Likewise.
15094 * config/nvptx/barrier.c: Likewise.
15095 * config/nvptx/critical.c: Likewise.
15096 * config/nvptx/env.c: Likewise.
15097 * config/nvptx/error.c: Likewise.
15098 * config/nvptx/fortran.c: Likewise.
15099 * config/nvptx/iter.c: Likewise.
15100 * config/nvptx/iter_ull.c: Likewise.
15101 * config/nvptx/libgomp-plugin.c: Likewise.
15102 * config/nvptx/lock.c: Likewise.
15103 * config/nvptx/loop.c: Likewise.
15104 * config/nvptx/loop_ull.c: Likewise.
15105 * config/nvptx/mutex.c: Likewise.
15106 * config/nvptx/oacc-async.c: Likewise.
15107 * config/nvptx/oacc-cuda.c: Likewise.
15108 * config/nvptx/oacc-host.c: Likewise.
15109 * config/nvptx/oacc-init.c: Likewise.
15110 * config/nvptx/oacc-mem.c: Likewise.
15111 * config/nvptx/oacc-parallel.c: Likewise.
15112 * config/nvptx/oacc-plugin.c: Likewise.
15113 * config/nvptx/omp-lock.h: Likewise.
15114 * config/nvptx/ordered.c: Likewise.
15115 * config/nvptx/parallel.c: Likewise.
15116 * config/nvptx/proc.c: Likewise.
15117 * config/nvptx/ptrlock.c: Likewise.
15118 * config/nvptx/sections.c: Likewise.
15119 * config/nvptx/sem.c: Likewise.
15120 * config/nvptx/single.c: Likewise.
15121 * config/nvptx/splay-tree.c: Likewise.
15122 * config/nvptx/target.c: Likewise.
15123 * config/nvptx/task.c: Likewise.
15124 * config/nvptx/team.c: Likewise.
15125 * config/nvptx/time.c: Likewise.
15126 * config/nvptx/work.c: Likewise.
15127 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15128 * configure: Regenerate.
15129 * configure.tgt (config_path): Set to "nvptx" for target
15132 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15134 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15136 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
15138 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15139 (cuda_errlist): Constify.
15140 (errmsg): Move into ...
15141 (cuda_error): ... here. Make smaller.
15142 (_XSTR, _STR): Delete.
15143 (cuda_synames): Delete.
15144 (verify_device_library): Delete.
15145 (nvptx_init): Don't call it.
15147 2015-07-28 Tom de Vries <tom@codesourcery.com>
15149 * testsuite/libgomp.c/uns-outer-4.c: New test.
15151 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15153 * testsuite/libgomp.c/pr66714.c: New test.
15155 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15158 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15159 (fib_ref): New function.
15160 (fib): Correct corner cases in the recursion.
15161 (main): Replace the non-simd loop with fib_ref call.
15162 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15164 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15165 for the last array element value. Replace the non-simd loop with
15166 fib_ref call. Remove redundant b_ref array. Remove the comparison
15167 of the last array element with according Fibonacci sequence element.
15168 (fib): Correct corner cases in the recursion.
15170 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15172 * target.c (gomp_offload_image_to_device): Rename to ...
15173 (gomp_load_image_to_device): ... here.
15174 (GOMP_offload_register): Adjust call.
15175 (gomp_init_device): Likewise.
15176 (gomp_unload_image_from_device): New. Broken out of ...
15177 (GOMP_offload_unregister): ... here. Call it.
15178 (gomp_unload_device): New.
15179 * libgomp.h (gomp_unload_device): Declare.
15180 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15183 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15185 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15187 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15189 (goacc_waits): Move !num_waits handling to ...
15190 (GOACC_wait): ... here, the only caller that might have zero waits.
15192 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15193 (struct ptx_image_data): Move earlier, add fns field.
15194 (struct ptx_device): Add images and image_lock fields.
15195 (ptx_images, ptx_image_lock): Delete.
15196 (nvptx_open_device): Initialize images and image_lock fields.
15197 (nvptx_close_device): Destroy image_lock.
15198 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15199 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15202 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15204 * target.c (GOMP_offload_register): Use int for device type arg.
15205 (GOMP_offload_unregister): Likewise.
15207 * target.c (struct_offload_image_descr): Constify host_table.
15208 (gomp_offload_image_to_device): Likewise.
15209 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15211 * libgomp.h (gomp_device_descr): Constify target data arguments.
15212 * target.c (struct offload_image_descr): Constify target_data.
15213 (gomp_offload_image_to_device): Likewise.
15214 (GOMP_offload_register): Likewise.
15215 (GOMP_offload_unregister): Likewise.
15216 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15217 GOMP_OFFLOAD_unload_image): Constify target data.
15218 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15219 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15221 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15223 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15224 Workaround driver library const error.
15225 (struct nvptx_tdata, nvptx_tdata_t): New.
15226 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15229 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15231 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15232 of EPS parameter from integer to real.
15233 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15234 type of EPS parameter from integer to real.
15236 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15238 * team.c (get_last_team): New.
15239 (gomp_new_team): Recycle last non-nested team if possible.
15240 (gomp_team_end): Move team work share list free lock destruction
15242 (free_team): ... here.
15244 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15246 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15247 and ref from int to double. Replaced their comparison with
15248 an inequality of their difference and EPS.
15249 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15250 comparison of pri and a reference number with an inequality of their
15251 difference and EPS.
15252 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15253 the comparison of sum and sum_ref with an inequality of their
15254 difference and EPS.
15255 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15256 the comparison of pri and a reference number with an inequality of
15257 their difference and EPS.
15259 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15261 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15262 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15263 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15264 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15265 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15266 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15267 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15268 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15269 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15270 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15271 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15272 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15273 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15275 (vec_mult): Likewise. Add #pragma omp taskwait.
15276 (main): Adjust caller.
15277 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15278 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15279 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15280 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15281 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15282 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15283 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15284 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15285 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15286 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15287 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15288 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15289 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15290 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15291 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15292 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15293 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15294 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15295 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15296 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15297 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15298 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15299 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15300 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15301 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15302 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15303 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15304 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15305 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15306 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15307 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15308 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15309 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15310 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15311 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15312 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15313 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15314 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15315 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15316 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15317 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15318 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15319 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15320 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15321 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15322 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15323 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15324 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15325 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15326 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15327 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15328 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15329 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15330 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15331 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15332 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15333 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15334 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15335 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15336 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15337 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15338 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15339 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15340 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15341 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15342 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15343 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15344 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15345 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15346 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15347 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15348 (vec_mult): Add !$omp taskwait.
15349 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15350 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15351 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15352 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15353 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15354 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15355 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15356 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15357 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15358 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15359 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15360 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15361 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15362 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15363 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15364 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15365 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15366 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15367 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15368 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15369 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15370 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15371 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15372 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15373 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15374 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15375 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15376 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15377 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15378 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15379 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15380 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15381 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15382 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15383 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15384 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15385 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15386 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15387 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15388 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15389 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15390 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15391 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15392 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15393 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15394 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15395 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15396 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15397 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15398 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15399 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15400 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15401 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15402 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15403 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15404 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15405 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15406 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15407 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15408 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15409 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15410 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15411 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15412 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15413 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15414 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15415 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15417 2015-07-10 Tom de Vries <tom@codesourcery.com>
15419 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15420 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15422 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15425 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15426 in a 64-bit configuration.
15427 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15428 offloading testing if no such device is available.
15429 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15430 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15432 2015-07-08 Tom de Vries <tom@codesourcery.com>
15434 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15436 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15438 2015-07-07 Tom de Vries <tom@codesourcery.com>
15440 PR tree-optimization/66642
15441 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15442 iteration count case.
15443 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15444 function, factor out of ...
15445 (main): ... here. Test low iteration count case.
15447 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15449 * libgomp.h (gomp_thread_pool): Comment last_team field.
15451 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
15453 * testsuite/libgomp.c++/pr66702-1.C: Require
15454 vect_simd_clones effective target.
15455 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15457 2015-06-30 Tom de Vries <tom@codesourcery.com>
15459 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15460 already set. Use DEFAULT_CFLAGS in dg-runtest.
15461 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15464 2015-06-30 Tom de Vries <tom@codesourcery.com>
15466 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15467 already set. Use DEFAULT_CFLAGS in dg-runtest.
15468 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15469 * testsuite/libgomp.c++/pr64824.C: Same.
15470 * testsuite/libgomp.c++/pr64868.C: Same.
15471 * testsuite/libgomp.c++/pr66199-1.C: Same.
15472 * testsuite/libgomp.c++/pr66199-2.C: Same.
15473 * testsuite/libgomp.c++/target-2.C: Same.
15474 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15475 -std=<standard> option.
15476 * testsuite/libgomp.c++/udr-11.C: Same.
15477 * testsuite/libgomp.c++/udr-12.C: Same.
15478 * testsuite/libgomp.c++/udr-13.C: Same.
15479 * testsuite/libgomp.c++/udr-14.C: Same.
15480 * testsuite/libgomp.c++/udr-15.C: Same.
15481 * testsuite/libgomp.c++/udr-16.C: Same.
15482 * testsuite/libgomp.c++/udr-17.C: Same.
15483 * testsuite/libgomp.c++/udr-18.C: Same.
15484 * testsuite/libgomp.c++/udr-19.C: Same.
15485 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15486 * testsuite/libgomp.c++/simd-1.C: Same.
15487 * testsuite/libgomp.c++/simd-2.C: Same.
15488 * testsuite/libgomp.c++/simd-3.C: Same.
15489 * testsuite/libgomp.c++/simd-4.C: Same.
15490 * testsuite/libgomp.c++/simd-5.C: Same.
15491 * testsuite/libgomp.c++/simd-6.C: Same.
15492 * testsuite/libgomp.c++/simd-7.C: Same.
15493 * testsuite/libgomp.c++/simd-8.C: Same.
15494 * testsuite/libgomp.c++/simd-9.C: Same.
15495 * testsuite/libgomp.c++/simd10.C: Same.
15496 * testsuite/libgomp.c++/simd11.C: Same.
15497 * testsuite/libgomp.c++/simd12.C: Same.
15498 * testsuite/libgomp.c++/simd13.C: Same.
15500 2015-06-30 Jakub Jelinek <jakub@redhat.com>
15502 PR middle-end/66702
15503 * testsuite/libgomp.c++/pr66702-1.C: New test.
15504 * testsuite/libgomp.c++/pr66702-2.C: New test.
15506 2015-06-30 Tom de Vries <tom@codesourcery.com>
15508 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15509 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15510 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15511 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15513 2015-06-30 Tom de Vries <tom@codesourcery.com>
15515 PR tree-optimization/66652
15516 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15517 using restrict pointers.
15518 (main): Add arguments to calls to f.
15519 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15521 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15523 * configure.ac: Fix check for header <sys/sysctl.h>.
15524 * configure: Regenerate.
15525 * config.h.in: Likewise.
15527 2015-06-23 Tom de Vries <tom@codesourcery.com>
15529 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15531 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15533 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15535 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15539 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15540 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15542 2015-06-15 Tom de Vries <tom@codesourcery.com>
15544 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15545 dg-additional-options for any remaining options.
15546 * testsuite/libgomp.c/atomic-2.c: Same.
15547 * testsuite/libgomp.c/atomic-4.c: Same.
15548 * testsuite/libgomp.c/atomic-5.c: Same.
15549 * testsuite/libgomp.c/atomic-6.c: Same.
15550 * testsuite/libgomp.c/autopar-1.c: Same.
15551 * testsuite/libgomp.c/copyin-1.c: Same.
15552 * testsuite/libgomp.c/copyin-2.c: Same.
15553 * testsuite/libgomp.c/copyin-3.c: Same.
15554 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15555 * testsuite/libgomp.c/nestedfn-5.c: Same.
15556 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15557 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15558 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15559 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15560 * testsuite/libgomp.c/pr32362-1.c: Same.
15561 * testsuite/libgomp.c/pr32362-2.c: Same.
15562 * testsuite/libgomp.c/pr32362-3.c: Same.
15563 * testsuite/libgomp.c/pr39591-1.c: Same.
15564 * testsuite/libgomp.c/pr39591-2.c: Same.
15565 * testsuite/libgomp.c/pr39591-3.c: Same.
15566 * testsuite/libgomp.c/pr58392.c: Same.
15567 * testsuite/libgomp.c/pr58756.c: Same.
15568 * testsuite/libgomp.c/simd-1.c: Same.
15569 * testsuite/libgomp.c/simd-10.c: Same.
15570 * testsuite/libgomp.c/simd-11.c: Same.
15571 * testsuite/libgomp.c/simd-12.c: Same.
15572 * testsuite/libgomp.c/simd-13.c: Same.
15573 * testsuite/libgomp.c/simd-14.c: Same.
15574 * testsuite/libgomp.c/simd-15.c: Same.
15575 * testsuite/libgomp.c/simd-2.c: Same.
15576 * testsuite/libgomp.c/simd-3.c: Same.
15577 * testsuite/libgomp.c/simd-4.c: Same.
15578 * testsuite/libgomp.c/simd-5.c: Same.
15579 * testsuite/libgomp.c/simd-6.c: Same.
15580 * testsuite/libgomp.c/simd-7.c: Same.
15581 * testsuite/libgomp.c/simd-8.c: Same.
15582 * testsuite/libgomp.c/simd-9.c: Same.
15584 2015-06-15 Tom de Vries <tom@codesourcery.com>
15586 * testsuite/libgomp.c/pr35625.c: Fix typo.
15588 2015-06-15 Tom de Vries <tom@codesourcery.com>
15590 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15592 * testsuite/libgomp.c/atomic-3.c: Same.
15593 * testsuite/libgomp.c/debug-1.c: Same.
15594 * testsuite/libgomp.c/nqueens-1.c: Same.
15595 * testsuite/libgomp.c/pr26171.c: Same.
15596 * testsuite/libgomp.c/pr48591.c: Same.
15597 * testsuite/libgomp.c/pr64824.c: Same.
15598 * testsuite/libgomp.c/pr64868.c: Same.
15599 * testsuite/libgomp.c/pr66133.c: Same.
15600 * testsuite/libgomp.c/pr66199-1.c: Same.
15601 * testsuite/libgomp.c/pr66199-2.c: Same.
15602 * testsuite/libgomp.c/target-8.c: Same.
15604 2015-06-15 Tom de Vries <tom@codesourcery.com>
15606 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15608 * testsuite/libgomp.c/for-1.c: Same.
15609 * testsuite/libgomp.c/for-2.c: Same.
15610 * testsuite/libgomp.c/for-3.c: Same.
15611 * testsuite/libgomp.c/pr35625.c: Same.
15612 * testsuite/libgomp.c/pr39154.c: Same.
15613 * testsuite/libgomp.c/simd-16.c: Same.
15614 * testsuite/libgomp.c/simd-17.c: Same.
15616 2015-06-13 Tom de Vries <tom@codesourcery.com>
15618 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15620 2015-06-13 Tom de Vries <tom@codesourcery.com>
15622 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15623 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15624 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15626 (main): Use N instead of hardcoded constants.
15628 2015-06-05 Tom de Vries <tom@codesourcery.com>
15630 merge from gomp4 branch:
15631 2015-05-28 Tom de Vries <tom@codesourcery.com>
15633 PR tree-optimization/65443
15634 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15635 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15636 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15638 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15640 * testsuite/libgomp.graphite/bounds.c: Adjust for
15641 cleanup-tree-dump removal.
15642 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15643 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15644 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15645 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15646 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15647 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15648 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15649 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15650 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15651 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15653 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
15655 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15656 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15657 (futex_wake) [!__x86_64__]: Ditto.
15659 2015-05-28 Julian Brown <julian@codesourcery.com>
15661 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15662 function comment. Only call gomp_fatal if new argument is true.
15663 (acc_dev_num_out_of_range): New function.
15664 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15665 acc_dev_num_out_of_range as appropriate.
15666 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15667 (acc_get_device_num, acc_set_device_num): Update calls to
15669 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15672 2015-05-28 Julian Brown <julian@codesourcery.com>
15675 * oacc-init.c (plugin/plugin-host.h): Include.
15676 (acc_on_device): Check whether we're in an offloaded region for
15678 plugin. Don't use __builtin_acc_on_device.
15679 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15680 nonshm_exec flag in thread-local data.
15681 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15682 data for host_nonshm plugin.
15683 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15684 for host_nonshm plugin.
15685 * plugin/plugin-host.h: New.
15687 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15689 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15691 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15693 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15695 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15696 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15699 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15701 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
15703 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15705 * target.c (gomp_map_pointer): New function abstracting out
15706 GOMP_MAP_POINTER handling.
15707 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15708 gomp_map_pointer().
15710 2015-05-19 Jakub Jelinek <jakub@redhat.com>
15712 PR middle-end/66199
15713 * testsuite/libgomp.c/pr66199-1.c: New test.
15714 * testsuite/libgomp.c/pr66199-2.c: New test.
15715 * testsuite/libgomp.c++/pr66199-1.C: New test.
15716 * testsuite/libgomp.c++/pr66199-2.C: New test.
15717 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15718 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15720 2015-05-19 Julian Brown <julian@codesourcery.com>
15722 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15725 2015-05-13 Jakub Jelinek <jakub@redhat.com>
15727 PR middle-end/66133
15728 * testsuite/libgomp.c/pr66133.c: New test.
15730 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15732 * Makefile.in: Regenerated with automake-1.11.6.
15733 * aclocal.m4: Likewise.
15734 * config.h.in: Likewise.
15735 * configure: Likewise.
15736 * testsuite/Makefile.in: Likewise.
15738 2015-05-08 Jason Merrill <jason@redhat.com>
15740 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15743 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15745 2015-05-06 Julian Brown <julian@codesourcery.com>
15747 * oacc-init.c (acc_device_lock): Add explanatory comment.
15748 (resolve_device): Add comment about locking requirement.
15749 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15750 gomp_init_device and gomp_fini_device calls.
15751 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15752 (acc_get_device_num, acc_set_device_num): Add locking around
15753 resolve_device and gomp_init_device calls.
15755 2015-05-06 Julian Brown <julian@codesourcery.com>
15757 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15758 goacc_thread_lock on error paths.
15759 * oacc-mem.c (lookup_host): Remove locking from function. Note
15760 locking requirement for caller in function comment.
15761 (lookup_dev): Likewise.
15762 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15763 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15764 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15767 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15771 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15772 don't expect "0x" prefix for "%p" format specifier, don't expect
15773 "(nil)" for NULL pointer.
15774 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15775 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15776 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15777 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15778 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15779 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15780 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15781 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15782 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15783 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15784 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15785 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15786 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15787 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15788 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15789 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15790 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15791 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15792 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15793 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15794 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15795 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15796 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15797 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15798 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15799 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15800 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15801 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15802 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15803 accurately specify what we're looking for.
15804 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15805 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15806 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15807 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15808 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15810 2015-04-30 James Norris <jnorris@codesourcery.com>
15813 * testsuite/lib/libgomp.exp
15814 (check_effective_target_openacc_host_selected)
15815 (check_effective_target_openacc_host_nonshm_selected): New
15817 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15819 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15820 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15821 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15822 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15823 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15824 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15825 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15826 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15827 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15828 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15829 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15830 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15831 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15832 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15833 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15834 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15835 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15836 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15837 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15838 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15839 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15840 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15841 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15842 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15843 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15844 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15845 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15846 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15847 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15848 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15849 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15850 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15851 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15852 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15853 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15854 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15855 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15856 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15857 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15858 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15859 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15860 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15861 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15863 2015-04-08 Julian Brown <julian@codesourcery.com>
15865 * libgomp.h (target_mem_desc: Remove mem_map field.
15866 (acc_dispatch_t): Remove open_device_func, close_device_func,
15867 get_device_num_func, set_device_num_func, target_data members.
15868 Change create_thread_data_func argument to device number instead of
15870 * oacc-async.c (assert.h): Include.
15871 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15872 (acc_wait_all, acc_wait_all_async): Use current host thread's
15873 active device, not base_dev.
15874 * oacc-cuda.c (acc_get_current_cuda_device)
15875 (acc_get_current_cuda_context, acc_get_cuda_stream)
15876 (acc_set_cuda_stream): Likewise.
15877 * oacc-host.c (host_dispatch): Don't set open_device_func,
15878 close_device_func, get_device_num_func or set_device_num_func.
15879 * oacc-init.c (base_dev, init_key): Remove.
15880 (cached_base_dev): New.
15881 (name_of_acc_device_t): New.
15882 (acc_init_1): Initialise default-numbered device, not zeroth.
15883 (acc_shutdown_1): Close all devices of a given type.
15884 (goacc_destroy_thread): Don't use base_dev.
15885 (lazy_open, lazy_init, lazy_init_and_open): Remove.
15886 (goacc_attach_host_thread_to_device): New.
15887 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15888 (acc_get_num_devices): Don't use base_dev.
15889 (acc_set_device_type): Reimplement.
15890 (acc_get_device_type): Don't use base_dev.
15891 (acc_get_device_num): Tweak logic.
15892 (acc_set_device_num): Likewise.
15893 (acc_on_device): Use acc_get_device_type.
15894 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15895 (goacc_lazy_initialize): Reimplement with acc_init and
15896 goacc_attach_host_thread_to_device.
15897 * oacc-int.h (goacc_thread): Add base_dev field.
15898 (base_dev): Remove extern declaration.
15899 (goacc_attach_host_thread_to_device): Add prototype.
15900 * oacc-mem.c (acc_malloc): Use current thread's device instead of
15902 (acc_free): Likewise.
15903 (acc_memcpy_to_device): Likewise.
15904 (acc_memcpy_from_device): Likewise.
15905 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15906 goacc_lazy_initialize (throughout).
15907 (GOACC_parallel): Use tgt_offset to locate target functions.
15908 * target.c (gomp_map_vars): Don't set tgt->mem_map.
15909 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15910 (gomp_load_plugin_for_device): Remove open_device, close_device,
15911 get_device_num, set_device_num openacc hook initialisation. Don't set
15912 openacc.target_data.
15913 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15914 (GOMP_OFFLOAD_openacc_close_device)
15915 (GOMP_OFFLOAD_openacc_get_device_num)
15916 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15917 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15919 * plugin/plugin-nvptx.c (ptx_inited): Remove.
15920 (instantiated_devices, ptx_dev_lock): New.
15921 (struct ptx_image_data): New.
15922 (ptx_devices, ptx_images, ptx_image_lock): New.
15923 (fini_streams_for_device): Reorder cuStreamDestroy call.
15924 (nvptx_get_num_devices): Remove forward declaration.
15925 (nvptx_init): Change return type to bool.
15926 (nvptx_fini): Remove.
15927 (nvptx_attach_host_thread_to_device): New.
15928 (nvptx_open_device): Return struct ptx_device* instead of void*.
15929 (nvptx_close_device): Change argument type to struct ptx_device*,
15930 return type to void.
15931 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15932 (kernel_target_data, kernel_host_table): Remove static globals.
15933 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15934 (GOMP_OFFLOAD_init_device): Reimplement.
15935 (GOMP_OFFLOAD_fini_device): Likewise.
15936 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15937 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15938 (GOMP_OFFLOAD_host2dev): Use ORD argument.
15939 (GOMP_OFFLOAD_openacc_open_device)
15940 (GOMP_OFFLOAD_openacc_close_device)
15941 (GOMP_OFFLOAD_openacc_set_device_num)
15942 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15943 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15947 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
15949 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
15951 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
15952 * libgomp.h (struct gomp_memory_mapping): Remove.
15953 (struct target_mem_desc): Change type of mem_map from
15954 gomp_memory_mapping * to splay_tree_s *.
15955 (struct gomp_device_descr): Remove register_image_func, get_table_func.
15956 Add load_image_func, unload_image_func.
15957 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
15958 Remove offload_regions_registered.
15959 (gomp_init_tables): Remove.
15960 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15962 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
15963 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
15964 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
15965 offload_regions_registered.
15966 Initialize load_image_func, unload_image_func, mem_map.root.
15967 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
15968 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
15969 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
15970 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
15971 gomp_memory_mapping *. Use dev's lock and splay_tree.
15972 (lookup_dev): Use dev's lock.
15973 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
15974 (acc_is_present): Likewise.
15975 (acc_map_data): Likewise.
15976 (acc_unmap_data): Likewise. Use dev's lock.
15977 (present_create_copy): Likewise.
15978 (delete_copyout): Pass dev to lookup_host instead of mem_map.
15979 (update_dev_host): Likewise.
15980 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
15981 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
15982 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
15983 (GOMP_OFFLOAD_get_table): Remove
15984 (GOMP_OFFLOAD_load_image): New function.
15985 (GOMP_OFFLOAD_unload_image): New function.
15986 * target.c (register_lock): New mutex for offload image registration.
15987 (num_devices): Do not guard with PLUGIN_SUPPORT.
15988 (gomp_realloc_unlock): New static function.
15989 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
15991 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
15992 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
15993 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
15995 (gomp_unmap_vars): Likewise.
15996 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
15997 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
15998 (gomp_offload_image_to_device): New static function.
15999 (GOMP_offload_register): Add mutex lock.
16000 Call gomp_offload_image_to_device for all initialized devices.
16001 Replace gomp_realloc with gomp_realloc_unlock.
16002 (GOMP_offload_unregister): New function.
16003 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
16004 get_table_func from the plugin with calls to init_device_func and
16005 gomp_offload_image_to_device.
16006 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
16008 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
16009 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
16010 (GOMP_target_data): Do not call gomp_init_tables.
16011 (GOMP_target_update): Likewise. Remove argument from gomp_update.
16012 (gomp_load_plugin_for_device): Replace register_image and get_table
16013 with load_image and unload_image in DLSYM ().
16014 (gomp_register_images_for_device): Remove function.
16015 (gomp_target_init): Do not initialize current_device.mem_map.*,
16016 current_device.offload_regions_registered.
16017 Remove call to gomp_register_images_for_device.
16018 Do not free offload_images and num_offload_images.
16020 2015-03-30 Jakub Jelinek <jakub@redhat.com>
16023 * testsuite/libgomp.fortran/pr65597.f90: New test.
16025 2015-03-27 Tom de Vries <tom@codesourcery.com>
16028 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
16029 (init, check): New function.
16030 (foo): Change return type to void.
16031 (main): Call init and check.
16033 2015-03-27 Tom de Vries <tom@codesourcery.com>
16036 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
16037 (foo): Use M for non-inner loops to scale down test-case.
16039 2015-03-25 Kai Tietz <ktietz@redhat.com>
16042 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
16043 (GOACC_data_start): Likewise.
16044 * target.c (gomp_map_vars): Likewise.
16046 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
16048 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16051 2015-03-19 Jakub Jelinek <jakub@redhat.com>
16053 * testsuite/libgomp.c/target-10.c: New test.
16054 * testsuite/libgomp.c++/target-4.C: New test.
16056 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
16058 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16059 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16061 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
16063 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16064 * configure.ac (*-*-rtems*): Assume Pthread is supported.
16065 (pthread.h): Check for this header file.
16066 * configure: Regenerate.
16068 2015-02-25 Tom de Vries <tom@codesourcery.com>
16070 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16071 (check_reduction_op, check_reduction_macro, max, min):
16073 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16075 (main): Use new functions.
16077 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
16079 * target.c (gomp_load_plugin_for_device): Use const char * instead of
16080 char * for variables holding dlerror return values.
16081 (DLSYM_OPT): Ditto.
16083 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16085 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16087 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16088 Cesar Philippidis <cesar@codesourcery.com>
16090 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16091 GOACC_ctaid, and GOACC_nctaid routines.
16093 2015-02-11 Jakub Jelinek <jakub@redhat.com>
16096 * testsuite/libgomp.c/atomic-18.c: New test.
16097 * testsuite/libgomp.c++/atomic-16.C: New test.
16099 2015-02-04 Jakub Jelinek <jakub@redhat.com>
16103 * testsuite/libgomp.c/pr64824.c: New test.
16104 * testsuite/libgomp.c/pr64868.c: New test.
16105 * testsuite/libgomp.c++/pr64824.C: New test.
16106 * testsuite/libgomp.c++/pr64868.C: New test.
16108 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
16111 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16112 Link with -lpthread.
16113 * config/aix/plugin-suffix.h: Delete.
16115 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
16118 * configure.tgt (*-*-aix*): Use config_path "aix posix".
16119 (*-*-darwin*): Use config_path "bsd darwin posix".
16120 (*-*-hpux*): Use config_path "hpux posix".
16121 * target.c: Add include of plugin-suffix.h and use
16122 SONAME_SUFFIX macro.
16123 * config/aix/plugin-suffix.h: New file.
16124 * config/darwin/plugin-suffix.h: New file.
16125 * config/hpux/plugin-suffix.h: New file.
16126 * config/posix/plugin-suffix.h: New file.
16128 2015-01-23 Jakub Jelinek <jakub@redhat.com>
16130 PR middle-end/64734
16131 * libgomp.c/pr64734.c: New test.
16133 2015-01-23 Tom de Vries <tom@codesourcery.com>
16136 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16138 2015-01-23 Tom de Vries <tom@codesourcery.com>
16141 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16144 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16147 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16148 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16149 formal parameter. Update all users.
16150 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16151 Document unused formal parameter.
16153 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16155 * oacc-parallel.c: Don't include <alloca.h>.
16156 (GOACC_parallel): Use gomp_alloca instead of alloca.
16158 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16160 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16162 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16163 James Norris <jnorris@codesourcery.com>
16164 Tom de Vries <tom@codesourcery.com>
16165 Julian Brown <julian@codesourcery.com>
16166 Cesar Philippidis <cesar@codesourcery.com>
16167 Nathan Sidwell <nathan@codesourcery.com>
16168 Tobias Burnus <burnus@net-b.de>
16170 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16171 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16172 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16173 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16174 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16175 Include $(top_srcdir)/plugin/Makefrag.am.
16176 (nodist_libsubinclude_HEADERS): Add openacc.h.
16177 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16178 openacc.f90, openacc.mod, openacc_kinds.mod.
16179 (omp_lib.mod): Generalize into...
16180 (%.mod): ... this new rule.
16181 (openacc_kinds.mod, openacc.mod): New rules.
16182 * plugin/configfrag.ac: New file.
16183 * configure.ac: Move plugin/offloading support into it. Include
16184 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16185 * plugin/Makefrag.am: New file.
16186 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16187 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16189 (libgomp-test-support.exp): New rule.
16190 (all-local): Depend on it.
16191 * Makefile.in: Regenerate.
16192 * testsuite/Makefile.in: Regenerate.
16193 * config.h.in: Likewise.
16194 * configure: Likewise.
16195 * configure.tgt: Harden shell syntax.
16196 * env.c: Include "oacc-int.h".
16197 (parse_acc_device_type): New function.
16198 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16200 (initialize_env): Initialize those. Call
16201 goacc_runtime_initialize.
16202 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16203 (gomp_fatal): Call gomp_vfatal.
16204 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16205 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16206 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16207 (splay_tree_node, splay_tree, splay_tree_key)
16208 (struct target_mem_desc, struct splay_tree_key_s)
16209 (struct gomp_memory_mapping, struct acc_dispatch_t)
16210 (struct gomp_device_descr, gomp_acc_insert_pointer)
16211 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16212 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16213 (gomp_free_memmap, gomp_fini_device): New declarations.
16214 (gomp_vdebug, gomp_debug): New macros.
16215 Include "splay-tree.h".
16216 * libgomp.map (OACC_2.0): New symbol version. Use for
16217 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16218 acc_set_device_type_h_, acc_get_device_type,
16219 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16220 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16221 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16222 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16223 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16224 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16225 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16226 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16227 acc_copyin_array_h_, acc_present_or_copyin,
16228 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16229 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16230 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16231 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16232 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16233 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16234 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16235 acc_update_device, acc_update_device_32_h_,
16236 acc_update_device_64_h_, acc_update_device_array_h_,
16237 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16238 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16239 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16240 acc_is_present_64_h_, acc_is_present_array_h_,
16241 acc_memcpy_to_device, acc_memcpy_from_device,
16242 acc_get_current_cuda_device, acc_get_current_cuda_context,
16243 acc_get_cuda_stream, acc_set_cuda_stream.
16244 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16245 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16246 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16247 GOACC_get_num_threads.
16248 (GOMP_PLUGIN_1.0): New symbol version. Use for
16249 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16250 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16251 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16252 GOMP_PLUGIN_acc_thread.
16253 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16254 environment variable.
16255 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16256 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16257 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16258 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16259 (splay_tree_remove): New declarations.
16260 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16261 (splay_tree_remove, splay_tree_lookup): Move into...
16262 * splay-tree.c: ... this new file.
16263 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16264 (splay_tree_node, splay_tree, splay_tree_key)
16265 (struct target_mem_desc, struct splay_tree_key_s)
16266 (struct gomp_device_descr): Don't declare.
16267 (num_devices_openmp): New variable.
16268 (gomp_get_num_devices ): Use it.
16269 (gomp_init_targets_once): New function.
16270 (gomp_get_num_devices ): Use it.
16271 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16272 (gomp_fini_device, gomp_register_image_for_device): New functions.
16273 (gomp_map_vars): Add devaddrs parameter.
16274 (gomp_update): Add mm parameter.
16275 (gomp_init_device): Move most of it into...
16276 (gomp_init_tables): ... this new function.
16277 (gomp_register_images_for_device): Remove function.
16278 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16279 Make them hidden instead of static.
16280 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16281 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16282 (GOMP_target_end_data, GOMP_target_update)
16283 (gomp_load_plugin_for_device, gomp_target_init): Update for
16285 * oacc-async.c: New file.
16286 * oacc-cuda.c: Likewise.
16287 * oacc-host.c: Likewise.
16288 * oacc-init.c: Likewise.
16289 * oacc-int.h: Likewise.
16290 * oacc-mem.c: Likewise.
16291 * oacc-parallel.c: Likewise.
16292 * oacc-plugin.c: Likewise.
16293 * oacc-plugin.h: Likewise.
16294 * oacc-ptx.h: Likewise.
16295 * openacc.f90: Likewise.
16296 * openacc.h: Likewise.
16297 * openacc_lib.h: Likewise.
16298 * plugin/plugin-host.c: Likewise.
16299 * plugin/plugin-nvptx.c: Likewise.
16300 * libgomp-plugin.c: Likewise.
16301 * libgomp-plugin.h: Likewise.
16302 * libgomp_target.h: Remove file after merging content into the
16303 former file. Update all users.
16304 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16305 (offload_targets_s, offload_targets_s_openacc): New variables.
16306 (check_effective_target_openacc_nvidia_accel_present)
16307 (check_effective_target_openacc_nvidia_accel_selected): New
16309 (libgomp_init): Update for OpenACC changes.
16310 * testsuite/libgomp-test-support.exp.in: New file.
16311 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16312 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16313 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16314 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16315 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16316 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16317 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16318 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16319 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16320 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16321 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16322 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16323 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16324 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16325 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16326 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16327 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16328 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16329 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16330 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16331 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16332 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16333 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16334 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16335 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16336 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16337 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16338 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16339 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16340 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16341 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16342 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16343 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16344 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16345 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16346 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16347 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16348 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16349 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16350 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16351 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16352 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16353 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16354 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16355 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16356 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16357 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16358 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16359 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16360 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16361 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16362 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16363 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16364 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16365 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16366 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16367 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16368 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16369 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16370 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16371 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16372 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16373 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16374 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16375 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16376 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16377 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16378 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16379 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16380 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16381 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16382 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16383 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16384 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16385 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16386 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16387 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16388 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16389 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16390 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16391 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16392 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16393 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16394 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16395 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16396 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16397 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16398 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16399 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16400 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16401 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16402 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16403 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16404 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16405 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16406 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16407 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16408 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16409 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16410 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16411 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16412 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16413 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16414 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16415 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16416 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16417 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16418 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16419 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16420 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16421 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16422 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16423 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16424 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16425 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16426 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16427 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16428 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16429 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16430 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16431 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16432 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16433 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16434 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16435 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16436 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16437 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16438 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16439 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16440 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16441 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16442 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16443 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16444 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16445 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16446 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16447 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16448 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16449 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16450 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16452 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16453 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16454 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16455 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16456 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16457 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16458 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16459 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16460 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16461 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16462 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16463 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16464 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16465 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16466 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16467 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16468 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16469 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16470 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16471 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16472 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16473 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16474 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16475 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16476 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16477 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16478 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16479 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16480 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16481 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16482 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16483 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16484 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16485 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16486 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16487 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16488 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16489 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16490 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16491 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16492 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16493 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16494 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16495 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16496 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16497 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16498 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16499 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16500 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16501 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16502 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16503 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16504 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16505 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16506 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16507 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16508 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16509 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16510 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16511 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16513 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16514 Julian Brown <julian@codesourcery.com>
16515 David Malcolm <dmalcolm@redhat.com>
16517 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16518 to "GNU Offloading and Multi Processing Runtime Library". Change
16520 * configure: Regenerate.
16521 * libgomp.texi: Update.
16523 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16525 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16527 * configure: Regenerate.
16529 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16530 "intelmic" in $offload_targets.
16532 2015-01-05 Jakub Jelinek <jakub@redhat.com>
16534 Update copyright years.
16536 * libgomp.texi: Bump @copying's copyright year.
16538 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16540 * testsuite/lib/libgomp.exp: Load target-utils.exp.
16541 Move load of target-supports.exp earlier.
16543 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16545 * testsuite/libgomp.c/target-9.c: New test.
16547 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16549 * config.h.in: Regenerate.
16550 * configure: Regenerate.
16551 * configure.ac: Add GCC_CHECK_EMUTLS.
16552 * libgomp.h: Add check for USE_EMUTLS: this case
16553 is equal to HAVE_TLS.
16554 * team.c: Likewise.
16556 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
16558 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16560 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16561 Ilya Verbin <ilya.verbin@intel.com>
16563 * testsuite/libgomp.c/target-critical-1.c: New test.
16565 2014-11-26 Jakub Jelinek <jakub@redhat.com>
16567 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
16568 to dg-options unless expensive testing is on.
16569 (TESTITERS): Define to N if not defined.
16570 (main): Use TESTITERS instead of N.
16571 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16572 dg-additional-options depending on whether expensive testing is on.
16573 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16574 Decrease N to 100000 and CHUNKSZ to 10000.
16576 2014-11-24 Jakub Jelinek <jakub@redhat.com>
16579 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16580 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
16582 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
16584 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16586 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16589 * configure: Regenerated.
16591 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
16593 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16594 vect_simd_clones effective target.
16595 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16597 2014-11-14 Jakub Jelinek <jakub@redhat.com>
16599 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16600 of 32 as block_size.
16601 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16602 instead of 32 as block_size.
16604 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16605 Ilya Verbin <ilya.verbin@intel.com>
16607 * Makefile.in: Regenerate.
16608 * configure: Regenerate.
16609 * configure.ac: Set up offload_additional_options,
16610 offload_additional_lib_paths and offload_targets.
16611 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16612 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16613 * testsuite/Makefile.in: Regenerate.
16614 * testsuite/lib/libgomp.exp (libgomp_init): Append
16615 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16616 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16617 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16619 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16620 Ilya Verbin <ilya.verbin@intel.com>
16621 Kirill Yukhin <kirill.yukhin@intel.com>
16622 Ilya Tocar <ilya.tocar@intel.com>
16624 * testsuite/lib/libgomp.exp
16625 (check_effective_target_offload_device): New.
16626 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16627 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16628 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16629 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16630 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16631 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16632 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16633 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16634 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16635 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16636 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16637 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16638 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16639 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16640 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16641 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16642 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16643 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16644 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16645 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16646 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16647 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16648 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16649 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16650 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16651 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16652 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16653 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16654 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16655 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16656 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16657 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16658 * testsuite/libgomp.c/target-7.c: Fix test.
16659 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16660 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16661 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16662 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16663 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16664 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16665 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16666 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16667 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16668 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16669 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16670 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16671 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16672 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16673 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16674 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16675 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16676 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16677 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16678 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16679 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16680 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16681 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16682 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16683 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16684 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16685 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16686 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16687 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16688 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16689 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16691 2014-11-13 Jakub Jelinek <jakub@redhat.com>
16692 Ilya Verbin <ilya.verbin@intel.com>
16693 Thomas Schwinge <thomas@codesourcery.com>
16694 Andrey Turetskiy <andrey.turetskiy@intel.com>
16696 * libgomp.map (GOMP_4.0.1): New symbol version.
16697 Add GOMP_offload_register.
16698 * libgomp_target.h: New file.
16699 * splay-tree.h: New file.
16700 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16701 (gomp_target_init): New forward declaration.
16702 (gomp_is_initialized): New static variable.
16703 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16704 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16706 (offload_images, num_offload_images, devices, num_devices): New static
16708 (splay_compare): New static function.
16709 (struct gomp_device_descr): New structure.
16710 (gomp_get_num_devices): Call gomp_target_init.
16711 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16712 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16713 (GOMP_offload_register): New function.
16714 (GOMP_target): Arrange for host callback to be performed in a separate
16715 initial thread and contention group, inheriting ICVs from
16716 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16717 Add device initialization and lookup for target function in splay tree.
16718 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16719 (GOMP_target_end_data): Call gomp_unmap_vars.
16720 (GOMP_target_update): Add device initialization and call gomp_update.
16721 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16722 (gomp_target_init): New static functions.
16724 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16725 Thomas Schwinge <thomas@codesourcery.com>
16726 Ilya Verbin <ilya.verbin@intel.com>
16727 Andrey Turetskiy <andrey.turetskiy@intel.com>
16729 * config.h.in: Regenerate.
16730 * configure: Regenerate.
16731 * configure.ac: Check for libdl, required for plugin support.
16732 (PLUGIN_SUPPORT): Define if plugins are supported.
16733 (enable_offload_targets): Support Intel MIC targets.
16734 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16736 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16739 * configure: Regenerate.
16741 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16743 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16745 2014-10-06 Marek Polacek <polacek@redhat.com>
16747 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16748 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16749 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16750 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16752 2014-10-06 Marek Polacek <polacek@redhat.com>
16754 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16755 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16756 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16757 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16758 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16759 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16760 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16761 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16762 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16763 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16764 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16765 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16766 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16767 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16768 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16769 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16770 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16771 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16774 2014-10-03 Jakub Jelinek <jakub@redhat.com>
16777 * testsuite/libgomp.c/pr61200.c: New test.
16779 2014-09-18 Jakub Jelinek <jakub@redhat.com>
16782 * testsuite/libgomp.c++/pr63248.C: New test.
16784 2014-08-04 Jakub Jelinek <jakub@redhat.com>
16786 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16787 is not zero, but taskgroup->children is NULL and there are
16788 any task->children, schedule those instead of waiting.
16789 * testsuite/libgomp.c/depend-6.c: New test.
16790 * testsuite/libgomp.c/depend-7.c: New test.
16791 * testsuite/libgomp.c/depend-8.c: New test.
16792 * testsuite/libgomp.c/depend-9.c: New test.
16793 * testsuite/libgomp.c/depend-10.c: New test.
16795 2014-08-01 Jakub Jelinek <jakub@redhat.com>
16797 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16798 (struct gomp_taskwait): New type.
16799 (struct gomp_task): Add taskwait and parent_depends_on, remove
16800 in_taskwait and taskwait_sem fields.
16801 (gomp_finish_task): Don't destroy taskwait_sem.
16802 * task.c (gomp_init_task): Don't init in_taskwait, instead init
16803 taskwait and parent_depends_on.
16804 (GOMP_task): For if (0) tasks with depend clause that depend on
16805 earlier tasks don't defer them, instead call
16806 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16807 Initialize redundant_out field, for redundant out entries just
16808 move them at the end of linked list instead of removing them
16809 completely, and set redundant_out flag instead of redundant.
16810 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16812 (gomp_task_run_post_handle_dependers): If parent is in
16813 gomp_task_maybe_wait_for_dependencies and newly runnable task
16814 is not parent_depends_on, queue it in parent->children linked
16815 list after all runnable tasks with parent_depends_on set.
16816 Adjust for addition of taskwait indirection.
16817 (gomp_task_run_post_remove_parent): If parent is in
16818 gomp_task_maybe_wait_for_dependencies and task to be removed
16819 is parent_depends_on, decrement n_depend and if needed awake
16820 parent. Adjust for addition of taskwait indirection.
16821 (GOMP_taskwait): Adjust for addition of taskwait indirection.
16822 (gomp_task_maybe_wait_for_dependencies): New function.
16823 * testsuite/libgomp.c/depend-5.c: New test.
16825 2014-07-13 Tobias Burnus <burnus@net-b.de>
16827 * testsuite/libgomp.fortran/pr34020.f90: Make compile
16828 with TS 18508/Fortran 2015.
16830 2014-07-06 Marek Polacek <polacek@redhat.com>
16833 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16835 2014-07-03 Jakub Jelinek <jakub@redhat.com>
16837 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16838 matches regex $lang_source_re, add $lang_include_flags to options.
16839 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16840 * testsuite/libgomp.c++/c++.exp: Likewise.
16841 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
16842 and lang_include_flags instead of adding -fintrinsic-modules-path= to
16844 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16846 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
16848 * testsuite/libgomp.fortran/fortran.exp: Explain
16849 gfortran-dg-runtest usage.
16851 2014-06-25 Jakub Jelinek <jakub@redhat.com>
16853 * testsuite/libgomp.fortran/simd5.f90: New test.
16854 * testsuite/libgomp.fortran/simd6.f90: New test.
16855 * testsuite/libgomp.fortran/simd7.f90: New test.
16857 2014-06-24 Jakub Jelinek <jakub@redhat.com>
16859 * testsuite/libgomp.c/for-2.c: Define SC to static for
16860 #pragma omp for simd testing.
16861 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16862 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16864 * testsuite/libgomp.c/simd-14.c: New test.
16865 * testsuite/libgomp.c/simd-15.c: New test.
16866 * testsuite/libgomp.c/simd-16.c: New test.
16867 * testsuite/libgomp.c/simd-17.c: New test.
16868 * testsuite/libgomp.c++/for-10.C: Define SC to static for
16869 #pragma omp for simd testing.
16870 * testsuite/libgomp.c++/simd10.C: New test.
16871 * testsuite/libgomp.c++/simd11.C: New test.
16872 * testsuite/libgomp.c++/simd12.C: New test.
16873 * testsuite/libgomp.c++/simd13.C: New test.
16875 * testsuite/libgomp.fortran/aligned1.f03: New test.
16876 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16877 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16878 tasks with !$omp parallel !$omp single.
16879 * testsuite/libgomp.fortran/target8.f90: New test.
16880 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16881 not to use trim in the combiner, instead call elemental function.
16882 (fn): New elemental function.
16883 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16885 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16887 * testsuite/libgomp.fortran/udr12.f90: New test.
16888 * testsuite/libgomp.fortran/udr13.f90: New test.
16889 * testsuite/libgomp.fortran/udr14.f90: New test.
16890 * testsuite/libgomp.fortran/udr15.f90: New test.
16892 2014-06-18 Jakub Jelinek <jakub@redhat.com>
16894 * omp_lib.f90.in (openmp_version): Set to 201307.
16895 * omp_lib.h.in (openmp_version): Likewise.
16896 * testsuite/libgomp.c/target-8.c: New test.
16897 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16898 and inbranch clauses.
16899 * testsuite/libgomp.fortran/depend-3.f90: New test.
16900 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16902 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16903 * testsuite/libgomp.fortran/target1.f90: New test.
16904 * testsuite/libgomp.fortran/target2.f90: New test.
16905 * testsuite/libgomp.fortran/target3.f90: New test.
16906 * testsuite/libgomp.fortran/target4.f90: New test.
16907 * testsuite/libgomp.fortran/target5.f90: New test.
16908 * testsuite/libgomp.fortran/target6.f90: New test.
16909 * testsuite/libgomp.fortran/target7.f90: New test.
16911 2014-06-10 Jakub Jelinek <jakub@redhat.com>
16914 * testsuite/libgomp.fortran/allocatable9.f90: New test.
16915 * testsuite/libgomp.fortran/allocatable10.f90: New test.
16916 * testsuite/libgomp.fortran/allocatable11.f90: New test.
16917 * testsuite/libgomp.fortran/allocatable12.f90: New test.
16918 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16919 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16920 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16921 * testsuite/libgomp.fortran/associate1.f90: New test.
16922 * testsuite/libgomp.fortran/associate2.f90: New test.
16923 * testsuite/libgomp.fortran/procptr1.f90: New test.
16925 2014-06-06 Jakub Jelinek <jakub@redhat.com>
16927 * testsuite/libgomp.fortran/simd1.f90: New test.
16928 * testsuite/libgomp.fortran/udr1.f90: New test.
16929 * testsuite/libgomp.fortran/udr2.f90: New test.
16930 * testsuite/libgomp.fortran/udr3.f90: New test.
16931 * testsuite/libgomp.fortran/udr4.f90: New test.
16932 * testsuite/libgomp.fortran/udr5.f90: New test.
16933 * testsuite/libgomp.fortran/udr6.f90: New test.
16934 * testsuite/libgomp.fortran/udr7.f90: New test.
16935 * testsuite/libgomp.fortran/udr8.f90: New test.
16936 * testsuite/libgomp.fortran/udr9.f90: New test.
16937 * testsuite/libgomp.fortran/udr10.f90: New test.
16938 * testsuite/libgomp.fortran/udr11.f90: New test.
16940 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
16942 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16943 vect_simd_clones effective target.
16944 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16946 2014-05-21 Jakub Jelinek <jakub@redhat.com>
16948 PR middle-end/61252
16949 * testsuite/libgomp.c++/simd-9.C: New test.
16951 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
16953 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
16954 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
16955 texts according to their @menu entry positions.
16957 2014-05-11 Jakub Jelinek <jakub@redhat.com>
16959 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
16960 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16961 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
16962 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
16963 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
16964 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
16965 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
16966 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
16967 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
16968 * testsuite/libgomp.fortran/depend-1.f90: New test.
16969 * testsuite/libgomp.fortran/depend-2.f90: New test.
16970 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
16971 * testsuite/libgomp.fortran/simd1.f90: New test.
16972 * testsuite/libgomp.fortran/simd2.f90: New test.
16973 * testsuite/libgomp.fortran/simd3.f90: New test.
16974 * testsuite/libgomp.fortran/simd4.f90: New test.
16975 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
16977 2014-05-02 Jakub Jelinek <jakub@redhat.com>
16979 * testsuite/libgomp.c/simd-10.c: New test.
16980 * testsuite/libgomp.c/simd-11.c: New test.
16981 * testsuite/libgomp.c/simd-12.c: New test.
16982 * testsuite/libgomp.c/simd-13.c: New test.
16984 2014-04-24 Jakub Jelinek <jakub@redhat.com>
16986 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
16987 atomic type clauses in any order and optional comma in between.
16988 * testsuite/libgomp.c++/atomic-15.C: Likewise.
16989 * testsuite/libgomp.c/atomic-17.c: Likewise.
16991 * testsuite/libgomp.c/simd-7.c: New test.
16992 * testsuite/libgomp.c/simd-8.c: New test.
16993 * testsuite/libgomp.c/simd-9.c: New test.
16994 * testsuite/libgomp.c/loop-16.c: New test.
16996 2014-04-02 Richard Henderson <rth@redhat.com>
16998 * config/linux/futex.h (futex_wait): Get error value from errno.
16999 (futex_wake): Likewise.
17001 2014-03-25 Jakub Jelinek <jakub@redhat.com>
17004 * testsuite/libgomp.c++/udr-11.C: New test.
17005 * testsuite/libgomp.c++/udr-12.C: New test.
17006 * testsuite/libgomp.c++/udr-13.C: New test.
17007 * testsuite/libgomp.c++/udr-14.C: New test.
17008 * testsuite/libgomp.c++/udr-15.C: New test.
17009 * testsuite/libgomp.c++/udr-16.C: New test.
17010 * testsuite/libgomp.c++/udr-17.C: New test.
17011 * testsuite/libgomp.c++/udr-18.C: New test.
17012 * testsuite/libgomp.c++/udr-19.C: New test.
17014 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17016 Update copyright years
17018 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
17020 * hashtab.h: Use the standard form for the copyright notice.
17022 2014-01-02 Tobias Burnus <burnus@net-b.de>
17024 * libgomp.texi: Bump @copying's copyright year.
17026 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
17028 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
17029 alloca () with __builtin_alloca ().
17030 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
17031 * testsuite/libgomp.c/lock-3.c: Likewise.
17032 * testsuite/libgomp.c/pr48591.c: Likewise.
17034 2013-12-17 Jakub Jelinek <jakub@redhat.com>
17037 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
17040 2013-12-16 Jakub Jelinek <jakub@redhat.com>
17043 * testsuite/libgomp.c/pr58756.c: New test.
17045 2013-12-12 Jakub Jelinek <jakub@redhat.com>
17048 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17051 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
17053 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17055 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17056 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17057 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17058 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17061 * libgomp_g.h: Include <stddef.h> for size_t.
17063 * libgomp.spec.in: Update comment about libgomp's dependencies.
17064 * configure.ac: Likewise.
17065 * configure: Regenerate.
17067 2013-10-16 Tobias Burnus <burnus@net-b.de>
17069 * libgomp.texi: (Runtime Library Routines): Update references for
17070 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17071 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17072 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17073 (Environment Variables): Update references for OpenMP 4.0. Add
17074 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17075 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17078 2013-10-14 Jakub Jelinek <jakub@redhat.com>
17080 * env.c (parse_bind_var): Initialize value to avoid
17081 (false positive) warning.
17083 2013-10-12 Jakub Jelinek <jakub@redhat.com>
17086 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17088 (gomp_init_num_threads): Move i variable declaration into
17089 #ifdef CPU_ALLOC_SIZE block.
17090 * config/linux/affinity.c (gomp_affinity_init_level): Test
17091 gomp_places_list_len == 0 rather than gomp_places_list == 0
17092 when checking for topology reading error.
17093 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17094 * env.c (parse_affinity): Add ignore argument, if true, don't populate
17095 gomp_places_list, only parse env var and always return false.
17096 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
17097 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17098 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17099 and either of these variables were parsed correctly into a places
17102 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17103 Jakub Jelinek <jakub@redhat.com>
17105 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17106 of 5 loopfn matches.
17107 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17108 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17109 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17110 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17111 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17112 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17113 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17114 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17116 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17118 * Makefile.am (omp_lib.mod): Streamline rule.
17119 * Makefile.in: Regenerate.
17121 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17124 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17125 * testsuite/libgomp.fortran/lib1.f90: Likewise.
17126 * testsuite/libgomp.fortran/lib2.f: Likewise.
17127 * testsuite/libgomp.fortran/lib3.f: Likewise.
17129 * configure.ac: Typo fix.
17130 * configure: Regenerate.
17132 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17133 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17135 * omp.h.in: Don't touch the user's namespace.
17137 2013-10-11 Jakub Jelinek <jakub@redhat.com>
17138 Tobias Burnus <burnus@net-b.de>
17139 Richard Henderson <rth@redhat.com>
17141 * target.c: New file.
17142 * Makefile.am (libgomp_la_SOURCES): Add target.c.
17143 * Makefile.in: Regenerated.
17144 * libgomp_g.h (GOMP_task): Add depend argument.
17145 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17146 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17147 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17148 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17149 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17150 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17151 GOMP_taskgroup_start, GOMP_taskgroup_end,
17152 GOMP_parallel_sections): New prototypes.
17153 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17154 (omp_is_initial_device_): New function.
17155 (ULP, STR1, STR2, ialias_redirect): Removed.
17156 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17157 omp_set_default_device_8_, omp_get_default_device_,
17158 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17160 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17161 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17162 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17164 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17165 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17166 omp_set_default_device, omp_set_default_device_,
17167 omp_set_default_device_8_, omp_get_default_device,
17168 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17169 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17170 omp_get_team_num_): Export @@OMP_4.0.
17171 * team.c (struct gomp_thread_start_data): Add place field.
17172 (gomp_thread_start): Clear thr->thread_pool and
17173 thr->task before returning. Use gomp_team_barrier_wait_final
17174 instead of gomp_team_barrier_wait. Initialize thr->place.
17175 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17176 team_cancelled and task_queued_count fields.
17177 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17178 before calling pthread_exit.
17179 (gomp_free_thread): No longer static. Use
17180 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17181 (gomp_team_start): Add flags argument. Set
17182 thr->thread_pool->threads_busy to nthreads immediately after creating
17183 new pool. Use gomp_managed_threads_lock instead of
17184 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17185 (gomp_team_end): Use gomp_managed_threads_lock instead of
17186 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17187 of gomp_team_barrier_wait. If team->team_cancelled, call
17188 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
17189 rather than thr->ts.work_share.
17190 (initialize_team): Don't call gomp_sem_init here.
17191 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17193 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17194 * env.c (gomp_global_icv): Add default_device_var, target_data and
17195 bind_var initializers.
17196 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17197 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17198 gomp_places_list_len): New variables.
17199 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17200 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17202 (gomp_cancel_var): New global variable.
17203 (parse_int): New function.
17204 (handle_omp_display_env): New function.
17205 (initialize_env): Use it. Initialize default_device_var.
17206 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17207 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17208 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17209 been successfully parsed (and call gomp_init_affinity in that case).
17210 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17211 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17212 omp_get_team_num, omp_is_initial_device): New functions.
17213 * libgomp.h: Include stdlib.h.
17214 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17216 (struct target_mem_desc): Forward declare.
17217 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17218 and thread_limit_var fields.
17219 (gomp_get_num_devices): New prototype.
17220 (gomp_cancel_var): New extern decl.
17221 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17222 team_cancelled and task_queued_count fields. Add comments about
17223 task_{,queued_,running_}count.
17224 (gomp_cancel_kind): New enum.
17225 (gomp_work_share_end_cancel): New prototype.
17226 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17227 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17229 (struct gomp_taskgroup): New type.
17230 (struct gomp_task_depend_entry,
17231 struct gomp_dependers_vec): New types.
17232 (gomp_finish_task): Free depend_hash if non-NULL.
17233 (struct gomp_team_state): Add place_partition_off
17234 and place_partition_len fields.
17235 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17236 gomp_places_list_len): New extern decls.
17237 (struct gomp_thread): Add place field.
17238 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17239 (gomp_init_thread_affinity): Add place argument.
17240 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17241 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17242 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17243 gomp_affinity_init_level, gomp_affinity_print_place): New
17245 (gomp_team_start): Add flags argument.
17246 (gomp_thread_limit_var, gomp_remaining_threads_count,
17247 gomp_remaining_threads_lock): Remove.
17248 (gomp_managed_threads_lock): New variable.
17249 (struct gomp_thread_pool): Add threads_busy field.
17250 (gomp_free_thread): New prototype.
17251 * task.c: Include hashtab.h.
17252 (hash_entry_type): New typedef.
17253 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17254 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17255 copy_ctors_done and taskgroup fields.
17256 (GOMP_task): Add depend argument, handle depend clauses. If
17257 gomp_team_barrier_cancelled or if it's taskgroup has been
17258 cancelled, don't queue or start new tasks. Set copy_ctors_done
17259 field if needed. Initialize taskgroup field. If copy_ctors_done
17260 and already cancelled, don't discard the task. If taskgroup is
17261 non-NULL, enqueue the task into taskgroup queue. Increment
17262 num_children field in taskgroup. Increment task_queued_count.
17263 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17264 gomp_task_run_post_remove_taskgroup): New inline functions.
17265 (gomp_task_run_post_handle_depend_hash,
17266 gomp_task_run_post_handle_dependers,
17267 gomp_task_run_post_handle_depend): New functions.
17268 (GOMP_taskwait): Use them. If more than one new tasks
17269 have been queued, wake other threads if needed.
17270 (gomp_barrier_handle_tasks): Likewise. If
17271 gomp_team_barrier_cancelled, don't start any new tasks, just free
17273 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17275 (omp_proc_bind_kind, omp_proc_bind_false,
17276 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17277 omp_proc_bind_spread): New params.
17278 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17279 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17280 omp_get_team_num, omp_is_initial_device): New interfaces.
17281 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17282 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17283 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17284 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17285 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17286 useless use omp_lib_kinds.
17287 * omp.h.in (omp_proc_bind_t): New typedef.
17288 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17289 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17290 omp_get_team_num, omp_is_initial_device): New prototypes.
17291 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17292 through to gomp_team_start.
17293 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17294 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17295 Adjust gomp_parallel_loop_start callers.
17296 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17297 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17298 GOMP_loop_end_cancel): New functions.
17299 (GOMP_parallel_end): Add ialias_redirect.
17300 * hashtab.h: New file.
17301 * libgomp.texi (Environment Variables): Minor cleanup,
17302 update section refs to OpenMP 4.0rc2.
17303 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17304 environment variables.
17305 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17306 team->work_shares_to_free to thr->ts.work_share before calling
17308 (gomp_work_share_end_cancel): New function.
17309 * config/linux/proc.c: Include errno.h.
17310 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17311 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17312 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17313 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17314 gomp_cpuset_size is sizeof (cpu_set_t).
17315 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17316 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17317 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17318 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17319 contain any logical CPUs.
17320 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17321 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17322 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17323 pthread_getaffinity_np. Check gomp_places_list instead of
17324 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17325 * config/linux/bar.c (gomp_barrier_wait_end,
17326 gomp_barrier_wait_last): Use BAR_* defines.
17327 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17328 from state where needed. Set work_share_cancelled to 0 on last
17330 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17331 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17333 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17334 Add cpusetsize argument.
17335 (gomp_cpuset_size, gomp_cpusetp): Declare.
17336 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17337 (affinity_counter): Remove.
17338 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17339 if CPU_ALLOC_SIZE isn't defined.
17340 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17341 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17342 bind current thread to the first place.
17343 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17344 pthread_setaffinity_np to gomp_places_list[place].
17345 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17346 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17347 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17348 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17349 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17350 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17351 (gomp_barrier_t): Add awaited_final field.
17352 (gomp_barrier_init): Initialize awaited_final field.
17353 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17354 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17356 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17358 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17359 gomp_team_barrier_cancelled): New inline functions.
17360 (gomp_barrier_last_thread,
17361 gomp_team_barrier_set_task_pending,
17362 gomp_team_barrier_clear_task_pending,
17363 gomp_team_barrier_set_waiting_for_tasks,
17364 gomp_team_barrier_waiting_for_tasks,
17365 gomp_team_barrier_done): Use BAR_* defines.
17366 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17367 (gomp_barrier_wait_end): Use BAR_* defines.
17368 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17369 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17371 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17372 gomp_team_barrier_cancel): New functions.
17373 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17375 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17376 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17377 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17378 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17379 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17380 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17381 (gomp_barrier_t): Add cancellable field.
17382 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17383 gomp_team_barrier_cancel): New prototypes.
17384 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17385 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17386 gomp_team_barrier_cancelled): New inline functions.
17387 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17388 gomp_team_barrier_set_task_pending,
17389 gomp_team_barrier_clear_task_pending,
17390 gomp_team_barrier_set_waiting_for_tasks,
17391 gomp_team_barrier_waiting_for_tasks,
17392 gomp_team_barrier_done): Use BAR_* defines.
17393 * barrier.c (GOMP_barrier_cancel): New function.
17394 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17395 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17396 omp_proc_bind_spread): New params.
17397 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17398 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17399 omp_get_team_num, omp_is_initial_device): New externals.
17400 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17402 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17403 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17404 infinity. If not nested, just return minimum of max_num_threads
17405 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17406 to the returned value. Otherwise, don't update atomically
17407 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17408 (GOMP_parallel_end): Adjust for thread_limit now being in
17409 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17410 infinity. Adjust threads_busy in the pool rather than
17411 gomp_remaining_threads_count. Remember team->nthreads and call
17412 gomp_team_end before adjusting threads_busy, if not nested
17413 afterwards, just set it to 1 non-atomically. Add ialias.
17414 (GOMP_parallel_start): Adjust gomp_team_start caller.
17415 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17416 * testsuite/libgomp.c/affinity-1.c: New test.
17417 * testsuite/libgomp.c/atomic-15.c: New test.
17418 * testsuite/libgomp.c/atomic-16.c: New test.
17419 * testsuite/libgomp.c/atomic-17.c: New test.
17420 * testsuite/libgomp.c/cancel-for-1.c: New test.
17421 * testsuite/libgomp.c/cancel-for-2.c: New test.
17422 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17423 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17424 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17425 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17426 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17427 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17428 * testsuite/libgomp.c/depend-1.c: New test.
17429 * testsuite/libgomp.c/depend-2.c: New test.
17430 * testsuite/libgomp.c/depend-3.c: New test.
17431 * testsuite/libgomp.c/depend-4.c: New test.
17432 * testsuite/libgomp.c/for-1.c: New test.
17433 * testsuite/libgomp.c/for-1.h: New file.
17434 * testsuite/libgomp.c/for-2.c: New test.
17435 * testsuite/libgomp.c/for-2.h: New file.
17436 * testsuite/libgomp.c/for-3.c: New test.
17437 * testsuite/libgomp.c/pr58392.c: New test.
17438 * testsuite/libgomp.c/simd-1.c: New test.
17439 * testsuite/libgomp.c/simd-2.c: New test.
17440 * testsuite/libgomp.c/simd-3.c: New test.
17441 * testsuite/libgomp.c/simd-4.c: New test.
17442 * testsuite/libgomp.c/simd-5.c: New test.
17443 * testsuite/libgomp.c/simd-6.c: New test.
17444 * testsuite/libgomp.c/target-1.c: New test.
17445 * testsuite/libgomp.c/target-2.c: New test.
17446 * testsuite/libgomp.c/target-3.c: New test.
17447 * testsuite/libgomp.c/target-4.c: New test.
17448 * testsuite/libgomp.c/target-5.c: New test.
17449 * testsuite/libgomp.c/target-6.c: New test.
17450 * testsuite/libgomp.c/target-7.c: New test.
17451 * testsuite/libgomp.c/taskgroup-1.c: New test.
17452 * testsuite/libgomp.c/thread-limit-1.c: New test.
17453 * testsuite/libgomp.c/thread-limit-2.c: New test.
17454 * testsuite/libgomp.c/thread-limit-3.c: New test.
17455 * testsuite/libgomp.c/udr-1.c: New test.
17456 * testsuite/libgomp.c/udr-2.c: New test.
17457 * testsuite/libgomp.c/udr-3.c: New test.
17458 * testsuite/libgomp.c++/affinity-1.C: New test.
17459 * testsuite/libgomp.c++/atomic-10.C: New test.
17460 * testsuite/libgomp.c++/atomic-11.C: New test.
17461 * testsuite/libgomp.c++/atomic-12.C: New test.
17462 * testsuite/libgomp.c++/atomic-13.C: New test.
17463 * testsuite/libgomp.c++/atomic-14.C: New test.
17464 * testsuite/libgomp.c++/atomic-15.C: New test.
17465 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17466 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17467 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17468 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17469 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17470 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17471 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17472 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17473 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17474 * testsuite/libgomp.c++/cancel-test.h: New file.
17475 * testsuite/libgomp.c++/for-9.C: New test.
17476 * testsuite/libgomp.c++/for-10.C: New test.
17477 * testsuite/libgomp.c++/for-11.C: New test.
17478 * testsuite/libgomp.c++/simd-1.C: New test.
17479 * testsuite/libgomp.c++/simd-2.C: New test.
17480 * testsuite/libgomp.c++/simd-3.C: New test.
17481 * testsuite/libgomp.c++/simd-4.C: New test.
17482 * testsuite/libgomp.c++/simd-5.C: New test.
17483 * testsuite/libgomp.c++/simd-6.C: New test.
17484 * testsuite/libgomp.c++/simd-7.C: New test.
17485 * testsuite/libgomp.c++/simd-8.C: New test.
17486 * testsuite/libgomp.c++/target-1.C: New test.
17487 * testsuite/libgomp.c++/target-2.C: New test.
17488 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17489 * testsuite/libgomp.c++/target-3.C: New test.
17490 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17491 * testsuite/libgomp.c++/udr-1.C: New test.
17492 * testsuite/libgomp.c++/udr-2.C: New test.
17493 * testsuite/libgomp.c++/udr-3.C: New test.
17494 * testsuite/libgomp.c++/udr-4.C: New test.
17495 * testsuite/libgomp.c++/udr-5.C: New test.
17496 * testsuite/libgomp.c++/udr-6.C: New test.
17497 * testsuite/libgomp.c++/udr-7.C: New test.
17498 * testsuite/libgomp.c++/udr-8.C: New test.
17499 * testsuite/libgomp.c++/udr-9.C: New test.
17501 2013-09-20 Jakub Jelinek <jakub@redhat.com>
17504 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17507 2013-09-20 Alan Modra <amodra@gmail.com>
17509 * configure: Regenerate.
17511 2013-09-19 Jakub Jelinek <jakub@redhat.com>
17513 * testsuite/libgomp.c/sections-2.c: New test.
17515 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17517 * testsuite/libgomp.fortran/strassen.f90:
17518 Add dg-skip-if aarch64_tiny.
17520 2013-06-20 Iain Sandoe <iain@codesourcery.com>
17521 Cesar Philippidis <cesar@codesourcery.com>
17523 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17524 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17525 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17526 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17527 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17528 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17529 Use dg-runtest rather than gfortran-dg-runtest.
17531 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17533 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17534 Linux-based x86 systems to cover all GNU systems.
17535 * testsuite/libgomp.c/lock-3.c: Likewise.
17536 * testsuite/libgomp.c/pr48591.c: Likewise.
17538 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17540 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17541 GNU/Hurd, as done for Linux-based systems.
17543 * config/posix/ptrlock.h: Fix comment.
17545 2013-05-27 Tobias Burnus <burnus@net-b.de>
17548 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17549 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17550 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17551 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17552 omp_destroy_nest_lock): Correct arguments to match the one in
17554 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17555 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17556 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17557 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17559 2013-05-16 Jakub Jelinek <jakub@redhat.com>
17561 * testsuite/libgomp.c/loop-13.c: New test.
17562 * testsuite/libgomp.c/loop-14.c: New test.
17563 * testsuite/libgomp.c/loop-15.c: New test.
17564 * testsuite/libgomp.c++/loop-13.C: New test.
17565 * testsuite/libgomp.c++/loop-14.C: New test.
17566 * testsuite/libgomp.c++/loop-15.C: New test.
17568 2013-02-06 Jakub Jelinek <jakub@redhat.com>
17570 PR middle-end/56217
17571 * testsuite/libgomp.c++/pr56217.C: New test.
17573 2013-02-01 Alan Modra <amodra@gmail.com>
17575 * task.c (GOMP_task, GOMP_taskwait): Comment.
17577 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17578 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17581 * config/linux/wait.h (do_spin): Use atomic load for addr.
17582 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17583 for intptr and ptrlock.
17584 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17587 2013-01-22 Alan Modra <amodra@gmail.com>
17591 * task.c (GOMP_task): Revert 2011-12-09 change.
17592 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17593 barrier to read task->children..
17594 (gomp_barrier_handle_tasks): ..and matching atomic store with
17595 release barrier here when setting parent->children to NULL.
17597 2013-01-16 Jakub Jelinek <jakub@redhat.com>
17598 Tobias Burnus <burnus@net-b.de>
17601 * testsuite/libgomp.fortran/fortran.exp: Use
17602 -fintrinsic-modules-path= instead of
17603 -fintrinsic-modules-path.
17605 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17607 Update copyright years.
17609 2012-12-19 Tobias Burnus <burnus@net-b.de>
17611 * testsuite/libgomp.fortran/fortran.exp: Set
17612 -fintrinsic-modules-path.
17614 2012-12-19 Tobias Burnus <burnus@net-b.de>
17616 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17617 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17619 2012-11-21 Jakub Jelinek <jakub@redhat.com>
17622 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17623 if pool had any threads_used.
17625 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17627 * testsuite/libgomp.c++/pr24455.C: Use
17628 -Wl,-undefined,dynamic_lookup on darwin.
17630 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
17632 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17634 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17636 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17638 2012-10-23 Ian Bolton <ian.bolton@arm.com>
17639 Jim MacArthur <jim.macarthur@arm.com>
17640 Marcus Shawcroft <marcus.shawcroft@arm.com>
17641 Nigel Stephens <nigel.stephens@arm.com>
17642 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17643 Richard Earnshaw <rearnsha@arm.com>
17644 Sofiane Naci <sofiane.naci@arm.com>
17645 Stephen Thomas <stephen.thomas@arm.com>
17646 Tejas Belagod <tejas.belagod@arm.com>
17647 Yufeng Zhang <yufeng.zhang@arm.com>
17649 * configure.tgt: Add AArch64.
17651 2012-10-04 Jason Merrill <jason@redhat.com>
17653 * testsuite/libgomp.c++/tls-init1.C: New.
17655 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
17657 * configure: Regenerated.
17659 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17661 * config/linux/mips/futex.h (sys_futex0): Change to static
17662 function with noinline, nomips16 attributes under MIPS16. Adjust
17663 asm statement to place 'li v0,SYS_futex' immediately before
17666 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17668 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17669 conflict with index.html on case-insensitive file systems.
17671 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
17673 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17674 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17676 2012-07-02 Richard Guenther <rguenther@suse.de>
17677 Michael Matz <matz@suse.de>
17678 Tobias Grosser <tobias@grosser.es>
17679 Sebastian Pop <sebpop@gmail.com>
17681 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17682 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17683 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17684 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17686 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17688 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17690 2012-06-22 Richard Guenther <rguenther@suse.de>
17692 Merge from graphite branch
17693 2012-01-13 Tobias Grosser <tobias@grosser.es>
17695 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17696 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17698 2012-06-07 Jakub Jelinek <jakub@redhat.com>
17700 PR middle-end/53580
17701 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17702 use GOMP_barrier () call instead.
17703 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17704 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17705 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17706 call GOMP_barrier instead.
17707 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17709 2012-06-06 Jakub Jelinek <jakub@redhat.com>
17712 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17713 argument to memset call.
17715 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17717 * configure: Regenerated.
17719 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17721 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17723 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17726 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17728 2012-03-22 Jakub Jelinek <jakub@redhat.com>
17730 PR middle-end/52547
17731 * testsuite/libgomp.c/pr52547.c: New test.
17733 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17735 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17737 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17739 * configure.tgt (mips-sgi-irix6*): Remove.
17741 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17743 * configure.tgt (alpha*-dec-osf*): Remove.
17745 * config/osf/sem.h: Remove.
17746 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17748 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17750 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17752 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17755 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17756 Remove ENABLE_SYMVERS_SOL2.
17757 * configure: Regenerate.
17758 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17759 (PREPROCESS): New variable.
17760 (libgomp.ver): New target.
17761 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17762 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17763 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17765 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17766 * Makefile.in: Regenerate.
17768 2012-02-14 Walter Lee <walt@tilera.com>
17770 * configure.tgt: Handle tilegx and tilepro.
17771 * config/linux/tile/futex.h: New file.
17773 2012-02-08 Richard Guenther <rguenther@suse.de>
17775 PR tree-optimization/46886
17776 * testsuite/libgomp.c/pr46886.c: New testcase.
17778 2012-01-25 Matthias Klose <doko@ubuntu.com>
17780 * config/linux/arm: Remove empty directory.
17781 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17783 2011-12-09 Alan Modra <amodra@gmail.com>
17786 * task.c (GOMP_taskwait): Don't access task->children outside of
17787 task_lock mutex region.
17788 (GOMP_task): Likewise.
17790 2011-12-06 Jakub Jelinek <jakub@redhat.com>
17793 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17795 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17796 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17797 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17798 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17799 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17801 2011-12-02 Alan Modra <amodra@gmail.com>
17803 * config/linux/affinity.c: Use atomic rather than sync builtin.
17804 * config/linux/lock.c: Likewise.
17805 * config/linux/ptrlock.h: Likewise.
17806 * config/linux/ptrlock.c: Likewise.
17807 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17808 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17809 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17810 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17811 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17812 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17813 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17814 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17815 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17816 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17818 2011-11-30 Alan Modra <amodra@gmail.com>
17821 * config/linux/bar.h: Use atomic rather than sync builtins.
17822 * config/linux/bar.c: Likewise. Add missing acquire
17823 synchronisation on generation field.
17824 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17827 2011-11-30 Alan Modra <amodra@gmail.com>
17829 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17830 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17831 * config/linux/mutex.h: Use atomic rather than sync builtins.
17832 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
17833 * config/linux/omp-lock.h: Comment fix.
17834 * config/linux/arm/mutex.h: Delete.
17835 * config/linux/powerpc/mutex.h: Delete.
17836 * config/linux/ia64/mutex.h: Delete.
17837 * config/linux/mips/mutex.h: Delete.
17839 2011-11-30 Alan Modra <amodra@gmail.com>
17842 * config/linux/sem.h: Rewrite.
17843 * config/linux/sem.c: Rewrite.
17845 2011-11-28 Richard Henderson <rth@redhat.com>
17847 * libgomp.h (enum memmodel): New.
17849 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
17851 * configure: Regenerate.
17853 2011-10-10 Matthias Klose <doko@ubuntu.com>
17855 * config/posix95: Remove empty directory.
17857 2011-08-26 Jakub Jelinek <jakub@redhat.com>
17859 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17861 2011-08-19 Jakub Jelinek <jakub@redhat.com>
17864 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17865 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17867 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17869 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17871 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17874 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17876 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
17878 * config/linux/proc.h: New.
17879 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
17880 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
17881 (gomp_init_num_threads): Update call to cpuset_popcount.
17882 (get_num_procs): Ditto.
17883 * config/linux/affinity.c (gomp_init_affinity): Call
17884 gomp_cpuset_popcount.
17886 2011-08-02 Jakub Jelinek <jakub@redhat.com>
17890 * omp.h.in (omp_in_final): New prototype.
17891 * omp_lib.f90.in (omp_in_final): New interface.
17892 (omp_integer_kind, omp_logical_kind): Remove
17893 and replace all its uses in the module with 4.
17894 (openmp_version): Change to 201107.
17895 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17896 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17897 kind for the parameters.
17898 (omp_in_final): New external.
17899 (openmp_version): Change to 201107.
17900 * task.c (omp_in_final): New function.
17901 (gomp_init_task): Initialize final_task.
17902 (GOMP_task): Remove unused attribute from flags. Handle final
17904 (GOMP_taskyield): New function.
17905 (omp_in_final): Return true if if (false) or final (true) task
17906 or descendant of final (true).
17907 * fortran.c (omp_in_final_): New function.
17908 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17909 (GOMP_3.0): Export GOMP_taskyield.
17910 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17912 (parse_unsigned_long_list): New function.
17913 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
17914 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
17915 even if parse_affinity returned false.
17916 * config/linux/affinity.c (gomp_init_affinity): Handle
17917 gomp_cpu_affinity_len == 0.
17918 * libgomp_g.h (GOMP_taskyield): New prototype.
17919 * libgomp.h (struct gomp_task): Add final_task field.
17920 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17921 * team.c (gomp_team_start): Override new task's nthreads_var icv
17922 if list form OMP_NUM_THREADS has been used and it has value for
17923 the new nesting level.
17925 * testsuite/libgomp.c/atomic-11.c: New test.
17926 * testsuite/libgomp.c/atomic-12.c: New test.
17927 * testsuite/libgomp.c/atomic-13.c: New test.
17928 * testsuite/libgomp.c/atomic-14.c: New test.
17929 * testsuite/libgomp.c/reduction-6.c: New test.
17930 * testsuite/libgomp.c/task-5.c: New test.
17931 * testsuite/libgomp.c++/atomic-2.C: New test.
17932 * testsuite/libgomp.c++/atomic-3.C: New test.
17933 * testsuite/libgomp.c++/atomic-4.C: New test.
17934 * testsuite/libgomp.c++/atomic-5.C: New test.
17935 * testsuite/libgomp.c++/atomic-6.C: New test.
17936 * testsuite/libgomp.c++/atomic-7.C: New test.
17937 * testsuite/libgomp.c++/atomic-8.C: New test.
17938 * testsuite/libgomp.c++/atomic-9.C: New test.
17939 * testsuite/libgomp.c++/task-8.C: New test.
17940 * testsuite/libgomp.c++/reduction-4.C: New test.
17941 * testsuite/libgomp.fortran/allocatable7.f90: New test.
17942 * testsuite/libgomp.fortran/allocatable8.f90: New test.
17943 * testsuite/libgomp.fortran/crayptr3.f90: New test.
17944 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17945 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17946 * testsuite/libgomp.fortran/pointer1.f90: New test.
17947 * testsuite/libgomp.fortran/pointer2.f90: New test.
17948 * testsuite/libgomp.fortran/task4.f90: New test.
17950 2011-08-02 Tobias Burnus <burnus@net-b.de>
17952 * libgomp.texi: Update OpenMP spec references to 3.1.
17953 (omp_in_final,OMP_PROC_BIND): New sections.
17954 (OMP_NUM_THREADS): Document that the value can be now a list.
17955 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
17957 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
17959 * config/linux/x86/futex.h: Check __x86_64__ instead of
17962 2011-07-29 Jakub Jelinek <jakub@redhat.com>
17964 PR middle-end/49897
17965 PR middle-end/49898
17966 * testsuite/libgomp.c/pr49897-1.c: New test.
17967 * testsuite/libgomp.c/pr49897-2.c: New test.
17968 * testsuite/libgomp.c/pr49898-1.c: New test.
17969 * testsuite/libgomp.c/pr49898-2.c: New test.
17971 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
17973 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
17974 for ia32 instead of ilp32.
17976 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
17977 * testsuite/libgomp.c/atomic-6.c: Likewise.
17979 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
17981 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
17982 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
17984 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17987 * config/osf/sem.h: New file.
17988 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
17990 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17993 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
17996 2011-07-15 Jakub Jelinek <jakub@redhat.com>
17998 * config/linux/wait.h (do_spin): New inline, largely copied
17999 from do_wait, just don't do futex_wait here, instead return true if
18001 (do_wait): Implement using do_spin.
18002 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
18004 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18005 __sync_bool_compare_and_swap, pass the oldval to
18006 gomp_mutex_lock_slow.
18007 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
18008 If all mutex contenders are just spinning and not sleeping, don't
18009 change state to 2 unnecessarily. Optimize the loop when state has
18010 already become 2 to use just one atomic operation per loop instead
18012 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
18014 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
18015 __sync_bool_compare_and_swap, pass the oldval to
18016 gomp_mutex_lock_slow.
18018 2011-06-22 Jakub Jelinek <jakub@redhat.com>
18021 * iter.c (gomp_iter_static_next): For chunk size 0
18022 only use n ceil/ nthreads size for the first
18023 n % nthreads threads in the team instead of
18024 all threads except for the last few ones which
18025 get less work or none at all.
18026 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
18027 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
18028 chunk argument, set run_sched_modifier to 0 for static
18029 resp. 1 for other kinds. If chunk argument is 0
18030 and not static, set value to 1.
18032 2011-05-19 Jakub Jelinek <jakub@redhat.com>
18035 * testsuite/libgomp.c++/pr49043.C: New test.
18038 * testsuite/libgomp.c++/pr48869.C: New test.
18040 2011-05-06 Jakub Jelinek <jakub@redhat.com>
18043 * fortran.c: Include limits.h.
18045 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
18047 (omp_set_num_threads_8_, omp_set_schedule_8_,
18048 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18049 omp_get_team_size_8_): Use TO_INT macro.
18050 * testsuite/libgomp.fortran/pr48894.f90: New test.
18052 2011-04-13 Jakub Jelinek <jakub@redhat.com>
18054 PR middle-end/48591
18055 * testsuite/libgomp.c/pr48591.c: New test.
18057 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18060 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18061 * configure: Regenerate.
18063 2011-02-27 Jakub Jelinek <jakub@redhat.com>
18066 * testsuite/libgomp.fortran/task3.f90: New test.
18068 2011-02-24 Tobias Burnus <burnus@net-b.de>
18070 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18072 2011-02-23 Jakub Jelinek <jakub@redhat.com>
18075 * libgomp.texi (omp_get_wtime): Don't say time in the past
18076 must be Unix Epoch.
18078 2011-02-18 Jakub Jelinek <jakub@redhat.com>
18081 * testsuite/libgomp.fortran/fortran.exp: Check for both
18082 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
18083 but $blddir != "", still append ${blddir}/${lang_library_path}
18084 to ld_library_path.
18086 2011-02-16 Tobias Burnus <burnus@net-b.de>
18089 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18090 of libquadmath.a before adding its libpath to ldflags.
18092 2011-02-14 Jakub Jelinek <jakub@redhat.com>
18095 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18096 to FUTEX_WAIT futex syscall.
18097 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18099 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18101 * configure: Regenerate.
18103 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
18106 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18108 2011-01-16 Gerald Pfeifer
18110 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18112 2010-12-14 Jakub Jelinek <jakub@redhat.com>
18115 * libgomp.fortran/allocatable6.f90: New test.
18117 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18119 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18120 * configure: Regenerate.
18122 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
18126 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18127 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18128 * aclocal.m4: Regenerate.
18129 * configure: Regenerate.
18130 * Makefile.in: Regenerate.
18131 * testsuite/Makefile.in: Regenerate.
18133 2010-12-02 Jakub Jelinek <jakub@redhat.com>
18136 * libgomp.fortran/pr46753.f90: New test.
18139 * env.c (initialize_env): Default to spin count 300000
18140 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18144 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18145 at the end if sync builtins aren't supported.
18147 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18149 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18151 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18153 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18155 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18157 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18159 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18160 Tobias Burnus <burnus@net-b.de>
18164 * configure: Regenerate.
18166 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18168 * config/linux/futex.h: New.
18169 * config/linux/arm/mutex.h: New.
18170 * configure.tgt (arm*-*-linux*): Add config path.
18172 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18174 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18176 2010-09-23 Tobias Burnus <burnus@net-b.de>
18178 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18179 Change Fortran datatype to LOGICAL.
18180 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18181 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18183 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18185 * configure: Regenerate.
18187 2010-07-26 Jakub Jelinek <jakub@redhat.com>
18189 * libgomp.texi: Add function keyword to a couple of Fortran
18190 interfaces, use integer instead of int for Fortran.
18192 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
18194 * libgomp.texi: Fix spelling and pasto problems throughout.
18195 Adjust prototypes to match code.
18197 2010-07-24 Tobias Burnus <burnus@net-b.de>
18199 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18200 silence -fwhole-file warning.
18202 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18204 * configure.tgt (*-*-solaris2.[56]*): Removed.
18206 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18208 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18209 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18210 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18211 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18212 targetting solaris2*.
18213 * configure: Regenerate.
18214 * config.h.in: Regenerate.
18216 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18217 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18218 Add libgomp_version_dep.
18219 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18221 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18222 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18223 * Makefile.in: Regenerate.
18225 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18226 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18227 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18228 to common block, protected by
18229 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18231 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18233 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18235 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18238 * configure: Regenerate.
18240 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18243 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18244 * configure: Regenerate.
18245 * Makefile.in: Regenerate.
18246 * testsuite/Makefile.in: Regenerate.
18248 2010-04-26 Jakub Jelinek <jakub@redhat.com>
18251 * testsuite/libgomp.c/pr43893.c: New test.
18252 * testsuite/libgomp.c++/pr43893.C: New test.
18254 2010-04-21 Jakub Jelinek <jakub@redhat.com>
18256 PR middle-end/43570
18257 * testsuite/libgomp.fortran/vla8.f90: New test.
18259 2010-04-20 Jakub Jelinek <jakub@redhat.com>
18262 * config/linux/affinity.c (gomp_init_affinity): Decrease
18263 gomp_available_cpus if affinity mask confines the process to fewer
18265 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18266 non-NULL, just return gomp_available_cpus.
18269 * sections.c (gomp_sections_init): Initialize ws->mode.
18271 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
18273 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18274 not unused bar variable.
18275 * configure: Regenerate.
18277 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18279 * Makefile.in: Regenerate.
18280 * aclocal.m4: Regenerate.
18281 * testsuite/Makefile.in: Regenerate.
18283 2010-03-22 Jakub Jelinek <jakub@redhat.com>
18286 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18287 (initialize_env): Adjust callers.
18288 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18289 when the argument is 0.
18291 * testsuite/libgomp.c/pr42942.c: New test.
18293 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18295 PR middle-end/42644
18296 PR middle-end/42130
18297 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18298 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18300 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18302 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18303 * testsuite/libgomp.c++/task-6.C: Likewise.
18305 2010-01-28 Steve Ellcey <sje@cup.hp.com>
18307 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18309 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
18311 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18312 * configure: Regenerate.
18314 2010-01-26 Jakub Jelinek <jakub@redhat.com>
18317 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18319 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
18321 * configure.ac: Test for executability of GFORTRAN.
18322 * configure: Regenerate.
18324 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18326 * configure: Regenerate.
18328 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18331 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18333 2010-01-03 Richard Guenther <rguenther@suse.de>
18335 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18337 2009-12-23 Sebastian Pop <sebpop@gmail.com>
18339 * testsuite/libgomp.graphite/pr4118.c: New.
18341 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18343 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18344 for darwin, protect the test with require-effective-target tls_runtime.
18345 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18347 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18350 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18351 link spec %s substitutions for static libraries.
18353 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18356 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18358 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18360 * Makefile.in: Regenerate.
18361 * configure: Regenerate.
18362 * testsuite/Makefile.in: Regenerate.
18364 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18366 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18367 settings for LC_ALL and LANG.
18369 2009-11-25 Jakub Jelinek <jakub@redhat.com>
18372 * testsuite/libgomp.fortran/pr42162.f90: New test.
18374 2009-11-13 Jakub Jelinek <jakub@redhat.com>
18376 PR middle-end/42029
18377 * testsuite/libgomp.c/pr42029.c: New test.
18379 2009-10-26 Jakub Jelinek <jakub@redhat.com>
18381 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18382 *s. Accept ld version without text in ()s.
18383 * configure: Regenerated.
18385 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
18387 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18389 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18392 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18393 or a hyphen (happens with fortran language disabled).
18394 * configure: Regenerate.
18396 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18398 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18399 use sed script portable to Solaris /bin/sed for extracting ld
18401 * configure: Regenerate.
18403 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
18405 * testsuite/libgomp.graphite/bounds.c: New test.
18407 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18409 * Makefile.am (libgomp_la_LINK): New.
18410 * Makefile.in: Regenerate.
18412 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18414 * configure.ac (AC_PREREQ): Bump to 2.64.
18416 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18418 * Makefile.am (install-html, install-pdf): Remove.
18419 * Makefile.in: Regenerate.
18421 * Makefile.in: Regenerate.
18422 * aclocal.m4: Regenerate.
18423 * config.h.in: Regenerate.
18424 * configure: Regenerate.
18425 * testsuite/Makefile.in: Regenerate.
18427 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18429 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18430 * Makefile.in: Regenerate.
18432 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18434 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18435 * Makefile.in: Regenerate.
18437 2009-08-19 Tobias Burnus <burnus@net-b.de>
18440 omp_lib.h.in: Fix -std=f95 errors.
18442 2009-08-14 David Edelsohn <edelsohn@gnu.org>
18444 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18445 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18446 * testsuite/libgomp.graphite/graphite.exp: New.
18448 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18450 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18453 2009-08-04 David Daney <ddaney@caviumnetworks.com>
18455 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18456 needed memory barrier semantics.
18457 * config/linux/mips/mutex.h: New file.
18459 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18461 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18463 2009-07-16 Joseph Myers <joseph@codesourcery.com>
18465 * configure: Regenerate.
18467 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18472 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18473 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18474 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18476 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18478 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18479 options when choosing a multilib.
18481 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18483 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18484 ld_library_path. Use add_path. Add just find_libgcc_s to
18485 ld_library_path, not every libgcc multilib directory.
18486 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18487 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18488 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18490 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18492 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
18494 * Makefile.am (LTLDFLAGS): Define.
18496 * Makefile.in: Regenerate.
18498 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
18501 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18502 libgfortranbegin, check existence of libgfortran.a instead of
18503 libgfortranbegin.a.
18505 2009-05-20 Jakub Jelinek <jakub@redhat.com>
18508 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18509 (gomp_free_pool_helper): Likewise.
18511 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18512 Jakub Jelinek <jakub@redhat.com>
18515 * testsuite/libgomp.fortran/workshare2.f90: New test.
18517 2009-04-09 Nick Clifton <nickc@redhat.com>
18519 * iter.c: Change copyright header to refer to version 3 of the
18520 GNU General Public License with version 3.1 of the GCC Runtime
18521 Library Exception and to point readers at the COPYING3 and
18522 COPYING3.RUNTIME files and the FSF's license web page.
18523 * alloc.c: Likewise.
18524 * barrier.c: Likewise.
18525 * config/bsd/proc.c: Likewise.
18526 * config/linux/affinity.c: Likewise.
18527 * config/linux/alpha/futex.h: Likewise.
18528 * config/linux/bar.c: Likewise.
18529 * config/linux/bar.h: Likewise.
18530 * config/linux/ia64/futex.h: Likewise.
18531 * config/linux/ia64/mutex.h: Likewise.
18532 * config/linux/lock.c: Likewise.
18533 * config/linux/mips/futex.h: Likewise.
18534 * config/linux/mutex.c: Likewise.
18535 * config/linux/mutex.h: Likewise.
18536 * config/linux/powerpc/futex.h: Likewise.
18537 * config/linux/proc.c: Likewise.
18538 * config/linux/ptrlock.c: Likewise.
18539 * config/linux/ptrlock.h: Likewise.
18540 * config/linux/s390/futex.h: Likewise.
18541 * config/linux/sem.c: Likewise.
18542 * config/linux/sem.h: Likewise.
18543 * config/linux/sparc/futex.h: Likewise.
18544 * config/linux/wait.h: Likewise.
18545 * config/linux/x86/futex.h: Likewise.
18546 * config/mingw32/proc.c: Likewise.
18547 * config/mingw32/time.c: Likewise.
18548 * config/posix/affinity.c: Likewise.
18549 * config/posix/bar.c: Likewise.
18550 * config/posix/bar.h: Likewise.
18551 * config/posix/lock.c: Likewise.
18552 * config/posix/mutex.h: Likewise.
18553 * config/posix/proc.c: Likewise.
18554 * config/posix/ptrlock.h: Likewise.
18555 * config/posix/sem.c: Likewise.
18556 * config/posix/sem.h: Likewise.
18557 * config/posix/time.c: Likewise.
18558 * config/posix95/lock.c: Likewise.
18559 * critical.c: Likewise.
18561 * error.c: Likewise.
18562 * fortran.c: Likewise.
18563 * iter_ull.c: Likewise.
18564 * libgomp.h: Likewise.
18565 * libgomp_f.h.in: Likewise.
18566 * libgomp_g.h: Likewise.
18567 * loop.c: Likewise.
18568 * loop_ull.c: Likewise.
18569 * omp.h.in: Likewise.
18570 * omp_lib.f90.in: Likewise.
18571 * omp_lib.h.in: Likewise.
18572 * ordered.c: Likewise.
18573 * parallel.c: Likewise.
18574 * sections.c: Likewise.
18575 * single.c: Likewise.
18576 * task.c: Likewise.
18577 * team.c: Likewise.
18578 * work.c: Likewise.
18580 2009-04-09 Jakub Jelinek <jakub@redhat.com>
18582 * testsuite/config/default.exp: Change copyright header to refer to
18583 version 3 of the GNU General Public License and to point readers
18584 at the COPYING3 file and the FSF's license web page.
18586 2009-04-08 Jakub Jelinek <jakub@redhat.com>
18588 PR middle-end/39573
18589 * libgomp.c++/pr39573.C: New test.
18591 2009-04-01 Jakub Jelinek <jakub@redhat.com>
18594 * testsuite/libgomp.c/pr39591-1.c: New test.
18595 * testsuite/libgomp.c/pr39591-2.c: New test.
18596 * testsuite/libgomp.c/pr39591-3.c: New test.
18598 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
18600 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18601 * testsuite/libgomp.c/atomic-6.c: Ditto.
18603 2009-03-23 Jakub Jelinek <jakub@redhat.com>
18606 * testsuite/libgomp.c/loop-12.c: New test.
18607 * testsuite/libgomp.c/loop-11.c: New test.
18608 * testsuite/libgomp.c++/loop-11.C: New test.
18609 * testsuite/libgomp.c++/loop-12.C: New test.
18610 * testsuite/libgomp.c++/for-8.C: New test.
18612 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18614 * configure: Regenerate.
18616 2009-02-11 Jakub Jelinek <jakub@redhat.com>
18618 PR middle-end/39154
18619 * testsuite/libgomp.c/pr39154.c: New test.
18621 2009-01-30 Ian Lance Taylor <iant@google.com>
18623 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18624 libgomp_ld_is_gold. Get gold version number.
18625 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18626 * configure: Rebuild.
18628 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18630 * testsuite/lib/libgomp.exp: Add -B option for targets that
18631 use libgfortran.a%s in their specs.
18633 2009-01-07 Jakub Jelinek <jakub@redhat.com>
18636 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18637 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18638 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18639 * configure: Regenerated.
18640 * config.h.in: Likewise.
18642 2008-12-28 Jakub Jelinek <jakub@redhat.com>
18645 * testsuite/libgomp.c/pr38650.c: New test.
18646 * testsuite/libgomp.c++/pr38650.C: New test.
18648 2008-12-27 Jakub Jelinek <jakub@redhat.com>
18650 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18652 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
18654 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18656 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18658 * configure: Regenerate.
18660 2008-12-08 Jakub Jelinek <jakub@redhat.com>
18662 PR middle-end/36802
18663 * testsuite/libgomp.c/pr36802-1.c: New test.
18664 * testsuite/libgomp.c/pr36802-2.c: New test.
18665 * testsuite/libgomp.c/pr36802-3.c: New test.
18667 2008-12-01 Janis Johnson <janis187@us.ibm.com>
18670 * config/linux/powerpc/mutex.h: New.
18672 2008-12-01 Jakub Jelinek <jakub@redhat.com>
18675 * testsuite/libgomp.c++/for-7.C: New test.
18678 * testsuite/libgomp.c++/for-6.C: New test.
18680 2008-11-26 Janis Johnson <janis187@us.ibm.com>
18683 * testsuite/lib/libgomp.exp: Include new timeout library files.
18684 (libgomp_target_compile): Set timeout value from new proc.
18686 2008-11-13 Steve Ellcey <sje@cup.hp.com>
18689 * config/linux/ia64/mutex.h: New.
18691 2008-11-04 Tobias Burnus <burnus@net-b.de>
18694 * libgomp.texi (Runtime library routines, environment variables):
18695 Update for OpenMP version 3.0.
18697 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18698 Steve Ellcey <sje@cup.hp.com>
18700 * configure: Regenerate for new libtool.
18701 * Makefile.in: Ditto.
18702 * testsuite/Makefile.in: Ditto.
18704 2008-09-19 Jakub Jelinek <jakub@redhat.com>
18705 Andreas Tobler <a.tobler@schweiz.org>
18707 * config/bsd/proc.c: New file.
18708 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
18709 * configure.ac: Check for header <sys/sysctl.h>
18710 * configure: Regenerate.
18711 * config.h.in: Likewise.
18713 2008-09-05 Janis Johnson <janis187@us.ibm.com>
18715 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18717 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18719 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18720 * Makefile.in: Regenerated.
18721 * testsuite/Makefile.in: Regenerated.
18723 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
18725 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
18726 depend on blddir if blddir exists.
18727 (libgomp_target_compile): Likewise.
18728 * testsuite/libgomp.c++/c++.exp: Likewise.
18729 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18731 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18733 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18734 Do not list GPL as Invariant Section.
18736 2008-07-28 Ilie Garbacea <ilie@mips.com>
18737 Chao-ying Fu <fu@mips.com>
18739 * configure.tgt: Enable futex for MIPS.
18740 * config/linux/mips/futex.h: New file.
18742 2008-07-16 Jakub Jelinek <jakub@redhat.com>
18744 * team.c (gomp_team_end): Free team immediately if it has
18747 2008-07-08 David Edelsohn <edelsohn@gnu.org>
18749 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18750 * testsuite/libgomp.fortran/fortran.exp: Same.
18751 * testsuite/libgomp.c/c.exp: Same.
18752 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18753 directory to library path first.
18755 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18757 * env.c (parse_stacksize): Add cast to avoid warning.
18758 (parse_spincount): Likewise.
18760 2008-06-27 Jakub Jelinek <jakub@redhat.com>
18762 * testsuite/libgomp.c/loop-10.c: New test.
18763 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18764 * libgomp.c++/loop-6.C (main): Likewise.
18767 * testsuite/libgomp.c/debug-1.c: New test.
18769 2008-06-19 Jakub Jelinek <jakub@redhat.com>
18771 * testsuite/libgomp.c/nqueens-1.c: New test.
18774 * testsuite/libgomp.c++/task-7.C: New function.
18776 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18778 * configure: Regenerate.
18780 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18782 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18783 mutex when HAVE_SYNC_BUILTINS isn't defined.
18785 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18787 * libgomp.texi (omp_test_lock): Fix typo.
18789 2008-06-12 Tobias Burnus <burnus@net-b.de>
18791 * omp_lib.f90.in: Add "implicit none".
18793 2008-06-12 Jakub Jelinek <jakub@redhat.com>
18795 PR middle-end/36506
18796 * testsuite/libgomp.c/reduction-5.c: New test.
18798 2008-06-11 Jakub Jelinek <jakub@redhat.com>
18800 * libgomp.h (struct gomp_task): Add in_tied_task field.
18801 * task.c (gomp_init_task): Initialize it.
18802 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
18803 unconditionally. Don't call gomp_team_barrier_wake if
18804 current task is implicit or if(0) from implicit and number of
18805 running tasks is equal to nthreads - 1.
18808 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18809 omp_get_team_size_8): Fix pastos.
18812 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18813 * configure: Regenerated.
18814 * config.h.in: Regenerated.
18815 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18818 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
18821 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18822 (GOMP_loop_ull_dynamic_start): Likewise.
18823 (GOMP_loop_ull_guided_start): Likewise.
18824 (GOMP_loop_ull_ordered_static_start): Likewise.
18825 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18826 (GOMP_loop_ull_ordered_guided_start): Likewise.
18828 2008-06-06 Jakub Jelinek <jakub@redhat.com>
18829 Richard Henderson <rth@redhat.com>
18830 Ulrich Drepper <drepper@redhat.com>
18831 Jakob Blomer <jakob.blomer@ira.uka.de>
18833 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18834 Substitute also OMP_*LOCK_25*.
18835 * configure: Regenerated.
18836 * config.h.in: Regenerated.
18837 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18838 ptrlock.c and task.c.
18839 * Makefile.in: Regenerated.
18840 * testsuite/Makefile.in: Regenerated.
18841 * task.c: New file.
18842 * loop_ull.c: New file.
18843 * iter_ull.c: New file.
18844 * libgomp.h: Include ptrlock.h.
18845 (enum gomp_task_kind): New type.
18846 (struct gomp_team): Add task_lock, task_queue, task_count,
18847 task_running_count, single_count fields. Add
18848 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18849 Remove work_share_lock, generation_mask,
18850 oldest_live_gen, num_live_gen and init_work_shares fields, add
18851 work work_share_list_alloc, work_share_list_free and work_share_chunk
18852 fields. Change work_shares from pointer to pointers into an array.
18853 Change ordered_release field into gomp_sem_t ** from flexible array
18854 member. Add implicit_task and initial_work_shares fields.
18855 Move close to the end of the struct.
18856 (struct gomp_team_state): Add single_count, last_work_share,
18857 active_level and level fields, remove work_share_generation.
18858 (gomp_barrier_handle_tasks): New prototype.
18859 (gomp_finish_task): New inline function.
18860 (struct gomp_work_share): Move chunk_size, end, incr into
18861 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18862 next_ll fields. Reshuffle fields. Add next_alloc,
18863 next_ws, next_free and inline_ordered_team_ids fields, change
18864 ordered_team_ids into pointer from flexible array member.
18865 Add mode field. Put lock and next into a different cache line
18866 from most of the write-once fields.
18867 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18868 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18869 gomp_iter_ull_guided_next): New prototypes.
18870 (gomp_new_icv): New prototype.
18871 (struct gomp_thread): Add thread_pool and task fields.
18872 (struct gomp_thread_pool): New type.
18873 (gomp_new_team): New prototype.
18874 (gomp_team_start): Change type of last argument.
18875 (gomp_new_work_share): Removed.
18876 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18877 (gomp_work_share_init_done): New static inline.
18878 (gomp_throttled_spin_count_var, gomp_available_cpus,
18879 gomp_managed_threads): New extern decls.
18880 (gomp_init_task): New prototype.
18881 (gomp_spin_count_var): New extern var decl.
18882 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18883 or no alias support, or if not PIC.
18884 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18885 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18886 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18887 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18888 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18889 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18890 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18891 gomp_test_nest_lock_25): New prototypes.
18892 (omp_lock_symver, strong_alias): Define.
18893 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18895 (gomp_end_task): New.
18896 (struct gomp_task_icv, gomp_global_icv): New.
18897 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18898 (struct gomp_task): New.
18899 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18900 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18902 (gomp_schedule_type): Reorder enum to match
18904 * team.c (struct gomp_thread_start_data): Add thread_pool and task
18906 (gomp_thread_start): Add gomp_team_barrier_wait call.
18907 For non-nested case remove clearing of docked thread thr fields.
18908 Use pool fields instead of global gomp_* variables. Use
18909 gomp_barrier_wait_last when needed. Initialize ts.active_level.
18910 Create tasks for each member thread.
18911 (free_team): Only destroy team barrier, task_lock here and free it.
18912 (gomp_free_thread): Free last_team if non-NULL.
18913 (gomp_team_end): Call gomp_team_barrier_wait instead of
18914 gomp_barrier_wait. For nested case call one extra
18915 gomp_barrier_wait. Move here some destruction from free_team.
18916 Call free_team on pool->last_team if any, rather than freeing
18917 current team. Destroy work_share_list_free_lock ifndef
18918 HAVE_SYNC_BUILTINS.
18919 (gomp_new_icv): New function.
18920 (gomp_threads, gomp_threads_size, gomp_threads_used,
18921 gomp_threads_dock): Removed.
18922 (gomp_thread_destructor): New variable.
18923 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18925 (gomp_team_start): Create new pool if current thread doesn't have
18926 one. Use pool fields instead of global gomp_* variables.
18927 Initialize thread_pool field for new threads. Clear single_count.
18928 Change last argument from ws to team, don't create
18929 new team, set ts.work_share to &team->work_shares[0] and clear
18930 ts.last_work_share. Don't clear ts.work_share_generation.
18931 If number of threads changed, adjust atomically gomp_managed_threads.
18932 Use gomp_init_task instead of gomp_new_task,
18933 set thr->task to the corresponding implicit_task array entry.
18934 Create tasks for each member thread. Initialize ts.level.
18935 (initialize_team): Call pthread_key_create on
18936 gomp_thread_destructor.
18937 (team_destructor): New function.
18938 (new_team): Removed.
18939 (gomp_new_team): New function.
18940 (free_team): Free gomp_work_share blocks chained through next_alloc,
18941 instead of freeing work_shares and destroying work_share_lock.
18942 (gomp_team_end): Call gomp_fini_work_share. If number of threads
18943 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
18944 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18945 of gomp_barrier_wait.
18946 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18947 instead of gomp_barrier_wait. Call gomp_work_share_init_done
18948 if gomp_work_share_start returned true. Don't unlock ws->lock.
18949 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
18950 of gomp_barrier_wait.
18951 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
18952 gomp_work_share_init_done if gomp_work_share_start returned true.
18953 Don't unlock ws->lock.
18954 * work.c: Include stddef.h.
18955 (free_work_share): Use work_share_list_free_lock instead
18956 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
18957 Call gomp_fini_work_share and then either free ws if orphaned, or
18958 put it into work_share_list_free list of the current team.
18959 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
18961 (gomp_work_share_start, gomp_work_share_end,
18962 gomp_work_share_end_nowait): Rewritten.
18963 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
18964 (openmp_version): Set to 200805.
18965 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18966 omp_sched_guided, omp_sched_auto): New parameters.
18967 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18968 omp_set_max_active_levels, omp_get_max_active_levels,
18969 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18970 omp_get_active_level): New interfaces.
18971 * omp_lib.h.in (openmp_version): Set to 200805.
18972 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18973 omp_sched_guided, omp_sched_auto): New parameters.
18974 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18975 omp_set_max_active_levels, omp_get_max_active_levels,
18976 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18977 omp_get_active_level): New externals.
18978 * loop.c: Include limits.h.
18979 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
18981 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
18982 Likewise. Use gomp_icv.
18983 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
18984 ts.static_trip here.
18985 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
18986 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
18987 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
18988 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
18989 don't unlock ws->lock, otherwise lock it.
18990 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
18991 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
18992 (gomp_parallel_loop_start): Call gomp_new_team instead of
18993 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
18994 Adjust gomp_team_start caller. Pass 0 as second argument to
18995 gomp_resolve_num_threads.
18996 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
18997 If adding ws->chunk_size nthreads + 1 times after end won't
18998 overflow, set ws->mode to 1.
18999 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
19000 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
19001 GOMP_loop_ull_ordered_static_start,
19002 GOMP_loop_ull_ordered_dynamic_start,
19003 GOMP_loop_ull_ordered_guided_start,
19004 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
19005 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
19006 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
19007 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
19008 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
19010 * libgomp.map: Export lock routines also @@OMP_2.0.
19011 (GOMP_loop_ordered_dynamic_first,
19012 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
19013 GOMP_loop_ordered_static_first): Remove.
19014 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
19015 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
19016 GOMP_loop_ull_ordered_dynamic_next,
19017 GOMP_loop_ull_ordered_dynamic_start,
19018 GOMP_loop_ull_ordered_guided_next,
19019 GOMP_loop_ull_ordered_guided_start,
19020 GOMP_loop_ull_ordered_runtime_next,
19021 GOMP_loop_ull_ordered_runtime_start,
19022 GOMP_loop_ull_ordered_static_next,
19023 GOMP_loop_ull_ordered_static_start,
19024 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
19025 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
19026 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
19027 (omp_set_schedule, omp_get_schedule,
19028 omp_get_thread_limit, omp_set_max_active_levels,
19029 omp_get_max_active_levels, omp_get_level,
19030 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
19031 omp_set_schedule_, omp_set_schedule_8_,
19032 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19033 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19034 omp_get_max_active_levels_, omp_get_level_,
19035 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19036 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19037 New exports @@OMP_3.0.
19038 * omp.h.in (omp_sched_t): New type.
19039 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19040 omp_set_max_active_levels, omp_get_max_active_levels,
19041 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19042 omp_get_active_level): New prototypes.
19043 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
19044 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
19045 gomp_thread_limit_var, gomp_remaining_threads_count,
19046 gomp_remaining_threads_lock): New variables.
19047 (parse_spincount): New function.
19048 (initialize_env): Call gomp_init_num_threads unconditionally.
19049 Initialize gomp_available_cpus. Call parse_spincount,
19050 initialize gomp_{,throttled_}spin_count_var
19051 depending on presence and value of OMP_WAIT_POLICY and
19052 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
19053 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19054 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
19055 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
19056 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
19057 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19058 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19059 (gomp_global_icv): New.
19060 (parse_schedule): Use it. Parse "auto".
19061 (omp_set_num_threads): Use gomp_icv.
19062 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19064 (omp_get_max_threads): Move from parallel.c.
19065 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19066 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19068 (parse_stacksize, parse_wait_policy): New functions.
19069 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19070 both wrappers for compatibility and new locks.
19071 (omp_set_schedule, omp_get_schedule,
19072 omp_get_thread_limit, omp_set_max_active_levels,
19073 omp_get_max_active_levels, omp_get_level,
19074 omp_get_ancestor_thread_num, omp_get_team_size,
19075 omp_get_active_level): New ialias_redirect.
19076 (omp_set_schedule_, omp_set_schedule_8_,
19077 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19078 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19079 omp_get_max_active_levels_, omp_get_level_,
19080 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19081 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19083 * parallel.c: Include limits.h.
19084 (gomp_resolve_num_threads): Add count argument. Rewritten.
19085 (GOMP_parallel_start): Call gomp_new_team and pass that as last
19086 argument to gomp_team_start. Pass 0 as second argument to
19087 gomp_resolve_num_threads.
19088 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19089 if gomp_thread_limit_var != ULONG_MAX.
19090 (omp_in_parallel): Implement using ts.active_level.
19091 (omp_get_max_threads): Move to env.c.
19092 (omp_get_level, omp_get_ancestor_thread_num,
19093 omp_get_team_size, omp_get_active_level): New functions,
19095 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19096 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
19097 gomp_iter_dynamic_next instead of the _locked variant and don't take
19098 lock around it, otherwise acquire it before calling
19099 gomp_iter_dynamic_next_locked.
19100 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19101 gomp_iter_dynamic_next instead of the _locked variant and don't take
19103 (GOMP_parallel_sections_start): Call gomp_new_team instead of
19104 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
19105 Adjust gomp_team_start caller. Pass count as second argument to
19106 gomp_resolve_num_threads, don't adjust num_threads after the call.
19108 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19109 ws->chunk_size by incr.
19110 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
19112 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19114 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19115 (omp_check_defines): Check even the compat defines.
19116 * config/linux/ptrlock.c: New file.
19117 * config/linux/ptrlock.h: New file.
19118 * config/linux/wait.h: New file.
19119 * config/posix/ptrlock.c: New file.
19120 * config/posix/ptrlock.h: New file.
19121 * config/linux/bar.h (gomp_team_barrier_wait,
19122 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19123 (gomp_team_barrier_set_task_pending,
19124 gomp_team_barrier_clear_task_pending,
19125 gomp_team_barrier_set_waiting_for_tasks,
19126 gomp_team_barrier_waiting_for_tasks,
19127 gomp_team_barrier_done): New inlines.
19128 (gomp_barrier_t): Rewritten.
19129 (gomp_barrier_state_t): New typedef.
19130 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19131 gomp_barrier_wait_start): Rewritten.
19132 (gomp_barrier_wait_end): Change second argument to
19133 gomp_barrier_state_t.
19134 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19136 * config/linux/bar.c: Include wait.h instead of libgomp.h and
19138 (gomp_barrier_wait_end): Rewritten.
19139 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19140 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19141 * config/posix/bar.h (gomp_barrier_t): Add generation field.
19142 (gomp_barrier_state_t): New typedef.
19143 (gomp_team_barrier_wait,
19144 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19145 (gomp_barrier_wait_start): Or all but low 2 bits from generation
19146 into the return value. Return gomp_barrier_state_t.
19147 (gomp_team_barrier_set_task_pending,
19148 gomp_team_barrier_clear_task_pending,
19149 gomp_team_barrier_set_waiting_for_tasks,
19150 gomp_team_barrier_waiting_for_tasks,
19151 gomp_team_barrier_done): New inlines.
19152 (gomp_barrier_wait_end): Change second argument to
19153 gomp_barrier_state_t.
19154 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19156 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19157 (gomp_barrier_wait_end): Change second argument to
19158 gomp_barrier_state_t.
19159 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19160 gomp_team_barrier_wake): New functions.
19161 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19163 (gomp_futex_wake, gomp_futex_wait): New variables.
19164 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19165 * config/linux/lock.c: Rewrite to make locks task owned,
19166 for backwards compatibility provide the old entrypoints
19167 if symbol versioning. Include wait.h instead of libgomp.h and
19169 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19170 * config/posix95/lock.c: Rewrite to make locks task owned,
19171 for backwards compatibility provide the old entrypoints
19172 if symbol versioning.
19173 * config/posix/lock.c: Rewrite to make locks task owned,
19174 for backwards compatibility provide the old entrypoints
19175 if symbol versioning.
19176 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19177 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19178 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19179 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19180 (sys_futex0): Return error code.
19181 (futex_wake, futex_wait): If ENOSYS was returned, clear
19182 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19183 (cpu_relax, atomic_write_barrier): New static inlines.
19184 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19185 (futex_wake, futex_wait): If ENOSYS was returned, clear
19186 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19187 (cpu_relax, atomic_write_barrier): New static inlines.
19188 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19189 (sys_futex0): Return error code.
19190 (futex_wake, futex_wait): If ENOSYS was returned, clear
19191 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19192 (cpu_relax, atomic_write_barrier): New static inlines.
19193 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19194 (sys_futex0): Return error code.
19195 (futex_wake, futex_wait): If ENOSYS was returned, clear
19196 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19197 (cpu_relax, atomic_write_barrier): New static inlines.
19198 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19199 (sys_futex0): Return error code.
19200 (futex_wake, futex_wait): If ENOSYS was returned, clear
19201 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19202 (cpu_relax, atomic_write_barrier): New static inlines.
19203 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19204 (sys_futex0): Return error code.
19205 (futex_wake, futex_wait): If ENOSYS was returned, clear
19206 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19207 (cpu_relax, atomic_write_barrier): New static inlines.
19208 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19210 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19211 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19212 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19214 (omp_nest_lock_t): Change owner into void *, add lock field.
19215 * config/posix95/omp-lock.h: Include semaphore.h.
19216 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19217 (omp_lock_t): Use sem_t instead of mutex if semaphores
19219 (omp_nest_lock_t): Likewise. Change owner to void *.
19220 * config/posix/omp-lock.h: Include semaphore.h.
19221 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19222 (omp_lock_t): Use sem_t instead of mutex if semaphores
19224 (omp_nest_lock_t): Likewise. Add owner field.
19226 2008-06-06 Jakub Jelinek <jakub@redhat.com>
19228 * testsuite/libgomp.c/collapse-1.c: New test.
19229 * testsuite/libgomp.c/collapse-2.c: New test.
19230 * testsuite/libgomp.c/collapse-3.c: New test.
19231 * testsuite/libgomp.c/icv-1.c: New test.
19232 * testsuite/libgomp.c/icv-2.c: New test.
19233 * testsuite/libgomp.c/lib-2.c: New test.
19234 * testsuite/libgomp.c/lock-1.c: New test.
19235 * testsuite/libgomp.c/lock-2.c: New test.
19236 * testsuite/libgomp.c/lock-3.c: New test.
19237 * testsuite/libgomp.c/loop-4.c: New test.
19238 * testsuite/libgomp.c/loop-5.c: New test.
19239 * testsuite/libgomp.c/loop-6.c: New test.
19240 * testsuite/libgomp.c/loop-7.c: New test.
19241 * testsuite/libgomp.c/loop-8.c: New test.
19242 * testsuite/libgomp.c/loop-9.c: New test.
19243 * testsuite/libgomp.c/nested-3.c: New test.
19244 * testsuite/libgomp.c/nestedfn-6.c: New test.
19245 * testsuite/libgomp.c/sort-1.c: New test.
19246 * testsuite/libgomp.c/task-1.c: New test.
19247 * testsuite/libgomp.c/task-2.c: New test.
19248 * testsuite/libgomp.c/task-3.c: New test.
19249 * testsuite/libgomp.c/task-4.c: New test.
19250 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19251 to C++ testsuite default compiler options.
19252 * testsuite/libgomp.c++/collapse-1.C: New test.
19253 * testsuite/libgomp.c++/collapse-2.C: New test.
19254 * testsuite/libgomp.c++/ctor-10.C: New test.
19255 * testsuite/libgomp.c++/for-1.C: New test.
19256 * testsuite/libgomp.c++/for-2.C: New test.
19257 * testsuite/libgomp.c++/for-3.C: New test.
19258 * testsuite/libgomp.c++/for-4.C: New test.
19259 * testsuite/libgomp.c++/for-5.C: New test.
19260 * testsuite/libgomp.c++/loop-8.C: New test.
19261 * testsuite/libgomp.c++/loop-9.C: New test.
19262 * testsuite/libgomp.c++/loop-10.C: New test.
19263 * testsuite/libgomp.c++/task-1.C: New test.
19264 * testsuite/libgomp.c++/task-2.C: New test.
19265 * testsuite/libgomp.c++/task-3.C: New test.
19266 * testsuite/libgomp.c++/task-4.C: New test.
19267 * testsuite/libgomp.c++/task-5.C: New test.
19268 * testsuite/libgomp.c++/task-6.C: New test.
19269 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19270 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19271 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19272 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19273 * testsuite/libgomp.fortran/collapse1.f90: New test.
19274 * testsuite/libgomp.fortran/collapse2.f90: New test.
19275 * testsuite/libgomp.fortran/collapse3.f90: New test.
19276 * testsuite/libgomp.fortran/collapse4.f90: New test.
19277 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19278 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19279 * testsuite/libgomp.fortran/lib4.f90: New test.
19280 * testsuite/libgomp.fortran/lock-1.f90: New test.
19281 * testsuite/libgomp.fortran/lock-2.f90: New test.
19282 * testsuite/libgomp.fortran/nested1.f90: New test.
19283 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19284 * testsuite/libgomp.fortran/strassen.f90: New test.
19285 * testsuite/libgomp.fortran/tabs1.f90: New test.
19286 * testsuite/libgomp.fortran/tabs2.f: New test.
19287 * testsuite/libgomp.fortran/task1.f90: New test.
19288 * testsuite/libgomp.fortran/task2.f90: New test.
19289 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19290 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19291 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19292 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19293 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19295 2008-05-23 Jakub Jelinek <jakub@redhat.com>
19298 * testsuite/libgomp.c++/ctor-11.C: New test.
19299 * testsuite/libgomp.c++/ctor-12.C: New test.
19301 2008-05-15 Janis Johnson <janis187@us.ibm.com>
19303 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19305 2008-05-07 Jakub Jelinek <jakub@redhat.com>
19307 PR middle-end/36106
19308 * testsuite/libgomp.c/atomic-5.c: New test.
19309 * testsuite/libgomp.c/atomic-6.c: New test.
19310 * testsuite/libgomp.c/autopar-1.c: New test.
19312 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19314 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19315 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19316 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19317 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19318 * configure: Regenerate.
19319 * Makefile.in, testsuite/Makefile.in: Likewise.
19321 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
19324 * aclocal.m4: Regenerate.
19325 * configure: Regenerate.
19327 2008-03-18 Jakub Jelinek <jakub@redhat.com>
19329 PR middle-end/35611
19330 * testsuite/libgomp.c/atomic-4.c: New test.
19333 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19334 (gomp_iter_guided_next): Likewise.
19335 * testsuite/libgomp.c/pr35625.c: New test.
19337 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19339 * aclocal.m4: Regenerate.
19340 * configure: Likewise.
19341 * Makefile.in: Likewise.
19342 * testsuite/Makefile.in: Likewise.
19344 2008-03-13 Jakub Jelinek <jakub@redhat.com>
19346 PR middle-end/35185
19347 * testsuite/libgomp.c++/pr35185.C: New test.
19349 2008-03-12 Jakub Jelinek <jakub@redhat.com>
19351 PR middle-end/35549
19352 * testsuite/libgomp.c/pr35549.c: New test.
19354 2008-03-06 Jakub Jelinek <jakub@redhat.com>
19356 * testsuite/libgomp.c/atomic-3.c: New test.
19358 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19361 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
19362 .F08 file suffixes.
19364 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19367 * configure.ac: Add ACX_HEADER_STRING.
19368 * env.c: Include strings.h.
19369 * aclocal.m4: Regenerate.
19370 * config.h.in: Regenerate.
19371 * configure: Regenerate.
19372 * Makefile.in: Regenerate.
19373 * testsuite/Makefile.in: Regenerate.
19375 2008-02-15 Jakub Jelinek <jakub@redhat.com>
19377 PR middle-end/35196
19378 * testsuite/libgomp.c/pr35196.c: New test.
19380 PR middle-end/35130
19381 * testsuite/libgomp.fortran/pr35130.f90: New test.
19382 * testsuite/libgomp.c/pr35130.c: New test.
19384 2008-01-25 Jakub Jelinek <jakub@redhat.com>
19386 PR middle-end/33880
19387 * testsuite/libgomp.c/pr33880.c: New test.
19388 * testsuite/libgomp.fortran/pr33880.f90: New test.
19390 2008-01-24 David Edelsohn <edelsohn@gnu.org>
19392 * configure: Regenerate.
19394 2008-01-08 Jakub Jelinek <jakub@redhat.com>
19396 * configure.ac: Move futex checking into ../config/futex.m4.
19397 * configure: Rebuilt.
19398 * aclocal.m4: Rebuilt.
19399 * Makefile.in: Rebuilt.
19401 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19402 2007-10-15 ../config/tls.m4 change.
19404 2007-12-19 Jakub Jelinek <jakub@redhat.com>
19407 * testsuite/libgomp.c/pr34513.c: New test.
19408 * testsuite/libgomp.c++/pr34513.C: New test.
19410 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19413 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19415 2007-12-04 Jakub Jelinek <jakub@redhat.com>
19417 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19419 2007-12-03 Jakub Jelinek <jakub@redhat.com>
19421 * testsuite/libgomp.c/private-1.c: New test.
19423 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19424 Paolo Bonzini <bonzini@gnu.org>
19426 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19427 instead of 'VPATH ='.
19428 * Makefile.in: Regenerate.
19430 2007-11-23 Matthias Klose <doko@ubuntu.com>
19432 * configure.ac: Adjust makeinfo version check.
19433 * configure: Regenerate.
19435 2007-11-10 Jakub Jelinek <jakub@redhat.com>
19438 * testsuite/libgomp.fortran/pr34020.f90: New test.
19440 2007-11-06 Jakub Jelinek <jakub@redhat.com>
19443 * testsuite/libgomp.c++/atomic-1.C: New test.
19445 2007-10-25 Jakub Jelinek <jakub@redhat.com>
19448 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19449 Make x and y integers rather than (implicit) reals. Add private (j)
19450 clause to the last omp parallel.
19452 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19454 * configure: Regenerate following changes to ../config/tls.m4.
19456 2007-09-28 Jakub Jelinek <jakub@redhat.com>
19458 * testsuite/libgomp.fortran/stack.f90: New test.
19460 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19462 * config/mingw32/proc.c: New file.
19464 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
19466 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19467 (main): Use __get_cpuid to get i386 target fetaures.
19468 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19469 (main): Use __get_cpuid to get x86_64 target fetaures.
19471 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19474 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19475 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19477 2007-07-12 Jakub Jelinek <jakub@redhat.com>
19480 * testsuite/libgomp.fortran/pr32550.f90: New test.
19481 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19483 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19485 * aclocal.m4: Regenerated.
19487 2007-07-05 Tobias Burnus <burnus@net-b.de>
19490 * testsuite/libgomp.fortran/pr32359.f90: New.
19492 2007-07-02 Jakub Jelinek <jakub@redhat.com>
19495 * sections.c (GOMP_parallel_sections_start): Only decrease
19496 number of threads to COUNT if dyn_var is true.
19497 * testsuite/libgomp.c/pr32468.c: New test.
19499 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19502 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19504 2007-06-21 Jakub Jelinek <jakub@redhat.com>
19506 PR middle-end/32362
19507 * testsuite/libgomp.c/pr32362-1.c: New test.
19508 * testsuite/libgomp.c/pr32362-2.c: New test.
19509 * testsuite/libgomp.c/pr32362-3.c: New test.
19511 2007-06-07 Jakub Jelinek <jakub@redhat.com>
19513 * team.c (gomp_team_start): Fix setting up thread_attr
19516 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
19518 * configure: Regenerate.
19520 2007-05-23 Steve Ellcey <sje@cup.hp.com>
19522 * Makefile.in: Regenerate.
19523 * configure: Regenerate.
19524 * aclocal.m4: Regenerate.
19525 * testsuite/Makefile.in: Regenerate.
19527 2007-05-04 Jakub Jelinek <jakub@redhat.com>
19529 * config/linux/proc.c: New file.
19532 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19534 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
19536 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19538 2007-04-16 Matthias Klose <doko@debian.org>
19540 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19541 flags if not building with -m64.
19542 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19543 flag for i?86-*-* targets, if current target matches -m64.
19545 2007-04-14 Steve Ellcey <sje@cup.hp.com>
19547 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19548 * Makefile.in: Regenerate.
19550 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19553 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19555 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19557 2007-04-04 Jakub Jelinek <jakub@redhat.com>
19559 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19561 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19562 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19563 (parse_affinity): New function.
19564 (initialize_env): Call it and gomp_init_affinity.
19565 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19566 create new pthread_attr_t and call gomp_init_thread_affinity
19567 on it for each thread before passing the attribute to pthread_create.
19568 * config/linux/affinity.c: New file.
19569 * config/posix/affinity.c: New file.
19570 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19571 * configure: Rebuilt.
19572 * config.h.in: Rebuilt.
19573 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19574 * Makefile.in: Rebuilt.
19576 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19578 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19580 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19581 and use it if found.
19583 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
19585 * testsuite/config/default.exp: New file.
19586 * testsuite/lib/libgomp.exp: New file.
19587 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19588 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19589 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19590 (libgomp_load): Remove.
19591 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19592 always_ld_library_path, not ld_library_path. Set additional_flags
19593 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19594 (target_compile): Do not call libgomp_init. Append lang_library_path
19595 and lang_link_flags to options.
19596 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19597 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19599 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19600 always_ld_library_path. Set LD_LIBRARY_PATH here.
19601 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19602 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19603 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19605 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19606 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19607 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19608 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19609 * testsuite/libgomp.c/atomic-10.c: Ditto.
19611 2007-03-21 Jakub Jelinek <jakub@redhat.com>
19613 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19614 dg-final cleanup-modules line.
19615 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19616 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19617 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19618 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19619 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19620 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19621 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19623 2007-03-18 Andreas Schwab <schwab@suse.de>
19625 * acinclude.m4: Adjust regular expression for ld version
19627 * configure: Regenerate.
19629 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19631 * Makefile.am: Add install-pdf target as copied from
19632 automake v1.10 rules.
19633 * Makefile.in: Regenerate
19635 2007-02-07 Jakub Jelinek <jakub@redhat.com>
19638 * configure: Regenerate.
19641 * testsuite/libgomp.c++/pr30703.C: New test.
19643 2007-02-02 Jakub Jelinek <jakub@redhat.com>
19646 2006-07-05 Eric Christopher <echristo@apple.com>
19647 * configure.ac: Depend addition of -pthread on host OS.
19648 * configure: Regenerate.
19650 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19652 * libgomp.texi: Fix spacing after abbreviations.
19654 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
19657 * configure.ac: Add check for makeinfo
19658 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
19659 if an appropriate version of makeinfo is found.
19660 * aclocal.m4: Regenerated.
19661 * configure: Regenerated.
19662 * Makefile.in: Regenerated.
19663 * testsuite/Makefile.in: Regenerated.
19665 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
19668 * libgomp.texi: More about implementation-dependent settings.
19670 2007-01-26 Tobias Burnus <burnus@net-b.de>
19672 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19674 2007-01-24 Jakub Jelinek <jakub@redhat.com>
19676 PR middle-end/30494
19677 * testsuite/libgomp.c/pr30494.c: New test.
19679 2007-01-15 Tom Tromey <tromey@redhat.com>
19681 * configure: Rebuilt.
19682 * configure.ac: Fixed comment.
19684 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
19686 * libgomp.texi: Document implementation specific default values of
19687 environment variables.
19689 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
19692 * libgomp.texi: New file.
19693 * configure.ac: Add --enable-generated-files-in-srcdir option.
19694 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19696 * Makefile.in: Regenerated.
19697 * config.h.in: Regenerated.
19698 * testsuite/Makefile.in: Regenerated.
19701 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
19704 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19706 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19708 * configure: Regenerate.
19710 2006-12-04 Jakub Jelinek <jakub@redhat.com>
19713 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19714 start if there shouldn't be any loop iterations.
19715 (gomp_loop_ordered_static_start): Remove start == end test.
19716 * testsuite/libgomp.c/pr29947-1.c: New test.
19717 * testsuite/libgomp.c/pr29947-2.c: New test.
19719 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19721 * configure.tgt: Force initial-exec TLS model on Linux only.
19723 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19725 * configure: Regenerated.
19727 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
19729 * env.c (parse_schedule): Reject out of range values.
19730 (parse_unsigned_long): Reject out of range, negative or zero values.
19732 2006-10-29 Jakub Jelinek <jakub@redhat.com>
19735 * testsuite/libgomp.fortran/pr29629.f90: New test.
19737 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19740 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19741 * config/posix95: New directory.
19742 * config/posix95/omp-lock.h: New file.
19743 * config/posix95/lock.c: Likewise.
19745 2006-10-14 Geoffrey Keating <geoffk@apple.com>
19747 * aclocal.m4: Regenerate.
19748 * configure: Regenerate.
19750 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19752 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19755 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19757 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19759 * configure: Regenerate.
19760 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19762 2006-09-26 Jakub Jelinek <jakub@redhat.com>
19764 PR middle-end/25261
19765 PR middle-end/28790
19766 * testsuite/libgomp.c/nestedfn-4.c: New test.
19767 * testsuite/libgomp.c/nestedfn-5.c: New test.
19768 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19771 * testsuite/libgomp.fortran/condinc1.f: New test.
19772 * testsuite/libgomp.fortran/condinc2.f: New test.
19773 * testsuite/libgomp.fortran/condinc3.f90: New test.
19774 * testsuite/libgomp.fortran/condinc4.f90: New test.
19775 * testsuite/libgomp.fortran/condinc1.inc: New file.
19777 2006-09-18 Tom Tromey <tromey@redhat.com>
19779 * configure: Rebuilt.
19781 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19784 PR preprocessor/14634
19785 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19787 * configure: Regenerate.
19789 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19791 * testsuite/libgomp.fortran/reduction3.f90: Change
19792 -2147483648 to -huge(i)-1 to avoid overflow.
19793 * testsuite/libgomp.fortran/reduction4.f90: Change
19794 Z'ffffffff' to not(0) to avoid overflow.
19796 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
19799 * Makefile.am (libsubincludedir): New.
19800 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19801 * Makefile.in: Regenerate.
19803 2006-08-17 Jakub Jelinek <jakub@redhat.com>
19806 * env.c: Include ctype.h.
19807 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19808 leading and/or trailing whitespace and compare strings case
19811 2006-07-16 Jakub Jelinek <jakub@redhat.com>
19814 * testsuite/libgomp.fortran/pr28390.f: New test.
19816 2006-07-05 Eric Christopher <echristo@apple.com>
19818 * configure.ac: Depend addition of -pthread on host OS.
19819 * configure: Regenerate.
19821 2006-06-21 Jakub Jelinek <jakub@redhat.com>
19823 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19824 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19827 2006-06-20 Jakub Jelinek <jakub@redhat.com>
19831 * configure.ac: If neither --enable-linux-futex nor
19832 --disable-linux-futex is passed, determine the default by checking
19833 for compiling and/or running against NPTL. With --enable-linux-futex,
19834 check if SYS_gettid and SYS_futex are defined.
19835 * configure: Rebuilt.
19837 2006-06-14 Richard Henderson <rth@redhat.com>
19840 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19841 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19843 2006-06-09 Richard Henderson <rth@redhat.com>
19845 * env.c (gomp_nthreads_var): Change to unsigned long.
19846 (gomp_run_sched_chunk): Likewise.
19847 (parse_unsigned_long): Rename from parse_num_threads and generalize.
19848 (initialize_env): Initialize gomp_thread_attr.
19849 * libgomp.h (gomp_nthreads_var): Update decl.
19850 (gomp_run_sched_chunk): Likewise.
19851 (gomp_thread_attr): Declare.
19852 * team.c (gomp_thread_attr): Export.
19853 (initialize_team): Don't initialize it.
19855 2006-06-09 Jakub Jelinek <jakub@redhat.com>
19858 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19859 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19861 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19863 * config/mingw32/time.c: New file.
19864 * configure.tgt: Use it.
19866 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
19868 * Makefile.am: Add install-html target. Add install-html to .PHONY
19869 * Makefile.in: Regenerate.
19871 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19874 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19875 * testsuite/libgomp.c/critical-1.c: Likewise.
19876 * testsuite/libgomp.c/loop-1.c: Likewise.
19877 * testsuite/libgomp.c/loop-2.c: Likewise.
19878 * testsuite/libgomp.c/single-1.c: Likewise.
19879 * testsuite/libgomp.c/ordered-1.c: Likewise.
19880 * testsuite/libgomp.c/ordered-2.c: Likewise.
19882 2006-05-15 Jakub Jelinek <jakub@redhat.com>
19884 PR middle-end/27416
19885 * libgomp.fortran/pr27416-1.f90: New test.
19887 2006-05-03 Jakub Jelinek <jakub@redhat.com>
19890 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19891 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19893 2006-05-02 Jakub Jelinek <jakub@redhat.com>
19896 * testsuite/libgomp.c/pr26943-1.c: New test.
19897 * testsuite/libgomp.c/pr26943-2.c: New test.
19898 * testsuite/libgomp.c/pr26943-3.c: New test.
19899 * testsuite/libgomp.c/pr26943-4.c: New test.
19900 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19901 * testsuite/libgomp.c++/pr26943.C: New test.
19903 2006-05-02 Jakub Jelinek <jakub@redhat.com>
19905 PR middle-end/27337
19906 * testsuite/libgomp.c++/pr27337.C: New test.
19908 2006-04-26 Jakub Jelinek <jakub@redhat.com>
19911 * testsuite/libgomp.c/pr26171.c: New test.
19913 2006-04-25 Richard Henderson <rth@redhat.com>
19916 * configure.ac: Use GCC_CHECK_TLS.
19917 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19918 * Makefile.in, aclocal.m4, configure: Regenerate.
19920 2006-04-10 Matthias Klose <doko@debian.org>
19922 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19923 directory names containing underscores.
19925 2006-03-21 Jakub Jelinek <jakub@redhat.com>
19928 * testsuite/libgomp.c++/pr26691.C: New test.
19930 2006-03-13 Jakub Jelinek <jakub@redhat.com>
19932 * testsuite/libgomp.fortran/retval2.f90: New test.
19934 2006-03-09 Diego Novillo <dnovillo@redhat.com>
19936 * testsuite/libgomp.c++: New directory.
19938 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
19940 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19941 * config/posix/sem.c: Implement the above.
19943 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
19945 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19946 define HAVE_BROKEN_POSIX_SEMAPHORES.
19947 * configure: Rebuilt.
19948 * config.h.in: Rebuilt.
19950 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19953 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
19954 for the other pthread check.
19955 * configure: Regenerate.
19956 * config.h.in: Regenerate.
19958 2006-02-15 Jakub Jelinek <jakub@redhat.com>
19962 * Makefile.am (fincludedir): New variable.
19963 (nodist_include_HEADERS): Remove Fortran files.
19964 (nodist_finclude_HEADERS): New variable.
19965 * Makefile.in: Regenerated.
19967 2006-02-13 Jakub Jelinek <jakub@redhat.com>
19969 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
19970 Remove tests for returning assumed character length arrays.
19972 2006-02-12 Roger Sayle <roger@eyesopen.com>
19973 John David Anglin <dave@hiauly1.hia.nrc.ca>
19976 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
19978 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
19980 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
19982 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
19984 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
19985 part of LD_LIBRARY_PATH manually.
19987 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
19990 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
19993 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
19996 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
19997 * configure.ac (PERL): Don't set.
19998 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
19999 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
20000 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
20001 * omp.h.in: Wrap the new configure substitutions with @ characters.
20002 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
20003 * aclocal.m4, configure, Makefile.in: Regenerate.
20004 * mkomp_h.pl: Delete.
20006 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
20009 * configure.ac: Use GCC_HEADER_STDINT.
20010 * libgomp.h: Include gstdint.h.
20011 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
20012 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
20014 2006-01-24 Richard Henderson <rth@redhat.com>
20017 * configure.ac: Add AM_MAINTAINER_MODE.
20018 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
20020 2006-01-24 Diego Novillo <dnovillo@redhat.com>
20022 * Makefile.in: Regenerate.
20023 * testsuite/Makefile.in: Regenerate.
20024 * aclocal.m4: Regenerate.
20026 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
20028 * config/posix/proc.c: Conditional include of sys/loadavg.h for
20030 * configure.ac: Add check for loadavg.h.
20031 (link_gomp): Adjust comment.
20032 * configure: Regenerate.
20033 * config.h.in: Regenerate.
20035 2006-01-21 Steve Ellcey <sje@cup.hp.com>
20038 * configure.ac: Remove check for alloca.h.
20039 * configure: Regenerate.
20040 * config.h.in: Regenerate.
20041 * libgomp.h: define gomp_alloca to be __builtin_alloca.
20042 * team.c: Remove use of alloca.h.
20043 Call gomp_alloca instead of alloca.
20045 2006-01-20 Steve Ellcey <sje@cup.hp.com>
20048 * team.c: Add include of alloca.h.
20049 * configure.ac: Add check for alloca.h.
20050 * configure: Regenerate.
20051 * config.h.in: Regenerate.
20053 2006-01-17 Jakub Jelinek <jakub@redhat.com>
20056 * testsuite/libgomp.fortran/pr25219.f90: New test.
20058 2005-12-05 Uros Bizjak <uros@kss-loka.si>
20060 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20061 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20062 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20063 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20064 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20065 testsuite/libgomp.fortran/threadprivate1.f90,
20066 testsuite/libgomp.fortran/threadprivate2.f90,
20067 testsuite/libgomp.fortran/threadprivate3.f90,
20068 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20069 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20070 testsuite/libgomp.fortran/omp_parse3.f90: Change required
20071 effective-target to TLS runtime.
20073 * testsuite/libgomp.fortran/pr25162.f: Require
20074 effective-target TLS runtime.
20076 2005-12-01 Jakub Jelinek <jakub@redhat.com>
20078 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20079 * testsuite/libgomp.c/nestedfn-3.c: New test.
20081 2005-11-30 Jakub Jelinek <jakub@redhat.com>
20084 * testsuite/libgomp.fortran/pr25162.f: New test.
20086 2005-11-28 Jakub Jelinek <jakub@redhat.com>
20088 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20089 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20091 2005-11-25 Jakub Jelinek <jakub@redhat.com>
20093 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20094 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20095 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20096 single.c, team.c, work.c, config/linux/alpha/futex.h,
20097 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20098 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20099 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20100 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20101 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20102 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20103 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20106 2005-11-18 Jakub Jelinek <jakub@redhat.com>
20108 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20109 to nodist_noinst_HEADERS.
20110 * Makefile.in: Rebuilt.
20112 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20113 add integer count field.
20114 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20115 omp_nest_lock_t type change.
20116 (omp_init_nest_lock): Likewise. Initialize count to 0.
20117 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20119 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20121 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20122 Increment count if successful and return the new nesting level.
20123 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20124 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20125 * testsuite/libgomp.c/lib-1.c: New test.
20126 * testsuite/libgomp.fortran/lib1.f90: New test.
20127 * testsuite/libgomp.fortran/lib2.f: New test.
20128 * testsuite/libgomp.fortran/lib3.f: New test.
20130 2005-11-17 Richard Henderson <rth@redhat.com>
20133 * Makefile.am (nodist_toolexeclib_HEADERS): New.
20134 * configure.ac (link_gomp): New. Substitute it.
20135 (AC_CONFIG_FILES): Add libgomp.spec.
20136 * libgomp.spec.in: New file.
20137 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20138 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20140 2005-11-18 Jakub Jelinek <jakub@redhat.com>
20142 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20143 reduction(-:var) behaving the same as reduction(+:var).
20144 * testsuite/libgomp.c/reduction-4.c: New test.
20146 2005-11-15 Uros Bizjak <uros@kss-loka.si>
20148 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20149 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20150 testsuite/libgomp.c/copyin-3.c,
20151 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20152 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20153 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20154 testsuite/libgomp.c++/pr24455.C,
20155 testsuite/libgomp.fortran/threadprivate1.f90,
20156 testsuite/libgomp.fortran/threadprivate2.f90,
20157 testsuite/libgomp.fortran/threadprivate3.f90,
20158 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20159 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20160 testsuite/libgomp.fortran/omp_parse3.f90: Require
20161 effective-target TLS.
20163 2005-11-14 Diego Novillo <dnovillo@redhat.com>
20167 2005-11-13 Jakub Jelinek <jakub@redhat.com>
20170 * team.c (initialize_team): Pass NULL rather than free as
20171 pthread_key_create destructor. Initialize thread specific data
20172 pointer in initial thread to a static local variable rather than
20175 2005-11-11 Uros Bizjak <uros@kss-loka.si>
20177 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20178 its location to ld_library_path.
20180 2005-11-10 Diego Novillo <dnovillo@redhat.com>
20182 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20184 2005-11-10 Diego Novillo <dnovillo@redhat.com>
20186 * testsuite/libgomp.c: Rename from libgomp.dg.
20188 2005-11-09 Diego Novillo <dnovillo@redhat.com>
20190 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20191 threadprivate variable 'i'.
20193 2005-11-09 Jakub Jelinek <jakub@redhat.com>
20195 * config/linux/s390/futex.h: New file.
20196 * configure.tgt: Use it.
20198 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20199 before the parallel.
20201 2005-11-08 Jakub Jelinek <jakub@redhat.com>
20204 * testsuite/libgomp.c++/master-1.C: New test.
20206 2005-11-07 Jakub Jelinek <jakub@redhat.com>
20208 * testsuite/libgomp.dg/copyin-3.c: New test.
20210 2005-11-07 Jakub Jelinek <jakub@redhat.com>
20212 * testsuite/libgomp.fortran/retval1.f90: New test.
20213 * testsuite/libgomp.fortran/vla7.f90: New test.
20215 2005-11-06 Jakub Jelinek <jakub@redhat.com>
20217 * testsuite/libgomp.fortran/vla2.f90: New test.
20218 * testsuite/libgomp.fortran/vla3.f90: New test.
20219 * testsuite/libgomp.fortran/vla4.f90: New test.
20220 * testsuite/libgomp.fortran/vla5.f90: New test.
20221 * testsuite/libgomp.fortran/vla6.f90: New test.
20223 2005-11-01 Jakub Jelinek <jakub@redhat.com>
20225 * config/linux/sparc/futex.h: New file.
20226 * configure.tgt: Use it.
20227 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20229 * critical.c: Include stdlib.h.
20230 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20231 ignoring return value.
20232 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20233 LIBGOMP_CHECK_SYNC_BUILTINS check.
20234 * configure: Rebuilt.
20236 2005-10-31 Jakub Jelinek <jakub@redhat.com>
20238 * testsuite/libgomp.fortran/vla1.f90: New test.
20240 2005-10-31 Richard Henderson <rth@redhat.com>
20242 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20243 setting 's' in different threads.
20245 2005-10-31 Jakub Jelinek <jakub@redhat.com>
20247 * libgomp.h (attribute_hidden, ialias): Define.
20248 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20249 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20250 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20251 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20252 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20253 omp_test_lock, omp_test_nest_lock): Likewise.
20254 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20255 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20256 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20257 omp_test_lock, omp_test_nest_lock): Likewise.
20258 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20259 omp_get_dynamic, omp_get_nested): Likewise.
20260 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20261 omp_get_thread_num, omp_in_parallel): Likewise.
20262 * fortran.c (ialias_redirect): Define.
20263 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20264 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20265 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20266 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20267 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20268 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20269 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20270 omp_get_wtime): Add ialias_redirect.
20272 2005-10-30 Jakub Jelinek <jakub@redhat.com>
20274 * fortran.c: Include stdlib.h.
20276 2005-10-29 Jakub Jelinek <jakub@redhat.com>
20278 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20279 * Makefile.in: Regenerated.
20281 2005-10-28 Jakub Jelinek <jakub@redhat.com>
20283 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20284 * libgomp_f.h.in (omp_check_defines): New function.
20285 * env.c: Include libgomp_f.h.
20286 (initialize_env): Call omp_check_defines.
20288 * testsuite/libgomp.dg/copyin-2.c: New test.
20289 * testsuite/libgomp.c++/copyin-2.C: New test.
20290 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20292 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20293 * testsuite/libgomp.fortran/sharing2.f90: New test.
20295 * testsuite/libgomp.dg/copyin-1.c: New test.
20296 * testsuite/libgomp.c++/copyin-1.C: New test.
20298 2005-10-26 Jakub Jelinek <jakub@redhat.com>
20300 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20302 * testsuite/libgomp.fortran/workshare1.f90: New test.
20304 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20306 * libgomp.fortran/sharing1.f90: New test.
20308 2005-10-24 Jakub Jelinek <jakub@redhat.com>
20311 * testsuite/libgomp.c++/loop-7.C: New test.
20313 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20315 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20316 * testsuite/libgomp.fortran/reduction6.f90: New test.
20317 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20319 2005-10-23 Richard Henderson <rth@redhat.com>
20321 * testsuite/libgomp.c++/ctor-1.C: New.
20322 * testsuite/libgomp.c++/ctor-2.C: New.
20323 * testsuite/libgomp.c++/ctor-3.C: New.
20324 * testsuite/libgomp.c++/ctor-4.C: New.
20325 * testsuite/libgomp.c++/ctor-5.C: New.
20326 * testsuite/libgomp.c++/ctor-6.C: New.
20327 * testsuite/libgomp.c++/ctor-7.C: New.
20328 * testsuite/libgomp.c++/ctor-8.C: New.
20329 * testsuite/libgomp.c++/ctor-9.C: New.
20331 2005-10-21 Diego Novillo <dnovillo@redhat.com>
20334 * testsuite/libgomp.c++/pr24455-1.C: New test.
20335 * testsuite/libgomp.c++/pr24455.C: New test.
20336 * testsuite/libgomp.dg/pr24455-1.c: New test.
20337 * testsuite/libgomp.dg/pr24455.c: New test.
20339 2005-10-20 Richard Henderson <rth@redhat.com>
20341 * testsuite/libgomp.c++/loop-6.C: New.
20342 * testsuite/libgomp.dg/loop-3.c: New.
20344 2005-10-20 Jakub Jelinek <jakub@redhat.com>
20346 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20347 explicitly private.
20348 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20351 2005-10-19 Diego Novillo <dnovillo@redhat.com>
20353 * testsuite/libgomp.fortran/jacobi.f: New test.
20355 2005-10-19 Richard Henderson <rth@redhat.com>
20357 * configure.tgt (i?86-linux): Default to with_arch instead of
20358 CFLAGS. Add -mtune to match target_cpu.
20359 (x86_64-linux): Tune to i686.
20361 * fortran.c (omp_test_nest_lock_): Fix typo.
20363 2005-10-19 Jakub Jelinek <jakub@redhat.com>
20365 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20366 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20367 * testsuite/libgomp.dg/ordered-3.c: New test.
20369 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20370 Remove volatile keyword.
20372 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20373 in COMMON block to avoid warnings on 64-bit targets.
20375 2005-10-18 Diego Novillo <dnovillo@redhat.com>
20377 * testsuite/libgomp.dg/shared-3.c: New test.
20379 2005-10-18 Jakub Jelinek <jakub@redhat.com>
20381 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20382 * testsuite/libgomp.fortran/reduction5.f90: New test.
20384 2005-10-18 Jakub Jelinek <jakub@redhat.com>
20386 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20388 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20389 flush loop now that __sync_synchronize has proper memory barrier.
20390 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20391 Add -ffixed-form to dg-options.
20393 2005-10-17 Diego Novillo <dnovillo@redhat.com>
20395 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20396 from subdirectories.
20397 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20398 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20399 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20400 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20401 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20402 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20403 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20404 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20405 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20406 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20407 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20408 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20409 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20410 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20411 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20412 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20413 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20414 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20415 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20416 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20417 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20418 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20419 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20420 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20421 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20423 2005-10-17 Jakub Jelinek <jakub@redhat.com>
20425 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20426 lang_library_path exists. Use find instead of glob to gather tests.
20427 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20429 2005-10-17 Diego Novillo <dnovillo@redhat.com>
20431 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20432 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20433 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20434 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20435 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20436 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20437 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20438 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20439 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20440 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20441 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20442 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20443 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20445 2005-10-15 Jakub Jelinek <jakub@redhat.com>
20447 * testsuite/libgomp.dg/vla-1.c: New test.
20449 * testsuite/libgomp.fortran/reference2.f90: New test.
20451 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20452 declaration of omp_get_thread_num.
20453 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20456 * testsuite/libgomp.fortran/reduction1.f90: New test.
20457 * testsuite/libgomp.fortran/reduction2.f90: New test.
20458 * testsuite/libgomp.fortran/reduction3.f90: New test.
20459 * testsuite/libgomp.fortran/reduction4.f90: New test.
20461 2005-10-13 Richard Henderson <rth@redhat.com>
20463 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20464 * Makefile.in: Regenerate.
20465 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20466 * libgomp.h: Include bar.h.
20467 (struct gomp_barrier): Remove.
20468 (struct gomp_team): Add barrier. Replace master_barrier with
20469 master_release. Replace threads with ordered_release.
20470 (struct gomp_thread): Replace barrier with release.
20471 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20472 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20473 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20474 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20475 (GOMP_single_copy_end): Likewise.
20476 * team.c (gomp_threads_dock): New.
20477 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20478 (gomp_thread_start): Use gomp_barrier_wait.
20479 (new_team, free_team): Update for gomp_team changes.
20480 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20481 (gomp_team_end): Use gomp_barrier_wait.
20482 (initialize_team): Update for gomp_thread changes.
20483 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20484 (gomp_work_share_end_nowait): Use atomic ops when available.
20485 * config/linux/bar.c, config/linux/bar.h: New files.
20486 * config/posix/bar.c, config/posix/bar.h: New files.
20488 2005-10-13 Jakub Jelinek <jakub@redhat.com>
20490 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20491 * testsuite/libgomp.dg/single-2.c: New test.
20493 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20494 lang_link_flags): Unset, so that they aren't inherited from previously
20497 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20499 2005-10-12 Richard Henderson <rth@redhat.com>
20501 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20502 (libgomp_init): Use lang_test_file, lang_library_path, and
20503 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20505 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20506 (lang_test_file, lang_link_flags): New.
20507 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20509 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20510 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20511 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20512 testsuite/libgomp.c++/parallel-1.C,
20513 testsuite/libgomp.c++/reduction-1.C,
20514 testsuite/libgomp.c++/reduction-2.C,
20515 testsuite/libgomp.c++/reduction-3.C,
20516 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20517 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20518 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20519 New files, largely cribbed from the C testsuite.
20521 2005-10-12 Jakub Jelinek <jakub@redhat.com>
20523 * testsuite/libgomp.fortran/character1.f90: New test.
20524 * testsuite/libgomp.fortran/character2.f90: New test.
20526 * testsuite/libgomp.dg/nested-1.c: New test.
20527 * testsuite/libgomp.dg/nested-2.c: New test.
20528 * testsuite/libgomp.fortran/do1.f90: New test.
20529 * testsuite/libgomp.fortran/do2.f90: New test.
20531 * testsuite/libgomp.fortran/reference1.f90: New test.
20533 2005-10-11 Jakub Jelinek <jakub@redhat.com>
20535 * testsuite/libgomp.dg/reduction-1.c: New test.
20536 * testsuite/libgomp.dg/reduction-2.c: New test.
20537 * testsuite/libgomp.dg/reduction-3.c: New test.
20539 2005-10-10 Jakub Jelinek <jakub@redhat.com>
20541 * testsuite/libgomp.dg/atomic-1.c: New test.
20542 * testsuite/libgomp.dg/atomic-2.c: New test.
20544 2005-10-09 Richard Henderson <rth@redhat.com>
20546 * critical.c (atomic_lock): New.
20547 (initialize_critical): Initialize it.
20548 (GOMP_atomic_start, GOMP_atomic_end): New.
20549 * libgomp.map: Export them.
20550 * libgomp_g.h: Declare them.
20552 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20554 2005-10-02 Richard Henderson <rth@redhat.com>
20556 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20557 to XCFLAGS instead of CFLAGS.
20559 2005-09-30 Richard Henderson <rth@redhat.com>
20561 * configure.ac: Determine whether -pthread or -lpthread is needed.
20562 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
20563 * Makefile.in, configure: Rebuild.
20565 2005-09-28 Richard Henderson <rth@redhat.com>
20567 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20568 * testsuite/libgomp.dg/omp-single-3.c: New test.
20570 2005-09-28 Diego Novillo <dnovillo@redhat.com>
20572 * testsuite/libgomp.dg/omp-single-2.c: New test.
20573 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20575 2005-09-27 Richard Henderson <rth@redhat.com>
20577 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20578 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20580 2005-09-27 Jakub Jelinek <jakub@redhat.com>
20582 * testsuite/libgomp.dg/omp-loop03.c: New test.
20584 2005-09-27 Diego Novillo <dnovillo@redhat.com>
20586 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20588 2005-09-27 Diego Novillo <dnovillo@redhat.com>
20590 * testsuite/libgomp.dg/omp-single-1.c: New test.
20591 * testsuite/libgomp.dg/shared-1.c: Return 0.
20592 Add prototype for abort.
20593 * testsuite/libgomp.dg/shared-2.c: Likewise.
20595 2005-09-26 Jakub Jelinek <jakub@redhat.com>
20597 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20600 2005-09-26 Diego Novillo <dnovillo@redhat.com>
20602 * testsuite/libgomp.dg/shared-1.c: New test.
20603 * testsuite/libgomp.dg/shared-2.c: New test.
20605 2005-09-24 Richard Henderson <rth@redhat.com>
20607 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20609 2005-09-24 Richard Henderson <rth@redhat.com>
20611 * iter.c (gomp_iter_static_next): Round up when computing number
20612 of iterations. Don't bother distributing a remainder equally.
20614 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20615 Don't call srand. Zero b before testing.
20618 2005-09-24 Jakub Jelinek <jakub@redhat.com>
20620 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20621 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20623 2005-09-23 Jakub Jelinek <jakub@redhat.com>
20625 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20626 without !$omp end do, followed immediately by subroutine end.
20628 2005-09-23 Diego Novillo <dnovillo@redhat.com>
20630 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20632 2005-09-22 Richard Henderson <rth@redhat.com>
20634 * critical.c (GOMP_critical_name_start): Change argument to void**.
20635 Reuse the pointer space if the mutex fits.
20636 (GOMP_critical_name_end): Likewise.
20637 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20638 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20639 (GOMP_critical_name_end): Likewise.
20640 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20641 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20643 2005-09-20 Richard Henderson <rth@redhat.com>
20645 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20646 (create_lock_lock): New.
20647 (initialize_critical): Initialize it.
20648 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20649 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20651 2005-09-20 Diego Novillo <dnovillo@redhat.com>
20653 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20655 2005-09-20 Diego Novillo <dnovillo@redhat.com>
20657 * testsuite/libgomp.dg/omp-loop01.c: New test.
20658 * testsuite/libgomp.dg/omp-loop02.c: New test.
20660 2005-09-20 Jakub Jelinek <jakub@redhat.com>
20662 * configure.ac (AC_PROG_FC): Add.
20663 (USE_FORTRAN): New automake conditional.
20664 * configure: Rebuilt.
20665 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20666 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20667 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20668 Add rules to build them.
20669 * Makefile.in: Rebuilt.
20670 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20671 OMP_NEST_LOCK_KIND.
20672 * libgomp.map: Add Fortran wrappers.
20673 * libgomp_f.h.in: New file.
20674 * omp_lib.h.in: New file.
20675 * omp_lib.f90.in: New file.
20676 * fortran.c: New file.
20677 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20678 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20679 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20680 libgfortran has been built.
20681 * testsuite/libgomp.fortran/fortran.exp: New file.
20682 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20683 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20684 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20685 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20686 * testsuite/libgomp.fortran/omp_hello.f: New test.
20687 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20688 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20689 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20690 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20691 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20692 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20693 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20694 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20696 2005-08-30 Richard Henderson <rth@redhat.com>
20698 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20699 function for when aliases are not usable.
20700 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20701 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20702 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20703 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20704 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20705 GOMP_loop_ordered_guided_next): Likewise.
20706 * ordered.c (GOMP_ordered_start): Likewise.
20708 2005-08-01 Diego Novillo <dnovillo@redhat.com>
20710 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20711 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20712 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20713 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20714 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20715 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20716 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20717 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20718 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20720 2005-07-07 Eric Christopher <echristo@redhat.com>
20721 Diego Novillo <dnovillo@redhat.com>
20723 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20724 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20726 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20727 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20728 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20729 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20730 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20731 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20732 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20734 2005-06-13 Diego Novillo <dnovillo@redhat.com>
20736 * TOPLEVEL.patch: Remove.
20738 2005-05-16 Richard Henderson <rth@redhat.com>
20740 * configure.ac: Test for clock_gettime.
20741 * config.h.in, configure: Rebuild.
20742 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20743 (omp_get_wtime): Use clock_gettime if available.
20744 (omp_get_wtick): Use clock_getres if available.
20746 2005-05-11 Richard Henderson <rth@redhat.com>
20748 * config/linux/ia64/futex.h: New file.
20749 * configure.tgt: Use it.
20751 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20753 2005-05-07 Richard Henderson <rth@redhat.com>
20755 * config/linux/powerpc/futex.h: New file.
20756 * configure.tgt: Use it.
20758 * config/linux/i486/futex.h: Merge ...
20759 * config/linux/x86_64/futex.h: ... into ...
20760 * config/linux/x86/futex.h: ... here.
20761 * configure.tgt: Update to match.
20763 2005-05-06 Richard Henderson <rth@redhat.com>
20765 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20766 * config/linux/i486/futex.h: Likewise.
20767 * config/linux/x86_64/futex.h: Likewise.
20769 * config/linux/lock.c: New file.
20770 * config/linux/omp-lock.h: New file.
20772 * critical.c, env.h: Don't include omp.h
20773 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20774 * config/posix/time.c: Likewise.
20775 * config/posix/omp-lock.h: New file.
20776 * libgomp.h: Include omp-lock.h and omp.h.
20777 * Makefile.am (nodist_include_HEADERS): New.
20779 * configure.ac (PERL): New.
20780 * mkomp_h.pl: New file.
20781 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20783 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20785 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20786 build directory. Re-add -march=i486 hack.
20788 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20789 (libgomp_link_flags): Remove.
20790 (libgomp_initialized): Remove.
20791 (libgomp_init): Don't protect from reinitialization. Copy code
20792 from libstdc++ for getting the multilib set correctly.
20794 2005-05-05 Richard Henderson <rth@redhat.com>
20796 * config/linux/alpha/futex.h: New file.
20797 * configure.tgt (alpha*-*-linux*): Use it.
20799 * config/posix/mutex.c: New file.
20800 * config/posix/sem.c: Use libgomp.h.
20802 * configure.tgt (x86_64-linux): Also test CC for -m32.
20803 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20805 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
20808 * Makefile.am (SUBDIRS): New.
20809 (libgomp_la_LDFLAGS): Add -lpthread.
20810 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20811 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20813 * libgomp_g.h: New file.
20814 * libgomp.h: Split out all public declarations to libgomp_g.h.
20815 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20816 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20817 * config/linux/sem.h: Likewise.
20818 * config/posix/sem.h: Likewise.
20820 * Makefile.am (AM_LDFLAGS): New.
20821 (libgomp_version_script): Split out from ...
20822 (libgomp_la_LDFLAGS): ... here.
20823 (libgomp_version_info): New.
20824 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20825 (LIBGOMP_ENABLE): New.
20826 (LIBGOMP_CHECK_LINKER_FEATURES): New.
20827 (LIBGOMP_ENABLE_SYMVERS): New.
20828 * configure.ac (AC_INIT): Version 1.0.
20829 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20830 (enable-linux-futex): Likewise. Rename from enable-futex.
20831 (libtool_VERSION): New.
20832 (LIBGOMP_ENABLE_SYMVERS): Use it.
20833 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20834 * Makefile.in, aclocal.m4, configure: Rebuild.
20836 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20837 (gomp_mutex_unlock_slow): Fix typo.
20838 * config/linux/sem.c: Similarly.
20839 (gomp_sem_post_slow): Fix typo.
20840 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20841 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20842 [__PIC__] (sys_futex0): Don't use tmp output in asm.
20844 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20845 (libgomp_la_LDFLAGS): Add top_srcdir to path.
20846 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20847 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
20848 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20849 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20850 LDFLAGS. Pull enable_futex check to top-level.
20851 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
20852 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20854 First attempt at real configury.
20855 * Makefile, config.h: Remove file.
20856 * Makefile.am, Makefile.in: New file.
20857 * acinclude.m4 aclocal.m4: New file.
20858 * configure.ac, configure.tgt, configure: New file.
20860 * config/posix/lock.c: Rename from sys-lock.c.
20861 * config/posix/mutex.h: Rename from sys-mutex.h.
20862 * config/posix/sem.c: Rename from sys-sem.c.
20863 * config/posix/sem.h: Rename from sys-sem.h.
20864 * config/posix/proc.c: Rename from sys-proc.c.
20865 * config/posix/time.c: Rename from sys-proc.c.
20867 * config/linux/mutex.c: New file.
20868 * config/linux/mutex.h: New file.
20869 * config/linux/sem.c: New file.
20870 * config/linux/sem.h: New file.
20871 * config/linux/i486/futex.h: New file.
20872 * config/linux/x86_64/futex.h: New file.
20874 2005-05-04 Richard Henderson <rth@redhat.com>
20876 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20877 * libgomp.h: Declare them.
20878 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20879 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20881 2005-05-04 Richard Henderson <rth@redhat.com>
20883 * libgomp-1 code drop
20885 2005-05-04 Richard Henderson <rth@redhat.com>
20887 * iter.c (gomp_iter_static_next): Return tri-state on 0.
20888 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20889 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20890 (gomp_iter_static_next): Update.
20891 (gomp_ordered_static_next): Update.
20892 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20893 (gomp_loop_ordered_static_start): Likewise. Exit early for a
20894 totally empty range.
20895 (gomp_loop_ordered_static_next): Refine test for calling
20896 gomp_ordered_static_next.
20897 * testsuite/ordered-1.c: Add case for more threads than iterations.
20899 * iter.c (gomp_iter_runtime_next_locked): Remove.
20900 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
20901 gomp_loop_guided_start, gomp_loop_ordered_static_start,
20902 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20903 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20904 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20905 gomp_loop_ordered_guided_next): Downcase name, make static, add
20906 an external alias with the old name.
20907 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20908 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20909 switch and call one of the above static functions.
20910 * libgomp.h: Update.
20912 * work.c (gomp_work_share_start): Lock the mutex for !first too.
20913 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20914 GOMP_loop_guided_start, GOMP_loop_runtime_start,
20915 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20916 GOMP_loop_ordered_guided_start): Update to match.
20917 * sections.c (GOMP_sections_start): Likewise.
20918 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20920 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20921 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20922 Use bounds check instead of modulus.
20923 (gomp_ordered_sync): Split out of GOMP_ordered_start.
20924 (gomp_ordered_last): Don't sync with ordered_owner here.
20925 (gomp_ordered_next): Likewise.
20926 (gomp_ordered_static_loop_next): Likewise.
20927 * loop.c, libgomp.h: Update to match.
20929 * libgomp.h (GOMP_barrier): Declare.
20931 * testsuite/barrier-1.c: New file.
20932 * testsuite/critical-1.c: New file.
20933 * testsuite/ordered-2.c: New file.
20934 * testsuite/ordered-1.c: New file.
20935 * testsuite/sections-1.c: New file.
20936 * testsuite/single-1.c: New file.
20937 * testsuite/Makefile (TESTS): Add them.
20939 2005-05-04 Richard Henderson <rth@redhat.com>
20941 * libgomp.h (struct gomp_work_share): Add ordered_owner.
20942 * loop.c (GOMP_loop_static_start): If not the startup thread,
20943 acquire the mutex to wait for initialization complete.
20944 (GOMP_loop_ordered_static_start): Likewise.
20945 (GOMP_loop_ordered_runtime_start): Likewise.
20946 (GOMP_loop_ordered_static_first): Remove.
20947 (GOMP_loop_ordered_dynamic_first): Remove.
20948 (GOMP_loop_ordered_guided_first): Remove.
20949 (GOMP_loop_ordered_runtime_first): Remove.
20950 * ordered.c (gomp_ordered_loop_first): Post to own release when
20951 we're the first thread.
20952 (gomp_ordered_loop_last): Wait on release if not owner.
20953 (gomp_ordered_loop_next): Likewise.
20954 (gomp_ordered_static_loop_init): New.
20955 (gomp_ordered_static_loop_next): Use ordered_owner.
20956 (GOMP_ordered_start): Likewise.
20957 * work.c (gomp_new_work_share): Initialize ordered_owner.
20959 2005-05-03 Richard Henderson <rth@redhat.com>
20961 * Makefile (OPT): New.
20964 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
20965 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
20966 * libgomp.h, libgomp.map, NOTES: Update to match.
20968 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
20969 Add initialized and thr members.
20970 (gomp_thread_start): Pause when initially spawned to wait for
20971 the whole team to be created.
20972 (gomp_team_start): Release team members at the end.
20974 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
20975 (f_foo_1): Use GOMP_loop_end.
20976 (f_foo_2): Use GOMP_loop_end_nowait.
20978 * testsuite/loop-2.c: New file.
20979 * testsuite/Makefile (TESTS): Add it.
20981 2005-05-03 Richard Henderson <rth@redhat.com>
20983 * iter.c (gomp_iter_static_next): Fix overflow check typo.
20984 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
20985 * team.c (new_team): Initialize oldest_live_gen to 1 if no
20986 initial work_share.
20988 * testsuite/Makefile: New file.
20989 * testsuite/loop-1.c: New file.
20991 2005-05-03 Richard Henderson <rth@redhat.com>
20993 Initial implementation and checkin.
20995 Copyright (C) 2005-2024 Free Software Foundation, Inc.
20997 Copying and distribution of this file, with or without modification,
20998 are permitted in any medium without royalty provided the copyright
20999 notice and this notice are preserved.