1 2024-01-24 Tobias Burnus <tburnus@baylibre.com>
2 Sandra Loosemore <sandra@codesourcery.com>
4 * libgomp.texi (Runtime Library Routines): Document
5 omp_pause_resource, omp_pause_resource_all and
6 omp_target_memcpy{,_rect}{,_async}.
8 2024-01-22 Tobias Burnus <tburnus@baylibre.com>
10 * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
11 support is no longer enabled by default.
12 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
14 2024-01-20 John David Anglin <danglin@gcc.gnu.org>
16 * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
17 timeout by 2 on hppa*-*-*.
19 2024-01-20 John David Anglin <danglin@gcc.gnu.org>
21 * testsuite/libgomp.c/simd-math-1.c: Don't run on
24 2024-01-17 Jakub Jelinek <jakub@redhat.com>
27 * testsuite/libgomp.c/bitint-1.c: New test.
29 2024-01-11 Julian Brown <julian@codesourcery.com>
31 * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
32 * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
33 * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
35 2024-01-10 Jakub Jelinek <jakub@redhat.com>
38 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
39 instead of \$(abs_top_srcdir)/testsuite/flock.
40 * configure: Regenerated.
42 2024-01-09 Julian Brown <julian@codesourcery.com>
44 * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
46 * testsuite/libgomp.c++/baseptrs-6.C: New test.
47 * testsuite/libgomp.c++/ind-base-1.C: New test.
48 * testsuite/libgomp.c++/ind-base-2.C: New test.
49 * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
50 * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
51 * testsuite/libgomp.c++/map-comma-1.C: New test.
52 * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
53 * testsuite/libgomp.c++/struct-ref-1.C: New test.
54 * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
55 * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
56 * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
58 2024-01-09 Jakub Jelinek <jakub@redhat.com>
61 * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
62 rather than $srcdir/testsuite/flock.
63 * configure: Regenerated.
65 2024-01-08 Thomas Schwinge <thomas@codesourcery.com>
67 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
68 'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
70 2024-01-08 Julian Brown <julian@codesourcery.com>
72 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
73 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
74 hsa_amd_memory_async_copy_rect_fn function pointers.
75 (init_hsa_runtime_functions): Add above functions, with
77 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
79 2024-01-08 Tobias Burnus <tobias@codesourcery.com>
81 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
82 (gcn_isa_name_len): Fix length.
83 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
85 2024-01-06 Tobias Burnus <tobias@codesourcery.com>
87 * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
88 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
89 omp_target_is_accessible.
90 (Environment Display Routine): Uncomment and add
91 omp_display_env description.
92 (OMP_DISPLAY_ENV): Update wording, add 'see also'.
94 2024-01-06 Mark Wielaard <mark@klomp.org>
96 * configure: Regenerate.
98 2024-01-03 Jakub Jelinek <jakub@redhat.com>
100 * libgomp.texi: Bump @copying's copyright year.
102 2023-12-21 Julian Brown <julian@codesourcery.com>
104 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
106 2023-12-20 Julian Brown <julian@codesourcery.com>
108 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
109 avoid out-of-bounds array checks in CUDA runtime.
110 (GOMP_OFFLOAD_memcpy3d): Likewise.
111 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
113 2023-12-18 Jakub Jelinek <jakub@redhat.com>
115 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
116 drop because of that unneeded target selector from other directives
117 and remove the aarch64 specific ones.
119 2023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
121 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
122 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
124 2023-12-15 Thomas Schwinge <thomas@codesourcery.com>
126 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
127 'dg-output's to 'target offload_device_nonshared_as'.
129 2023-12-15 Julian Brown <julian@codesourcery.com>
131 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
132 goacc_exit_data_internal, GOACC_enter_exit_data): Add
133 GOMP_MAP_STRUCT_UNORD support.
134 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
135 Detect incorrect use of variable indexing of arrays of structs.
136 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
137 GOMP_MAP_STRUCT_UNORD support.
138 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
139 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
140 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
141 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
143 2023-12-13 Julian Brown <julian@codesourcery.com>
145 * testsuite/libgomp.fortran/map-subarray.f90: New test.
146 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
147 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
148 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
149 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
150 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
151 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
152 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
153 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
154 descriptor-mapping changes. Remove XFAIL.
156 2023-12-13 Julian Brown <julian@codesourcery.com>
158 * target.c (gomp_map_pointer): Modify zero-length array section
160 (gomp_attach_pointer): Likewise.
161 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
162 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
163 "unassociated" pointers).
164 (gomp_map_vars_internal): Handle zero-sized struct members. Add
165 diagnostic for unmapped struct pointer members.
166 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
167 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
168 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
169 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
170 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
171 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
173 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
174 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
175 * testsuite/libgomp.c++/class-array-1.C: New test.
176 * testsuite/libgomp.c++/baseptrs-3.C: New test.
177 * testsuite/libgomp.c++/baseptrs-4.C: New test.
178 * testsuite/libgomp.c++/baseptrs-5.C: New test.
179 * testsuite/libgomp.c++/baseptrs-8.C: New test.
180 * testsuite/libgomp.c++/baseptrs-9.C: New test.
181 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
182 * testsuite/libgomp.c++/target-48.C: New test.
183 * testsuite/libgomp.c++/target-49.C: New test.
184 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
185 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
187 * testsuite/libgomp.c++/target-this-3.C: Likewise.
188 * testsuite/libgomp.c++/target-this-4.C: Likewise.
189 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
190 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
192 2023-12-13 Thomas Schwinge <thomas@codesourcery.com>
194 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
195 vs. '%ld' format string mismatch.
197 2023-12-13 Andrew Stubbs <ams@codesourcery.com>
198 Thomas Schwinge <thomas@codesourcery.com>
200 * allocator.c (MEMSPACE_ALLOC): Add PIN.
201 (MEMSPACE_CALLOC): Add PIN.
202 (MEMSPACE_REALLOC): Add PIN.
203 (MEMSPACE_FREE): Add PIN.
204 (MEMSPACE_VALIDATE): Add PIN.
205 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
206 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
207 (omp_aligned_calloc): Likewise.
208 (omp_realloc): Likewise.
209 (omp_free): Likewise.
210 * config/linux/allocator.c: New file.
211 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
212 (MEMSPACE_CALLOC): Add PIN.
213 (MEMSPACE_REALLOC): Add PIN.
214 (MEMSPACE_FREE): Add PIN.
215 (MEMSPACE_VALIDATE): Add PIN.
216 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
217 (MEMSPACE_CALLOC): Add PIN.
218 (MEMSPACE_REALLOC): Add PIN.
219 (MEMSPACE_FREE): Add PIN.
220 * libgomp.texi: Switch pinned trait to supported.
221 (MEMSPACE_VALIDATE): Add PIN.
222 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
223 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
224 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
225 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
227 2023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
229 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
230 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
231 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
233 2023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
235 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
236 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
238 2023-12-11 Tobias Burnus <tobias@codesourcery.com>
240 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
242 2023-12-08 Tobias Burnus <tobias@codesourcery.com>
244 * allocator.c (struct fort_alloc_splay_tree_key_s,
245 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
246 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
247 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
248 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
249 (GOMP_5.1.1): ... here.
250 * libgomp.texi (Impl. Status, Memory management): Update for
251 allocators/allocate directives.
252 * splay-tree.c: Handle splay_tree_static define to declare all
254 (splay_tree_lookup_node): New.
255 * splay-tree.h: Handle splay_tree_decl_only define.
256 (splay_tree_lookup_node): New prototype.
257 * target.c: Define splay_tree_static for 'reverse'.
258 * testsuite/libgomp.fortran/allocators-1.f90: New test.
259 * testsuite/libgomp.fortran/allocators-2.f90: New test.
260 * testsuite/libgomp.fortran/allocators-3.f90: New test.
261 * testsuite/libgomp.fortran/allocators-4.f90: New test.
262 * testsuite/libgomp.fortran/allocators-5.f90: New test.
264 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
266 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
267 (TEAM_ARENA_FREE): Likewise.
268 (TEAM_ARENA_END): Likewise.
269 (GCN_LOWLAT_HEAP): New.
270 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
271 (__gcn_lowlat_init): New prototype.
272 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
273 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
274 (TEAM_ARENA_FREE): Likewise.
275 (TEAM_ARENA_END): Likewise.
276 * plugin/plugin-gcn.c (lowlat_size): New variable.
277 (print_kernel_dispatch): Label the group_segment_size purpose.
278 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
279 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
280 (run_kernel): Use shadow; don't assume values.
281 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
282 * config/gcn/allocator.c: New file.
283 * libgomp.texi: Document low-latency implementation details.
285 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
287 * allocator.c (MEMSPACE_VALIDATE): New macro.
288 (omp_init_allocator): Use MEMSPACE_VALIDATE.
289 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
290 (omp_aligned_calloc): Likewise.
291 (omp_realloc): Likewise.
292 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
293 (MEMSPACE_VALIDATE): New macro.
294 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
295 * libgomp.texi: Document low-latency implementation details.
296 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
297 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
298 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
299 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
300 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
301 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
302 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
304 2023-12-06 Andrew Stubbs <ams@codesourcery.com>
305 Kwok Cheung Yeung <kcy@codesourcery.com>
306 Thomas Schwinge <thomas@codesourcery.com>
308 * allocator.c (MEMSPACE_ALLOC): New macro.
309 (MEMSPACE_CALLOC): New macro.
310 (MEMSPACE_REALLOC): New macro.
311 (MEMSPACE_FREE): New macro.
312 (predefined_alloc_mapping): New array. Add _Static_assert to match.
313 (ARRAY_SIZE): New macro.
314 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
315 Implement fall-backs for predefined allocators. Simplify existing
317 (omp_free): Use MEMSPACE_FREE.
318 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
319 predefined allocators. Simplify existing fall-backs.
320 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
321 Implement fall-backs for predefined allocators. Simplify existing
323 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
324 (__nvptx_lowlat_init): New prototype.
325 (gomp_nvptx_main): Call __nvptx_lowlat_init.
326 * libgomp.texi: Update memory space table.
327 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
328 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
329 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
330 * basic-allocator.c: New file.
331 * config/nvptx/allocator.c: New file.
332 * testsuite/libgomp.c/omp_alloc-1.c: New test.
333 * testsuite/libgomp.c/omp_alloc-2.c: New test.
334 * testsuite/libgomp.c/omp_alloc-3.c: New test.
335 * testsuite/libgomp.c/omp_alloc-4.c: New test.
336 * testsuite/libgomp.c/omp_alloc-5.c: New test.
337 * testsuite/libgomp.c/omp_alloc-6.c: New test.
339 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
341 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
342 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
343 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
344 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
345 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
346 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
347 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
348 * testsuite/libgomp.c/declare-variant-4.c: New.
350 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
352 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
354 * testsuite/libgomp.c/declare-variant-3.c: New.
355 * testsuite/libgomp.c/declare-variant-3.h: Extend.
357 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
359 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
360 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
361 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
362 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
363 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
364 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
365 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
366 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
367 'scan-offload-tree-dump' to
368 'only_for_offload_target amdgcn-amdhsa'.
369 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
370 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
371 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
372 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
373 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
375 2023-11-30 Thomas Schwinge <thomas@codesourcery.com>
377 * testsuite/libgomp.c/declare-variant-3-sm30.c:
378 'dg-additional-options -foffload=nvptx-none'.
379 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
380 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
381 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
382 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
383 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
385 2023-11-29 Thomas Schwinge <thomas@codesourcery.com>
387 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
388 'scan-offload-ipa-dump's to
389 'only_for_offload_target amdgcn-amdhsa'.
390 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
391 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
393 2023-11-24 Tobias Burnus <tobias@codesourcery.com>
395 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
398 2023-11-22 Thomas Schwinge <thomas@codesourcery.com>
400 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
401 (f75, f80, f): Add '__attribute__ ((noipa))'.
402 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
403 (gfx908, gfx90a, f): Likewise.
405 2023-11-15 Andrew Stubbs <ams@codesourcery.com>
406 Andrew Jenner <andrew@codesourcery.com>
408 * plugin/plugin-gcn.c (max_isa_vgprs): New.
409 (run_kernel): CDNA2 devices have more VGPRs.
411 2023-11-10 Tobias Burnus <tobias@codesourcery.com>
413 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
414 renamed section from TR11.
416 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
418 * config/linux/target-indirect.c: Move to...
419 * target-indirect.c: ...here.
421 2023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
423 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
424 * Makefile.in: Regenerate.
425 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
426 (GOMP_OFFLOAD_load_image): Add extra argument.
427 * libgomp.h (struct indirect_splay_tree_key_s): New.
428 (indirect_splay_tree_node, indirect_splay_tree,
429 indirect_splay_tree_key): New.
430 (indirect_splay_compare): New.
431 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
432 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
433 calls in target region and on indirect clause.
434 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
435 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
436 * oacc-host.c (host_load_image): Add extra argument.
437 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
438 enough, read host indirect functions table and pass to
440 * config/accel/target-indirect.c: New.
441 * config/linux/target-indirect.c: New.
442 * config/gcn/team.c (build_indirect_map): Add prototype.
443 (gomp_gcn_enter_kernel): Initialize support for indirect
444 function calls on GCN target.
445 * config/nvptx/team.c (build_indirect_map): Add prototype.
446 (gomp_nvptx_main): Initialize support for indirect function
447 calls on NVPTX target.
448 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
449 indirect functions count.
450 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
451 is high enough, build address translation table and copy it to target
453 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
455 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
456 is high enough, Build address translation table and copy it to target
458 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
459 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
460 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
462 2023-11-05 Jakub Jelinek <jakub@redhat.com>
464 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
467 2023-10-31 Thomas Schwinge <thomas@codesourcery.com>
469 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
470 'acc_map_data' variant.
472 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
474 * oacc-parallel.c (GOACC_data_start): Handle
475 'GOACC_FLAG_LOCAL_DEVICE'.
476 (GOACC_parallel_keyed): Simplify accordingly.
477 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
479 2023-10-25 Thomas Schwinge <thomas@codesourcery.com>
481 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
482 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
483 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
484 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
485 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
487 2023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
489 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
490 GOACC_FLAG_LOCAL_DEVICE case.
491 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
493 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
495 * Makefile.am: Handle Darwin rpaths.
496 * Makefile.in: Regenerate.
497 * configure: Regenerate.
498 * configure.ac: Handle Darwin rpaths
500 2023-10-20 Andrew Stubbs <ams@codesourcery.com>
502 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
503 (isa_hsa_name): Recognise gfx1030.
504 (isa_code): Likewise.
505 * team.c (defined): Remove s_endpgm.
507 2023-10-20 Tobias Burnus <tobias@codesourcery.com>
509 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
512 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
514 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
515 improve wording especially for Fortran; mention -fopenmp-simd.
516 (Enabling OpenACC): Minor cleanup; remove conditional compilation
519 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
521 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
522 Actually document what the function does.
523 (GCC_ACC_NOTIFY): Remove unused env var.
525 2023-10-15 Tobias Burnus <tobias@codesourcery.com>
527 * libgomp.texi: Replace most future tense by present tense.
529 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
531 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
532 dg-additional-options "-fdump-tree-gimple"; fix scan.
534 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
536 * libgomp.texi: Fix some typos.
537 (Memory Management Routines): Document remaining 5.x routines.
538 (Memory allocation): Make clear when the section applies.
540 2023-10-14 Tobias Burnus <tobias@codesourcery.com>
542 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
543 supports the allocate directive for stack variables.
544 * testsuite/libgomp.fortran/allocate-5.f90: New test.
545 * testsuite/libgomp.fortran/allocate-6.f90: New test.
546 * testsuite/libgomp.fortran/allocate-7.f90: New test.
547 * testsuite/libgomp.fortran/allocate-8.f90: New test.
549 2023-10-12 Tobias Burnus <tobias@codesourcery.com>
551 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
553 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
554 clarify MANDATORY behavior.
556 2023-10-12 Zhang, Jun <jun.zhang@intel.com>
558 * env.c (initialize_env): Use do_adjust_default_spincount.
559 * config/linux/x86/spincount.h: New file.
561 2023-10-08 Tobias Burnus <tobias@codesourcery.com>
563 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
565 2023-10-06 Tobias Burnus <tobias@codesourcery.com>
567 * libgomp.texi (Device Memory Routines): New.
569 2023-10-04 Tobias Burnus <tobias@codesourcery.com>
571 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
572 and that other target archs have no 'arch'/'isa' traits implemented.
574 2023-09-20 Tobias Burnus <tobias@codesourcery.com>
576 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
577 implemented for C only.
578 * testsuite/libgomp.c/allocate-4.c: New test.
579 * testsuite/libgomp.c/allocate-5.c: New test.
580 * testsuite/libgomp.c/allocate-6.c: New test.
582 2023-09-20 Jakub Jelinek <jakub@redhat.com>
585 * libgomp.texi: Mark decl attribute was added to the C++ attribute
586 syntax as implemented.
588 2023-09-19 Jakub Jelinek <jakub@redhat.com>
591 * env.c (initialize_env): Don't dereference environ if it is NULL.
594 2023-09-18 Richard Biener <rguenther@suse.de>
596 PR tree-optimization/111294
597 * team.c (gomp_team_start): Assert alloca size to avoid false
598 positive alloc-size diagnostic.
600 2023-09-12 Thomas Schwinge <thomas@codesourcery.com>
601 Chung-Lin Tang <cltang@codesourcery.com>
605 * configure.ac: Revert earlier changes, instead
606 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
607 * Makefile.in: Regenerate.
608 * configure: Likewise.
609 * testsuite/Makefile.in: Likewise.
610 * testsuite/lib/libgomp.exp (libgomp_init): Remove
611 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
612 If '--with-build-sysroot=[...]' was specified, use it for
614 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
615 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
616 (SYSROOT_CFLAGS_FOR_TARGET): Set.
617 * testsuite/libgomp.c++/c++.exp (lang_source_re)
618 (lang_include_flags): Set for build-tree testing.
619 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
620 (lang_include_flags): Likewise.
622 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
624 * libgomp.texi (Memory Management Routines): New; add documentation for
625 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
626 omp_get_default_allocator.
627 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
629 2023-09-07 Tobias Burnus <tobias@codesourcery.com>
631 * target.c (gomp_unload_device): Remove tailing whitespace.
633 2023-09-04 Tobias Burnus <tobias@codesourcery.com>
634 Thomas Schwinge <thomas@codesourcery.com>
636 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
638 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
640 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
642 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
644 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
645 * testsuite/libgomp.fortran/imperfect1.f90: New.
646 * testsuite/libgomp.fortran/imperfect2.f90: New.
647 * testsuite/libgomp.fortran/imperfect3.f90: New.
648 * testsuite/libgomp.fortran/imperfect4.f90: New.
649 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
650 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
651 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
652 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
654 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
656 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
657 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
658 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
659 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
660 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
661 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
662 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
663 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
664 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
665 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
667 2023-08-25 Sandra Loosemore <sandra@codesourcery.com>
669 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
670 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
671 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
672 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
673 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
674 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
675 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
676 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
677 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
678 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
679 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
680 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
681 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
683 2023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
685 * testsuite/lib/libgomp.exp: Add effective target.
686 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
689 2023-08-22 Tobias Burnus <tobias@codesourcery.com>
691 * libgomp.texi (OpenMP 5.2 status): Add depobj with
692 destroy-var argument as 'N'. Mark defaultmap with
693 'all' category as 'Y'.
695 2023-08-19 Tobias Burnus <tobias@codesourcery.com>
698 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
700 2023-08-17 Tobias Burnus <tobias@codesourcery.com>
703 * allocator.c (gomp_init_libnuma): Call numa_available; if
704 not available or not returning 0, disable libnuma usage.
706 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
708 * configure: Regenerate.
710 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
712 * configure: Regenerate.
714 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
716 * configure: Regenerate.
718 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
720 * configure: Regenerate.
722 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
724 * configure: Regenerate.
726 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
728 * configure: Regenerate.
730 2023-07-29 Tobias Burnus <tobias@codesourcery.com>
732 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
733 GOMP_OFFLOAD_CAP_SHARED_MEM.
734 (omp_target_memcpy_rect_copy): Likewise for lock condition.
735 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
737 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
738 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
739 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
741 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
743 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
744 GOMP_OFFLOAD_memcpy3d): New prototypes.
745 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
747 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
748 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
749 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
750 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
751 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
752 GOMP_OFFLOAD_memcpy3d): New.
753 * target.c (omp_target_memcpy_rect_worker):
754 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
755 Permit all device-to-device copyies; invoke new plugins for
756 2D and 3D copying when available.
757 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
758 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
759 * testsuite/libgomp.fortran/target-12.f90: Likewise.
760 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
762 2023-07-26 Tobias Burnus <tobias@codesourcery.com>
764 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
765 (Tasking Routines): Document omp_in_explicit_task.
766 (Implementation-defined ICV Initialization): Use @ref not @code.
768 2023-07-20 Tobias Burnus <tobias@codesourcery.com>
770 * libgomp.texi (OpenMP Runtime Library Routines):
771 Split long list by adding sections and moving routines there.
772 (OMP_ALLOCATORS): Fix typo.
774 2023-07-19 Tobias Burnus <tobias@codesourcery.com>
777 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
778 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
780 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
781 test file; tests are in non-rectangular-loop-1.f90.
782 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
783 testcase to use a non-constant step to retain the 'sorry' test.
784 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
786 2023-07-17 Tobias Burnus <tobias@codesoucery.com>
787 Chung-Lin Tang <cltang@codesourcery.com>
789 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
790 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
792 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
794 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
795 the traits. Add crossref to 'Memory allocation'.
796 (Memory allocation): Refer to OMP_ALLOCATOR for the available
797 traits and allocators/mem spaces; document the default value
798 for the pool_size trait.
800 2023-07-14 Tobias Burnus <tobias@codesourcery.com>
802 * allocator.c (omp_init_allocator): Check whether symbol from
803 dlopened libnuma is available before using libnuma for
806 2023-07-13 David Edelsohn <dje.gcc@gmail.com>
808 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
809 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
810 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
812 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
814 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
815 'Memory allocation' section which contains the full status.
816 (TR11): Remove differently worded duplicated entry.
818 2023-07-12 Tobias Burnus <tobias@codesourcery.com>
820 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
821 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
822 add GOMP_MEMKIND_LIBNUMA.
823 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
824 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
825 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
826 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
828 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
829 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
830 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
831 updated for libnuma usage.
832 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
833 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
835 2023-07-11 Tobias Burnus <tobias@codesourcery.com>
837 * allocator.c (omp_init_allocator): Use malloc for
838 omp_high_bw_mem_space when the memkind lib is unavailable
839 instead of returning omp_null_allocator.
840 * libgomp.texi (OpenMP 5.0): Fix typo.
841 (Memory allocation with libmemkind): Document implementation
844 2023-06-22 Tobias Burnus <tobias@codesourcery.com>
846 * libgomp.texi: Use @var for ICV vars.
847 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
848 document which ICV is set and which scope the ICV has; extend/cleanup
850 (Implementation-defined ICV Initialization): New.
851 (nvptx): Document the implementation-defined used per-warp stack size.
853 2023-06-19 Thomas Schwinge <thomas@codesourcery.com>
855 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
858 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
860 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
861 as expected dg-output.
863 2023-06-19 Tobias Burnus <tobias@codesourcery.com>
866 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
867 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
868 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
869 * testsuite/libgomp.c/target-19.c: Update expected value.
870 * testsuite/libgomp.c++/target-18.C: Likewise.
871 * testsuite/libgomp.c++/target-19.C: Likewise.
872 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
873 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
874 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
876 2023-06-16 Tobias Burnus <tobias@codesourcery.com>
878 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
879 gomp_init_targets_once was called before using default-device-var.
880 * testsuite/libgomp.c/target-55.c: New test.
881 * testsuite/libgomp.c/target-55a.c: New test.
883 2023-06-15 Tobias Burnus <tobias@codesourcery.com>
885 * env.c (gomp_def_allocator_envvar): New var.
886 (parse_allocator): Handle OpenMP 5.1 syntax.
888 (omp_display_env): Output gomp_def_allocator_envvar
889 for an allocator with traits.
890 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
891 OMP_DISPLAY_AFFINITY): New.
892 * testsuite/libgomp.c/allocator-1.c: New test.
893 * testsuite/libgomp.c/allocator-2.c: New test.
894 * testsuite/libgomp.c/allocator-3.c: New test.
895 * testsuite/libgomp.c/allocator-4.c: New test.
896 * testsuite/libgomp.c/allocator-5.c: New test.
897 * testsuite/libgomp.c/allocator-6.c: New test.
899 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
901 * target.c (resolve_device): Align a
902 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
903 * testsuite/libgomp.c/target-51.c: Adjust.
905 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
907 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
909 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
911 * testsuite/libgomp.c/simd-math-1.c: Remove
912 '-foffload-options=-lm'.
913 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
915 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
918 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
920 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
921 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
924 2023-06-14 Thomas Schwinge <thomas@codesourcery.com>
926 * testsuite/libgomp.c/target-51.c: Fix typo.
928 2023-06-14 Tobias Burnus <tobias@codesourcery.com>
930 * env.c (gomp_default_icv_values): Init default_device_var to
931 an nonconforming value - INT_MIN.
932 (initialize_env): After env-var parsing, set default_device_var to
933 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
934 (omp_display_env): If default_device_var is INT_MIN, call
935 gomp_init_targets_once.
936 * icv-device.c (omp_get_default_device): Likewise.
937 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
938 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
939 * target.c (resolve_device): Improve error message device-num < 0
940 with 'mandatory' and no no-host devices available.
941 (gomp_target_init): Set default-device-var if INT_MIN.
942 * testsuite/libgomp.c/target-48.c: New test.
943 * testsuite/libgomp.c/target-49.c: New test.
944 * testsuite/libgomp.c/target-50.c: New test.
945 * testsuite/libgomp.c/target-50a.c: New test.
946 * testsuite/libgomp.c/target-51.c: New test.
947 * testsuite/libgomp.c/target-52.c: New test.
948 * testsuite/libgomp.c/target-53.c: New test.
949 * testsuite/libgomp.c/target-54.c: New test.
951 2023-06-13 Tobias Burnus <tobias@codesourcery.com>
954 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
955 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
957 2023-06-12 Tobias Burnus <tobias@codesourcery.com>
959 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
960 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
961 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
963 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
964 changed error message.
965 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
966 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
967 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
968 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
969 extend testcase to check that data is copied when needed.
970 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
971 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
973 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
974 Tobias Burnus <tobias@codesourcery.com>
976 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
977 also for non-offload_device targets; check that it runs
978 successfully for those and for all until a checkpoint for all
979 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
980 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
981 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
982 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
983 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
984 add missing vars to map clause.
986 2023-06-06 Tobias Burnus <tobias@codesourcery.com>
988 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
989 unified_address requirement as supported.
990 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
991 'unified_address' from the not-supported requirements.
993 2023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
994 Tobias Burnus <tobias@codesourcery.com>
996 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
997 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
998 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
1000 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
1001 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
1002 Emit runtime error if memory region not present.
1003 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
1004 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
1005 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
1006 * testsuite/libgomp.fortran/target-present-1.f90: New test.
1007 * testsuite/libgomp.fortran/target-present-2.f90: New test.
1008 * testsuite/libgomp.fortran/target-present-3.f90: New test.
1010 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1013 * testsuite/lib/libgomp.exp: 'flock' through stdout.
1014 * testsuite/flock: New.
1015 * configure.ac (FLOCK): Point to that if no 'flock' available, but
1017 * configure: Regenerate.
1019 2023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1021 * configure.ac (PERL): Remove.
1022 * configure: Regenerate.
1023 * Makefile.in: Likewise.
1024 * testsuite/Makefile.in: Likewise.
1026 2023-06-01 Tobias Burnus <tobias@codesourcery.com>
1028 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1030 2023-05-26 Tobias Burnus <tobias@codesourcery.com>
1032 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1034 2023-05-21 Tobias Burnus <tobias@codesourcery.com>
1037 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1038 * config/nvptx/target.c (GOMP_teams4): Likewise.
1039 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1040 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1041 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1042 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1044 2023-05-19 Jakub Jelinek <jakub@redhat.com>
1047 * configure.ac (link_gomp): Include also $DL_LIBS.
1048 * configure: Regenerated.
1050 2023-05-17 Tobias Burnus <tobias@codesourcery.com>
1052 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1054 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1055 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1056 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1057 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1059 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1062 * configure.ac: Look for 'flock'.
1063 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1064 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1065 * testsuite/lib/libgomp.exp: ... but here, instead.
1066 (libgomp_load): Override for parallel testing.
1067 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1068 * configure: Regenerate.
1069 * Makefile.in: Regenerate.
1070 * testsuite/Makefile.in: Regenerate.
1072 2023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1073 Thomas Schwinge <thomas@codesourcery.com>
1076 * testsuite/Makefile.am (PWD_COMMAND): New variable.
1077 (%/site.exp): New target.
1078 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1079 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1080 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1082 (check_DEJAGNU_libgomp_targets): New variables.
1083 ($(check_DEJAGNU_libgomp_targets)): New target.
1084 ($(check_DEJAGNU_libgomp_targets)): New dependency.
1085 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1086 * testsuite/Makefile.in: Regenerate.
1087 * testsuite/lib/libgomp.exp: For parallel testing,
1088 'load_file ../libgomp-test-support.exp'.
1090 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1093 * configure.ac: 'AC_SUBST(CXX)'.
1094 * configure: Regenerate.
1095 * Makefile.in: Likewise.
1096 * testsuite/Makefile.in: Likewise.
1097 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1098 (GFORTRAN_UNDER_TEST): Set.
1099 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1100 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1101 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1102 * testsuite/libgomp.fortran/fortran.exp: Use
1103 'GFORTRAN_UNDER_TEST'.
1104 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1106 2023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1109 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1111 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1112 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1113 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1114 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1116 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1117 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1118 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1121 2023-05-12 Tobias Burnus <tobias@codesourcery.com>
1124 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1125 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1127 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1129 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1130 'lang_library_path' into a list of 'lang_library_paths'.
1131 * testsuite/libgomp.c++/c++.exp: Adjust.
1132 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1133 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1135 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1137 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1139 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1140 at 'lang_test_file_found'.
1141 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1142 'return' early if not able to test. Simplify 'ld_library_path' setup.
1143 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1144 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1145 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1147 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1149 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1151 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1152 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1153 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1155 2023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1157 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1158 * testsuite/libgomp.c/c.exp: Likewise.
1159 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1160 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1161 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1162 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1163 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1165 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1167 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1168 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1169 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1170 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1171 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1173 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1174 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1175 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1176 'lang_test_file_found' instead of 'lang_test_file'.
1178 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1180 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1182 * testsuite/libgomp.c++/c++.exp: Likewise.
1183 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1185 2023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1187 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1188 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1190 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1192 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1193 of 'libstdcxx_includes'.
1194 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1196 2023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1198 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1199 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1200 * libgomp.h (gomp_target_rev): Adjust.
1201 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1202 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1203 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1204 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1205 (rev_off_host_to_dev_cpy): Remove.
1206 (GOMP_OFFLOAD_run): Adjust.
1208 2023-05-04 Julian Brown <julian@codesourcery.com>
1211 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1212 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1213 vector length warning.
1214 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1215 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1216 missing copyin/copyout variable. Ignore vector length warnings.
1217 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1218 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1219 vector length warnings.
1220 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1222 2023-04-28 Julian Brown <julian@codesourcery.com>
1225 * testsuite/libgomp.fortran/pr109622.f90: New test.
1226 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1227 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1229 2023-04-25 Tobias Burnus <tobias@codesourcery.com>
1231 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1232 * testsuite/libgomp.c/scan-23.c: New test.
1233 * testsuite/libgomp.fortran/scan-2.f90: New test.
1235 2023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1237 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1238 weak_undefined options.
1240 2023-03-24 Tobias Burnus <tobias@codesourcery.com>
1242 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1244 2023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1247 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1250 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1253 * target.c (gomp_map_vars_internal): Allow for
1254 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1255 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1256 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1257 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1258 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1260 (gomp_offload_free): Remove.
1261 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1262 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1263 (cuda_free_argmem): Remove.
1264 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1267 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1269 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1270 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1273 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1275 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1276 'GOMP_MAP_IF_PRESENT'.
1277 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1278 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1279 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1280 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1281 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1283 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1285 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1287 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1290 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1292 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1293 another aspect of OpenACC 'async' semantics.
1295 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1297 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1299 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1300 Verify 'acc_ev_alloc', 'acc_ev_free'.
1302 2023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1305 * env.c (wait_policy): Initialize to -1.
1306 (initialize_icvs): Initialize icvs->wait_policy to -1.
1307 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1309 2023-03-08 Tobias Burnus <tobias@codesourcery.com>
1311 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1313 2023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1314 Paul-Antoine Arras <pa@codesourcery.com>
1316 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1318 2023-03-01 Tobias Burnus <tobias@codesourcery.com>
1320 PR middle-end/108546
1321 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1322 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1324 2023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1326 * testsuite/libgomp.fortran/alloc-10.f90: Use
1327 '-Wno-complain-wrong-lang'.
1328 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1329 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1330 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1331 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1332 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1333 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1334 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1335 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1336 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1337 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1339 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1341 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1342 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1343 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1344 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1347 2023-02-16 Jakub Jelinek <jakub@redhat.com>
1349 * libgomp.texi: Fix typos - theads -> threads.
1351 2023-02-16 Jakub Jelinek <jakub@redhat.com>
1353 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1354 comment typo and improve its wording.
1356 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
1358 * target.c (gomp_target_rev): Dereference ptr
1359 to get device address.
1360 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1361 for unallocated allocatable.
1363 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
1365 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1367 (GOMP_target_enter_exit_data): If the next map item is
1368 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1369 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1371 2023-02-09 Tobias Burnus <tobias@codesourcery.com>
1374 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1375 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1376 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1377 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1378 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1379 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1381 2023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1383 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1384 offloading compilation.
1386 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
1388 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1389 freeing not allocated memory.
1390 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1392 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
1394 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1396 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1397 reverse-offload requirement.
1399 2023-02-02 Andrew Stubbs <ams@codesourcery.com>
1401 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1402 (DEFAULT_TEAM_ARENA_SIZE): New define.
1403 (struct heap): Move to this file.
1404 (struct kernargs_abi): Likewise.
1405 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1407 * libgomp.h: Include libgomp-gcn.h.
1408 (TEAM_ARENA_SIZE): Remove.
1409 (team_malloc): Update the error message.
1410 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1411 struct kernargs_abi.
1412 (struct agent_info): Rename team arenas to ephemeral memories.
1413 (struct team_arena_list): Rename ....
1414 (struct ephemeral_memories_list): to this.
1415 (struct heap): Delete.
1416 (team_arena_size): New variable.
1417 (stack_size): New variable.
1418 (print_kernel_dispatch): Update debug messages.
1419 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1420 Read GCN_STACK_SIZE.
1421 (get_team_arena): Rename ...
1422 (configure_ephemeral_memories): ... to this, and set up stacks.
1423 (release_team_arena): Rename ...
1424 (release_ephemeral_memories): ... to this.
1425 (destroy_team_arenas): Rename ...
1426 (destroy_ephemeral_memories): ... to this.
1427 (create_kernel_dispatch): Add num_threads parameter.
1428 Adjust for kernargs_abi refactor and ephemeral memories.
1429 (release_kernel_dispatch): Adjust for ephemeral memories.
1430 (run_kernel): Pass thread-count to create_kernel_dispatch.
1431 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1432 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1434 2023-02-02 Tobias Burnus <tobias@codesourcery.com>
1436 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1438 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
1440 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1441 usage, remove unused -fdump-tree-original.
1442 * testsuite/libgomp.fortran/allocate-4.f90: New.
1444 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
1446 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1447 (GCN): Add item about 'omp requires'.
1448 (nvptx): Likewise; add item about reverse offload.
1450 2023-01-27 Tobias Burnus <tobias@codesourcery.com>
1453 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1455 2023-01-23 Tobias Burnus <tobias@codesourcery.com>
1457 * libgomp.texi (OpenMP 5.0): Set non-rectangular
1458 loop nest back to 'P' as Fortran support is incomplete.
1460 2023-01-19 Jakub Jelinek <jakub@redhat.com>
1462 PR middle-end/108459
1463 * testsuite/libgomp.c/pr108459.c: New test.
1465 2023-01-17 Martin Liska <mliska@suse.cz>
1467 * Makefile.in: Regenerate.
1468 * configure: Regenerate.
1470 2023-01-07 LIU Hao <lh_mouse@126.com>
1472 PR middle-end/108300
1473 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1476 2023-01-05 Jakub Jelinek <jakub@redhat.com>
1479 * testsuite/libgomp.c++/pr108286.C: New test.
1481 2023-01-02 Jakub Jelinek <jakub@redhat.com>
1483 * libgomp.texi: Bump @copying's copyright year.
1485 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1488 * config/nvptx/bar.c (generation_to_barrier): Remove.
1489 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1490 (GOMP_WAIT_H): Remove.
1491 (#include "../linux/bar.c"): Remove.
1492 (gomp_barrier_wait_end): New function.
1493 (gomp_barrier_wait): Likewise.
1494 (gomp_barrier_wait_last): Likewise.
1495 (gomp_team_barrier_wait_end): Likewise.
1496 (gomp_team_barrier_wait): Likewise.
1497 (gomp_team_barrier_wait_final): Likewise.
1498 (gomp_team_barrier_wait_cancel_end): Likewise.
1499 (gomp_team_barrier_wait_cancel): Likewise.
1500 (gomp_team_barrier_cancel): Likewise.
1501 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1502 (gomp_barrier_init): Remove init of waiters, lock fields.
1503 (gomp_team_barrier_wake): Remove prototype, add new static inline
1506 2022-12-21 Jakub Jelinek <jakub@redhat.com>
1509 * testsuite/libgomp.c++/pr108180.C: New test.
1511 2022-12-16 Tobias Burnus <tobias@codesourcery.com>
1513 PR libfortran/108056
1514 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1515 accidentally added file.
1517 2022-12-15 Tobias Burnus <tobias@codesourcery.com>
1519 PR libfortran/108056
1520 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1522 2022-12-14 Julian Brown <julian@codesourcery.com>
1524 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1527 2022-12-10 Tobias Burnus <tobias@codesourcery.com>
1529 * libgomp.h (struct target_mem_desc): Predeclare; move
1530 below after 'reverse_splay_tree_node' and add rev_array
1532 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1533 (reverse_splay_tree_node, reverse_splay_tree,
1534 reverse_splay_tree_key): New typedef.
1535 (struct gomp_device_descr): Add mem_map_rev member.
1536 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1537 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1538 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1539 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1540 splay_tree_callback but returning int not void.
1541 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1542 taking splay_tree_callback_stop as argument.
1543 * splay-tree.c (splay_tree_foreach_internal_lazy,
1544 splay_tree_foreach_lazy): New; but early exit if callback returns
1546 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1547 (gomp_map_lookup_rev): New.
1548 (gomp_load_image_to_device): Handle reverse-offload function
1550 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1551 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1552 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1553 gomp_map_cdata_lookup): New auxiliary structs and functions for
1555 (gomp_target_rev): Implement reverse offloading and its mapping.
1556 (gomp_target_init): Init current_device.mem_map_rev.root.
1557 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1558 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1559 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1560 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1561 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1562 mapping of on-device allocated variables.
1564 2022-12-09 Tobias Burnus <tobias@codesourcery.com>
1566 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1567 item about 'align'; mark clause as 'Y' and directive as 'N'.
1568 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1569 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1571 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1573 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1574 allow processing of device-specific values.
1575 (omp_set_teams_thread_limit): Likewise.
1577 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1578 (omp_set_teams_thread_limit): Likewise.
1580 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1582 (omp_set_teams_thread_limit): Likewise.
1583 * icv.c (omp_set_teams_thread_limit): Removed.
1584 (omp_get_teams_thread_limit): Likewise.
1586 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1587 to the limitation of the number of teams.
1588 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1589 the number of teams by twice the number of compute units.
1590 (parse_target_attributes): Limit the number of teams on gcn offload
1592 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1594 (gomp_load_image_to_device): Added a size check for the ICVs struct
1596 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1597 copy back the ICV values from device to host.
1598 (GOMP_target_ext): Update the number of teams and threads in the kernel
1599 args also considering device-specific values.
1600 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1601 of OMP_TEAMS_THREAD_LIMIT from the environment.
1602 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1603 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1604 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1605 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1606 * testsuite/libgomp.fortran/icv-5.f90: New test.
1607 * testsuite/libgomp.fortran/icv-6.f90: New test.
1609 2022-12-06 Tobias Burnus <tobias@codesourcery.com>
1611 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1612 (TR11): Add missing '@tab N @tab'.
1614 2022-11-30 Tobias Burnus <tobias@codesourcery.com>
1616 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1618 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1620 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1621 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1622 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1623 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1624 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1625 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1626 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1628 2022-11-28 Tobias Burnus <tobias@codesourcery.com>
1630 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1632 2022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1634 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1635 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1636 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1637 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1639 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
1641 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1642 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1643 as valid and the code having no reverse-offload code.
1644 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1646 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
1648 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1649 and status for Technical Report (TR) 11.
1651 2022-11-21 Tobias Burnus <tobias@codesourcery.com>
1653 * config/gcn/libgomp-gcn.h (struct output):
1654 Remove 'msg_u64' from the union, change
1655 value_u64[2] to value_u64[6].
1656 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1657 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1660 2022-11-19 Tobias Burnus <tobias@codesourcery.com>
1662 * config/gcn/libgomp-gcn.h: New file; contains
1663 struct output, declared previously in plugin-gcn.c.
1664 * config/gcn/target.c: Include it.
1665 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1666 (GOMP_target_ext): Handle reverse offload.
1667 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1668 (struct kernargs): Replace struct def by the one
1669 from libgomp-gcn.h for output_data.
1670 (process_reverse_offload): New.
1671 (console_output): Call it.
1673 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
1674 Andrew Stubbs <ams@codesourcery.com>
1676 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1677 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1679 2022-11-14 Martin Liska <mliska@suse.cz>
1682 2022-11-14 Martin Liska <mliska@suse.cz>
1684 * doc/amd-radeon-gcn.rst: New file.
1685 * doc/conf.py: New file.
1686 * doc/copyright.rst: New file.
1687 * doc/cuda-streams-usage.rst: New file.
1688 * doc/enabling-openacc.rst: New file.
1689 * doc/enabling-openmp.rst: New file.
1690 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1691 * doc/first-invocation-openacc-library-api.rst: New file.
1692 * doc/funding.rst: New file.
1693 * doc/general-public-license-3.rst: New file.
1694 * doc/gnu-free-documentation-license.rst: New file.
1695 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1696 * doc/index.rst: New file.
1697 * doc/indices-and-tables.rst: New file.
1698 * doc/introduction.rst: New file.
1699 * doc/memory-allocation-with-libmemkind.rst: New file.
1700 * doc/nvptx.rst: New file.
1701 * doc/offload-target-specifics.rst: New file.
1702 * doc/openacc-environment-variables.rst: New file.
1703 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1704 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1705 * doc/openacc-environment-variables/accproflib.rst: New file.
1706 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1707 * doc/openacc-introduction.rst: New file.
1708 * doc/openacc-library-and-environment-variables.rst: New file.
1709 * doc/openacc-library-interoperability.rst: New file.
1710 * doc/openacc-profiling-interface.rst: New file.
1711 * doc/openacc-runtime-library-routines.rst: New file.
1712 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1713 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1714 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1715 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1716 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1717 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1718 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1719 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1720 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1721 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1722 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1723 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1724 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1725 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1726 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1727 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1728 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1729 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1730 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1731 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1732 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1733 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1734 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1735 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1736 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1737 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1738 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1739 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1740 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1741 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1742 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1743 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1744 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1745 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1746 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1747 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1748 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1749 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1750 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1751 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1752 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1753 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1754 * doc/openmp-context-selectors.rst: New file.
1755 * doc/openmp-environment-variables.rst: New file.
1756 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1757 * doc/openmp-environment-variables/gompdebug.rst: New file.
1758 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1759 * doc/openmp-environment-variables/gompspincount.rst: New file.
1760 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1761 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1762 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1763 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1764 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1765 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1766 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1767 * doc/openmp-environment-variables/ompnested.rst: New file.
1768 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1769 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1770 * doc/openmp-environment-variables/ompplaces.rst: New file.
1771 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1772 * doc/openmp-environment-variables/ompschedule.rst: New file.
1773 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1774 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1775 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1776 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1777 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1778 * doc/openmp-implementation-specifics.rst: New file.
1779 * doc/openmp-implementation-status.rst: New file.
1780 * doc/openmp-implementation-status/openmp-45.rst: New file.
1781 * doc/openmp-implementation-status/openmp-50.rst: New file.
1782 * doc/openmp-implementation-status/openmp-51.rst: New file.
1783 * doc/openmp-implementation-status/openmp-52.rst: New file.
1784 * doc/openmp-runtime-library-routines.rst: New file.
1785 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1786 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1787 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1788 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1789 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1790 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1791 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1792 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1793 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1794 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1795 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1796 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1797 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1798 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1799 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1800 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1801 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1802 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1803 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1804 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1805 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1806 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1807 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1808 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1809 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1810 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1811 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1812 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1813 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1814 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1815 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1816 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1817 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1818 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1819 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1820 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1821 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1822 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1823 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1824 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1825 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1826 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1827 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1828 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1829 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1830 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1831 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1832 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1833 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1834 * doc/reporting-bugs.rst: New file.
1835 * doc/the-libgomp-abi.rst: New file.
1836 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1837 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1838 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1839 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1841 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1842 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1843 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1844 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1845 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1846 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1847 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1848 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1849 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1850 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1851 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1853 2022-11-14 Martin Liska <mliska@suse.cz>
1856 2022-11-14 Martin Liska <mliska@suse.cz>
1858 * Makefile.in: Support Sphinx based documentation.
1860 2022-11-14 Martin Liska <mliska@suse.cz>
1863 2022-11-14 Martin Liska <mliska@suse.cz>
1865 * libgomp.texi: Removed.
1867 2022-11-14 Martin Liska <mliska@suse.cz>
1870 2022-11-14 Martin Liska <mliska@suse.cz>
1872 * Makefile.in: Support --with-sphinx-build.
1873 * configure.ac: Likewise..
1874 * configure: Regenerate.
1876 2022-11-14 Martin Liska <mliska@suse.cz>
1879 2022-11-09 Martin Liska <mliska@suse.cz>
1881 * Makefile.in: Build info pages conditionally.
1883 2022-11-14 Martin Liska <mliska@suse.cz>
1886 2022-11-14 Martin Liska <mliska@suse.cz>
1888 * doc/amd-radeon-gcn.rst:
1889 Add trailing newline.
1890 * doc/copyright.rst:
1891 Add trailing newline.
1892 * doc/cuda-streams-usage.rst:
1893 Add trailing newline.
1894 * doc/enabling-openacc.rst:
1895 Add trailing newline.
1896 * doc/enabling-openmp.rst:
1897 Add trailing newline.
1898 * doc/first-invocation-nvidia-cublas-library-api.rst:
1899 Add trailing newline.
1900 * doc/first-invocation-openacc-library-api.rst:
1901 Add trailing newline.
1903 Add trailing newline.
1904 * doc/general-public-license-3.rst:
1905 Add trailing newline.
1906 * doc/gnu-free-documentation-license.rst:
1907 Add trailing newline.
1908 * doc/implementation-status-and-implementation-defined-behavior.rst:
1909 Add trailing newline.
1911 Add trailing newline.
1912 * doc/indices-and-tables.rst:
1913 Add trailing newline.
1914 * doc/introduction.rst:
1915 Add trailing newline.
1916 * doc/memory-allocation-with-libmemkind.rst:
1917 Add trailing newline.
1919 Add trailing newline.
1920 * doc/offload-target-specifics.rst:
1921 Add trailing newline.
1922 * doc/openacc-environment-variables.rst:
1923 Add trailing newline.
1924 * doc/openacc-environment-variables/accdevicenum.rst:
1925 Add trailing newline.
1926 * doc/openacc-environment-variables/accdevicetype.rst:
1927 Add trailing newline.
1928 * doc/openacc-environment-variables/accproflib.rst:
1929 Add trailing newline.
1930 * doc/openacc-environment-variables/gccaccnotify.rst:
1931 Add trailing newline.
1932 * doc/openacc-introduction.rst:
1933 Add trailing newline.
1934 * doc/openacc-library-and-environment-variables.rst:
1935 Add trailing newline.
1936 * doc/openacc-library-interoperability.rst:
1937 Add trailing newline.
1938 * doc/openacc-profiling-interface.rst:
1939 Add trailing newline.
1940 * doc/openacc-runtime-library-routines.rst:
1941 Add trailing newline.
1942 * doc/openacc-runtime-library-routines/accasynctest.rst:
1943 Add trailing newline.
1944 * doc/openacc-runtime-library-routines/accasynctestall.rst:
1945 Add trailing newline.
1946 * doc/openacc-runtime-library-routines/accattach.rst:
1947 Add trailing newline.
1948 * doc/openacc-runtime-library-routines/acccopyin.rst:
1949 Add trailing newline.
1950 * doc/openacc-runtime-library-routines/acccopyout.rst:
1951 Add trailing newline.
1952 * doc/openacc-runtime-library-routines/acccreate.rst:
1953 Add trailing newline.
1954 * doc/openacc-runtime-library-routines/accdelete.rst:
1955 Add trailing newline.
1956 * doc/openacc-runtime-library-routines/accdetach.rst:
1957 Add trailing newline.
1958 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
1959 Add trailing newline.
1960 * doc/openacc-runtime-library-routines/accfree.rst:
1961 Add trailing newline.
1962 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
1963 Add trailing newline.
1964 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
1965 Add trailing newline.
1966 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
1967 Add trailing newline.
1968 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
1969 Add trailing newline.
1970 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
1971 Add trailing newline.
1972 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
1973 Add trailing newline.
1974 * doc/openacc-runtime-library-routines/accgetproperty.rst:
1975 Add trailing newline.
1976 * doc/openacc-runtime-library-routines/acchostptr.rst:
1977 Add trailing newline.
1978 * doc/openacc-runtime-library-routines/accinit.rst:
1979 Add trailing newline.
1980 * doc/openacc-runtime-library-routines/accispresent.rst:
1981 Add trailing newline.
1982 * doc/openacc-runtime-library-routines/accmalloc.rst:
1983 Add trailing newline.
1984 * doc/openacc-runtime-library-routines/accmapdata.rst:
1985 Add trailing newline.
1986 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
1987 Add trailing newline.
1988 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
1989 Add trailing newline.
1990 * doc/openacc-runtime-library-routines/accondevice.rst:
1991 Add trailing newline.
1992 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
1993 Add trailing newline.
1994 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
1995 Add trailing newline.
1996 * doc/openacc-runtime-library-routines/accproflookup.rst:
1997 Add trailing newline.
1998 * doc/openacc-runtime-library-routines/accprofregister.rst:
1999 Add trailing newline.
2000 * doc/openacc-runtime-library-routines/accprofunregister.rst:
2001 Add trailing newline.
2002 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2003 Add trailing newline.
2004 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2005 Add trailing newline.
2006 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2007 Add trailing newline.
2008 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2009 Add trailing newline.
2010 * doc/openacc-runtime-library-routines/accshutdown.rst:
2011 Add trailing newline.
2012 * doc/openacc-runtime-library-routines/accunmapdata.rst:
2013 Add trailing newline.
2014 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2015 Add trailing newline.
2016 * doc/openacc-runtime-library-routines/accupdateself.rst:
2017 Add trailing newline.
2018 * doc/openacc-runtime-library-routines/accwait.rst:
2019 Add trailing newline.
2020 * doc/openacc-runtime-library-routines/accwaitall.rst:
2021 Add trailing newline.
2022 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2023 Add trailing newline.
2024 * doc/openacc-runtime-library-routines/accwaitasync.rst:
2025 Add trailing newline.
2026 * doc/openmp-context-selectors.rst:
2027 Add trailing newline.
2028 * doc/openmp-environment-variables.rst:
2029 Add trailing newline.
2030 * doc/openmp-environment-variables/gompcpuaffinity.rst:
2031 Add trailing newline.
2032 * doc/openmp-environment-variables/gompdebug.rst:
2033 Add trailing newline.
2034 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2035 Add trailing newline.
2036 * doc/openmp-environment-variables/gompspincount.rst:
2037 Add trailing newline.
2038 * doc/openmp-environment-variables/gompstacksize.rst:
2039 Add trailing newline.
2040 * doc/openmp-environment-variables/ompcancellation.rst:
2041 Add trailing newline.
2042 * doc/openmp-environment-variables/ompdefaultdevice.rst:
2043 Add trailing newline.
2044 * doc/openmp-environment-variables/ompdisplayenv.rst:
2045 Add trailing newline.
2046 * doc/openmp-environment-variables/ompdynamic.rst:
2047 Add trailing newline.
2048 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2049 Add trailing newline.
2050 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2051 Add trailing newline.
2052 * doc/openmp-environment-variables/ompnested.rst:
2053 Add trailing newline.
2054 * doc/openmp-environment-variables/ompnumteams.rst:
2055 Add trailing newline.
2056 * doc/openmp-environment-variables/ompnumthreads.rst:
2057 Add trailing newline.
2058 * doc/openmp-environment-variables/ompplaces.rst:
2059 Add trailing newline.
2060 * doc/openmp-environment-variables/ompprocbind.rst:
2061 Add trailing newline.
2062 * doc/openmp-environment-variables/ompschedule.rst:
2063 Add trailing newline.
2064 * doc/openmp-environment-variables/ompstacksize.rst:
2065 Add trailing newline.
2066 * doc/openmp-environment-variables/omptargetoffload.rst:
2067 Add trailing newline.
2068 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2069 Add trailing newline.
2070 * doc/openmp-environment-variables/ompthreadlimit.rst:
2071 Add trailing newline.
2072 * doc/openmp-environment-variables/ompwaitpolicy.rst:
2073 Add trailing newline.
2074 * doc/openmp-implementation-specifics.rst:
2075 Add trailing newline.
2076 * doc/openmp-implementation-status.rst:
2077 Add trailing newline.
2078 * doc/openmp-implementation-status/openmp-45.rst:
2079 Add trailing newline.
2080 * doc/openmp-implementation-status/openmp-50.rst:
2081 Add trailing newline.
2082 * doc/openmp-implementation-status/openmp-51.rst:
2083 Add trailing newline.
2084 * doc/openmp-implementation-status/openmp-52.rst:
2085 Add trailing newline.
2086 * doc/openmp-runtime-library-routines.rst:
2087 Add trailing newline.
2088 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2089 Add trailing newline.
2090 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2091 Add trailing newline.
2092 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2093 Add trailing newline.
2094 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2095 Add trailing newline.
2096 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2097 Add trailing newline.
2098 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2099 Add trailing newline.
2100 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2101 Add trailing newline.
2102 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2103 Add trailing newline.
2104 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2105 Add trailing newline.
2106 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2107 Add trailing newline.
2108 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2109 Add trailing newline.
2110 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2111 Add trailing newline.
2112 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2113 Add trailing newline.
2114 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2115 Add trailing newline.
2116 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2117 Add trailing newline.
2118 * doc/openmp-runtime-library-routines/ompgetnested.rst:
2119 Add trailing newline.
2120 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2121 Add trailing newline.
2122 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2123 Add trailing newline.
2124 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2125 Add trailing newline.
2126 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2127 Add trailing newline.
2128 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2129 Add trailing newline.
2130 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2131 Add trailing newline.
2132 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2133 Add trailing newline.
2134 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2135 Add trailing newline.
2136 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2137 Add trailing newline.
2138 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2139 Add trailing newline.
2140 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2141 Add trailing newline.
2142 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2143 Add trailing newline.
2144 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2145 Add trailing newline.
2146 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2147 Add trailing newline.
2148 * doc/openmp-runtime-library-routines/ompinfinal.rst:
2149 Add trailing newline.
2150 * doc/openmp-runtime-library-routines/ompinitlock.rst:
2151 Add trailing newline.
2152 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2153 Add trailing newline.
2154 * doc/openmp-runtime-library-routines/ompinparallel.rst:
2155 Add trailing newline.
2156 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2157 Add trailing newline.
2158 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2159 Add trailing newline.
2160 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2161 Add trailing newline.
2162 * doc/openmp-runtime-library-routines/ompsetlock.rst:
2163 Add trailing newline.
2164 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2165 Add trailing newline.
2166 * doc/openmp-runtime-library-routines/ompsetnested.rst:
2167 Add trailing newline.
2168 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2169 Add trailing newline.
2170 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2171 Add trailing newline.
2172 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2173 Add trailing newline.
2174 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2175 Add trailing newline.
2176 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2177 Add trailing newline.
2178 * doc/openmp-runtime-library-routines/omptestlock.rst:
2179 Add trailing newline.
2180 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2181 Add trailing newline.
2182 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2183 Add trailing newline.
2184 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2185 Add trailing newline.
2186 * doc/reporting-bugs.rst:
2187 Add trailing newline.
2188 * doc/the-libgomp-abi.rst:
2189 Add trailing newline.
2190 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2191 Add trailing newline.
2192 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2193 Add trailing newline.
2194 * doc/the-libgomp-abi/implementing-critical-construct.rst:
2195 Add trailing newline.
2196 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2197 Add trailing newline.
2198 * doc/the-libgomp-abi/implementing-flush-construct.rst:
2199 Add trailing newline.
2200 * doc/the-libgomp-abi/implementing-for-construct.rst:
2201 Add trailing newline.
2202 * doc/the-libgomp-abi/implementing-master-construct.rst:
2203 Add trailing newline.
2204 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2205 Add trailing newline.
2206 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2207 Add trailing newline.
2208 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2209 Add trailing newline.
2210 * doc/the-libgomp-abi/implementing-private-clause.rst:
2211 Add trailing newline.
2212 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2213 Add trailing newline.
2214 * doc/the-libgomp-abi/implementing-sections-construct.rst:
2215 Add trailing newline.
2216 * doc/the-libgomp-abi/implementing-single-construct.rst:
2217 Add trailing newline.
2218 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2219 Add trailing newline.
2221 2022-11-14 Martin Liska <mliska@suse.cz>
2224 2022-11-09 Martin Liska <mliska@suse.cz>
2226 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2228 2022-11-14 Martin Liska <mliska@suse.cz>
2231 2022-11-14 Martin Liska <mliska@suse.cz>
2233 * doc/conf.py: Add newline at last line.
2235 2022-11-14 Martin Liska <mliska@suse.cz>
2238 2022-11-14 Martin Liska <mliska@suse.cz>
2241 * configure: Regenerate.
2242 * configure.ac: Always set sphinx-build.
2244 2022-11-13 Martin Liska <mliska@suse.cz>
2247 * configure: Regenerate.
2248 * configure.ac: Always set sphinx-build.
2250 2022-11-12 Jakub Jelinek <jakub@redhat.com>
2253 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2254 unsigned long. Change type of upper from unsigned to unsigned long.
2256 2022-11-10 Martin Liska <mliska@suse.cz>
2258 * doc/conf.py: Add newline at last line.
2260 2022-11-09 Martin Liska <mliska@suse.cz>
2262 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2264 2022-11-09 Martin Liska <mliska@suse.cz>
2266 * doc/amd-radeon-gcn.rst:
2267 Add trailing newline.
2268 * doc/copyright.rst:
2269 Add trailing newline.
2270 * doc/cuda-streams-usage.rst:
2271 Add trailing newline.
2272 * doc/enabling-openacc.rst:
2273 Add trailing newline.
2274 * doc/enabling-openmp.rst:
2275 Add trailing newline.
2276 * doc/first-invocation-nvidia-cublas-library-api.rst:
2277 Add trailing newline.
2278 * doc/first-invocation-openacc-library-api.rst:
2279 Add trailing newline.
2281 Add trailing newline.
2282 * doc/general-public-license-3.rst:
2283 Add trailing newline.
2284 * doc/gnu-free-documentation-license.rst:
2285 Add trailing newline.
2286 * doc/implementation-status-and-implementation-defined-behavior.rst:
2287 Add trailing newline.
2289 Add trailing newline.
2290 * doc/indices-and-tables.rst:
2291 Add trailing newline.
2292 * doc/introduction.rst:
2293 Add trailing newline.
2294 * doc/memory-allocation-with-libmemkind.rst:
2295 Add trailing newline.
2297 Add trailing newline.
2298 * doc/offload-target-specifics.rst:
2299 Add trailing newline.
2300 * doc/openacc-environment-variables.rst:
2301 Add trailing newline.
2302 * doc/openacc-environment-variables/accdevicenum.rst:
2303 Add trailing newline.
2304 * doc/openacc-environment-variables/accdevicetype.rst:
2305 Add trailing newline.
2306 * doc/openacc-environment-variables/accproflib.rst:
2307 Add trailing newline.
2308 * doc/openacc-environment-variables/gccaccnotify.rst:
2309 Add trailing newline.
2310 * doc/openacc-introduction.rst:
2311 Add trailing newline.
2312 * doc/openacc-library-and-environment-variables.rst:
2313 Add trailing newline.
2314 * doc/openacc-library-interoperability.rst:
2315 Add trailing newline.
2316 * doc/openacc-profiling-interface.rst:
2317 Add trailing newline.
2318 * doc/openacc-runtime-library-routines.rst:
2319 Add trailing newline.
2320 * doc/openacc-runtime-library-routines/accasynctest.rst:
2321 Add trailing newline.
2322 * doc/openacc-runtime-library-routines/accasynctestall.rst:
2323 Add trailing newline.
2324 * doc/openacc-runtime-library-routines/accattach.rst:
2325 Add trailing newline.
2326 * doc/openacc-runtime-library-routines/acccopyin.rst:
2327 Add trailing newline.
2328 * doc/openacc-runtime-library-routines/acccopyout.rst:
2329 Add trailing newline.
2330 * doc/openacc-runtime-library-routines/acccreate.rst:
2331 Add trailing newline.
2332 * doc/openacc-runtime-library-routines/accdelete.rst:
2333 Add trailing newline.
2334 * doc/openacc-runtime-library-routines/accdetach.rst:
2335 Add trailing newline.
2336 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
2337 Add trailing newline.
2338 * doc/openacc-runtime-library-routines/accfree.rst:
2339 Add trailing newline.
2340 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
2341 Add trailing newline.
2342 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
2343 Add trailing newline.
2344 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
2345 Add trailing newline.
2346 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
2347 Add trailing newline.
2348 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
2349 Add trailing newline.
2350 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
2351 Add trailing newline.
2352 * doc/openacc-runtime-library-routines/accgetproperty.rst:
2353 Add trailing newline.
2354 * doc/openacc-runtime-library-routines/acchostptr.rst:
2355 Add trailing newline.
2356 * doc/openacc-runtime-library-routines/accinit.rst:
2357 Add trailing newline.
2358 * doc/openacc-runtime-library-routines/accispresent.rst:
2359 Add trailing newline.
2360 * doc/openacc-runtime-library-routines/accmalloc.rst:
2361 Add trailing newline.
2362 * doc/openacc-runtime-library-routines/accmapdata.rst:
2363 Add trailing newline.
2364 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
2365 Add trailing newline.
2366 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
2367 Add trailing newline.
2368 * doc/openacc-runtime-library-routines/accondevice.rst:
2369 Add trailing newline.
2370 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
2371 Add trailing newline.
2372 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
2373 Add trailing newline.
2374 * doc/openacc-runtime-library-routines/accproflookup.rst:
2375 Add trailing newline.
2376 * doc/openacc-runtime-library-routines/accprofregister.rst:
2377 Add trailing newline.
2378 * doc/openacc-runtime-library-routines/accprofunregister.rst:
2379 Add trailing newline.
2380 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
2381 Add trailing newline.
2382 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
2383 Add trailing newline.
2384 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
2385 Add trailing newline.
2386 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
2387 Add trailing newline.
2388 * doc/openacc-runtime-library-routines/accshutdown.rst:
2389 Add trailing newline.
2390 * doc/openacc-runtime-library-routines/accunmapdata.rst:
2391 Add trailing newline.
2392 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
2393 Add trailing newline.
2394 * doc/openacc-runtime-library-routines/accupdateself.rst:
2395 Add trailing newline.
2396 * doc/openacc-runtime-library-routines/accwait.rst:
2397 Add trailing newline.
2398 * doc/openacc-runtime-library-routines/accwaitall.rst:
2399 Add trailing newline.
2400 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
2401 Add trailing newline.
2402 * doc/openacc-runtime-library-routines/accwaitasync.rst:
2403 Add trailing newline.
2404 * doc/openmp-context-selectors.rst:
2405 Add trailing newline.
2406 * doc/openmp-environment-variables.rst:
2407 Add trailing newline.
2408 * doc/openmp-environment-variables/gompcpuaffinity.rst:
2409 Add trailing newline.
2410 * doc/openmp-environment-variables/gompdebug.rst:
2411 Add trailing newline.
2412 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
2413 Add trailing newline.
2414 * doc/openmp-environment-variables/gompspincount.rst:
2415 Add trailing newline.
2416 * doc/openmp-environment-variables/gompstacksize.rst:
2417 Add trailing newline.
2418 * doc/openmp-environment-variables/ompcancellation.rst:
2419 Add trailing newline.
2420 * doc/openmp-environment-variables/ompdefaultdevice.rst:
2421 Add trailing newline.
2422 * doc/openmp-environment-variables/ompdisplayenv.rst:
2423 Add trailing newline.
2424 * doc/openmp-environment-variables/ompdynamic.rst:
2425 Add trailing newline.
2426 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
2427 Add trailing newline.
2428 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
2429 Add trailing newline.
2430 * doc/openmp-environment-variables/ompnested.rst:
2431 Add trailing newline.
2432 * doc/openmp-environment-variables/ompnumteams.rst:
2433 Add trailing newline.
2434 * doc/openmp-environment-variables/ompnumthreads.rst:
2435 Add trailing newline.
2436 * doc/openmp-environment-variables/ompplaces.rst:
2437 Add trailing newline.
2438 * doc/openmp-environment-variables/ompprocbind.rst:
2439 Add trailing newline.
2440 * doc/openmp-environment-variables/ompschedule.rst:
2441 Add trailing newline.
2442 * doc/openmp-environment-variables/ompstacksize.rst:
2443 Add trailing newline.
2444 * doc/openmp-environment-variables/omptargetoffload.rst:
2445 Add trailing newline.
2446 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
2447 Add trailing newline.
2448 * doc/openmp-environment-variables/ompthreadlimit.rst:
2449 Add trailing newline.
2450 * doc/openmp-environment-variables/ompwaitpolicy.rst:
2451 Add trailing newline.
2452 * doc/openmp-implementation-specifics.rst:
2453 Add trailing newline.
2454 * doc/openmp-implementation-status.rst:
2455 Add trailing newline.
2456 * doc/openmp-implementation-status/openmp-45.rst:
2457 Add trailing newline.
2458 * doc/openmp-implementation-status/openmp-50.rst:
2459 Add trailing newline.
2460 * doc/openmp-implementation-status/openmp-51.rst:
2461 Add trailing newline.
2462 * doc/openmp-implementation-status/openmp-52.rst:
2463 Add trailing newline.
2464 * doc/openmp-runtime-library-routines.rst:
2465 Add trailing newline.
2466 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
2467 Add trailing newline.
2468 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
2469 Add trailing newline.
2470 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
2471 Add trailing newline.
2472 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
2473 Add trailing newline.
2474 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
2475 Add trailing newline.
2476 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
2477 Add trailing newline.
2478 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
2479 Add trailing newline.
2480 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
2481 Add trailing newline.
2482 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
2483 Add trailing newline.
2484 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
2485 Add trailing newline.
2486 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
2487 Add trailing newline.
2488 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
2489 Add trailing newline.
2490 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
2491 Add trailing newline.
2492 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
2493 Add trailing newline.
2494 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
2495 Add trailing newline.
2496 * doc/openmp-runtime-library-routines/ompgetnested.rst:
2497 Add trailing newline.
2498 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
2499 Add trailing newline.
2500 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
2501 Add trailing newline.
2502 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
2503 Add trailing newline.
2504 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
2505 Add trailing newline.
2506 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
2507 Add trailing newline.
2508 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
2509 Add trailing newline.
2510 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
2511 Add trailing newline.
2512 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
2513 Add trailing newline.
2514 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
2515 Add trailing newline.
2516 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
2517 Add trailing newline.
2518 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
2519 Add trailing newline.
2520 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
2521 Add trailing newline.
2522 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
2523 Add trailing newline.
2524 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
2525 Add trailing newline.
2526 * doc/openmp-runtime-library-routines/ompinfinal.rst:
2527 Add trailing newline.
2528 * doc/openmp-runtime-library-routines/ompinitlock.rst:
2529 Add trailing newline.
2530 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
2531 Add trailing newline.
2532 * doc/openmp-runtime-library-routines/ompinparallel.rst:
2533 Add trailing newline.
2534 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
2535 Add trailing newline.
2536 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
2537 Add trailing newline.
2538 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
2539 Add trailing newline.
2540 * doc/openmp-runtime-library-routines/ompsetlock.rst:
2541 Add trailing newline.
2542 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
2543 Add trailing newline.
2544 * doc/openmp-runtime-library-routines/ompsetnested.rst:
2545 Add trailing newline.
2546 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
2547 Add trailing newline.
2548 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
2549 Add trailing newline.
2550 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
2551 Add trailing newline.
2552 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
2553 Add trailing newline.
2554 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
2555 Add trailing newline.
2556 * doc/openmp-runtime-library-routines/omptestlock.rst:
2557 Add trailing newline.
2558 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
2559 Add trailing newline.
2560 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
2561 Add trailing newline.
2562 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
2563 Add trailing newline.
2564 * doc/reporting-bugs.rst:
2565 Add trailing newline.
2566 * doc/the-libgomp-abi.rst:
2567 Add trailing newline.
2568 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
2569 Add trailing newline.
2570 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
2571 Add trailing newline.
2572 * doc/the-libgomp-abi/implementing-critical-construct.rst:
2573 Add trailing newline.
2574 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2575 Add trailing newline.
2576 * doc/the-libgomp-abi/implementing-flush-construct.rst:
2577 Add trailing newline.
2578 * doc/the-libgomp-abi/implementing-for-construct.rst:
2579 Add trailing newline.
2580 * doc/the-libgomp-abi/implementing-master-construct.rst:
2581 Add trailing newline.
2582 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
2583 Add trailing newline.
2584 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
2585 Add trailing newline.
2586 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
2587 Add trailing newline.
2588 * doc/the-libgomp-abi/implementing-private-clause.rst:
2589 Add trailing newline.
2590 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
2591 Add trailing newline.
2592 * doc/the-libgomp-abi/implementing-sections-construct.rst:
2593 Add trailing newline.
2594 * doc/the-libgomp-abi/implementing-single-construct.rst:
2595 Add trailing newline.
2596 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
2597 Add trailing newline.
2599 2022-11-09 Martin Liska <mliska@suse.cz>
2601 * Makefile.in: Build info pages conditionally.
2603 2022-11-09 Martin Liska <mliska@suse.cz>
2605 * Makefile.in: Support --with-sphinx-build.
2606 * configure.ac: Likewise..
2607 * configure: Regenerate.
2609 2022-11-09 Martin Liska <mliska@suse.cz>
2611 * libgomp.texi: Removed.
2613 2022-11-09 Martin Liska <mliska@suse.cz>
2615 * Makefile.in: Support Sphinx based documentation.
2617 2022-11-09 Martin Liska <mliska@suse.cz>
2619 * doc/amd-radeon-gcn.rst: New file.
2620 * doc/conf.py: New file.
2621 * doc/copyright.rst: New file.
2622 * doc/cuda-streams-usage.rst: New file.
2623 * doc/enabling-openacc.rst: New file.
2624 * doc/enabling-openmp.rst: New file.
2625 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2626 * doc/first-invocation-openacc-library-api.rst: New file.
2627 * doc/funding.rst: New file.
2628 * doc/general-public-license-3.rst: New file.
2629 * doc/gnu-free-documentation-license.rst: New file.
2630 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2631 * doc/index.rst: New file.
2632 * doc/indices-and-tables.rst: New file.
2633 * doc/introduction.rst: New file.
2634 * doc/memory-allocation-with-libmemkind.rst: New file.
2635 * doc/nvptx.rst: New file.
2636 * doc/offload-target-specifics.rst: New file.
2637 * doc/openacc-environment-variables.rst: New file.
2638 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2639 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2640 * doc/openacc-environment-variables/accproflib.rst: New file.
2641 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2642 * doc/openacc-introduction.rst: New file.
2643 * doc/openacc-library-and-environment-variables.rst: New file.
2644 * doc/openacc-library-interoperability.rst: New file.
2645 * doc/openacc-profiling-interface.rst: New file.
2646 * doc/openacc-runtime-library-routines.rst: New file.
2647 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2648 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2649 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2650 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2651 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2652 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2653 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2654 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2655 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2656 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2657 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2658 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2659 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2660 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2661 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2662 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2663 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2664 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2665 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2666 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2667 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2668 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2669 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2670 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2671 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2672 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2673 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2674 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2675 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2676 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2677 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2678 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2679 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2680 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2681 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2682 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2683 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2684 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2685 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2686 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2687 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2688 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2689 * doc/openmp-context-selectors.rst: New file.
2690 * doc/openmp-environment-variables.rst: New file.
2691 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2692 * doc/openmp-environment-variables/gompdebug.rst: New file.
2693 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2694 * doc/openmp-environment-variables/gompspincount.rst: New file.
2695 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2696 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2697 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2698 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2699 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2700 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2701 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2702 * doc/openmp-environment-variables/ompnested.rst: New file.
2703 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2704 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2705 * doc/openmp-environment-variables/ompplaces.rst: New file.
2706 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2707 * doc/openmp-environment-variables/ompschedule.rst: New file.
2708 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2709 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2710 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2711 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2712 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2713 * doc/openmp-implementation-specifics.rst: New file.
2714 * doc/openmp-implementation-status.rst: New file.
2715 * doc/openmp-implementation-status/openmp-45.rst: New file.
2716 * doc/openmp-implementation-status/openmp-50.rst: New file.
2717 * doc/openmp-implementation-status/openmp-51.rst: New file.
2718 * doc/openmp-implementation-status/openmp-52.rst: New file.
2719 * doc/openmp-runtime-library-routines.rst: New file.
2720 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2721 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2722 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2723 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2724 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2725 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2726 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2727 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2728 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2729 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2730 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2731 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2732 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2733 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2734 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2735 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2736 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2737 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2738 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2739 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2740 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2741 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2742 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2743 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2744 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2745 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2746 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2747 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2748 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2749 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2750 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2751 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2752 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2753 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2754 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2755 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2756 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2757 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2758 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2759 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2760 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2761 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2762 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2763 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2764 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2765 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2766 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2767 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2768 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2769 * doc/reporting-bugs.rst: New file.
2770 * doc/the-libgomp-abi.rst: New file.
2771 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2772 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2773 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2774 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2776 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2777 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2778 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2779 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2780 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2781 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2782 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2783 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2784 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2785 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2786 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2788 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2790 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2791 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2793 * plugin/configfrag.ac <enable_offload_targets>
2794 [*-intelmic-* | *-intelmicemul-*]: Remove.
2795 * configure: Regenerate.
2796 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2798 (offload_target_to_openacc_device_type)
2799 [$offload_target = *-intelmic*]: Remove.
2800 (check_effective_target_offload_device_intel_mic)
2801 (check_effective_target_offload_device_any_intel_mic): Remove.
2802 * testsuite/libgomp.c-c++-common/on_device_arch.h
2803 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2804 (any_device_arch_intel_mic): Remove.
2805 * testsuite/libgomp.c-c++-common/target-45.c: Remove
2806 'offload_device_any_intel_mic' XFAIL.
2807 * testsuite/libgomp.fortran/target10.f90: Likewise.
2809 2022-11-03 Tobias Burnus <tobias@codesourcery.com>
2811 * testsuite/libgomp.fortran/target-11.f90: New test.
2812 * testsuite/libgomp.fortran/target-13.f90: New test.
2814 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2818 * oacc-mem.c (goacc_enter_data_internal): Support
2819 OpenACC 'declare create' with Fortran allocatable arrays, part II.
2820 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2822 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2824 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2827 * oacc-mem.c (goacc_enter_data_internal): Support
2828 OpenACC 'declare create' with Fortran allocatable arrays, part I.
2829 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2831 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2834 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2836 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2839 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2841 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2844 2022-11-02 Cesar Philippidis <cesar@codesourcery.com>
2845 Thomas Schwinge <thomas@codesourcery.com>
2847 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2849 2022-10-28 Julian Brown <julian@codesourcery.com>
2850 Thomas Schwinge <thomas@codesourcery.com>
2853 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2854 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2855 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2856 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2857 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2859 2022-10-24 Thomas Schwinge <thomas@codesourcery.com>
2861 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2862 'ptx_dev->rev_data'.
2864 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
2866 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2867 'static' for this variable.
2868 * config/nvptx/libgomp-nvptx.h: New file.
2869 * config/nvptx/target.c: Include it.
2870 (GOMP_ADDITIONAL_ICVS): Declare extern var.
2871 (GOMP_REV_OFFLOAD_VAR): Declare var.
2872 (GOMP_target_ext): Handle reverse offload.
2873 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2874 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2875 * target.c (gomp_target_rev): ... this new stub function.
2876 * libgomp.h (gomp_target_rev): Declare.
2877 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2878 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2879 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2880 (struct ptx_device): Add rev_data member.
2881 (nvptx_open_device): Remove async_engines query, last used in
2882 r10-304-g1f4c5b9b; add unified-address assert check.
2883 (GOMP_OFFLOAD_get_num_devices): Claim unified address
2885 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2886 offload functions exist. Make offload var available
2888 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2889 (GOMP_OFFLOAD_run): Handle reverse offload.
2891 2022-10-21 Thomas Schwinge <thomas@codesourcery.com>
2893 PR tree-optimization/107195
2895 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2898 2022-10-20 Tobias Burnus <tobias@codesourcery.com>
2900 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2902 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2903 on_device_arch_gcn): New.
2904 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2905 requires-4.c but using heap-allocated memory.
2907 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2910 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
2912 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2914 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
2915 '-foffload-options' syntax.
2917 2022-10-13 Tobias Burnus <tobias@codesourcery.com>
2919 * testsuite/libgomp.fortran/task-7.f90: New test.
2920 * testsuite/libgomp.fortran/task-8.f90: New test.
2921 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
2922 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
2923 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
2924 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
2925 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
2927 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2929 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
2930 in deprecation bullet.
2932 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2934 * omp.h.in (omp_in_explicit_task): Declare.
2935 * omp_lib.h.in (omp_in_explicit_task): Likewise.
2936 * omp_lib.f90.in (omp_in_explicit_task): New interface.
2937 * libgomp.map (OMP_5.2): New symbol version, export
2938 omp_in_explicit_task and omp_in_explicit_task_.
2939 * task.c (omp_in_explicit_task): New function.
2940 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
2941 (omp_in_explicit_task_): New function.
2942 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
2943 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
2944 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
2945 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
2947 2022-10-12 Jakub Jelinek <jakub@redhat.com>
2949 * task.c (gomp_create_artificial_team): Fix up handling of invocations
2950 from within explicit task.
2951 * target.c (GOMP_target_ext): Likewise.
2952 * testsuite/libgomp.c/task-7.c: New test.
2953 * testsuite/libgomp.c/task-8.c: New test.
2954 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
2955 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
2957 2022-10-12 Martin Liska <mliska@suse.cz>
2959 * configure: Regenerate.
2961 2022-10-11 Olivier Hainque <hainque@adacore.com>
2962 Olivier Hainque <hainque@adacore.com>
2964 * configure: Regenerate.
2966 2022-10-05 Tobias Burnus <tobias@codesourcery.com>
2968 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
2970 2022-10-04 Jakub Jelinek <jakub@redhat.com>
2972 * libgomp.texi (Support begin/end declare target syntax in C/C++):
2973 Mark as implemented.
2975 2022-09-30 Tobias Burnus <tobias@codesourcery.com>
2978 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
2980 2022-09-28 Tobias Burnus <tobias@codesourcery.com>
2982 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
2983 for C/C++. Remove duplicated 'begin declare target' entry.
2985 2022-09-24 Jakub Jelinek <jakub@redhat.com>
2988 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
2990 2022-09-14 Julian Brown <julian@codesourcery.com>
2992 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
2993 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
2994 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
2995 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
2996 test to here, make "run" test.
2998 2022-09-13 Jakub Jelinek <jakub@redhat.com>
3001 * env.c (get_icv_member_addr): Cast false to void * before assigning
3002 it to icv_addr[1], and comment the whole assignment out.
3004 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
3006 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3009 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
3011 * libgomp.texi (Offload-Target Specifics: nvptx): Document
3012 that reverse offload requires >= -march=sm_35.
3013 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3015 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3016 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3017 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3018 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3019 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3021 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
3023 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3024 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3026 2022-09-12 Jakub Jelinek <jakub@redhat.com>
3029 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3030 (main): Avoid tests for which corresponding non-_ALL suffixed variable
3031 is in the environment, or for OMP_NUM_TEAMS on the device
3032 OMP_NUM_TEAMS_DEV_?.
3034 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
3036 * env.c (initialize_env): Include libiberty environ.h.
3038 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3040 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3041 function address table '$offload_func_table' if rev_fn_table
3044 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3046 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3047 .offload_func_table to populate rev_fn_table when requested.
3049 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
3051 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3052 'uint64_t **rev_fn_table' argument.
3053 * oacc-host.c (host_load_image): Likewise.
3054 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3056 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3057 * target.c (gomp_load_image_to_device): Update call but pass
3060 2022-09-09 Jakub Jelinek <jakub@redhat.com>
3063 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3064 char * for dest[1] initialization from params[1]. Formatting fixes.
3066 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
3069 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3071 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
3073 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3074 section; move OpenMP Context Selectors from ...
3075 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3078 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
3080 * config/gcn/icv-device.c (omp_get_default_device): Return device-
3082 (omp_get_max_teams): Added for GCN devices.
3083 (omp_set_num_teams): Likewise.
3085 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3087 (omp_get_max_teams): Added for NVPTX devices.
3088 (omp_set_num_teams): Likewise.
3090 * env.c (struct gomp_icv_list): New struct to store entries of initial
3092 (struct gomp_offload_icv_list): New struct to store entries of device-
3093 specific ICV values that are copied to the device and back.
3094 (struct gomp_default_icv_values): New struct to store default values of
3095 ICVs according to the OpenMP standard.
3096 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3097 (print_env_var_error): Function that prints an error for invalid values
3099 (parse_unsigned_long_1): Removed getenv. Generalized.
3100 (parse_unsigned_long): Likewise.
3101 (parse_int_1): Likewise.
3102 (parse_int): Likewise.
3103 (parse_int_secure): Likewise.
3104 (parse_unsigned_long_list): Likewise.
3105 (parse_target_offload): Likewise.
3106 (parse_bind_var): Likewise.
3107 (parse_stacksize): Likewise.
3108 (parse_boolean): Likewise.
3109 (parse_wait_policy): Likewise.
3110 (parse_allocator): Likewise.
3111 (omp_display_env): Extended to output different variants of environment
3113 (print_schedule): New helper function for omp_display_env which prints
3114 the values of run_sched_var.
3115 (print_proc_bind): New helper function for omp_display_env which prints
3116 the values of proc_bind_var.
3117 (enum gomp_parse_type): Collection of types used for parsing environment
3119 (ENTRY): Preprocess string lengths of environment variables.
3120 (OMP_VAR_CNT): Preprocess table size.
3121 (OMP_HOST_VAR_CNT): Likewise.
3122 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3124 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3125 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3126 (print_device_specific_icvs): New helper function for omp_display_env to
3127 print device specific ICV values.
3128 (get_device_num): New helper function for parse_device_specific.
3129 Extracts the device number from an environment variable name.
3130 (get_icv_member_addr): Gets the memory address for a particular member
3132 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3133 (initialize_icvs): New function to initialize a gomp_initial_icvs
3135 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3136 (startswith): Checks if a string starts with a given prefix.
3137 (initialize_env): Extended to parse the new syntax of environment
3139 * icv-device.c (omp_get_max_teams): Added.
3141 (omp_set_num_teams): Likewise.
3142 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3143 (omp_get_max_teams): Likewise.
3145 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3146 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3147 holds the designated ICVs of the target device.
3148 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3149 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3151 (enum gomp_env_suffix): Collection of possible suffixes of environment
3153 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3155 (struct gomp_default_icv):New struct to hold ICVs for which we need
3156 to store initial values.
3157 (struct gomp_icv_list): Definition of a linked list that is used for
3158 storing ICVs for the devices and also for _DEV, _ALL, and without
3160 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3162 (struct gomp_offload_icv_list): Definition of a linked list that holds
3163 device-specific ICVs that are copied to devices.
3164 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3165 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3166 * libgomp.texi: Updated.
3167 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3168 further ICVs from the offload image.
3169 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3170 * target.c (gomp_get_offload_icv_item): Get a list item of
3171 gomp_offload_icv_list.
3172 (get_gomp_offload_icvs): New. Returns the ICV values
3173 depending on the device num and the variable hierarchy.
3174 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3175 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3176 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3177 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3178 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3179 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3180 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3182 2022-09-08 Jakub Jelinek <jakub@redhat.com>
3184 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3186 * testsuite/libgomp.c/doacross-4.c: New test.
3187 * testsuite/libgomp.c/doacross-5.c: New test.
3188 * testsuite/libgomp.c/doacross-6.c: New test.
3189 * testsuite/libgomp.c/doacross-7.c: New test.
3191 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
3193 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3195 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
3197 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3198 refer to 'requires'.
3199 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3200 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3201 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3202 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3204 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
3206 PR middle-end/106548
3207 * testsuite/libgomp.c/linear-2.c: New test.
3209 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
3211 * splay-tree.h: Fix splay_* macro unsetting if
3212 splay_tree_prefix is defined.
3214 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
3216 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3218 2022-07-29 Jakub Jelinek <jakub@redhat.com>
3220 PR middle-end/106449
3221 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3223 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
3225 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3227 2022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3229 PR middle-end/101551
3230 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3231 'offloading_enabled' diagnostics issue.
3233 2022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3235 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3236 '_Pragma' diagnostics verification.
3238 2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3240 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3241 improved warning locations.
3242 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3244 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3246 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3247 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3248 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3249 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3250 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3252 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3254 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3255 Denote as legacy entry points.
3256 * testsuite/lib/libgomp.exp
3257 (check_effective_target_offload_target_any): New proc.
3258 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3259 'offload_target_any'.
3260 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3261 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3262 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3264 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3266 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3267 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3269 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3271 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3273 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3275 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3277 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3279 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
3280 Jakub Jelinek <jakub@redhat.com>
3282 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3284 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
3285 Chung-Lin Tang <cltang@codesourcery.com>
3286 Thomas Schwinge <thomas@codesourcery.com>
3288 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3289 omp_requires_mask arg.
3290 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3291 return -1 when device available but omp_requires_mask != 0.
3292 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3293 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3295 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3296 goacc_attach_host_thread_to_device, acc_get_num_devices,
3297 acc_set_device_num, get_property_any): Likewise.
3298 * target.c (omp_requires_mask): New global var.
3299 (gomp_requires_to_name): New.
3300 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3301 (gomp_target_init): Handle omp_requires_mask.
3302 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3303 (OpenMP 5.1): Add a missed item.
3304 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3305 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3306 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3307 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3308 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3309 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3310 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3311 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3312 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3313 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3314 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3315 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3316 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3317 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3318 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3319 * testsuite/libgomp.fortran/requires-1.f90: New test.
3321 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
3323 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3324 with fromto as implemented.
3326 2022-06-28 Martin Liska <mliska@suse.cz>
3328 * acinclude.m4: Fix typo in mold linker detection.
3329 * Makefile.in: Regenerate.
3330 * configure: Regenerate.
3332 2022-06-21 Jakub Jelinek <jakub@redhat.com>
3333 Paul Iannetta <piannetta@kalrayinc.com>
3336 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3338 2022-06-17 Martin Liska <mliska@suse.cz>
3340 * libgomp.texi: Add table header for new features of
3343 2022-06-15 Jakub Jelinek <jakub@redhat.com>
3345 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3346 q to ddress of an automatic variable. Use -5 instead of -1 in
3347 omp_get_mapped_ptr call. Add test with omp_initial_device.
3348 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3349 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3350 Renumber stop arguments afterwards.
3352 2022-06-13 Jakub Jelinek <jakub@redhat.com>
3354 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3355 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3357 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3358 * target.c (resolve_device): Add remapped argument, handle
3359 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3360 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3361 if remapped, otherwise treat omp_initial_device that way. For
3362 omp_invalid_device, always emit gomp_fatal, even when
3363 OMP_TARGET_OFFLOAD isn't mandatory.
3364 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3365 GOMP_target_update, GOMP_target_update_ext,
3366 GOMP_target_enter_exit_data): Pass true as remapped argument to
3368 (omp_target_alloc, omp_target_free, omp_target_is_present,
3369 omp_target_memcpy_check, omp_target_associate_ptr,
3370 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3371 omp_target_is_accessible): Pass false as remapped argument to
3372 resolve_device. Treat omp_initial_device the same as
3373 gomp_get_num_devices (). Don't bypass resolve_device calls if
3374 device_num is negative.
3375 (omp_pause_resource): Treat omp_initial_device the same as
3376 gomp_get_num_devices (). Call resolve_device.
3377 * icv-device.c (omp_set_default_device): Always set to device_num
3378 even when it is negative.
3379 * libgomp.texi: Document that Conforming device numbers,
3380 omp_initial_device and omp_invalid_device is implemented.
3381 * testsuite/libgomp.c/target-41.c (main): Add test with
3383 * testsuite/libgomp.c/target-45.c: New test.
3384 * testsuite/libgomp.c/target-46.c: New test.
3385 * testsuite/libgomp.c/target-47.c: New test.
3386 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3387 test with omp_initial_device. Use -5 instead of -1 for negative value
3389 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3390 Likewise. Reorder stop numbers.
3392 2022-06-10 Jakub Jelinek <jakub@redhat.com>
3394 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3395 rather than "libmemkind.so".
3397 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3399 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3400 * plugin/configfrag.ac (--with-cuda-driver)
3401 (--with-cuda-driver-include, --with-cuda-driver-lib)
3402 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3403 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3405 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3406 (cuda_driver_lib): Remove.
3407 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3408 * Makefile.in: Regenerate.
3409 * configure: Likewise.
3410 * testsuite/Makefile.in: Likewise.
3412 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3414 * config/linux/allocator.c: Fix up #include directive.
3416 2022-06-09 Jakub Jelinek <jakub@redhat.com>
3418 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3419 (enum gomp_memkind_kind): New type.
3420 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3422 (struct gomp_memkind_data): New type.
3423 (memkind_data, memkind_data_once): New variables.
3424 (gomp_init_memkind, gomp_get_memkind): New functions.
3425 (omp_init_allocator): Initialize data.memkind, don't fail for
3426 omp_high_bw_mem_space if libmemkind supports it.
3427 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3428 memkind support of LIBGOMP_USE_MEMKIND is defined.
3429 * config/linux/allocator.c: New file.
3431 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
3433 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3434 * testsuite/libgomp.fortran/scope-2.f90: New test.
3436 2022-06-02 David Malcolm <dmalcolm@redhat.com>
3438 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3440 2022-05-31 Jakub Jelinek <jakub@redhat.com>
3442 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3443 scope construct with allocate clause.
3444 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3445 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3447 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
3449 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3450 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3451 explicit 'to' and 'enter' clause.
3452 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3454 2022-05-28 Jakub Jelinek <jakub@redhat.com>
3457 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3458 defined(HAVE__ALIGNED_MALLOC) case.
3459 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3460 handling as last option before fallback instead of first.
3461 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3464 2022-05-27 Jakub Jelinek <jakub@redhat.com>
3466 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3468 * testsuite/libgomp.c/target-41.c: Likewise.
3470 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
3472 * libgomp.texi (Other new OpenMP 5.1 features): Add
3473 'begin declare target'.
3474 (Other new OpenMP 5.2 features): New.
3476 2022-05-25 Jakub Jelinek <jakub@redhat.com>
3478 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3479 is the last task taskwait depend depends on, wake it up.
3480 Similarly if it is the last child of a taskgroup, use atomic
3481 store instead of decrement and awak taskgroup wait if any.
3482 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3484 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
3486 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3487 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3488 (gcn_gfx90a_s): New.
3489 (isa_hsa_name): Support gfx90a.
3490 (isa_code): Likewise.
3492 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
3495 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3496 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3498 2022-05-24 Jakub Jelinek <jakub@redhat.com>
3501 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3502 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3503 * task.c (empty_task): New function.
3504 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3505 (gomp_task_run_post_handle_depend): Declare.
3506 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3508 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3509 (GOMP_taskwait_depend_nowait): New function.
3510 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3512 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
3515 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3516 Support attach for GOMP_MAP_FIRSTPRIVATE.
3517 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3518 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3519 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3521 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3523 * libgomp.map: Added omp_target_memcpy_async and
3524 omp_target_memcpy_rect_async.
3525 * libgomp.texi: Both functions are now supported.
3526 * omp.h.in: Added omp_target_memcpy_async and
3527 omp_target_memcpy_rect_async.
3528 * omp_lib.f90.in: Added interfaces for both new functions.
3529 * omp_lib.h.in: Likewise.
3530 * target.c (ialias_redirect): Added for GOMP_task.
3531 (omp_target_memcpy): Restructured into check and copy part.
3532 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3533 omp_target_memcpy_async that checks requirements.
3534 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3535 omp_target_memcpy_async that performs the memcpy.
3536 (omp_target_memcpy_async_helper): New helper function that is used in
3537 omp_target_memcpy_async for the asynchronous task.
3538 (omp_target_memcpy_async): Added.
3539 (omp_target_memcpy_rect): Restructured into check and copy part.
3540 (omp_target_memcpy_rect_check): New helper function for
3541 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3543 (omp_target_memcpy_rect_copy): New helper function for
3544 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3546 (omp_target_memcpy_rect_async_helper): New helper function that is used
3547 in omp_target_memcpy_rect_async for the asynchronous task.
3548 (omp_target_memcpy_rect_async): Added.
3549 * task.c (ialias): Added for GOMP_task.
3550 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3551 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3552 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3553 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3554 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3555 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3556 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3557 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3559 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
3561 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3562 (OpenMP Context Selectors): Add missing comma.
3563 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3564 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3565 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3566 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3568 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3570 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3571 comment for omp_display_env feature.
3573 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3575 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3576 to document OpenMP context selectors.
3578 2022-05-17 Jakub Jelinek <jakub@redhat.com>
3580 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3581 from bool to unsigned char.
3582 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3583 Ignore dependencies where
3584 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3585 rather than just task->depend[i].is_in && ent->is_in. Remember
3586 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3588 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3589 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3590 rather than just elem.is_in && ent->is_in.
3591 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3592 inoutset depend-kind.
3593 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3594 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3595 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3597 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3599 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3601 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
3603 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3604 * testsuite/libgomp.fortran/depend-5.f90: New test.
3605 * testsuite/libgomp.fortran/depend-6.f90: New test.
3606 * testsuite/libgomp.fortran/depend-7.f90: New test.
3608 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3610 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3611 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3612 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3614 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
3616 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3618 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
3620 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3622 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3624 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3625 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3626 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3627 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3628 * Makefile.in: Regenerate.
3630 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3632 * Makefile.am (libgomp_la_LIBADD): Initialize.
3633 * plugin/configfrag.ac (DL_LIBS): New.
3634 (PLUGIN_GCN_LIBS): Remove.
3635 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3636 * plugin/Makefrag.am (libgomp_la_LIBADD)
3637 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3638 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3639 * Makefile.in: Regenerate.
3640 * config.h.in: Likewise.
3641 * configure: Likewise.
3642 * testsuite/Makefile.in: Likewise.
3644 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3646 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3647 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3648 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3649 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3650 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3651 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3652 * Makefile.in: Regenerate.
3653 * config.h.in: Likewise.
3654 * configure: Likewise.
3656 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3658 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3659 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3660 * Makefile.in: Regenerate.
3661 * config.h.in: Likewise.
3662 * configure: Likewise.
3663 * testsuite/Makefile.in: Likewise.
3665 2022-05-12 Jakub Jelinek <jakub@redhat.com>
3667 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3668 * task.c (gomp_init_task): Initialize depend_all_memory.
3669 (gomp_task_handle_depend): Handle omp_all_memory.
3670 (gomp_task_run_post_handle_depend_hash): Clear
3671 parent->depend_all_memory if equal to current task.
3672 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3673 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3674 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3675 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3677 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3679 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3680 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3681 * Makefile.in: Regenerate.
3682 * configure: Likewise.
3683 * testsuite/Makefile.in: Likewise.
3685 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3687 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3688 consider 'PLUGIN_GCN_CPPFLAGS'.
3689 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3690 'PLUGIN_GCN_LDFLAGS'.
3691 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3693 * Makefile.in: Regenerate.
3694 * configure: Likewise.
3695 * testsuite/Makefile.in: Likewise.
3697 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3699 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3700 (HSA_RUNTIME_LDFLAGS): Remove.
3701 * configure: Regenerate.
3703 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3705 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3706 'append always_ld_library_path ":$hsa_runtime_lib"'.
3707 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3709 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3711 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3712 multi-device testing.
3714 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3716 * libgomp.map: Added omp_target_is_accessible.
3717 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3718 * omp.h.in: Added omp_target_is_accessible.
3719 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3720 * omp_lib.h.in: Likewise.
3721 * target.c (omp_target_is_accessible): Added implementation of
3722 omp_target_is_accessible.
3723 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3724 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3726 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3728 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3730 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3732 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3734 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
3736 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3738 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3740 * libgomp.map: Added omp_get_mapped_ptr.
3741 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3742 * omp.h.in: Added omp_get_mapped_ptr.
3743 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3744 * omp_lib.h.in: Likewise.
3745 * target.c (omp_get_mapped_ptr): Added implementation of
3747 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3748 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3749 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3750 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3751 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3752 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3753 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3754 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3756 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
3759 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3760 privatization scanning. For GCN offloading compilation, raise
3761 '-mgang-private-size'.
3763 2022-04-26 Jakub Jelinek <jakub@redhat.com>
3766 * work.c (gomp_init_work_share): Don't mask of adjustment for
3767 dynamic long long realignment if struct gomp_work_share has smaller
3768 alignof than long long.
3769 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3770 struct gomp_work_share has smaller alignof than long long or if
3771 sizeof (struct gomp_work_share) is smaller than
3772 INLINE_ORDERED_TEAM_IDS_OFF.
3773 * loop_ull.c (GOMP_loop_ull_start): Likewise.
3774 * sections.c (GOMP_sections2_start): Likewise.
3776 2022-04-25 Jakub Jelinek <jakub@redhat.com>
3777 Thomas Schwinge <thomas@codesourcery.com>
3780 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3782 2022-04-13 Jakub Jelinek <jakub@redhat.com>
3784 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3786 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
3788 * plugin/cuda/cuda.h: Remove file.
3789 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3790 "cuda/cuda.h" instead of <cuda.h>.
3791 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3792 'PLUGIN_NVPTX_CPPFLAGS'.
3793 * configure: Regenerate.
3795 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
3797 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3799 2022-04-04 Tom de Vries <tdevries@suse.de>
3801 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3802 on_device_arch_nvptx instead of offload_target_nvptx.
3803 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3805 2022-04-01 Tom de Vries <tdevries@suse.de>
3807 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3809 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3811 2022-04-01 Tom de Vries <tdevries@suse.de>
3813 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3816 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
3817 Lulu Cheng <chenglulu@loongson.cn>
3819 * configure.tgt: Add LoongArch triplet.
3821 2022-03-28 Tom de Vries <tdevries@suse.de>
3823 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3824 instead of /libexec/.
3825 * configure: Regenerate.
3827 2022-03-25 Tom de Vries <tdevries@suse.de>
3830 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3832 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3833 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3835 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
3837 PR middle-end/104285
3838 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3839 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3840 * testsuite/libgomp.c++/target-same-name-2.C: New test.
3841 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3842 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3843 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3845 2022-03-22 Tom de Vries <tdevries@suse.de>
3849 * testsuite/libgomp.c/pr104783-2.c: New test.
3851 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
3854 * testsuite/libgomp.fortran/associate4.f90: New test.
3856 2022-03-18 Tom de Vries <tdevries@suse.de>
3859 * testsuite/libgomp.c/pr104952-1.c: New test.
3860 * testsuite/libgomp.c/pr104952-2.c: New test.
3862 2022-03-18 Jakub Jelinek <jakub@redhat.com>
3864 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3865 variable next to pl variable.
3867 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3869 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3871 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3872 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3874 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3877 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3878 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3880 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
3882 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3883 omp_set_max_active_levels.
3884 * testsuite/libgomp.fortran/icv-8.f90: New test.
3886 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
3889 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3891 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
3893 * libgomp.texi: Fix typo.
3895 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3897 PR middle-end/100280
3898 PR middle-end/104892
3899 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3900 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3901 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3903 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3905 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3906 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3907 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3910 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3912 PR middle-end/104892
3913 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
3915 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
3916 enable '--param=openacc-kernels=decompose' and adjust.
3917 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3919 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3920 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3923 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3926 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
3927 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
3928 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3929 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
3931 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3933 PR middle-end/100280
3934 PR middle-end/104086
3935 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3937 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3939 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
3941 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3944 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
3946 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
3947 trait. Test last index in w and v array. Remove redundant
3948 assignment to V(1). Move alignment checks at the end of
3951 2022-03-10 Tom de Vries <tdevries@suse.de>
3953 * testsuite/libgomp.c/pr104783.c: New test.
3955 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3958 PR middle-end/102330
3959 PR middle-end/104774
3960 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3962 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3964 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3966 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3968 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3970 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3972 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3974 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3976 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3978 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3980 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3982 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3984 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3986 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3988 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3989 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3990 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3992 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3995 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
3996 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3997 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3998 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
4000 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4003 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
4004 expected diagnostics.
4006 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4008 PR middle-end/104784
4009 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4010 Test with '--param=openacc-kernels=decompose'.
4011 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4013 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4015 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4019 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4021 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4023 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4025 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4027 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4029 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4031 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4033 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4035 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4037 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4039 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4041 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4043 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4045 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4047 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4049 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4051 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4053 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4055 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4057 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4059 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4061 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4063 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4065 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4067 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4069 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4071 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4073 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4076 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4078 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4079 Test '-fopt-info-omp-all'.
4080 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4082 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4084 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4086 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4088 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4090 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4092 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4094 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4096 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4098 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4100 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4102 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4104 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4106 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4108 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4110 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4112 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4114 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4116 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4118 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4120 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4122 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4124 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4126 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4128 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4130 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4132 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4134 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4136 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4138 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4140 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4142 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4145 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4147 PR middle-end/100280
4148 PR middle-end/104132
4149 PR middle-end/104133
4150 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4153 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4155 PR middle-end/100280
4156 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4157 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4160 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4162 PR middle-end/100280
4163 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4164 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4167 2022-02-28 Tom de Vries <tdevries@suse.de>
4169 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4170 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4171 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4172 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4173 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4174 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4176 2022-02-24 Tom de Vries <tdevries@suse.de>
4178 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4179 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4180 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4181 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4182 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4183 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4184 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4186 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4188 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4189 gang-redundant execution.
4191 2022-02-22 Tom de Vries <tdevries@suse.de>
4194 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4195 from config/rtems/bar.c.
4196 (futex_wait, futex_wake): New function.
4197 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4198 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4199 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4200 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4201 and replace with include of config/linux/bar.c.
4202 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4203 (gomp_barrier_init): Init new fields.
4204 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4206 * testsuite/libgomp.c/pr99555-1.c: Same.
4207 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4209 2022-02-22 Tom de Vries <tdevries@suse.de>
4212 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4213 -foffload=-Wa,--verify for nvptx.
4214 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4216 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
4218 * testsuite/libgomp.fortran/depend-4.f90: New test.
4220 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
4223 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4225 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4227 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4228 * target.c (copy_firstprivate_data): Copy only if host address is not
4230 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4231 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4232 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4233 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4234 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4235 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4236 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4237 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4238 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4239 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4241 2022-02-08 Jakub Jelinek <jakub@redhat.com>
4244 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4246 * testsuite/libgomp.c/pr104385.c: New test.
4248 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
4250 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4251 STOP of previous commit.
4253 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
4255 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4256 from is_64bit_aligned_.
4257 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4258 and use it, more implicit none, remove unused argument.
4260 2022-02-03 David Seifert <soap@gentoo.org>
4261 Jakub Jelinek <jakub@redhat.com>
4263 * configure.ac: Support --disable-werror.
4264 * configure: Regenerate.
4266 2022-02-01 Tom de Vries <tdevries@suse.de>
4268 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4270 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4271 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4273 2022-02-01 Tom de Vries <tdevries@suse.de>
4275 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4276 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4278 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4280 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4282 2022-02-01 Tom de Vries <tdevries@suse.de>
4284 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4286 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4288 2022-01-31 Martin Liska <mliska@suse.cz>
4290 * acinclude.m4: Detect *_ld_is_mold and use it.
4291 * configure: Regenerate.
4293 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
4295 * libgomp.texi (OpenMP 5.0): Update implementation status.
4297 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4299 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4300 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4301 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4302 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4303 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4304 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4305 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4306 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4307 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4308 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4309 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4310 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4311 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4312 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4313 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4315 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4317 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4318 "static") to make the device num available in the offload image.
4320 2022-01-19 Martin Liska <mliska@suse.cz>
4321 Thomas Schwinge <thomas@codesourcery.com>
4323 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4325 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4326 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4328 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4329 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4330 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4331 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4332 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4334 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4336 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4338 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4340 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4342 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4344 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4345 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4346 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4348 2022-01-18 Martin Liska <mliska@suse.cz>
4350 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4352 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4353 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4354 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4355 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4356 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4357 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4358 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4359 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4360 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4361 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4362 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4363 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4364 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4365 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4366 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4368 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4370 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4371 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4372 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4374 2022-01-17 Julian Brown <julian@codesourcery.com>
4375 Thomas Schwinge <thomas@codesourcery.com>
4377 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4378 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4379 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4381 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4382 Andrew Stubbs <ams@codesourcery.com>
4384 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4385 the number of teams and threads if necessary.
4386 (gcn_exec): Automatically set the number of gangs and workers if
4389 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4391 * testsuite/libgomp.fortran/allocate-1.c: New test.
4392 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4393 * libgomp.texi: Remove string that says that allocate clause
4394 support is for C/C++ only.
4396 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4398 * testsuite/libgomp.c-c++-common/on_device_arch.h
4399 (any_device_arch, any_device_arch_intel_mic): New.
4400 * testsuite/lib/libgomp.exp
4401 (check_effective_target_offload_device_any_intel_mic): New.
4402 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4403 * testsuite/libgomp.fortran/target10.f90: Likewise.
4405 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4407 PR tree-optimization/102192
4408 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4409 '-Wuninitialized' diagnostics.
4411 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4413 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4414 current '-Wuninitialized' diagnostics.
4415 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4416 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4417 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4418 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4419 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4420 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4421 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4422 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4423 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4424 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4425 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4428 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4430 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4431 for 'offload_device_intel_mic'.
4433 2022-01-13 Julian Brown <julian@codesourcery.com>
4434 Thomas Schwinge <thomas@codesourcery.com>
4436 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4437 offloading execution XFAIL.
4439 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4441 PR middle-end/100280
4442 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4444 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4445 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4448 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4450 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4452 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4454 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4455 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4456 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4457 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4458 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4460 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4461 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4462 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4463 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4465 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
4467 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4468 * testsuite/libgomp.fortran/target10.f90: Likewise.
4470 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4472 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4473 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4474 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4476 2022-01-03 Jakub Jelinek <jakub@redhat.com>
4478 * libgomp.texi: Bump @copying's copyright year.
4480 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
4482 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4483 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4485 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
4487 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4488 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4489 table, not individual symbols.
4491 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4493 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4494 "target offload_device_nonshared_as"
4495 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4496 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4498 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4500 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4501 not overwritten during cross-host/device copying.
4502 (gomp_update): Likewise.
4503 (gomp_exit_data): Likewise.
4504 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4505 * testsuite/libgomp.c++/target-12.C: Likewise.
4506 * testsuite/libgomp.c++/target-15.C: Likewise.
4507 * testsuite/libgomp.c++/target-16.C: Likewise.
4508 * testsuite/libgomp.c++/target-17.C: Likewise.
4509 * testsuite/libgomp.c++/target-21.C: Likewise.
4510 * testsuite/libgomp.c++/target-23.C: Likewise.
4511 * testsuite/libgomp.c/target-23.c: Likewise.
4512 * testsuite/libgomp.c/target-29.c: Likewise.
4513 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4515 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4518 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4519 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4520 (goacc_enter_data_internal): Likewise.
4521 * target.c (gomp_map_vars_existing): Update assert condition to
4522 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4523 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4524 parameter, add support for mapping a pointer with NULL target.
4525 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4526 parameter, add support for attaching a pointer with NULL target.
4527 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4528 gomp_attach_pointer, add handling for
4529 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4530 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4531 * testsuite/libgomp.c++/target-23.C: New testcase.
4532 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4533 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4534 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4535 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4536 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4537 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4538 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4540 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
4542 * libgomp.texi (OpenMP 5.1): Update status.
4544 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
4546 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4548 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4551 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4552 * testsuite/libgomp.fortran/pr90030.f90: New test.
4554 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4555 Thomas Schwinge <thomas@codesourcery.com>
4557 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4560 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4561 Thomas Schwinge <thomas@codesourcery.com>
4563 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4566 2021-11-29 Richard Biener <rguenther@suse.de>
4568 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4571 2021-11-24 Jakub Jelinek <jakub@redhat.com>
4573 PR middle-end/103384
4574 * testsuite/libgomp.c/declare-variant-2.c: New test.
4576 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
4578 * alloc.c (gomp_aligned_alloc): Fix typo.
4580 2021-11-18 Jakub Jelinek <jakub@redhat.com>
4583 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4584 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4585 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4586 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4587 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4588 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4589 gomp_aligned_alloc instead of team_malloc.
4591 2021-11-18 Jakub Jelinek <jakub@redhat.com>
4594 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4595 memalign over posix_memalign over aligned_alloc over fallback
4596 with malloc instead of aligned_alloc over _aligned_alloc over
4597 posix_memalign over memalign over fallback with malloc. For
4598 aligned_alloc, round up size up to multiple of al.
4600 2021-11-16 Jakub Jelinek <jakub@redhat.com>
4602 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4603 construct as implemented.
4605 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
4607 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4609 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4611 * task.c (gomp_create_target_task): Copy args array as well.
4612 * target.c (gomp_target_fallback): Add args argument.
4613 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4614 (GOMP_target): Adjust gomp_target_fallback caller.
4615 (GOMP_target_ext): Likewise.
4616 (gomp_target_task_fn): Likewise.
4617 * config/nvptx/team.c (gomp_nvptx_main): Set
4618 gomp_global_icv.thread_limit_var.
4619 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4621 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4623 * config/nvptx/team.c (__gomp_team_num): Define as
4624 __attribute__((shared)) var.
4625 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4626 * config/nvptx/target.c (__gomp_team_num): Declare as
4627 extern __attribute__((shared)) var.
4628 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4629 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4630 is bigger than num_blocks, use num_teams_lower teams and arrange for
4631 bumping of __gomp_team_num if !first and returning false once we run
4633 * config/nvptx/teams.c (__gomp_team_num): Declare as
4634 extern __attribute__((shared)) var.
4635 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4637 2021-11-15 Jakub Jelinek <jakub@redhat.com>
4639 * testsuite/libgomp.c/teams-5.c: New test.
4641 2021-11-12 Jakub Jelinek <jakub@redhat.com>
4644 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4646 * config/gcn/teams.c: ... here. New file.
4648 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4650 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4651 implicit map handling to allow a "superset" existing map as valid case.
4652 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4653 (get_implicit): New function to extract implicit status.
4654 (gomp_map_fields_existing): Adjust arguments in calls to
4655 gomp_map_vars_existing, and add uses of get_implicit.
4656 (gomp_map_vars_internal): Likewise.
4657 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4659 2021-11-12 Jakub Jelinek <jakub@redhat.com>
4661 * libgomp_g.h (GOMP_teams4): Declare.
4662 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4663 * target.c (GOMP_teams4): New function.
4664 * config/nvptx/target.c (GOMP_teams): Remove.
4665 (GOMP_teams4): New function.
4666 * config/gcn/target.c (GOMP_teams): Remove.
4667 (GOMP_teams4): New function.
4668 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4669 teams instead of <= 2.
4670 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4672 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
4674 * testsuite/libgomp.fortran/teams-1.f90: New test.
4676 2021-11-11 Jakub Jelinek <jakub@redhat.com>
4678 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4679 * team.c (struct gomp_thread_start_data): Likewise.
4680 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4681 (gomp_team_start): Initialize start_data->num_teams and
4682 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4683 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4684 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4685 instead of gomp_num_teams and gomp_team_num.
4686 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4687 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4688 * testsuite/libgomp.c/teams-4.c: New test.
4690 2021-11-11 Jakub Jelinek <jakub@redhat.com>
4692 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4694 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4696 * env.c (parse_gomp_openacc_dim): Restore parsing.
4698 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
4700 PR middle-end/102972
4701 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4703 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4704 * testsuite/libgomp.c/target-3.c: Likewise.
4705 * testsuite/libgomp.c/target-5.c: Likewise.
4706 * testsuite/libgomp.c/target-6.c: Likewise.
4707 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4708 * testsuite/libgomp.c/teams-1.c: Likewise.
4709 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4710 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4711 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4712 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4713 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4714 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4715 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4717 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
4719 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4720 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4722 2021-10-27 Jakub Jelinek <jakub@redhat.com>
4724 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4725 aren't implemented for Fortran yet.
4727 2021-10-27 Jakub Jelinek <jakub@redhat.com>
4729 * testsuite/libgomp.c/loop-26.c: New test.
4730 * testsuite/libgomp.c/loop-27.c: New test.
4732 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
4735 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4736 instead of #include <alloca.h> + alloca.
4738 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4740 * libgomp.texi (Support of strictly structured blocks in Fortran):
4742 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4744 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4746 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4747 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4749 2021-10-20 Jakub Jelinek <jakub@redhat.com>
4752 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4753 (struct gomp_work_share): Only use aligned(64) attribute if
4754 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4755 add padding before lock to ensure lock is at offset 64 bytes
4757 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4758 New poor man's static assertions.
4759 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4760 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4762 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
4763 Richard Biener <rguenther@suse.de>
4765 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4767 2021-10-18 Jakub Jelinek <jakub@redhat.com>
4769 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4770 && gomp_places_list_len < count after nfirst <= nlast loop condition.
4772 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
4781 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4783 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4785 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4786 type from char [50] to const char *.
4787 (places_array): Add a testcase for simplified syntax place followed
4788 by length or length and stride.
4790 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4792 * env.c (parse_one_place): Handle non-negative-number the same
4793 as { non-negative-number }. Reject even !number:1 and
4794 !number:1:stride or !place:1 or !place:1:stride instead of just
4795 length other than 1.
4796 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4797 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4798 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4800 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4803 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4805 * env.c (parse_schedule): For strtoul or strtoull calls which don't
4806 clearly reject return value 0 as invalid handle the case where end
4807 pointer is the same as first argument as invalid.
4808 (parse_unsigned_long_1): Likewise.
4809 (parse_one_place): Likewise.
4810 (parse_places_var): Likewise.
4811 (parse_stacksize): Likewise.
4812 (parse_spincount): Likewise.
4813 (parse_affinity): Likewise.
4814 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
4815 Make code valid C89.
4816 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4817 For strtoul calls which don't clearly reject return value 0 as
4818 invalid handle the case where end pointer is the same as first
4819 argument as invalid.
4820 (gomp_affinity_init_level_1): Likewise.
4821 (gomp_affinity_init_numa_domains): Likewise.
4822 * config/rtems/proc.c (parse_thread_pools): Likewise.
4824 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4826 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4827 after creating count places clean up and return immediately.
4828 * testsuite/libgomp.c/places-6.c: New test.
4829 * testsuite/libgomp.c/places-7.c: New test.
4830 * testsuite/libgomp.c/places-8.c: New test.
4831 * testsuite/libgomp.c/places-9.c: New test.
4832 * testsuite/libgomp.c/places-10.c: New test.
4834 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4836 * env.c (parse_places_var): Handle numa_domains as level 5.
4837 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4839 (gomp_affinity_init_level): Use it instead of
4840 gomp_affinity_init_level_1 for level == 5.
4841 * testsuite/libgomp.c/places-5.c: New test.
4843 2021-10-15 Jakub Jelinek <jakub@redhat.com>
4845 * env.c (parse_places_var): Handle ll_caches as level 4.
4846 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4848 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4850 (gomp_affinity_init_level): Likewise.
4851 * testsuite/libgomp.c/places-1.c: New test.
4852 * testsuite/libgomp.c/places-2.c: New test.
4853 * testsuite/libgomp.c/places-3.c: New test.
4854 * testsuite/libgomp.c/places-4.c: New test.
4856 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4858 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4861 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4863 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4865 2021-10-12 Julian Brown <julian@codesourcery.com>
4867 * target.c (gomp_copy_host2dev): Release device lock on cbuf
4870 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
4872 * testsuite/libgomp.fortran/icv-3.f90: New.
4873 * testsuite/libgomp.fortran/icv-4.f90: New.
4875 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4877 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4878 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4879 OMP_TEAMS_THREAD_LIMIT): Document.
4881 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4883 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4884 to avoid makeinfo warnings.
4886 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4888 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4889 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4891 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4895 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4896 allocation sizes from 420 to 320 and from 768 to 568.
4897 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4898 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4899 for cr from 16 to 4.
4901 2021-10-12 Jakub Jelinek <jakub@redhat.com>
4903 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4904 * testsuite/libgomp.c/scan-12.c: Likewise.
4905 * testsuite/libgomp.c/scan-13.c: Likewise.
4906 * testsuite/libgomp.c/scan-14.c: Likewise.
4907 * testsuite/libgomp.c/scan-15.c: Likewise.
4908 * testsuite/libgomp.c/scan-16.c: Likewise.
4909 * testsuite/libgomp.c/scan-17.c: Likewise.
4910 * testsuite/libgomp.c/scan-18.c: Likewise.
4911 * testsuite/libgomp.c/scan-19.c: Likewise.
4912 * testsuite/libgomp.c/scan-20.c: Likewise.
4913 * testsuite/libgomp.c/scan-21.c: Likewise.
4914 * testsuite/libgomp.c/scan-22.c: Likewise.
4915 * testsuite/libgomp.c++/scan-9.C: Likewise.
4916 * testsuite/libgomp.c++/scan-10.C: Likewise.
4917 * testsuite/libgomp.c++/scan-11.C: Likewise.
4918 * testsuite/libgomp.c++/scan-12.C: Likewise.
4919 * testsuite/libgomp.c++/scan-13.C: Likewise.
4920 * testsuite/libgomp.c++/scan-14.C: Likewise.
4921 * testsuite/libgomp.c++/scan-15.C: Likewise.
4922 * testsuite/libgomp.c++/scan-16.C: Likewise.
4924 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
4926 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
4928 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
4930 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
4932 * omp.h.in: Add deprecated flag for omp_atv_sequential.
4933 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
4934 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
4935 * testsuite/libgomp.fortran/alloc-12.f90: New test.
4937 2021-10-11 Jakub Jelinek <jakub@redhat.com>
4939 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
4940 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4941 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
4942 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4943 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
4944 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4945 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
4946 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
4947 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
4948 omp_set_teams_thread_limit{,_,_8_}.
4949 * icv.c (omp_set_num_teams, omp_get_max_teams,
4950 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
4952 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
4953 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
4954 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
4956 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
4957 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
4958 is not specified, use gomp_nteams_var.
4959 * fortran.c (omp_set_num_teams, omp_get_max_teams,
4960 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
4962 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
4963 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
4964 omp_get_teams_thread_limit_): New functions.
4966 2021-10-09 liuhongt <hongtao.liu@intel.com>
4968 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
4969 * testsuite/libgomp.c++/scan-11.C: Ditto.
4970 * testsuite/libgomp.c++/scan-12.C: Ditto.
4971 * testsuite/libgomp.c++/scan-13.C: Ditto.
4972 * testsuite/libgomp.c++/scan-14.C: Ditto.
4973 * testsuite/libgomp.c++/scan-15.C: Ditto.
4974 * testsuite/libgomp.c++/scan-16.C: Ditto.
4975 * testsuite/libgomp.c++/scan-9.C: Ditto.
4976 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
4977 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
4978 * testsuite/libgomp.c/scan-11.c: Ditto.
4979 * testsuite/libgomp.c/scan-12.c: Ditto.
4980 * testsuite/libgomp.c/scan-13.c: Ditto.
4981 * testsuite/libgomp.c/scan-14.c: Ditto.
4982 * testsuite/libgomp.c/scan-15.c: Ditto.
4983 * testsuite/libgomp.c/scan-16.c: Ditto.
4984 * testsuite/libgomp.c/scan-17.c: Ditto.
4985 * testsuite/libgomp.c/scan-18.c: Ditto.
4986 * testsuite/libgomp.c/scan-19.c: Ditto.
4987 * testsuite/libgomp.c/scan-20.c: Ditto.
4988 * testsuite/libgomp.c/scan-21.c: Ditto.
4989 * testsuite/libgomp.c/scan-22.c: Ditto.
4991 2021-10-09 Jakub Jelinek <jakub@redhat.com>
4993 * libgomp.texi (OpenMP 5.1): Mention implemented support for
4994 structured block sequences in C/C++. Mention support for
4995 unconstrained/reproducible modifiers on order clause.
4996 Mention partial (C/C++ only) support of extentensions to atomics
4997 construct. Mention partial (C/C++ on clause only) support of
4998 align/allocator modifiers on allocate clause.
5000 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
5002 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
5003 based on libgomp.c-c++-common/order-reproducible-1.c.
5004 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
5005 * testsuite/libgomp.fortran/my-usleep.c: New test.
5007 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
5009 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5010 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5011 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5012 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5013 based on libgomp.c-c++-common/alloc-9.c.
5015 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5017 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5018 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5020 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5022 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5024 * env.c (handle_omp_display_env): Use ialias_call.
5025 * icv-device.c: Move ialias right below each function.
5026 (omp_get_device_num): Use ialias_call.
5027 * fortran.c (omp_fulfill_event): Add ialias_redirect.
5028 * icv.c (omp_get_active_level): Add ialias_redirect.
5030 2021-10-01 Jakub Jelinek <jakub@redhat.com>
5032 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5033 __alloc_align__ (1) attribute.
5034 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5036 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
5038 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5039 for -fintrinsic-modules-path= warning of the C compiler.
5040 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5041 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5043 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
5045 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5046 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5047 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5049 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5051 * testsuite/libgomp.fortran/alloc-10.f90: New test.
5052 * testsuite/libgomp.fortran/alloc-6.f90: New test.
5053 * testsuite/libgomp.fortran/alloc-7.c: New test.
5054 * testsuite/libgomp.fortran/alloc-7.f90: New test.
5055 * testsuite/libgomp.fortran/alloc-8.f90: New test.
5056 * testsuite/libgomp.fortran/alloc-9.f90: New test.
5058 2021-09-30 Jakub Jelinek <jakub@redhat.com>
5060 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5061 omp_realloc): New prototypes.
5062 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5064 * allocator.c: Include string.h.
5065 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
5066 variable and use it instead of alignment so that when retrying the old
5067 alignment is used again. Don't retry if new alignment is the same
5068 as old alignment, unless allocator had pool size.
5069 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5070 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5071 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5072 omp_aligned_calloc and omp_realloc.
5073 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5074 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5075 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5076 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5077 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5078 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5080 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
5083 * configure.ac: Only check for int-type = 2*size_t support when
5084 building with Fortran support.
5085 * configure: Regenerate.
5087 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
5089 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5090 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5092 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
5094 * team.c: Initialize start_data.
5095 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5096 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5098 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
5100 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5101 dg-message back to dg-note.
5103 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
5106 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5107 expected dg-note output.
5109 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
5112 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5113 r12-3722 by removing -Wno-missing-include-dirs.
5114 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5116 2021-09-22 Jakub Jelinek <jakub@redhat.com>
5118 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5119 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5121 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
5124 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5126 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5128 2021-09-18 Jakub Jelinek <jakub@redhat.com>
5130 * testsuite/libgomp.c++/default-1.C: New test.
5131 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5132 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5133 to default clause in C and C++" as implemented.
5135 2021-09-17 Julian Brown <julian@codesourcery.com>
5137 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5139 2021-09-17 Julian Brown <julian@codesourcery.com>
5141 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5143 2021-09-17 Jakub Jelinek <jakub@redhat.com>
5145 * libgomp.texi (OpenMP 5.1): Spelling fix,
5146 declare variante -> declare variant.
5148 2021-09-17 Jakub Jelinek <jakub@redhat.com>
5150 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5151 Use /* */ comments instead of //.
5152 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5153 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5154 * testsuite/libgomp.c++/atomic-16.C: New test.
5155 * testsuite/libgomp.c++/atomic-17.C: New test.
5157 2021-09-10 Jakub Jelinek <jakub@redhat.com>
5159 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5160 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5161 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5163 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
5165 * libgomp.texi (OpenMP Implementation Status): Extend
5167 (OpenACC Profiling Interface): Fix typo.
5169 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
5171 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5172 not to 4.5; link to new section.
5173 (OpenMP Implementation Status): New.
5175 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5177 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5179 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
5181 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5183 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5185 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5186 Jakub Jelinek <jakub@redhat.com>
5188 * testsuite/libgomp.c/address-space-1.c: New file.
5190 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5192 * testsuite/lib/libgomp.exp
5193 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5194 (check_effective_target_offload_device_intel_mic): New 'proc'.
5195 * testsuite/libgomp.c-c++-common/on_device_arch.h
5196 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5197 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5199 * testsuite/libgomp.fortran/target10.f90: Likewise.
5201 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
5203 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5204 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5205 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5206 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5208 2021-08-23 Jakub Jelinek <jakub@redhat.com>
5210 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5211 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5212 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5214 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5216 * config/nvptx/error.c (fwrite, exit): Override, too.
5217 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5218 of offloading testing.
5219 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5221 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
5223 * testsuite/libgomp.fortran/error-1.f90: New test.
5225 2021-08-20 Jakub Jelinek <jakub@redhat.com>
5227 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5228 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5229 * error.c (GOMP_warning, GOMP_error): New functions.
5230 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5232 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
5234 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5235 omp_target_free. omp_target_is_present, omp_target_memcpy,
5236 omp_target_memcpy_rect, omp_target_associate_ptr,
5237 omp_target_disassociate_ptr): Add interface.
5238 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5239 omp_target_free. omp_target_is_present, omp_target_memcpy,
5240 omp_target_memcpy_rect, omp_target_associate_ptr,
5241 omp_target_disassociate_ptr): Add interface.
5242 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5243 interface block for omp_alloc + omp_free.
5244 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5245 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5246 * testsuite/libgomp.fortran/target-12.f90: New test.
5248 2021-08-18 Jakub Jelinek <jakub@redhat.com>
5250 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5252 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
5254 * testsuite/libgomp.fortran/scope-1.f90: New test.
5255 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5257 2021-08-17 Jakub Jelinek <jakub@redhat.com>
5259 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5260 * Makefile.in: Regenerated.
5261 * libgomp_g.h (GOMP_scope_start): Declare.
5262 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5263 * scope.c: New file.
5264 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5265 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5267 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5269 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5272 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
5274 * testsuite/libgomp.fortran/masked-1.f90: New test.
5276 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5278 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5280 2021-08-12 Jakub Jelinek <jakub@redhat.com>
5282 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5284 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
5286 * env.c (parse_bind_var): Accept 'primary' as alias for
5288 (omp_display_env): Add TODO comment to
5289 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5290 * libgomp.texi: Change 'master thread' to 'primary thread'
5291 in line with OpenMP 5.1.
5292 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5293 omp_proc_bind_master is an alias of it.
5294 (OMP_PROC_BIND): Mention 'PRIMARY'.
5295 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5296 (omp_proc_bind_primary): Add.
5297 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5298 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5299 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5300 * omp_lib.h.in (omp_proc_bind_primary): Add.
5301 * testsuite/libgomp.c/affinity-1.c: Check that
5302 'primary' works and is identical to 'master'.
5304 2021-08-09 Julian Brown <julian@codesourcery.com>
5305 Kwok Cheung Yeung <kcy@codesourcery.com>
5306 Thomas Schwinge <thomas@codesourcery.com>
5308 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5310 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5311 [acc_device_radeon]: Update.
5312 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5313 [ACC_DEVICE_TYPE_radeon]: Likewise.
5314 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5315 [acc_device_radeon]: Likewise.
5316 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5317 [ACC_DEVICE_TYPE_radeon]: Likewise.
5318 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5319 'openacc_radeon_accel_selected' and '-O0'.
5320 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5322 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5324 * icv-device.c (omp_get_device_num): New API function, host side.
5325 * fortran.c (omp_get_device_num_): New interface function.
5326 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5327 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5328 omp_get_device_num_.
5329 * libgomp.texi (omp_get_device_num): Add documentation for new API
5331 * omp.h.in (omp_get_device_num): Add declaration.
5332 * omp_lib.f90.in (omp_get_device_num): Likewise.
5333 * omp_lib.h.in (omp_get_device_num): Likewise.
5334 * target.c (gomp_load_image_to_device): If additional entry for device
5335 number exists at end of returned entries from 'load_image_func' hook,
5336 copy the assigned device number over to the device variable.
5337 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5338 (omp_get_device_num): New API function, device side.
5339 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5340 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5341 at end of returned 'target_table' entries.
5342 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5343 (omp_get_device_num): New API function, device side.
5344 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5345 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5346 at end of returned 'target_table' entries.
5347 * testsuite/lib/libgomp.exp
5348 (check_effective_target_offload_target_intelmic): New function for
5349 testing for intelmic offloading.
5350 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5351 * testsuite/libgomp.fortran/target10.f90: New test.
5353 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5354 Ulrich Drepper <drepper@redhat.com>
5356 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5357 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5359 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5360 Julian Brown <julian@codesourcery.com>
5361 Kwok Cheung Yeung <kcy@codesourcery.com>
5363 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5364 's%oaccdevlow%oaccloops%g'.
5365 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5366 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5367 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5369 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5371 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5373 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5375 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5377 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5379 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5381 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5383 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5385 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
5387 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5389 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5391 2021-07-27 Ulrich Drepper <drepper@gmail.com>
5393 * env.c (wait_policy, stacksize): New static variables,
5394 move out of handle_omp_display_env.
5395 (omp_display_env): New function. The meat of the old
5396 handle_omp_display_env function.
5397 (handle_omp_display_env): Change to not take parameters
5398 and instead use the global variables. Only perform
5399 parsing, defer to omp_display_env for the implementation.
5400 (initialize_env): Remove local variables wait_policy and
5401 stacksize. Don't pass parameters to handle_omp_display_env.
5402 * fortran.c: Add ialias_redirect for omp_display_env.
5403 (omp_display_env_, omp_display_env_8_): New functions.
5404 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5405 omp_display_env_, and omp_display_env_8_.
5406 * omp.h.in: Declare omp_display_env.
5407 * omp_lib.f90.in: Likewise.
5408 * omp_lib.h.in: Likewise.
5410 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5411 Julian Brown <julian@codesourcery.com>
5413 * target.c (gomp_coalesce_buf_add): Update comment.
5414 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5416 (gomp_map_vars_internal): Only 'if (!aq)', do
5417 'gomp_coalesce_buf_add'.
5418 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5421 2021-07-27 Julian Brown <julian@codesourcery.com>
5422 Thomas Schwinge <thomas@codesourcery.com>
5424 * libgomp.h (gomp_copy_host2dev): Update prototype.
5425 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5426 argument to gomp_copy_host2dev (false).
5427 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5428 (copy_data): Don't free src.
5429 (queue_push_copy): Remove free_src handling.
5430 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5431 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5433 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5435 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5436 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5437 data when true, and set up deferred freeing of temporary buffer.
5438 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5439 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5440 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5441 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5442 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5445 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5446 Tom de Vries <tom@codesourcery.com>
5448 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5449 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5451 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5453 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5454 sequencing of 'async' data copying vs. profiling events.
5455 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5458 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5459 Julian Brown <julian@codesourcery.com>
5461 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5462 'async'/'wait' issue.
5463 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5464 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5465 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5467 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5468 Joseph Myers <joseph@codesourcery.com>
5469 Cesar Philippidis <cesar@codesourcery.com>
5471 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5473 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5475 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5477 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5479 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5482 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5483 '-Wno-error=array-bounds'.
5484 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5485 * libgomp.h [__AMDGCN__]: Likewise.
5487 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5490 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5491 * libgomp.h [__AMDGCN__]: Likewise.
5493 2021-07-13 Jakub Jelinek <jakub@redhat.com>
5494 Florian Weimer <fweimer@redhat.com>
5496 * config/linux/sem.h: Don't include limits.h.
5497 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5498 * config/linux/affinity.c: Include limits.h.
5500 2021-07-01 Jakub Jelinek <jakub@redhat.com>
5503 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5505 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
5508 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5509 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5510 avoid disabling other offload targets.
5511 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5512 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5513 * testsuite/libgomp.c/target-44.c: Likewise.
5515 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
5517 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5518 target has shared memory and disable some scalar pointer/allocatable
5519 checks if not as firstprivate does not work.
5521 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5524 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5525 Add "target offload_device_nonshared_as" condition for enabling test.
5527 2021-06-24 Jakub Jelinek <jakub@redhat.com>
5529 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5530 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5531 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5532 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5534 2021-06-23 Jakub Jelinek <jakub@redhat.com>
5536 PR middle-end/101167
5537 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5539 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5541 * hashtab.h (htab_clear): New function with initialization code
5542 factored out from...
5543 (htab_create): ...here, adjust to use htab_clear function.
5544 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5545 special refcount values, add comments.
5546 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5547 (REFCOUNT_LINK): Likewise.
5548 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5550 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5552 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5553 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5554 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5555 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5556 (struct splay_tree_key_s): Add structelem_refcount and
5557 structelem_refcount_ptr fields into a union with dynamic_refcount.
5559 (gomp_map_vars): Delete declaration.
5560 (gomp_map_vars_async): Likewise.
5561 (gomp_unmap_vars): Likewise.
5562 (gomp_unmap_vars_async): Likewise.
5563 (goacc_map_vars): New declaration.
5564 (goacc_unmap_vars): Likewise.
5565 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5566 (goacc_enter_datum): Likewise.
5567 (goacc_enter_data_internal): Likewise.
5568 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5569 and goacc_unmap_vars.
5570 (GOACC_data_start): Adjust to use goacc_map_vars.
5571 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5572 * target.c (hash_entry_type): New typedef.
5573 (htab_alloc): New function hook for hashtab.h.
5574 (htab_free): Likewise.
5575 (htab_hash): Likewise.
5576 (htab_eq): Likewise.
5577 (hashtab.h): Add file include.
5578 (gomp_increment_refcount): New function.
5579 (gomp_decrement_refcount): Likewise.
5580 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5581 gomp_increment_refcount.
5582 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5583 to gomp_map_vars_existing.
5584 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5585 variable to guard OpenMP specific paths, adjust calls to
5586 gomp_map_vars_existing, add structure element sibling splay_tree_key
5587 sequence creation code, adjust Fortran map case to avoid increment
5589 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5590 local refcount_set if caller passed in NULL, adjust call to
5591 gomp_map_vars_internal.
5592 (gomp_map_vars_async): Adjust and rename into...
5593 (goacc_map_vars): ...this new function, adjust call to
5594 gomp_map_vars_internal.
5595 (gomp_remove_splay_tree_key): New function with code factored out from
5596 gomp_remove_var_internal.
5597 (gomp_remove_var_internal): Add code to handle removing multiple
5598 splay_tree_key sequence for structure elements, adjust code to use
5599 gomp_remove_splay_tree_key for splay-tree key removal.
5600 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5601 gomp_decrement_refcount.
5602 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5603 local refcount_set if caller passed in NULL, adjust call to
5604 gomp_unmap_vars_internal.
5605 (gomp_unmap_vars_async): Adjust and rename into...
5606 (goacc_unmap_vars): ...this new function, adjust call to
5607 gomp_unmap_vars_internal.
5608 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5610 (GOMP_target_ext): Likewise.
5611 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5612 (GOMP_target_data): Likewise.
5613 (GOMP_target_data_ext): Likewise.
5614 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5615 (gomp_exit_data): Add refcount_set parameter, adjust to use
5616 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5618 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5619 gomp_map_vars and gomp_exit_data.
5620 (gomp_target_task_fn): Likewise.
5621 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5622 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5623 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5624 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5625 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5626 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5628 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
5631 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5633 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
5634 Thomas Schwinge <thomas@codesourcery.com>
5636 * libgomp.map (GOACC_2.0.2): New symbol version.
5637 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5638 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5640 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5641 Andrew Stubbs <ams@codesourcery.com>
5643 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5645 (GOACC_enter_exit_data): ... here.
5646 (GOACC_declare): Use it.
5648 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5650 * oacc-parallel.c (GOACC_declare): Move...
5651 * oacc-mem.c: ... here.
5652 * libgomp_g.h: Adjust.
5654 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
5655 Thomas Schwinge <thomas@codesourcery.com>
5657 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5660 2021-06-10 Jakub Jelinek <jakub@redhat.com>
5662 PR tree-optimization/100981
5663 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5664 dsdotr and dsdoti to 0.
5666 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
5668 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5669 if atomic compare-and-swap is supported on 'int'.
5671 2021-06-09 Richard Biener <rguenther@suse.de>
5673 PR tree-optimization/100981
5674 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5676 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5678 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5680 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5682 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5683 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5685 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5687 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5688 '-DACC_MEM_SHARED=0'.
5689 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5690 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5691 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5692 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5693 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5694 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5695 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5696 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5697 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5698 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5699 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5700 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5701 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5702 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5703 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5704 'acc_device_radeon' testing.
5705 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5706 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5707 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5708 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5709 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5710 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5711 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5712 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5713 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5714 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5715 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5716 for non-'openacc_nvidia_accel_selected'.
5717 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5718 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5719 all implement this checking".
5720 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5721 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5722 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5723 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5724 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5726 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5728 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5729 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5731 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5733 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5734 for 'acc_device_radeon'.
5736 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5738 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5739 for non-'acc_device_nvidia'.
5741 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5743 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5744 'acc_device_radeon' testing.
5745 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5746 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5747 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5749 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5751 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5752 require 'openacc_nvidia_accel_selected'. Fix up for
5753 'ACC_DEVICE_TYPE_radeon'.
5755 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5757 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5758 'openacc_nvidia_accel_selected'.
5759 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5761 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5763 * testsuite/lib/libgomp.exp
5764 (check_effective_target_openacc_radeon_accel_selected):
5767 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5769 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5772 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5774 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5775 <acc_device_nvidia>: Update comment.
5777 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
5779 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5781 2021-05-27 Jakub Jelinek <jakub@redhat.com>
5783 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5784 check_effective_target_openacc_cublas,
5785 check_effective_target_openacc_cudart): New.
5786 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5787 target openacc_cublas.
5788 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5789 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5790 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5791 target openacc_cuda.
5792 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5793 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5794 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5795 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5796 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5797 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5798 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5799 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5800 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5801 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5802 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5803 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5804 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5805 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5806 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5807 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5808 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5809 targets openacc_cublas and openacc_cudart.
5810 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5811 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5812 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5813 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5814 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5815 Require effective target openacc_cudart.
5816 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5817 for effective target openacc_cuda and add && defined USE_CUDA_H to
5818 preprocessor conditionals. Guard -lcuda also on openacc_cuda
5821 2021-05-26 Jakub Jelinek <jakub@redhat.com>
5824 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5825 GOMP_target_end_data, GOMP_target_update_ext,
5826 GOMP_target_enter_exit_data): New dummy entrypoints.
5827 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5828 GOMP_target_end_data, GOMP_target_update_ext,
5829 GOMP_target_enter_exit_data): Likewise.
5830 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5831 OMPFROM, OMPTO): Define.
5832 (main): Remove #pragma omp target teams around all the tests.
5833 * testsuite/libgomp.c-c++-common/target-41.c: New test.
5834 * testsuite/libgomp.c-c++-common/target-42.c: New test.
5836 2021-05-25 Jakub Jelinek <jakub@redhat.com>
5839 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5841 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
5844 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5845 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5846 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5848 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
5851 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5852 uninteresting/varying diagnostics.
5854 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5857 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5858 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5860 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5863 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5865 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5866 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5867 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5869 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5871 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5873 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5875 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5877 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5879 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5881 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5883 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5885 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5887 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5889 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5891 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5893 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5895 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5897 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5899 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5901 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5903 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5905 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5907 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5909 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5910 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5911 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5912 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
5913 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5914 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5915 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5916 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5917 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5918 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5919 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5920 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5921 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5922 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5923 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5925 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
5927 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
5929 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5931 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5932 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5934 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5935 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5936 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5937 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5938 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
5939 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5940 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5942 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5944 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5946 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5948 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5950 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5952 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5954 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5956 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5958 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5960 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5962 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5964 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5966 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5967 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5968 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5970 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5972 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5973 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5974 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5976 2021-05-21 Julian Brown <julian@codesourcery.com>
5977 Chung-Lin Tang <cltang@codesourcery.com>
5978 Thomas Schwinge <thomas@codesourcery.com>
5981 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
5983 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5985 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5988 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5990 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
5991 for nvptx offloading.
5993 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
5995 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
5997 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
6000 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
6002 2021-05-19 Julian Brown <julian@codesourcery.com>
6004 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
6006 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6008 * testsuite/lib/libgomp.exp
6009 (check_effective_target_offload_target_nvptx): Don't shadow global
6010 'offload_targets' variable.
6012 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6014 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6015 '-latomic' to nvptx offloading compilation.
6016 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6018 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6020 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6021 offloading compilation.
6023 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
6025 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6026 if new tasks generated.
6027 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6029 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
6031 * testsuite/libgomp.fortran/parallel-master.f90: New test.
6033 2021-05-13 Martin Liska <mliska@suse.cz>
6036 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6037 * testsuite/libgomp.c/pr46032-2.c: Likewise.
6038 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6041 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
6043 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6044 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6046 2021-05-11 Jakub Jelinek <jakub@redhat.com>
6048 PR middle-end/100471
6049 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6050 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6052 * testsuite/libgomp.c/task-reduction-4.c: New test.
6054 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
6055 Tom de Vries <tdevries@suse.de>
6057 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6058 complex/floating-point || + && reduction with 'omp target'.
6059 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6061 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
6063 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6064 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6065 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6066 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6068 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
6071 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6072 declaration to scope of non-'depend'-guarded assignment to avoid races.
6074 2021-05-03 Tom de Vries <tdevries@suse.de>
6077 * testsuite/libgomp.c/target-44.c: New test.
6079 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
6081 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6083 2021-04-29 Tom de Vries <tdevries@suse.de>
6085 * testsuite/libgomp.c/pr81778.c: New test.
6087 2021-04-29 Tom de Vries <tdevries@suse.de>
6090 * testsuite/libgomp.c/target-43.c: New file.
6092 2021-04-28 Jakub Jelinek <jakub@redhat.com>
6093 Tobias Burnus <tobias@codesourcery.com>
6095 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6096 * target.c (gomp_load_plugin_for_device): If set and if a plugin
6097 can't be dlopened, silently assume it has no devices.
6098 * Makefile.in: Regenerate.
6099 * config.h.in: Regenerate.
6100 * configure: Regenerate.
6102 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
6104 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6105 Use [Ww]arning in dg-bogus as FE diagnostic and default
6106 diagnostic differ and the result depends on ENABLE_OFFLOAD.
6107 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6108 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6109 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6111 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
6113 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6114 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6115 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6116 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6117 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6119 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6120 Nathan Sidwell <nathan@codesourcery.com>
6121 Tom de Vries <vries@codesourcery.com>
6122 Julian Brown <julian@codesourcery.com>
6123 Kwok Cheung Yeung <kcy@codesourcery.com>
6125 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6126 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6127 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6128 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6129 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6130 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6131 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6133 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6134 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6135 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6136 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6138 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6139 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6141 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6142 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6143 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6144 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6145 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6146 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6148 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6149 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6150 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6151 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6152 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6153 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6154 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6155 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6156 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6157 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6158 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6160 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6162 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6164 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6167 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6168 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6169 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6170 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6171 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6172 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6173 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6175 2021-04-22 Richard Biener <rguenther@suse.de>
6177 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6180 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6182 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6183 omp_depend_kind instead of defining it as 16.
6185 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6187 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6188 New, based on check_effective_target_offload_target_nvptx.
6189 (check_effective_target_offload_target_nvptx): Call it.
6190 (check_effective_target_offload_target_amdgcn): New.
6191 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6192 Require target offload_target_nvptx || offload_target_amdgcn.
6193 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6194 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6195 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6197 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
6199 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6201 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6203 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6204 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6205 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6207 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6209 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6211 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6214 * testsuite/lib/libgomp.exp
6215 (check_effective_target_offload_device_nvptx): New.
6216 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6217 resolved, make sure that we exit quickly, with error status,
6219 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6220 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6222 2021-04-14 Jakub Jelinek <jakub@redhat.com>
6225 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6226 cp = omp_alloc with cp, p arguments instead of cq, q and call
6227 c_f_pointer after last cq = omp_alloc with cq, q.
6229 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6232 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6233 for loop with GT/GE condition.
6234 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6236 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6241 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6243 2021-04-09 Jakub Jelinek <jakub@redhat.com>
6246 * team.c (gomp_thread_start): Call pthread_setspecific for
6247 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6248 has been initialized to avoid false positive warning.
6250 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
6253 * testsuite/lib/on_device_arch.c: Move to ...
6254 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6255 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6256 #include on_device_arch.h.
6257 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6258 on_device_arch.h instead of using dg-additional-source.
6259 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6260 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6261 on_device_arch.c without relative paths.
6263 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6265 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6266 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6267 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6268 * config.h.in: Regenerate.
6269 * configure: Likewise.
6271 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6274 * testsuite/lib/on_device_arch.c: New file.
6275 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6276 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6277 skip for nvptx offloading, with error status.
6278 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6280 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6282 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6283 OpenACC 'serial' construct diagnostic for nvptx offloading.
6285 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
6288 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6290 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
6293 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6295 2021-03-04 Jakub Jelinek <jakub@redhat.com>
6297 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6298 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6299 checking of -m32 or -mx32 options on the command line.
6300 * config.h.in: Regenerated.
6301 * configure: Regenerated.
6303 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6305 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6306 support from the target.
6308 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6309 Jakub Jelinek <jakub@redhat.com>
6312 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6313 (struct gomp_task): Replace detach and completion_sem fields with
6314 union containing completion_sem and detach_team. Add deferred_p
6316 (struct gomp_team): Remove task_detach_queue.
6317 * task.c: Include assert.h.
6318 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6319 Rearrange initialization order of fields.
6320 (task_fulfilled_p): Delete.
6321 (GOMP_task): Use address of task as the event handle. Remove
6322 initialization of detach field. Initialize deferred_p field.
6323 Use automatic local for completion_sem. Initialize detach_team field
6325 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6326 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6327 decrement task_running_count. Move finish_cancelled block out of
6328 else branch. Relocate call to gomp_team_barrier_done.
6329 (GOMP_taskwait): Handle tasks with completion events that have not
6331 (GOMP_taskgroup_end): Likewise.
6332 (omp_fulfill_event): Use address of task as event handle. Post to
6333 completion_sem for undeferred tasks. Clear detach_team if task
6334 has not finished. For finished tasks, handle post-execution tasks,
6335 call gomp_team_barrier_wake if necessary, and free task.
6336 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6337 (free_team): Remove free of task_detach_queue.
6338 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6339 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6340 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6341 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6342 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6343 Change data-sharing of detach events on enclosing parallel to private.
6344 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6346 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6347 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6348 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6349 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6350 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6351 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6352 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6353 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6354 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6355 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6356 Change data-sharing of detach events on enclosing parallel to private.
6357 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6359 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6360 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6361 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6362 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6363 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6365 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
6368 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6370 2021-02-17 Julian Brown <julian@codesourcery.com>
6372 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6375 2021-02-17 Julian Brown <julian@codesourcery.com>
6377 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6378 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6380 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6382 * config/linux/x86/futex.h (__futex_wait):
6383 Revert output type back to long.
6384 (__futex_wake): Ditto.
6385 (futex_wait): Update for revert.
6386 (futex_wake): Ditto.
6388 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6390 * config/linux/x86/futex.h (__futex_wait): New static inline
6391 wrapper function. Correct output type to int and
6392 timeout type to void *.
6393 (__futex_wake): New static inline wrapper function.
6394 Correct output type to int.
6395 (futex_wait): Use __futex_wait.
6396 (futex_wake): Use __futex_wake.
6398 2021-02-10 Julian Brown <julian@codesourcery.com>
6401 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6404 2021-02-04 Julian Brown <julian@codesourcery.com>
6406 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6408 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
6410 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6411 EF_AMDGPU_MACH_AMDGCN_GFX908.
6412 (gcn_gfx908_s): New constant string.
6413 (isa_hsa_name): Add gfx908.
6414 (isa_code): Add gfx908.
6416 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6418 * libgomp.texi (omp_fulfill_event): New entry.
6420 2021-01-20 Jakub Jelinek <jakub@redhat.com>
6422 * task.c (GOMP_task): Rename priority argument to priority_arg,
6423 add priority automatic variable and modify that variable. Instead of
6424 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6425 check flags for that bit.
6427 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
6430 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6432 2021-01-18 Andreas Schwab <schwab@suse.de>
6434 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6436 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6438 * config/rtems/sem.h (gomp_sem_getcount): New function.
6440 2021-01-18 Jakub Jelinek <jakub@redhat.com>
6442 * config/linux/sem.h (gomp_sem_getcount): New function.
6443 * config/posix/sem.h (gomp_sem_getcount): New function.
6444 * config/posix/sem.c (gomp_sem_getcount): New function.
6445 * config/accel/sem.h (gomp_sem_getcount): New function.
6446 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6447 (omp_fulfill_event): Likewise.
6449 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6451 * fortran.c (omp_fulfill_event_): New.
6452 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6453 (struct gomp_team): Add task_detach_queue and task_detach_count
6455 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6456 * libgomp_g.h (GOMP_task): Add extra argument.
6457 * omp.h.in (enum omp_event_handle_t): New.
6458 (omp_fulfill_event): New.
6459 * omp_lib.f90.in (omp_event_handle_kind): New.
6460 (omp_fulfill_event): New.
6461 * omp_lib.h.in (omp_event_handle_kind): New.
6462 (omp_fulfill_event): Declare.
6463 * priority_queue.c (priority_tree_find): New.
6464 (priority_list_find): New.
6465 (priority_queue_find): New.
6466 * priority_queue.h (priority_queue_predicate): New.
6467 (priority_queue_find): New.
6468 * task.c (gomp_init_task): Initialize detach field.
6469 (task_fulfilled_p): New.
6470 (GOMP_task): Add detach argument. Ignore detach argument if
6471 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6472 field. Copy address of completion_sem into detach argument and
6473 into the start of the data record. Wait for detach event if task
6475 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6476 Remove completed tasks and requeue dependent tasks.
6477 (omp_fulfill_event): New.
6478 * team.c (gomp_new_team): Initialize task_detach_queue and
6479 task_detach_count fields.
6480 (free_team): Free task_detach_queue field.
6481 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6482 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6483 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6484 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6485 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6486 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6487 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6488 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6489 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6490 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6491 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6492 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6494 2021-01-15 Jakub Jelinek <jakub@redhat.com>
6497 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6498 be added through preprocessor check on
6499 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6501 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6504 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6506 * configure: Regenerate.
6507 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6510 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6512 * configure: Re-generate.
6514 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6516 * configure: Re-generate.
6518 2021-01-05 Julian Brown <julian@codesourcery.com>
6520 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6521 (struct ptx_device): Add omp_stacks struct.
6522 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6523 (nvptx_close_device): Free cached stacks block and mutex.
6524 (nvptx_stacks_free): New function.
6525 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6526 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6527 (nvptx_stacks_alloc): Rename to...
6528 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6529 size or smaller is required.
6530 (nvptx_stacks_free): Remove.
6531 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6532 during kernel execution.
6534 2021-01-01 Jakub Jelinek <jakub@redhat.com>
6536 * libgomp.texi: Bump @copying's copyright year.
6538 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6540 * libgomp.texi (Top): Avoid bad "up" link.
6542 2020-12-18 Jakub Jelinek <jakub@redhat.com>
6544 * testsuite/libgomp.c/task-6.c: New test.
6546 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
6548 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6549 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6551 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
6553 * testsuite/libgomp.fortran/scan-1.f90: New test.
6555 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6558 * configure: Regenerate.
6560 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
6562 * configure: Regenerate.
6564 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6566 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6567 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6569 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
6571 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6574 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
6576 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6577 (reserved): Delete unused define.
6579 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6581 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6582 Tcl 8.5-specific behavior.
6583 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6585 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6587 * env.c (gomp_global_icv): Remove nest_var field. Add
6588 max_active_levels_var field.
6589 (gomp_max_active_levels_var): Remove.
6590 (parse_boolean): Return true on success.
6591 (handle_omp_display_env): Express OMP_NESTED in terms of
6592 max_active_levels_var. Change format specifier for
6593 max_active_levels_var.
6594 (initialize_env): Set max_active_levels_var from
6595 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6597 * icv.c (omp_set_nested): Express in terms of
6598 max_active_levels_var.
6599 (omp_get_nested): Likewise.
6600 (omp_set_max_active_levels): Use max_active_levels_var field instead
6601 of gomp_max_active_levels_var.
6602 (omp_get_max_active_levels): Likewise.
6603 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6604 max_active_levels_var field.
6605 (gomp_supported_active_levels): Set to UCHAR_MAX.
6606 (gomp_max_active_levels_var): Delete.
6607 * libgomp.texi (omp_get_nested): Update documentation.
6608 (omp_set_nested): Likewise.
6609 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6610 (OMP_NESTED): Likewise.
6611 (OMP_NUM_THREADS): Likewise.
6612 (OMP_PROC_BIND): Likewise.
6613 * parallel.c (gomp_resolve_num_threads): Replace reference
6614 to nest_var with max_active_levels_var. Use max_active_levels_var
6615 field instead of gomp_max_active_levels_var.
6617 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
6619 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6620 nvptx_usleep; use also for device={arch(gcn)}.
6622 2020-11-14 Jakub Jelinek <jakub@redhat.com>
6624 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6625 (foo): Add tests for non-VLA private and firstprivate clauses on
6627 (bar): Likewise. Remove taking of address from private/firstprivate
6629 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6630 (foo): Add p, q, px and s arguments. Add tests for array reductions
6631 and for non-VLA private and firstprivate clauses on omp task.
6633 (main): Adjust foo caller. Don't call bar.
6635 2020-11-13 Gergö Barany <gergo@codesourcery.com>
6636 Thomas Schwinge <thomas@codesourcery.com>
6638 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6640 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6642 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6644 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6645 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6647 2020-11-13 Gergö Barany <gergo@codesourcery.com>
6648 Thomas Schwinge <thomas@codesourcery.com>
6651 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6653 2020-11-13 Jakub Jelinek <jakub@redhat.com>
6655 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6656 for array reductions.
6657 (main): Adjust foo callers.
6659 2020-11-12 Jakub Jelinek <jakub@redhat.com>
6661 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6662 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6663 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6664 * allocator.c (omp_aligned_alloc): New for now static function,
6665 add alignment argument and handle it.
6666 (omp_alloc): Reimplement using omp_aligned_alloc.
6667 (GOMP_alloc, GOMP_free): New functions.
6668 (omp_free): Add ialias.
6669 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6670 * testsuite/libgomp.c++/allocate-1.C: New test.
6672 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6675 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6677 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6679 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6681 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6682 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6683 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6684 (goacc_enter_data_internal): Likewise.
6685 * target.c (gomp_map_vars_internal):
6686 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6687 of gomp_attach_pointer for OpenMP cases.
6688 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6689 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6690 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6692 2020-11-05 Ulrich Drepper <drepper@redhat.com>
6693 Kwok Cheung Yeung <kcy@codesourcery.com>
6695 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6696 * Makefile.in: Regenerate.
6697 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6698 pragmas to ignore -Wdeprecated-declarations warnings.
6700 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6701 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6702 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6703 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6705 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6707 * testsuite/libgomp.c/affinity-1.c: Likewise.
6708 * testsuite/libgomp.c/affinity-2.c: Likewise.
6709 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6710 * testsuite/libgomp.c/lib-1.c: Likewise.
6711 * testsuite/libgomp.c/nested-1.c: Likewise.
6712 * testsuite/libgomp.c/nested-2.c: Likewise.
6713 * testsuite/libgomp.c/nested-3.c: Likewise.
6714 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6715 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6716 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6717 * testsuite/libgomp.c/pr35549.c: Likewise.
6718 * testsuite/libgomp.c/pr42942.c: Likewise.
6719 * testsuite/libgomp.c/pr61200.c: Likewise.
6720 * testsuite/libgomp.c/sort-1.c: Likewise.
6721 * testsuite/libgomp.c/target-5.c: Likewise.
6722 * testsuite/libgomp.c/target-6.c: Likewise.
6723 * testsuite/libgomp.c/teams-1.c: Likewise.
6724 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6725 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6726 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6727 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6728 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6729 * testsuite/libgomp.fortran/lib2.f: Likewise.
6730 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6731 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6733 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6736 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6737 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6738 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6740 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6744 * testsuite/lib/libgomp.exp (libgomp_init): Set
6745 'gcc_warning_prefix', 'gcc_error_prefix'.
6747 2020-10-30 Jakub Jelinek <jakub@redhat.com>
6749 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6750 even in field_tgt_clear initializer.
6752 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6754 * testsuite/libgomp.c/target-42.c: New test.
6756 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6757 Tom de Vries <tdevries@suse.de>
6760 * testsuite/libgomp.c/usleep.h: New file.
6761 * testsuite/libgomp.c/target-32.c: Include usleep.h.
6762 (main): Use tgt_usleep instead of usleep.
6763 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6764 (main): Use tgt_usleep instead of usleep.
6766 2020-10-28 Jakub Jelinek <jakub@redhat.com>
6769 * testsuite/libgomp.c/declare-variant-1.c: New test.
6771 2020-10-22 Jakub Jelinek <jakub@redhat.com>
6773 * testsuite/libgomp.c/target-41.c: New test.
6775 2020-10-22 Jakub Jelinek <jakub@redhat.com>
6777 * icv.c (omp_get_initial_device): Remove including corresponding
6779 * icv-device.c (omp_get_initial_device): New function. Return
6780 gomp_get_num_devices (). Add ialias.
6781 * target.c (resolve_device): Don't fail with
6782 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6783 gomp_get_num_devices ().
6784 (omp_target_alloc, omp_target_free, omp_target_is_present,
6785 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6786 omp_target_disassociate_ptr, omp_pause_resource): Use
6787 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6788 first use in the functions, in uses dominated by the
6789 gomp_get_num_devices call use num_devices_openmp instead.
6790 * libgomp.texi (omp_get_initial_device): Document.
6791 * config/gcn/icv-device.c (omp_get_initial_device): New function.
6793 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6794 * testsuite/libgomp.c/target-40.c: New test.
6796 2020-10-21 Jakub Jelinek <jakub@redhat.com>
6798 * env.c (parse_target_offload): Change new_offload var type to int,
6799 preinitialize to -1, remove found var and test new_offload != -1
6802 2020-10-20 Jakub Jelinek <jakub@redhat.com>
6804 * target.c (gomp_target_init): Inside of the function, use automatic
6805 variables corresponding to num_devices, num_devices_openmp and devices
6806 global variables and update the globals only at the end of the
6809 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
6811 * env.c (gomp_target_offload_var): New.
6812 (parse_target_offload): New.
6813 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6814 (initialize_env): Parse OMP_TARGET_OFFLOAD.
6815 * libgomp.h (gomp_target_offload_t): New.
6816 (gomp_target_offload_var): New.
6817 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6818 * target.c (resolve_device): Generate error if device not found and
6819 offloading is mandatory.
6820 (gomp_target_fallback): Generate error if offloading is mandatory.
6821 (GOMP_target): Add argument in call to gomp_target_fallback.
6822 (GOMP_target_ext): Likewise.
6823 (gomp_target_data_fallback): Generate error if offloading is mandatory.
6824 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6825 (GOMP_target_data_ext): Likewise.
6826 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6827 (gomp_target_init): Return early if offloading is disabled.
6829 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
6831 * libgomp.texi (omp_get_max_active_levels): Modify description.
6832 (omp_get_supported_active_levels): Make descriptions consistent.
6834 2020-10-14 Jakub Jelinek <jakub@redhat.com>
6836 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6838 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6840 * env.c (gomp_max_active_levels_var): Initialize to
6841 gomp_supported_active_levels.
6842 (initialize_env): Limit gomp_max_active_levels_var to be at most
6843 equal to gomp_supported_active_levels.
6844 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6845 (omp_get_supported_active_levels_): New.
6846 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6847 to at most equal to gomp_supported_active_levels.
6848 (omp_get_supported_active_levels): New.
6849 * libgomp.h (gomp_supported_active_levels): New.
6850 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6851 omp_get_supported_active_levels_.
6852 * libgomp.texi (omp_get_supported_active_levels): New.
6853 (omp_set_max_active_levels): Update. Add reference to
6854 omp_get_supported_active_levels.
6855 * omp.h.in (omp_get_supported_active_levels): New.
6856 * omp_lib.f90.in (omp_get_supported_active_levels): New.
6857 * omp_lib.h.in (omp_get_supported_active_levels): New.
6858 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6859 against omp_get_supported_active_levels.
6860 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6862 2020-10-11 Clement Chigot <clement.chigot@atos.net>
6864 * config/t-aix: Delete and recreate libgomp before creating
6867 2020-10-08 Tom de Vries <tdevries@suse.de>
6870 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6873 2020-10-06 Tom de Vries <tdevries@suse.de>
6875 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6877 2020-10-06 Tom de Vries <tdevries@suse.de>
6880 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6882 2020-10-05 Tom de Vries <tdevries@suse.de>
6885 * testsuite/libgomp.fortran/pr95654.f90: New test.
6887 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
6889 * Makefile.in: Regenerate with automake 1.15.1.
6890 * aclocal.m4: Likewise.
6891 * configure: Likewise.
6892 * testsuite/Makefile.in: Likewise.
6894 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
6896 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6899 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
6901 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6903 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
6905 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6906 total number of threads is one.
6907 (gomp_team_barrier_wake): Likewise.
6908 (gomp_team_barrier_wait_end): Likewise.
6909 (gomp_team_barrier_wait_cancel_end): Likewise.
6910 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
6911 (gomp_team_barrier_wake): Likewise.
6912 (gomp_team_barrier_wait_end): Likewise.
6913 (gomp_team_barrier_wait_cancel_end): Likewise.
6914 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
6916 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
6919 * testsuite/libgomp.c++/pr96390.C: New test.
6920 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
6922 2020-09-27 Clement Chigot <clement.chigot@atos.net>
6924 * config/t-aix: Use $(AR) without -X32_64.
6926 2020-09-25 Jakub Jelinek <jakub@redhat.com>
6928 * testsuite/libgomp.c/loop-25.c: New test.
6930 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
6933 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
6935 2020-09-22 Tom de Vries <tdevries@suse.de>
6937 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
6940 2020-09-16 Nathan Sidwell <nathan@acm.org>
6942 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
6944 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
6947 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
6949 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
6952 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
6953 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
6954 (gomp_map_vars_existing): Update call to it.
6955 (gomp_map_fields_existing): Likewise
6956 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
6957 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
6959 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
6961 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
6962 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
6964 2020-09-14 Tom de Vries <tdevries@suse.de>
6966 * config/nvptx/atomic.c: New file. Add
6967 __sync_val_compare_and_swap_16.
6968 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
6969 target offload_target_nvptx.
6971 2020-09-08 Julian Brown <julian@codesourcery.com>
6973 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
6974 iteration-ordering assumptions.
6976 2020-09-08 Julian Brown <julian@codesourcery.com>
6978 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
6979 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6981 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
6983 * plugin/plugin-nvptx.c (nvptx_free):
6984 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
6985 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
6988 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
6990 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
6992 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6994 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
6996 2020-08-13 Jakub Jelinek <jakub@redhat.com>
6998 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
6999 * testsuite/libgomp.c/loop-23.c (main): Likewise.
7000 * testsuite/libgomp.c/loop-24.c: New test.
7002 2020-08-08 Jakub Jelinek <jakub@redhat.com>
7003 Tobias Burnus <tobias@codesourcery.com>
7006 * testsuite/libgomp.fortran/pr93553.f90: New test.
7008 2020-08-05 Jakub Jelinek <jakub@redhat.com>
7010 * testsuite/libgomp.c/loop-22.c: New test.
7011 * testsuite/libgomp.c/loop-23.c: New test.
7013 2020-08-05 Jakub Jelinek <jakub@redhat.com>
7016 * testsuite/libgomp.c/teams-3.c: New test.
7017 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7019 (N(test)): Use it before all N(f*) calls.
7020 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7021 (main): Don't call all test_* functions from within
7022 #pragma omp teams reduction(|:err), call them directly.
7024 2020-08-04 Tom de Vries <tdevries@suse.de>
7027 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7028 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7030 2020-08-03 Julian Brown <julian@codesourcery.com>
7031 Thomas Schwinge <thomas@codesourcery.com>
7033 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7034 shared-memory devices. Extend with further checking.
7036 2020-08-03 Martin Jambor <mjambor@suse.cz>
7038 * plugin/Makefrag.am: Remove configuration of HSA plugin.
7039 * aclocal.m4: Regenerated.
7040 * Makefile.in: Regenerated.
7041 * config.h.in: Regenerated.
7042 * configure: Regenerated.
7043 * plugin/configfrag.ac: Likewise.
7044 * plugin/hsa_ext_finalize.h: Removed.
7045 * plugin/plugin-hsa.c: Likewise.
7046 * testsuite/Makefile.in: Regenerated.
7047 * testsuite/lib/libgomp.exp
7048 (offload_target_to_openacc_device_type): Remove hsa case.
7049 (check_effective_target_hsa_offloading_selected_nocache): Removed
7050 (check_effective_target_hsa_offloading_selected): Likewise.
7051 (libgomp_init): Do not add -Wno-hsa to additional_flags.
7052 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7053 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7054 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7055 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7056 * testsuite/libgomp.hsa.c/c.exp: Likewise.
7057 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7058 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7059 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7060 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7061 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7062 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7063 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7064 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7065 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7066 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7067 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7068 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7069 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7070 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7071 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7072 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7073 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7074 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7075 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7077 2020-07-27 Julian Brown <julian@codesourcery.com>
7078 Thomas Schwinge <thomas@codesourcery.com>
7080 * libgomp.h (struct target_var_desc): Rename do_detach field to
7082 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
7083 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7084 (goacc_enter_data_internal): Don't affect reference counts
7085 for attach mappings.
7086 (goacc_exit_data_internal): Don't affect reference counts for detach
7088 * target.c (gomp_map_vars_existing): Don't affect reference counts for
7090 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7091 mark attach mappings.
7092 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7093 reference count for attach mappings.
7094 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7095 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7096 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7097 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7099 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7100 gracefully in no-finalize mode.
7101 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7103 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
7105 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7107 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7108 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7110 2020-07-23 Julian Brown <julian@codesourcery.com>
7111 Thomas Schwinge <thomas@codesourcery.com>
7113 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7114 finalization for detach operation.
7115 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7118 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
7120 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7121 * libgomp_f.h.in (omp_check_defines): Check whether
7122 sizeof of determined Fortran kind and C typedef match.
7123 * omp_lib.f90.in: Add omp_depened_kind.
7124 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7125 * configure: Regenerate.
7126 * Makefile.in: Regenerate.
7127 * testsuite/Makefile.in: Regenerate.
7129 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
7131 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7132 gcc/testsuite/c-c++-common/gomp/.
7133 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7134 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7135 from gcc/testsuite/gfortran.dg/gomp/.
7136 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7138 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
7140 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7141 * omp_lib.h.in: Likewise.
7143 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
7146 * testsuite/libgomp.c/pr95620.c: New test.
7148 2020-07-16 Julian Brown <julian@codesourcery.com>
7149 Thomas Schwinge <thomas@codesourcery.com>
7151 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7152 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7154 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7156 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7157 avoid conversion on 32bit systems from 32bit to 64bit due
7158 to -fdefault-integer-8.
7160 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7162 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7163 variables; add character(kind=4) tests; update TODO comment.
7165 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
7167 * allocator.c: Add ialias for omp_init_allocator and
7168 omp_destroy_allocator.
7169 * configure.ac: Set INTPTR_T_KIND.
7170 * configure: Regenerate.
7171 * Makefile.in: Regenerate.
7172 * testsuite/Makefile.in: Regenerate.
7173 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7174 omp_set_default_allocator_, omp_get_default_allocator_): New
7175 functions and ialias_redirect.
7176 * icv.c: Add ialias for omp_set_default_allocator and
7177 omp_get_default_allocator.
7178 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7179 omp_destroy_allocator_, omp_set_default_allocator_ and
7180 omp_get_default_allocator_.
7181 * omp_lib.f90.in: Add allocator traits parameters, declare
7182 allocator routines and add related kind parameters.
7183 * omp_lib.h.in: Likewise.
7184 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7185 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7186 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7187 * testsuite/libgomp.fortran/alloc-3.F: New test.
7188 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7189 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7191 2020-07-14 Tom de Vries <tom@codesourcery.com>
7192 Cesar Philippidis <cesar@codesourcery.com>
7193 Thomas Schwinge <thomas@codesourcery.com>
7194 Kwok Cheung Yeung <kcy@codesourcery.com>
7196 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7198 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7199 acc_init_state to initializing at the start, and to initialized at the
7201 (self_initializing_p): New function.
7202 (acc_get_device_type): Return acc_device_none if called by thread that
7203 is currently executing acc_init_1.
7204 * libgomp.texi (acc_get_device_type): Update documentation.
7205 (Implementation Status and Implementation-Defined Behavior): Likewise.
7206 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7208 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
7210 * config/t-aix: Set BITS from compiler cpp macro.
7212 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
7214 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7216 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
7219 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7221 2020-07-14 Jakub Jelinek <jakub@redhat.com>
7223 * testsuite/libgomp.c/loop-21.c: New test.
7225 2020-07-13 Julian Brown <julian@codesourcery.com>
7226 Thomas Schwinge <thomas@codesourcery.com>
7228 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7230 2020-07-10 Julian Brown <julian@codesourcery.com>
7231 Thomas Schwinge <thomas@codesourcery.com>
7233 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7235 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7236 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7238 (acc_unmap_data): Update comment.
7239 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7240 dynamic_refcount semantics.
7241 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7242 Adjust for dynamic_refcount semantics.
7243 (goacc_enter_data_internal): Implement "present" case of dynamic
7244 memory-map handling here. Update "non-present" case for
7245 dynamic_refcount semantics.
7246 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7247 * target.c (gomp_map_vars_internal): Remove
7248 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7250 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7251 (gomp_load_image_to_device): Substitute dynamic_refcount for
7253 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7254 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7255 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7256 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7257 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7259 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7261 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7263 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7264 Remove stale comment.
7265 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7266 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7267 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7268 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7269 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7270 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7272 2020-07-10 Julian Brown <julian@codesourcery.com>
7273 Thomas Schwinge <thomas@codesourcery.com>
7275 * oacc-mem.c (goacc_map_var_existing): New function.
7276 (goacc_enter_datum): Use above function.
7277 (goacc_exit_datum_1): New function.
7278 (goacc_exit_datum): Use above function.
7280 2020-07-09 Julian Brown <julian@codesourcery.com>
7281 Thomas Schwinge <thomas@codesourcery.com>
7284 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7285 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7287 2020-07-09 Julian Brown <julian@codesourcery.com>
7289 * oacc-mem.c (find_group_last): Group data-movement clauses
7290 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7291 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7293 2020-07-09 Jakub Jelinek <jakub@redhat.com>
7295 * testsuite/libgomp.c/loop-19.c: New test.
7296 * testsuite/libgomp.c/loop-20.c: New test.
7298 2020-07-09 Jakub Jelinek <jakub@redhat.com>
7300 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7301 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7302 it. Remove __omp_alloctrait_value_max__.
7303 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7304 omp_atk_alignment and omp_atk_pool_size.
7306 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7308 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7309 behavior for 'GOMP_MAP_FORCE_FROM'.
7310 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7312 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7314 * oacc-mem.c (goacc_exit_data_internal): Remove
7315 'GOMP_MAP_ALWAYS_FROM' handling.
7317 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7319 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7320 'scan-assembler' with 'scan-offload-rtl'.
7321 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7322 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7323 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7324 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7326 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7328 * target.c (gomp_map_vars_existing): Assert 'kind !=
7330 (gomp_map_vars_internal): Clean up.
7332 2020-06-27 Jakub Jelinek <jakub@redhat.com>
7334 * testsuite/libgomp.c/loop-17.c: New test.
7335 * testsuite/libgomp.c/loop-18.c: New test.
7337 2020-06-26 Marek Polacek <polacek@redhat.com>
7339 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7341 2020-06-23 Alexandre Oliva <oliva@adacore.com>
7343 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7344 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7346 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
7348 * Makefile.am: Use -include.
7349 * Makefile.in: Regenerate.
7351 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
7353 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7354 * Makefile.in: Regenerate
7355 * configure.ac (tmake_file): Substitute.
7356 * configure: Regenerate.
7357 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7358 * config/t-aix: New file.
7360 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7363 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7366 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
7368 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7369 variant for HSA_RUNTIME_LIB name.
7370 (find_executable_symbol_1): Delete.
7371 (find_executable_symbol): Delete.
7372 (init_kernel_properties): Add ".kd" suffix to symbol names.
7373 (find_load_offset): Delete.
7374 (create_and_finalize_hsa_program): Remove relocation handling.
7376 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
7378 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7380 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
7384 * testsuite/libgomp.fortran/target-var.f90: New test.
7386 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7387 Julian Brown <julian@codesourcery.com>
7389 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7392 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7393 Julian Brown <julian@codesourcery.com>
7395 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7398 2020-06-05 Julian Brown <julian@codesourcery.com>
7400 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7401 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7403 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7405 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7406 Evaluate 'copyfrom' individually for each entry.
7407 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7409 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7411 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7412 Evaluate 'finalize' individually for each entry.
7413 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7414 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7417 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7419 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7421 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7423 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7424 Julian Brown <julian@codesourcery.com>
7426 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7428 (acc_unmap_data, goacc_exit_data_internal): Restore
7429 'is_tgt_unmapped' checking.
7430 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7432 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7433 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7434 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7435 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7436 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7437 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7439 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7440 Julian Brown <julian@codesourcery.com>
7442 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7444 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7447 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7449 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7452 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7455 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7456 Julian Brown <julian@codesourcery.com>
7458 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7460 (acc_map_data): Clean up accordingly.
7462 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7464 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7465 of over-eager 'finalize' clause.
7466 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7468 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7469 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7470 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7471 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7472 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7473 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7474 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7475 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7477 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7479 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7481 2020-06-04 Julian Brown <julian@codesourcery.com>
7483 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7485 (goacc_detach_internal): Likewise.
7487 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7489 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7491 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7492 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7493 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7494 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7495 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7497 2020-06-02 Jakub Jelinek <jakub@redhat.com>
7499 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7502 2020-05-30 Jakub Jelinek <jakub@redhat.com>
7504 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7506 2020-05-30 Jakub Jelinek <jakub@redhat.com>
7508 * allocator.c (omp_alloc): For size == 0, return NULL early.
7510 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
7513 * configure: Regenerated.
7515 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7518 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7520 2020-05-19 Jakub Jelinek <jakub@redhat.com>
7522 * omp.h.in (omp_uintptr_t): New typedef.
7523 (__GOMP_UINTPTR_T_ENUM): Define.
7524 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7525 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7526 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7527 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7528 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7529 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7530 (gomp_def_allocator): Declare.
7531 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7532 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7533 omp_alloc and omp_free.
7534 * team.c (gomp_team_start): Copy over ts.def_allocator.
7535 * env.c (gomp_def_allocator): New variable.
7536 (parse_wait_policy): Adjust function comment.
7537 (parse_allocator): New function.
7538 (handle_omp_display_env): Print OMP_ALLOCATOR.
7539 (initialize_env): Call parse_allocator.
7540 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7541 * allocator.c: New file.
7542 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7544 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7545 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7546 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7547 * Makefile.in: Regenerated.
7549 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7552 * configure: Regenerated.
7554 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7557 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7559 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7561 * configure: Regenerated.
7563 2020-05-14 Jakub Jelinek <jakub@redhat.com>
7565 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7567 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
7570 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7571 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7572 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7573 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7574 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7575 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7576 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7578 2020-05-12 Jakub Jelinek <jakub@redhat.com>
7580 * testsuite/libgomp.c/target-39.c: New test.
7582 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7584 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7585 * openacc.f90 (acc_device_current): Likewise.
7586 * openacc.h (acc_device_current): Likewise.
7587 * openacc_lib.h (acc_device_current): Likewise.
7590 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7591 'dg-allow-blank-lines-in-output'.
7593 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7594 * testsuite/lib/libgomp.exp
7595 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7596 'radeon'. Adjust all users.
7597 (check_effective_target_openacc_amdgcn_accel_present): Rename
7599 (check_effective_target_openacc_radeon_accel_present): ... this.
7601 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7602 (check_effective_target_openacc_radeon_accel_selected): ... this.
7605 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7608 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
7612 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7614 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7615 hsa_agent_iterate_regions.
7617 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7620 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7623 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
7626 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7629 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
7632 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7634 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7637 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7639 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7641 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7643 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7645 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7647 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7649 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7651 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7653 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7655 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7657 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7659 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7661 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7663 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7665 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7667 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7669 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7671 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7673 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7675 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7677 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7679 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7681 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7683 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7685 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7687 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7689 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7691 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7693 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7695 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7697 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7699 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7702 2020-04-10 Julian Brown <julian@codesourcery.com>
7703 Thomas Schwinge <thomas@codesourcery.com>
7706 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7708 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7710 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7712 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7714 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7716 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7718 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7720 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7722 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7724 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7726 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7728 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7730 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7732 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7734 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7736 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7739 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7741 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7744 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
7747 * libgomp.oacc-c++/declare-pr94120.C: New.
7749 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
7751 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7753 * configure: Regenerate.
7754 * testsuite/libgomp-site-extra.exp.in: New file.
7755 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7757 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7759 * testsuite/Makefile.in: Regenerate.
7761 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
7763 PR tree-optimization/89713
7765 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7767 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7769 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
7771 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7772 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7774 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
7777 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7779 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
7782 * target.c (gomp_load_image_to_device): Fix link
7785 2020-03-19 Jakub Jelinek <jakub@redhat.com>
7788 * testsuite/libgomp.c++/pr93931.C: New test.
7790 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
7792 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7793 dg-allow-blank-lines-in-output.
7795 2020-03-18 Julian Brown <julian@codesourcery.com>
7796 Tobias Burnus <tobias@codesourcery.com>
7798 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7799 it work concurrently.
7801 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
7803 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7804 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7805 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7807 2020-03-14 Jakub Jelinek <jakub@redhat.com>
7810 * testsuite/libgomp.c/pr93566.c: New test.
7812 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
7814 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7815 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7816 integer(acc_device_property) for the type of the return value of
7819 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
7821 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7822 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7823 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7824 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7825 (acc_set_device_num): Fix Fortran argument name, use same name for C.
7826 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7827 corrections; add note about the previous interface and named constant.
7828 (OpenACC library and environment variables): Fix two typos.
7829 * openacc.f90: Use for all procedures the argument names from the spec
7830 as for …_h they are user visible.
7831 (openacc_kinds): Rename acc_device_property to
7832 acc_device_property_kinds and change value to int32 ; and update users.
7833 Re-add acc_device_property for for backward compatibility.
7834 (acc_get_property_string_h): Clean up as acc_device_property_kind
7836 (acc_get_property_h): Likewise and return c_size_t instead of
7837 acc_device_property.
7838 (openacc): Also export acc_device_property_kinds.
7839 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7840 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7841 handling; check against /= 0 instead of == 1 to match C.
7842 * openacc_lib.h: Use for all procedures the argument names from the spec
7843 as for …_h they are user visible. Place !GCC$ into the first column to
7844 be active also for fixed-form souce form.
7845 (acc_device_current, acc_device_property_kind, acc_device_property,
7846 acc_property_memory, acc_property_free_memory, acc_property_name,
7847 acc_property_vendor, acc_property_driver): New named constants.
7848 (acc_get_property, acc_get_property_string): New generic interface.
7850 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
7853 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7854 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7856 (gomp_target_task_fn): Assert "devicep->async_run_func".
7857 (clear_unsupported_flags): New function to remove unsupported flags
7858 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7859 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7860 * testsuite/libgomp.c/target-33.c:
7861 Remove xfail for offload_target_nvptx.
7862 * testsuite/libgomp.c/target-34.c: Likewise.
7864 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
7866 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7867 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7868 * testsuite/libgomp.c/target-34.c: Likewise.
7869 * testsuite/libgomp.c/target-link-1.c: Add xfail for
7870 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7872 2020-02-09 Jakub Jelinek <jakub@redhat.com>
7874 * testsuite/libgomp.c/target-38.c: New test.
7876 2020-02-06 Jakub Jelinek <jakub@redhat.com>
7879 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7881 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
7883 * testsuite/lib/libgomp.exp
7884 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7885 and not as 'source' argument to libgomp_target_compile.
7887 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
7889 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7890 (gcn_gfx801_s): Remove.
7891 (isa_hsa_name): Remove gfx801.
7892 (isa_gcc_name): Remove gfx801/carizzo.
7893 (isa_code): Remove gfx801.
7895 2020-02-03 Julian Brown <julian@codesourcery.com>
7896 Tobias Burnus <tobias@codesourcery.com>
7898 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7899 and *_finalize variants; document acc_attach and acc_detach; update
7900 references from OpenACC 2.0 to 2.6.
7901 * openacc.f90 (openacc_version): Update to 201711.
7902 * openacc_lib.h (openacc_version): Update to 201711.
7903 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7904 openacc_version to 201711.
7905 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7907 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
7909 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
7910 and vgpr_count fields.
7911 (struct kernel_info): Add a field for a hsa_kernel_description.
7912 (run_kernel): Reduce the number of threads/workers if the requested
7913 number would require too many VGPRs.
7914 (init_basic_kernel_info): Initialize description field with
7915 the hsa_kernel_description entry for the kernel.
7917 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
7920 * plugin/configfrag.ac (enable_offload_targets): Skip
7921 HSA and GCN plugin besides -m32 also for -mx32.
7922 * configure: Regenerate.
7924 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
7926 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
7928 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
7930 * plugin-gcn.c (struct agent_info): Add fields "name" and
7932 (GOMP_OFFLOAD_init_device): ... and init from here.
7933 (struct hsa_context_info): Add field "driver_version_s" ...
7934 (init_hsa_contest): ... and init from here.
7935 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
7937 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7938 Enable test execution for amdgcn and host offloading targets.
7939 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
7940 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7941 (expect_device_properties): Split function into ...
7942 (expect_device_string_properties): ... this new function ...
7943 (expect_device_memory): ... and this new function.
7944 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
7947 2020-01-28 Julian Brown <julian@codesourcery.com>
7949 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
7950 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
7951 component/non-component variable refs in a single directive.
7952 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
7954 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
7956 * configure.ac: Handle `--with-toolexeclibdir='.
7957 * Makefile.in: Regenerate.
7958 * aclocal.m4: Regenerate.
7959 * configure: Regenerate.
7960 * testsuite/Makefile.in: Regenerate.
7962 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
7964 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7965 (expect_device_properties): Remove "expected_free_mem" argument,
7966 change "expected_total_mem" argument type to size_t;
7967 change types of acc_get_property results to size_t,
7968 adapt format strings.
7969 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7970 Use %zu instead of %zd to print size_t values.
7971 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
7973 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
7974 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
7976 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
7978 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
7980 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
7983 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
7985 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
7986 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
7987 Adjust test dimensions for amdgcn.
7988 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
7989 gang/worker/vector expectations dynamically.
7990 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
7992 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
7993 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
7994 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
7995 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
7996 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
7997 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
7998 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
7999 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
8000 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
8001 (acc_gang): Recognise acc_device_radeon.
8002 (acc_worker): Likewise.
8003 (acc_vector): Likewise.
8004 (main): Set expectations for amdgcn.
8005 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
8006 (main): Adjust gang/worker/vector expectations dynamically.
8007 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8008 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8009 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8010 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8013 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
8015 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8017 (openacc): Likewise.
8018 * openacc.f90 (openacc_kinds): Likewise.
8019 (openacc): Likewise.
8020 * openacc.h (acc_device_t): Likewise.
8021 * openacc_lib.h: Likewise.
8022 * testsuite/lib/libgomp.exp
8023 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8024 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8025 (cb_compute_construct_end): Likewise.
8026 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8027 (cb_enqueue_launch_start): Likewise.
8028 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8029 (cb_enter_data_end): Likewise.
8030 (cb_exit_data_start): Likewise.
8031 (cb_exit_data_end): Likewise.
8032 (cb_compute_construct_end): Likewise.
8033 (cb_enqueue_launch_start): Likewise.
8034 (cb_enqueue_launch_end): Likewise.
8035 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8038 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
8040 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
8041 to use this instead of 'enum gomp_device_property'.
8042 (GOMP_OFFLOAD_get_property): Rename to...
8043 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
8044 * libgomp.h (struct gomp_device_descr): Move
8045 'GOMP_OFFLOAD_openacc_get_property'...
8046 (struct acc_dispatch_t): ... here. Adjust all users.
8047 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8049 * target.c (gomp_map_vars_internal)
8050 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8053 2020-01-10 Jakub Jelinek <jakub@redhat.com>
8056 * libgomp.h (gomp_print_string): Change return type from void to int.
8057 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
8058 not all characters have been written.
8060 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
8062 * libgomp.texi: Fix typos, use https.
8064 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
8066 * testsuite/libgomp.fortran/optional-map.f90: Add test for
8067 unallocated/disassociated actual arguments to nonallocatable/nonpointer
8068 dummy arguments; those are/shall be regarded as absent arguments.
8069 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8070 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8072 2020-01-01 Jakub Jelinek <jakub@redhat.com>
8074 Update copyright years.
8076 * libgomp.texi: Bump @copying's copyright year.
8078 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
8081 * oacc-init.c (goacc_runtime_deinitialize): New function.
8083 2019-12-28 Jakub Jelinek <jakub@redhat.com>
8086 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8087 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
8089 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
8090 Frederik Harwath <frederik@codesourcery.com>
8091 Thomas Schwinge <tschwinge@codesourcery.com>
8093 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8094 * libgomp-plugin.h (gomp_device_property_value): New union.
8095 (gomp_device_property_value): New prototype.
8096 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8098 (acc_device_property_t): New enum.
8099 (acc_get_property, acc_get_property_string): New prototypes.
8100 * oacc-init.c (acc_get_device_type): Also assert that result
8101 is not `acc_device_current'.
8102 (get_property_any, acc_get_property, acc_get_property_string):
8104 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8105 `acc_property_memory', `acc_property_free_memory',
8106 `acc_property_name', `acc_property_vendor' and
8107 `acc_property_driver' constants. Add `acc_device_property' data
8109 (openacc_internal): Add `acc_get_property' and
8110 `acc_get_property_string' interfaces. Add `acc_get_property_h',
8111 `acc_get_property_string_h', `acc_get_property_l' and
8112 `acc_get_property_string_l'.
8113 * oacc-host.c (host_get_property): New function.
8114 (host_dispatch): Wire it.
8115 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8116 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8117 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8118 * libgomp.texi (OpenACC Runtime Library Routines): Add
8120 (acc_get_property): New node.
8121 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8123 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8124 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8125 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8127 (GOMP_OFFLOAD_get_property): New function.
8128 (struct ptx_device): Add new field "name".
8129 (cuda_driver_version_s): Add new static variable ...
8130 (nvptx_init): ... and init from here.
8132 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8133 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8134 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8135 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8136 with test helper functions.
8138 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8140 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
8142 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8145 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8147 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8150 2019-12-19 Julian Brown <julian@codesourcery.com>
8152 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8153 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8154 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8156 2019-12-19 Julian Brown <julian@codesourcery.com>
8157 Cesar Philippidis <cesar@codesourcery.com>
8159 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8160 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8161 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8162 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8163 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8164 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8165 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8166 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8167 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8168 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8169 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8170 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8171 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8173 2019-12-19 Julian Brown <julian@codesourcery.com>
8175 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8176 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8177 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8178 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8179 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8180 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8181 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8182 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8183 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8184 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8185 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8186 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8188 2019-12-19 Julian Brown <julian@codesourcery.com>
8190 * libgomp.h (struct target_var_desc): Add do_detach flag.
8191 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8192 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8193 struct components. Tidy up and add some new checks.
8194 (goacc_enter_data_internal): Update call to find_group_last.
8195 (goacc_exit_data_internal): Support detach operations and
8197 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8198 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8199 attach/detach in enter/exit data detection code.
8200 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8202 (gomp_map_vars_internal): Support attach.
8203 (gomp_unmap_vars_internal): Support detach.
8205 2019-12-19 Julian Brown <julian@codesourcery.com>
8206 Thomas Schwinge <thomas@codesourcery.com>
8208 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8209 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8210 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8211 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8212 acc_detach_finalize_async.
8213 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8214 acc_detach, acc_detach_async, acc_detach_finalize,
8215 acc_detach_finalize_async): New functions.
8216 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8217 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8219 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8220 (gomp_remove_var_internal): Free attachment counts if present.
8221 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8222 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8224 2019-12-19 Julian Brown <julian@codesourcery.com>
8225 Cesar Philippidis <cesar@codesourcery.com>
8227 * libgomp.h (gomp_map_val): Add prototype.
8228 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8229 open-coding device-address calculation.
8230 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8233 2019-12-19 Julian Brown <julian@codesourcery.com>
8235 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8236 field for virtual_refcount.
8237 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8238 (gomp_free_memmap): Remove prototype.
8239 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8240 instead of calling gomp_free_memmap.
8241 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8243 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8244 to_free field to NULL then calling gomp_unmap_vars. Handle
8245 REFCOUNT_INFINITY on target blocks.
8246 (goacc_enter_data): Rename to...
8247 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8248 handling for mapping groups. Use virtual_refcount instead of
8249 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8250 map_map_vars_async call. Re-do lookup for target pointer return value.
8251 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8252 renamed goacc_enter_datum function.
8253 (goacc_exit_data): Rename to...
8254 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8255 (acc_delete, acc_delete_async, acc_delete_finalize,
8256 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8257 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8258 goacc_exit_datum function.
8259 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8260 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8262 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8263 goacc_exit_data_internal helper functions.
8264 * target.c (gomp_map_vars_internal): Handle
8265 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8267 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8268 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8269 virtual_refcount field instead of dynamic_refcount.
8270 (gomp_free_memmap): Remove function.
8271 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8272 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8273 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8275 2019-12-19 Julian Brown <julian@codesourcery.com>
8276 Thomas Schwinge <thomas@codesourcery.com>
8278 * libgomp.h (struct splay_tree_aux): New.
8279 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8280 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8282 (gomp_remove_var_internal): Free aux block if present.
8283 (gomp_load_image_to_device): Zero-initialise aux field instead of
8285 (omp_target_associate_pointer): Zero-initialise aux field.
8287 2019-12-18 Jakub Jelinek <jakub@redhat.com>
8290 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8292 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8295 2019-12-19 Julian Brown <julian@codesourcery.com>
8296 Maciej W. Rozycki <macro@codesourcery.com>
8297 Tobias Burnus <tobias@codesourcery.com>
8298 Thomas Schwinge <thomas@codesourcery.com>
8300 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8301 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8302 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8303 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8304 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8305 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8306 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8307 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8308 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8310 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8312 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8314 (goacc_insert_pointer): ... from here, "present" case.
8315 (goacc_insert_pointer): Inline function into...
8316 (GOACC_enter_exit_data): ... here, and simplify.
8318 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8320 (goacc_insert_pointer): ... from here, "not present" case.
8322 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8325 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8326 'goacc_enter_data', 'goacc_exit_data'.
8328 * oacc-mem.c (delete_copyout): Refactor into...
8329 (goacc_exit_data): ... this. Adjust all users.
8331 * oacc-mem.c (present_create_copy): Refactor into...
8332 (goacc_enter_data): ... this. Adjust all users.
8334 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8337 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8338 like 'GOMP_MAP_FROM'.
8343 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8345 (GOACC_enter_exit_data): Simplify accordingly.
8346 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8348 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8349 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8351 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8353 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8354 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8356 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8358 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8360 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8361 'finalize' handling.
8364 * oacc-mem.c (acc_map_data, present_create_copy)
8365 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8366 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8367 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8368 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8369 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8370 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8371 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8372 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8375 * target.c (gomp_unmap_tgt): Make it 'static'.
8376 * libgomp.h (gomp_unmap_tgt): Remove.
8378 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
8381 * testsuite/libgomp.c/pr86416-1.c: New.
8382 * testsuite/libgomp.c/pr86416-2.c: New.
8384 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
8386 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8387 all symbols as public except for the 'use …, only' imported symbol,
8389 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8390 all symbols from module openacc_kinds as PUBLIC
8391 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8393 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8395 2019-12-13 Julian Brown <julian@codesourcery.com>
8399 * libgomp.h (gomp_remove_var_async): Add prototype.
8400 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8402 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8403 whether target_mem_desc was unmapped.
8404 (gomp_unref_tgt_void): New.
8405 (gomp_remove_var): Reimplement in terms of...
8406 (gomp_remove_var_internal): ...this new helper function.
8407 (gomp_remove_var_async): New, implemented using above helper function.
8408 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8411 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
8413 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8414 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8415 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8416 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8417 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8419 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8420 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8422 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
8424 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8425 as public except for the 'use …, only' imported symbol, which is
8427 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8428 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8429 attributes for acc_copyout_finalize and acc_delete_finalize.
8431 2019-12-11 Jakub Jelinek <jakub@redhat.com>
8434 * testsuite/libgomp.fortran/atomic1.f90: New test.
8436 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8439 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8440 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8442 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8443 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8444 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8445 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8446 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8448 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8449 * oacc-mem.c: ... here.
8450 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8451 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8452 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8454 * libgomp_g.h: Update.
8456 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8457 * oacc-async.c: ... here.
8458 * oacc-int.h (goacc_wait): Declare.
8459 * libgomp_g.h: Update
8462 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8464 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8466 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8468 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8470 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8472 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8475 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8476 Julian Brown <julian@codesourcery.com>
8478 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8479 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8481 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
8483 * omp_lib.h.in: Fix spelling of function declaration
8484 omp_get_cancell(l)ation.
8485 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8487 * env.c: Fix comment typos.
8488 * oacc-host.c: Likewise.
8489 * ordered.c: Likewise.
8492 * config/gcn/task.c: Likewise.
8493 * config/gcn/team.c: Likewise.
8494 * config/nvptx/task.c: Likewise.
8495 * config/nvptx/team.c: Likewise.
8496 * plugin/plugin-gcn.c: Likewise.
8497 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8498 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8499 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8501 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
8503 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8504 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8505 unnecessary 'dg-additional-options "-w"'.
8507 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8508 Julian Brown <julian@codesourcery.com>
8513 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8514 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8516 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8518 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8520 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8522 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8525 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8526 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8528 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8530 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8532 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8534 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8536 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8538 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8539 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8540 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8541 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8542 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8543 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8544 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8545 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8546 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8547 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8550 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8551 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8552 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8554 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8556 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8558 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8559 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8562 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8564 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8566 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8568 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8570 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8571 ... with their content moved into, and extended in this new file.
8572 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8574 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8576 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8578 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8581 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8584 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8586 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8588 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8590 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
8592 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8594 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8595 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8596 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8597 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8599 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8600 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8602 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8604 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8606 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
8607 Kwok Cheung Yeung <kcy@codesourcery.com>
8609 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8610 if input it a NULL pointer.
8611 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8612 diagnostic of NULL pointer.
8613 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8614 * testsuite/libgomp.fortran/optional-map.f90: New.
8615 * testsuite/libgomp.fortran/use_device_addr-1.f90
8616 (test_dummy_opt_callee_1_absent): New.
8617 (test_dummy_opt_call_1): Call it.
8618 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8619 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8620 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8621 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8622 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8623 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8624 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8625 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8626 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8627 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8628 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8629 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8630 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8631 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8632 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8633 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8635 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
8637 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8638 expect dg-output of 'Error termination.' for GCN.
8639 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8640 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8642 2019-12-04 Jakub Jelinek <jakub@redhat.com>
8645 * testsuite/libgomp.fortran/teams1.f90: New test.
8646 * testsuite/libgomp.fortran/teams2.f90: New test.
8648 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
8650 * oacc-init.c (acc_known_device_type): Add function.
8651 (unknown_device_type_error): Add function.
8652 (name_of_acc_device_t): Change to call unknown_device_type_error
8654 (resolve_device): Use acc_known_device_type.
8655 (acc_init): Fail if acc_device_t argument is not valid.
8656 (acc_shutdown): Likewise.
8657 (acc_get_num_devices): Likewise.
8658 (acc_set_device_type): Likewise.
8659 (acc_get_device_num): Likewise.
8660 (acc_set_device_num): Likewise.
8661 (acc_on_device): Add comment that argument validity is not checked.
8663 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
8665 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8667 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8668 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8669 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8670 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8671 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8673 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8676 * configure.tgt: Avoid IE tls on *-*-musl*.
8678 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
8680 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8681 adding a common-block test case.
8683 2019-11-29 Jakub Jelinek <jakub@redhat.com>
8686 * testsuite/libgomp.c++/udr-20.C: New test.
8687 * testsuite/libgomp.c++/udr-21.C: New test.
8689 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8691 * testsuite/lib/libgomp.exp
8692 (check_effective_target_offload_target_nvptx): New proc.
8693 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8695 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8696 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8697 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8699 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8701 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8702 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8703 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8704 * testsuite/libgomp.c/private-1.c: Likewise.
8705 * testsuite/libgomp.c/task-1.c: Likewise.
8706 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8708 2019-11-20 Julian Brown <julian@codesourcery.com>
8710 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8712 (queue_push_launch): Lock aq->mutex before calling
8713 wait_for_queue_nonfull.
8714 (queue_push_callback): Likewise.
8715 (queue_push_asyncwait): Likewise.
8716 (queue_push_placeholder): Likewise.
8718 2019-11-20 Julian Brown <julian@codesourcery.com>
8720 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8721 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8722 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8725 2019-11-20 Julian Brown <julian@codesourcery.com>
8729 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8730 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8731 in non-present/create case.
8732 (delete_copyout): Change error condition to fail only on copies outside
8733 of mapped block. Adjust error message accordingly.
8734 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8735 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8736 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8738 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8739 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8740 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8742 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
8744 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8745 libatomic in build-tree testing.
8747 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
8749 * testsuite/Makefile.in: Regenerate.
8751 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
8753 * testsuite/libgomp.c/target-print-1.c: New file.
8754 * testsuite/libgomp.fortran/target-print-1.f90: New file.
8755 * testsuite/libgomp.oacc-c/print-1.c: New file.
8756 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8758 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8759 Kwok Cheung Yeung <kcy@codesourcery.com>
8760 Julian Brown <julian@codesourcery.com>
8761 Tom de Vries <tom@codesourcery.com>
8763 * plugin/Makefrag.am: Add amdgcn plugin support.
8764 * plugin/configfrag.ac: Likewise.
8765 * plugin/plugin-gcn.c: New file.
8766 * configure: Regenerate.
8767 * Makefile.in: Regenerate.
8768 * testsuite/Makefile.in: Regenerate.
8770 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8772 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8773 and use team_malloc variants.
8774 (gomp_gcn_exit_kernel): Use team_free.
8775 * libgomp.h (TEAM_ARENA_SIZE): Define.
8776 (TEAM_ARENA_START): Define.
8777 (TEAM_ARENA_FREE): Define.
8778 (TEAM_ARENA_END): Define.
8779 (team_malloc): New function.
8780 (team_malloc_cleared): New function.
8781 (team_free): New function.
8782 * team.c (gomp_new_team): Initialize and use team_malloc.
8783 (free_team): Use team_free.
8784 (gomp_free_thread): Use team_free.
8785 (gomp_pause_host): Use team_free.
8786 * work.c (gomp_init_work_share): Use team_malloc.
8787 (gomp_fini_work_share): Use team_free.
8789 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8790 Kwok Cheung Yeung <kcy@codesourcery.com>
8791 Julian Brown <julian@codesourcery.com>
8792 Tom de Vries <tom@codesourcery.com>
8794 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8795 * Makefile.in: Regenerate.
8796 * config.h.in (PLUGIN_GCN): Add new undef.
8797 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8798 * config/gcn/affinity-fmt.c: New file.
8799 * config/gcn/bar.c: New file.
8800 * config/gcn/bar.h: New file.
8801 * config/gcn/doacross.h: New file.
8802 * config/gcn/icv-device.c: New file.
8803 * config/gcn/oacc-target.c: New file.
8804 * config/gcn/simple-bar.h: New file.
8805 * config/gcn/target.c: New file.
8806 * config/gcn/task.c: New file.
8807 * config/gcn/team.c: New file.
8808 * config/gcn/time.c: New file.
8809 * configure.ac: Add amdgcn*-*-*.
8810 * configure: Regenerate.
8811 * configure.tgt: Add amdgcn*-*-*.
8812 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8813 * libgomp.h (gcn_thrs): Add amdgcn variant.
8814 (set_gcn_thrs): Likewise.
8815 (gomp_thread): Likewise.
8816 * oacc-int.h (goacc_thread): Likewise.
8817 * oacc-target.c: New file.
8818 * openacc.f90 (acc_device_gcn): New parameter.
8819 * openacc.h (acc_device_t): Add acc_device_gcn.
8820 * team.c (gomp_free_pool_helper): Add amdgcn support.
8822 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8823 Julian Brown <julian@codesourcery.com>
8825 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8827 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8829 * oacc-host.c (host_openacc_async_construct): Add device parameter.
8830 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8833 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
8835 * configure.tgt (nvptx*-*-*): Add "accel" directory.
8836 * config/nvptx/libgomp-plugin.c: Move ...
8837 * config/accel/libgomp-plugin.c: ... to here.
8838 * config/nvptx/lock.c: Move ...
8839 * config/accel/lock.c: ... to here.
8840 * config/nvptx/mutex.c: Move ...
8841 * config/accel/mutex.c: ... to here.
8842 * config/nvptx/mutex.h: Move ...
8843 * config/accel/mutex.h: ... to here.
8844 * config/nvptx/oacc-async.c: Move ...
8845 * config/accel/oacc-async.c: ... to here.
8846 * config/nvptx/oacc-cuda.c: Move ...
8847 * config/accel/oacc-cuda.c: ... to here.
8848 * config/nvptx/oacc-host.c: Move ...
8849 * config/accel/oacc-host.c: ... to here.
8850 * config/nvptx/oacc-init.c: Move ...
8851 * config/accel/oacc-init.c: ... to here.
8852 * config/nvptx/oacc-mem.c: Move ...
8853 * config/accel/oacc-mem.c: ... to here.
8854 * config/nvptx/oacc-plugin.c: Move ...
8855 * config/accel/oacc-plugin.c: ... to here.
8856 * config/nvptx/omp-lock.h: Move ...
8857 * config/accel/omp-lock.h: ... to here.
8858 * config/nvptx/openacc.f90: Move ...
8859 * config/accel/openacc.f90: ... to here.
8860 * config/nvptx/pool.h: Move ...
8861 * config/accel/pool.h: ... to here.
8862 * config/nvptx/proc.c: Move ...
8863 * config/accel/proc.c: ... to here.
8864 * config/nvptx/ptrlock.c: Move ...
8865 * config/accel/ptrlock.c: ... to here.
8866 * config/nvptx/ptrlock.h: Move ...
8867 * config/accel/ptrlock.h: ... to here.
8868 * config/nvptx/sem.c: Move ...
8869 * config/accel/sem.c: ... to here.
8870 * config/nvptx/sem.h: Move ...
8871 * config/accel/sem.h: ... to here.
8872 * config/nvptx/thread-stacksize.h: Move ...
8873 * config/accel/thread-stacksize.h: ... to here.
8875 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
8876 Tobias Burnus <tobias@codesourcery.com>
8877 Frederik Harwath <frederik@codesourcery.com>
8878 Thomas Schwinge <thomas@codesourcery.com>
8881 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8882 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8883 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8885 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
8886 Kwok Cheung Yeung <kcy@codesourcery.com>
8888 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8889 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8891 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
8893 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8895 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8897 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8898 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8900 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
8902 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8903 Add expected warnings about missing reduction clauses.
8904 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8906 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8908 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
8911 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
8913 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
8914 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
8915 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
8916 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8917 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8918 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8920 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
8923 * testsuite/libgomp.fortran/allocatable2.f90: Use
8924 unique numbers with 'stop'.
8925 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8926 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8927 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
8928 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
8929 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
8931 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
8933 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
8934 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
8935 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8936 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
8937 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
8938 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
8940 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
8942 * testsuite/libgomp.fortran/target9.f90: New.
8944 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
8946 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
8947 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
8948 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
8949 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
8950 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
8951 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
8952 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
8953 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
8954 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
8955 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
8956 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
8957 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
8958 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
8959 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
8960 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
8961 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
8962 * testsuite/libgomp.fortran/associate1.f90: Ditto.
8963 * testsuite/libgomp.fortran/associate2.f90: Ditto.
8964 * testsuite/libgomp.fortran/associate3.f90: Ditto.
8965 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
8966 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
8967 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
8968 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
8969 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
8970 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
8971 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
8972 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
8973 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
8974 * testsuite/libgomp.fortran/character1.f90: Ditto.
8975 * testsuite/libgomp.fortran/character2.f90: Ditto.
8976 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
8977 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
8978 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
8979 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
8980 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
8981 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
8982 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
8983 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
8984 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
8985 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
8986 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
8987 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
8988 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
8989 * testsuite/libgomp.fortran/do1.f90: Ditto.
8990 * testsuite/libgomp.fortran/do2.f90: Ditto.
8991 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
8992 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
8993 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
8994 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
8995 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
8996 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
8997 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
8998 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
8999 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
9000 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
9001 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
9002 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
9003 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
9004 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
9005 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
9006 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9007 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9008 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9009 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9010 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9011 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9012 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9013 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9014 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9015 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9016 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9017 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9018 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9019 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9020 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9021 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9022 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9023 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9024 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9025 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9026 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9027 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9028 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9029 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9030 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9031 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9032 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9033 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9034 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9035 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9036 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9037 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9038 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9039 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9040 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9041 * testsuite/libgomp.fortran/lib1.f90: Ditto.
9042 * testsuite/libgomp.fortran/lib4.f90: Ditto.
9043 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9044 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9045 * testsuite/libgomp.fortran/nested1.f90: Ditto.
9046 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9047 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9048 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9049 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9050 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9051 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9052 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9053 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9054 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9055 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9056 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9057 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9058 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9059 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9060 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9061 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9062 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9063 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9064 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9065 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9066 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9067 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9068 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9069 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9070 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9071 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9072 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9073 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9074 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9075 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9076 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9077 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9078 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9079 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9080 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9081 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9082 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9083 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9084 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9085 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9086 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9087 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9088 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9089 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9090 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9091 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9092 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9093 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9094 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9095 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9096 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9097 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9098 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9099 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9100 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9101 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9102 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9103 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9104 * testsuite/libgomp.fortran/reference1.f90: Ditto.
9105 * testsuite/libgomp.fortran/reference2.f90: Ditto.
9106 * testsuite/libgomp.fortran/retval1.f90: Ditto.
9107 * testsuite/libgomp.fortran/retval2.f90: Ditto.
9108 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9109 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9110 * testsuite/libgomp.fortran/simd1.f90: Ditto.
9111 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9112 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9113 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9114 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9115 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9116 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9117 * testsuite/libgomp.fortran/stack.f90: Ditto.
9118 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9119 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9120 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9121 * testsuite/libgomp.fortran/target1.f90: Ditto.
9122 * testsuite/libgomp.fortran/target2.f90: Ditto.
9123 * testsuite/libgomp.fortran/target3.f90: Ditto.
9124 * testsuite/libgomp.fortran/target4.f90: Ditto.
9125 * testsuite/libgomp.fortran/target5.f90: Ditto.
9126 * testsuite/libgomp.fortran/target6.f90: Ditto.
9127 * testsuite/libgomp.fortran/target7.f90: Ditto.
9128 * testsuite/libgomp.fortran/target8.f90: Ditto.
9129 * testsuite/libgomp.fortran/task1.f90: Ditto.
9130 * testsuite/libgomp.fortran/task2.f90: Ditto.
9131 * testsuite/libgomp.fortran/task3.f90: Ditto.
9132 * testsuite/libgomp.fortran/task4.f90: Ditto.
9133 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9134 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9135 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9136 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9137 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9138 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9139 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9140 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9141 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9142 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9143 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9144 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9145 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9146 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9147 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9148 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9149 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9150 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9151 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9152 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9153 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9154 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9155 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9156 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9157 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9158 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9159 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9160 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9161 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9162 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9163 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9164 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9165 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9166 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9168 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
9170 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9171 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9172 Ditto; add 'dg-do run' for torture testing.
9173 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9174 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9175 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9176 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9177 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9178 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9179 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9180 * testsuite/libgomp.fortran/task2.f90: Ditto.
9181 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9182 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9183 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9184 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9185 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9186 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9188 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
9190 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9191 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9192 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9193 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9194 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9195 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9196 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9197 Use 'stop' not abort().
9198 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9199 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9200 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9201 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9202 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9203 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9204 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9205 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9206 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9207 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9208 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9209 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9210 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9211 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9212 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9213 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9214 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9216 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9218 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9220 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9222 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9224 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9226 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9228 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9230 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9232 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9234 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9236 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9238 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9240 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9242 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9243 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9244 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9245 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9246 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9247 Likewise and also add 'dg-do run'.
9248 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9251 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9252 Tobias Burnus <tobias@codesourcery.com>
9254 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9255 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9256 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9258 2019-10-14 Jakub Jelinek <jakub@redhat.com>
9261 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9264 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
9266 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9267 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9269 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9272 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9275 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
9278 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9280 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9282 2019-10-09 Jakub Jelinek <jakub@redhat.com>
9285 * target.c (gomp_map_vars_internal): Readd the previous
9286 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9287 though do that just in the !not_found_cnt case.
9289 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
9291 * gfortran.dg/gomp/target-simd.f90: New.
9293 2019-10-02 Julian Brown <julian@codesourcery.com>
9294 Cesar Philippidis <cesar@codesourcery.com>
9296 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9297 * target.c (FIELD_TGT_EMPTY): Define.
9298 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9299 as switch instead of list of ifs.
9300 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9302 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9304 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9305 include. Replace alloca () with __builtin_alloca ().
9306 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9308 2019-10-01 Jakub Jelinek <jakub@redhat.com>
9310 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9311 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9312 * oacc-parallel.c: Don't include "libgomp_g.h".
9313 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9314 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9315 * aclocal.m4: Regenerated.
9316 * config.h.in: Regenerated.
9317 * configure: Regenerated.
9318 * Makefile.in: Regenerated.
9320 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9322 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9324 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
9326 * configure: Regenerate.
9328 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
9330 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9331 string is initialized.
9333 2019-09-06 Florian Weimer <fweimer@redhat.com>
9335 * configure: Regenerate.
9337 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9340 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9341 scanning to conform to the GNU Coding Standards.
9342 * configure: Regenerate.
9344 2019-08-28 Jakub Jelinek <jakub@redhat.com>
9347 * testsuite/libgomp.c/scan-21.c: New test.
9348 * testsuite/libgomp.c/scan-22.c: New test.
9350 2019-08-27 Jakub Jelinek <jakub@redhat.com>
9353 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9355 * testsuite/libgomp.c/scan-12.c: Likewise.
9356 * testsuite/libgomp.c/scan-13.c: Likewise.
9357 * testsuite/libgomp.c/scan-14.c: Likewise.
9358 * testsuite/libgomp.c/scan-15.c: Likewise.
9359 * testsuite/libgomp.c/scan-16.c: Likewise.
9360 * testsuite/libgomp.c/scan-17.c: Likewise.
9361 * testsuite/libgomp.c/scan-18.c: Likewise.
9362 * testsuite/libgomp.c/scan-19.c: Likewise.
9363 * testsuite/libgomp.c/scan-20.c: Likewise.
9364 * testsuite/libgomp.c++/scan-9.C: Likewise.
9365 * testsuite/libgomp.c++/scan-10.C: Likewise.
9366 * testsuite/libgomp.c++/scan-11.C: Likewise.
9367 * testsuite/libgomp.c++/scan-12.C: Likewise.
9368 * testsuite/libgomp.c++/scan-14.C: Likewise.
9369 * testsuite/libgomp.c++/scan-15.C: Likewise.
9370 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9371 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9372 * testsuite/libgomp.c++/scan-16.C: Likewise.
9374 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9377 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9378 -std=legacy so invalid code in the test case is accepted.
9380 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9383 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9386 2019-08-08 Jakub Jelinek <jakub@redhat.com>
9388 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9389 perform the lookup in the first loop only if !not_found_cnt, otherwise
9390 perform lookups for it in the second loop guarded with
9391 if (not_found_cnt || has_firstprivate).
9392 * testsuite/libgomp.c/target-37.c: New test.
9393 * testsuite/libgomp.c++/target-22.C: New test.
9395 2019-08-07 Jakub Jelinek <jakub@redhat.com>
9397 * testsuite/libgomp.c/target-18.c (struct S): New type.
9398 (foo): Use use_device_addr clause instead of use_device_ptr clause
9399 where required by OpenMP 5.0, add further tests for both use_device_ptr
9400 and use_device_addr clauses.
9401 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9402 (foo): Use use_device_addr clause instead of use_device_ptr clause
9403 where required by OpenMP 5.0, add further tests for both use_device_ptr
9404 and use_device_addr clauses. Add t and u arguments.
9405 (main): Adjust caller.
9407 2019-08-06 Jakub Jelinek <jakub@redhat.com>
9409 * testsuite/libgomp.c++/loop-13.C: New test.
9410 * testsuite/libgomp.c++/loop-14.C: New test.
9411 * testsuite/libgomp.c++/loop-15.C: New test.
9413 2019-07-31 Jakub Jelinek <jakub@redhat.com>
9416 * testsuite/libgomp.c++/for-27.C: New test.
9418 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9420 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
9421 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9423 2019-07-20 Jakub Jelinek <jakub@redhat.com>
9425 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9427 2019-07-08 Jakub Jelinek <jakub@redhat.com>
9429 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9430 * testsuite/libgomp.c++/scan-16.C: Likewise.
9432 2019-07-06 Jakub Jelinek <jakub@redhat.com>
9434 * testsuite/libgomp.c/scan-19.c: New test.
9435 * testsuite/libgomp.c/scan-20.c: New test.
9437 * testsuite/libgomp.c/scan-11.c: New test.
9438 * testsuite/libgomp.c/scan-12.c: New test.
9439 * testsuite/libgomp.c/scan-13.c: New test.
9440 * testsuite/libgomp.c/scan-14.c: New test.
9441 * testsuite/libgomp.c/scan-15.c: New test.
9442 * testsuite/libgomp.c/scan-16.c: New test.
9443 * testsuite/libgomp.c/scan-17.c: New test.
9444 * testsuite/libgomp.c/scan-18.c: New test.
9445 * testsuite/libgomp.c++/scan-9.C: New test.
9446 * testsuite/libgomp.c++/scan-10.C: New test.
9447 * testsuite/libgomp.c++/scan-11.C: New test.
9448 * testsuite/libgomp.c++/scan-12.C: New test.
9449 * testsuite/libgomp.c++/scan-13.C: New test.
9450 * testsuite/libgomp.c++/scan-14.C: New test.
9451 * testsuite/libgomp.c++/scan-15.C: New test.
9452 * testsuite/libgomp.c++/scan-16.C: New test.
9454 2019-07-04 Jakub Jelinek <jakub@redhat.com>
9456 * testsuite/libgomp.c/scan-9.c: New test.
9457 * testsuite/libgomp.c/scan-10.c: New test.
9459 2019-07-03 Jakub Jelinek <jakub@redhat.com>
9461 * testsuite/libgomp.c++/scan-1.C: New test.
9462 * testsuite/libgomp.c++/scan-2.C: New test.
9463 * testsuite/libgomp.c++/scan-3.C: New test.
9464 * testsuite/libgomp.c++/scan-4.C: New test.
9465 * testsuite/libgomp.c++/scan-5.C: New test.
9466 * testsuite/libgomp.c++/scan-6.C: New test.
9467 * testsuite/libgomp.c++/scan-7.C: New test.
9468 * testsuite/libgomp.c++/scan-8.C: New test.
9469 * testsuite/libgomp.c/scan-1.c: New test.
9470 * testsuite/libgomp.c/scan-2.c: New test.
9471 * testsuite/libgomp.c/scan-3.c: New test.
9472 * testsuite/libgomp.c/scan-4.c: New test.
9473 * testsuite/libgomp.c/scan-5.c: New test.
9474 * testsuite/libgomp.c/scan-6.c: New test.
9475 * testsuite/libgomp.c/scan-7.c: New test.
9476 * testsuite/libgomp.c/scan-8.c: New test.
9478 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9480 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9481 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9484 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9487 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9489 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9492 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9495 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9497 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9498 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9499 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9500 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9503 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9506 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9508 2019-06-16 Tom de Vries <tdevries@suse.de>
9510 PR tree-optimization/89376
9511 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9513 2019-06-15 Tom de Vries <tdevries@suse.de>
9515 PR tree-optimization/89713
9516 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9517 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9519 2019-06-15 Jakub Jelinek <jakub@redhat.com>
9522 * testsuite/libgomp.c/pr90779.c: New test.
9523 * testsuite/libgomp.fortran/pr90779.f90: New test.
9525 2019-06-15 Tom de Vries <tdevries@suse.de>
9527 PR tree-optimization/90009
9528 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9530 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9532 PR tree-optimization/89713
9533 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9535 2019-06-11 Jakub Jelinek <jakub@redhat.com>
9538 * testsuite/libgomp.c/pr90811.c: New test.
9540 2019-06-05 Jakub Jelinek <jakub@redhat.com>
9542 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9543 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9545 2019-06-04 Jakub Jelinek <jakub@redhat.com>
9547 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9548 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9549 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9550 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9552 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9554 * configure.ac: Call AX_COUNT_CPUS.
9555 Substitute CPU_COUNT.
9556 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9558 * aclocal.m4: Regenerate.
9559 * configure: Regenerate.
9560 * Makefile.in, testsuite/Makefile.in: Regenerate.
9562 2019-05-29 Jakub Jelinek <jakub@redhat.com>
9564 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9566 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9567 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9568 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9570 2019-05-27 Jakub Jelinek <jakub@redhat.com>
9572 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9574 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9577 * work.c (gomp_init_work_share): Instead of aligning final ordered
9578 value to multiples of long long alignment, align to that the
9579 first part (ordered team ids) and if inline_ordered_team_ids
9580 is not on a long long alignment boundary within the structure,
9581 use __alignof__ (long long) - 1 pad size always.
9582 * loop.c (GOMP_loop_start): Fix *mem computation if
9583 inline_ordered_team_ids is not aligned on long long alignment boundary
9584 within the structure.
9585 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9586 * sections.c (GOMP_sections2_start): Likewise.
9588 2019-05-24 Jakub Jelinek <jakub@redhat.com>
9590 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9591 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9594 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9595 HAVE_INTTYPES_H is defined.
9596 (print_uint64_t): New typedef.
9597 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9598 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9599 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9600 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9601 before casting to void *.
9602 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9603 * oacc-mem.c: Don't include config.h nor stdint.h.
9604 * target.c: Don't include config.h.
9605 * oacc-cuda.c: Likewise.
9606 * oacc-host.c: Don't include stdint.h.
9608 2019-05-20 Jakub Jelinek <jakub@redhat.com>
9611 * alloc.c (_GNU_SOURCE): Define.
9613 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9615 * acc_prof.h: New file.
9616 * oacc-profiling.c: Likewise.
9617 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9618 Add these, respectively.
9619 * Makefile.in: Regenerate.
9620 * env.c (initialize_env): Call goacc_profiling_initialize.
9621 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9622 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9623 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9624 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9625 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9626 acc_prof_register, acc_prof_unregister, and acc_register_library.
9627 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9628 GOMP_PLUGIN_goacc_thread.
9629 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9630 prof_callbacks_enabled members.
9631 (goacc_prof_enabled, goacc_profiling_initialize)
9632 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9633 (goacc_profiling_dispatch): Declare.
9634 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9635 (GOACC_PROFILING_SETUP_P): Define.
9636 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9637 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9638 OpenACC Profiling Interface.
9639 * oacc-cuda.c (acc_get_current_cuda_device)
9640 (acc_get_current_cuda_context, acc_get_cuda_stream)
9641 (acc_set_cuda_stream): Likewise.
9642 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9643 (acc_init, acc_set_device_type, acc_get_device_type)
9644 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9645 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9646 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9647 (acc_unmap_data, present_create_copy, delete_copyout)
9648 (update_dev_host): Likewise.
9649 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9650 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9652 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9653 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9655 * libgomp.texi: Update.
9656 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9658 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9659 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9661 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9663 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9665 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9668 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9670 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9671 (struct goacc_asyncqueue_list): Likewise.
9672 (goacc_aq): Likewise.
9673 (goacc_aq_list): Likewise.
9674 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9675 (GOMP_OFFLOAD_openacc_async_test): Remove.
9676 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9677 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9678 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9679 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9680 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9681 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9682 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9683 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9684 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9685 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9686 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9687 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9688 (GOMP_OFFLOAD_openacc_async_test): Declare.
9689 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9690 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9691 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9692 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9693 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9695 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9696 (gomp_acc_insert_pointer): Adjust declaration.
9697 (gomp_copy_host2dev): New declaration.
9698 (gomp_copy_dev2host): Likewise.
9699 (gomp_map_vars_async): Likewise.
9700 (gomp_unmap_tgt): Likewise.
9701 (gomp_unmap_vars_async): Likewise.
9702 (gomp_fini_device): Likewise.
9704 * oacc-async.c (get_goacc_thread): New function.
9705 (get_goacc_thread_device): New function.
9706 (lookup_goacc_asyncqueue): New function.
9707 (get_goacc_asyncqueue): New function.
9708 (acc_async_test): Adjust code to use new async design.
9709 (acc_async_test_all): Likewise.
9710 (acc_wait): Likewise.
9711 (acc_wait_async): Likewise.
9712 (acc_wait_all): Likewise.
9713 (acc_wait_all_async): Likewise.
9714 (goacc_async_free): New function.
9715 (goacc_init_asyncqueues): Likewise.
9716 (goacc_fini_asyncqueues): Likewise.
9717 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9719 (acc_set_cuda_stream): Likewise.
9720 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9721 (host_openacc_register_async_cleanup): Remove.
9722 (host_openacc_async_exec): New function.
9723 (host_openacc_async_test): Adjust parameters.
9724 (host_openacc_async_test_all): Remove.
9725 (host_openacc_async_wait): Remove.
9726 (host_openacc_async_wait_async): Remove.
9727 (host_openacc_async_wait_all): Remove.
9728 (host_openacc_async_wait_all_async): Remove.
9729 (host_openacc_async_set_async): Remove.
9730 (host_openacc_async_synchronize): New function.
9731 (host_openacc_async_serialize): New function.
9732 (host_openacc_async_host2dev): New function.
9733 (host_openacc_async_dev2host): New function.
9734 (host_openacc_async_queue_callback): New function.
9735 (host_openacc_async_construct): New function.
9736 (host_openacc_async_destruct): New function.
9737 (struct gomp_device_descr host_dispatch): Remove initialization of old
9738 interface, add initialization of new async sub-struct.
9739 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9740 (goacc_attach_host_thread_to_device): Remove old async code usage.
9741 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9742 (goacc_fini_asyncqueues): Likewise.
9743 (goacc_async_copyout_unmap_vars): Likewise.
9744 (goacc_async_free): Likewise.
9745 (get_goacc_asyncqueue): Likewise.
9746 (lookup_goacc_asyncqueue): Likewise.
9747 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9749 (present_create_copy): Adjust code to use new async design.
9750 (delete_copyout): Likewise.
9751 (update_dev_host): Likewise.
9752 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9754 (gomp_acc_remove_pointer): Adjust code to use new async design.
9755 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9757 (GOACC_enter_exit_data): Likewise.
9758 (goacc_wait): Likewise.
9759 (GOACC_update): Likewise.
9760 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9761 when called, warn as obsolete in comment.
9762 * target.c (goacc_device_copy_async): New function.
9763 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9764 add goacc_device_copy_async case.
9765 (gomp_copy_dev2host): Likewise.
9766 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9767 (gomp_map_pointer): Likewise.
9768 (gomp_map_fields_existing): Likewise.
9769 (gomp_map_vars_internal): New always_inline function, renamed from
9771 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9772 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9773 passing goacc_asyncqueue argument.
9774 (gomp_unmap_tgt): Remove static, add attribute_hidden.
9775 (gomp_unref_tgt): New function.
9776 (gomp_unmap_vars_internal): New always_inline function, renamed from
9778 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9779 (gomp_unmap_vars_async): Implement by calling
9780 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9781 (gomp_fini_device): New function.
9782 (gomp_exit_data): Adjust gomp_copy_dev2host call.
9783 (gomp_load_plugin_for_device): Remove old interface, adjust to load
9784 new async interface.
9785 (gomp_target_fini): Adjust code to call gomp_fini_device.
9787 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9788 (struct ptx_stream): Remove.
9789 (struct nvptx_thread): Remove current_stream field.
9790 (cuda_map_create): Remove.
9791 (cuda_map_destroy): Remove.
9796 (struct goacc_asyncqueue): Define.
9797 (struct nvptx_callback): Define.
9798 (struct ptx_free_block): Define.
9799 (struct ptx_device): Remove null_stream, active_streams, async_streams,
9800 stream_lock, and next fields.
9801 (enum ptx_event_type): Remove.
9802 (struct ptx_event): Remove.
9803 (ptx_event_lock): Remove.
9804 (ptx_events): Remove.
9805 (init_streams_for_device): Remove.
9806 (fini_streams_for_device): Remove.
9807 (select_stream_for_async): Remove.
9808 (nvptx_init): Remove ptx_events and ptx_event_lock references.
9809 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9811 (nvptx_open_device): Add free_blocks initialization, remove
9812 init_streams_for_device call.
9813 (nvptx_close_device): Remove fini_streams_for_device call, add
9814 free_blocks destruct code.
9816 (event_add): Remove.
9817 (nvptx_exec): Adjust parameters and code.
9818 (nvptx_free): Likewise.
9819 (nvptx_host2dev): Remove.
9820 (nvptx_dev2host): Remove.
9821 (nvptx_set_async): Remove.
9822 (nvptx_async_test): Remove.
9823 (nvptx_async_test_all): Remove.
9824 (nvptx_wait): Remove.
9825 (nvptx_wait_async): Remove.
9826 (nvptx_wait_all): Remove.
9827 (nvptx_wait_all_async): Remove.
9828 (nvptx_get_cuda_stream): Remove.
9829 (nvptx_set_cuda_stream): Remove.
9830 (GOMP_OFFLOAD_alloc): Adjust code.
9831 (GOMP_OFFLOAD_free): Likewise.
9832 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9833 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9834 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9835 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9836 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9837 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9838 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9839 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9840 (cuda_free_argmem): New function.
9841 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9842 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9843 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9844 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9845 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9846 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9847 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9848 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9849 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9850 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9851 (cuda_callback_wrapper): New function.
9852 (cuda_memcpy_sanity_check): New function.
9853 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9854 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9855 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9856 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9858 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
9861 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9863 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
9865 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9867 2019-03-27 Kevin Buettner <kevinb@redhat.com>
9869 * team.c (gomp_team_start): Initialize pool->threads[0].
9871 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
9873 * testsuite/libgomp.oacc-c++/c++.exp: Specify
9874 "-foffload=$offload_target".
9875 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9876 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9877 * testsuite/lib/libgomp.exp
9878 (check_effective_target_openacc_nvidia_accel_configured): Remove,
9879 as (conceptually) merged into
9880 check_effective_target_openacc_nvidia_accel_selected. Adjust all
9883 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9884 * testsuite/libgomp-test-support.exp.in: Adjust.
9885 * testsuite/lib/libgomp.exp: Likewise. Don't populate
9886 openacc_device_types_s.
9887 (offload_target_to_openacc_device_type): New proc.
9888 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9889 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9890 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9891 * Makefile.in: Regenerate.
9892 * configure: Likewise.
9893 * testsuite/Makefile.in: Likewise.
9895 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9896 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9897 instead of OFFLOAD_TARGETS.
9898 * target.c (gomp_target_init): Adjust.
9899 * testsuite/libgomp-test-support.exp.in: Likewise.
9900 * testsuite/lib/libgomp.exp: Likewise. Populate
9901 openacc_device_types_s instead of offload_targets_s_openacc.
9902 (check_effective_target_openacc_nvidia_accel_selected)
9903 (check_effective_target_openacc_host_selected): Adjust.
9904 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9905 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9906 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9907 * Makefile.in: Regenerate.
9908 * config.h.in: Likewise.
9909 * configure: Likewise.
9910 * testsuite/Makefile.in: Likewise.
9912 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
9913 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
9914 "offloading: supported, but hardware not accessible".
9915 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9916 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9918 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
9921 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
9923 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
9924 and related adjustment.
9926 2019-01-30 Jakub Jelinek <jakub@redhat.com>
9929 * testsuite/libgomp.c++/pr88988.C: New test.
9931 2019-01-28 Jakub Jelinek <jakub@redhat.com>
9934 * testsuite/libgomp.c/pr89002.c: New test.
9936 2019-01-28 Richard Biener <rguenther@suse.de>
9939 PR tree-optimization/86865
9940 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
9942 2019-01-24 Tom de Vries <tdevries@suse.de>
9944 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
9945 once instantiated_devices drops to 0.
9947 2019-01-23 Tom de Vries <tdevries@suse.de>
9950 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
9952 (nvptx_exec): Don't call map_push if mapnum == 0.
9953 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
9955 2019-01-23 Tom de Vries <tdevries@suse.de>
9959 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
9960 (map_fini): Remove "assert (!s->map->active)".
9961 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
9963 2019-01-23 Tom de Vries <tdevries@suse.de>
9966 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
9967 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
9969 2019-01-15 Tom de Vries <tdevries@suse.de>
9972 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
9975 2019-01-12 Tom de Vries <tdevries@suse.de>
9977 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
9978 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
9979 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
9980 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
9982 2019-01-12 Tom de Vries <tdevries@suse.de>
9984 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
9986 2019-01-12 Tom de Vries <tdevries@suse.de>
9988 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
9989 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
9990 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
9992 2019-01-12 Tom de Vries <tdevries@suse.de>
9995 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
9996 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
9998 2019-01-12 Tom de Vries <tdevries@suse.de>
10001 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
10002 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
10004 2019-01-12 Tom de Vries <tdevries@suse.de>
10006 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10007 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10008 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10010 2019-01-12 Tom de Vries <tdevries@suse.de>
10012 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10013 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10014 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10016 2019-01-12 Tom de Vries <tdevries@suse.de>
10018 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10019 resources diagnostic.
10021 2019-01-12 Tom de Vries <tdevries@suse.de>
10023 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10024 vector length to be 128.
10025 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10026 length 2097152 to be reduced to 1024 instead of 32.
10028 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
10029 James Norris <jnorris@codesourcery.com>
10031 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10032 Library Routines", and "Environment Variables".
10034 2019-01-11 Tom de Vries <tdevries@suse.de>
10036 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10039 2019-01-11 Tom de Vries <tdevries@suse.de>
10041 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10043 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10044 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10045 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10046 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10048 2019-01-11 Tom de Vries <tdevries@suse.de>
10050 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10053 2019-01-10 Nathan Sidwell <nathan@acm.org>
10054 Julian Brown <julian@codesourcery.com>
10057 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10058 * testsuite/libgomp.oacc-c++/pr71959.C: New.
10060 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10062 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10065 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10067 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
10068 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10071 2019-01-09 Tom de Vries <tdevries@suse.de>
10074 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10075 #define instead of "const int".
10076 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10077 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10078 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10079 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10081 2019-01-09 Tom de Vries <tdevries@suse.de>
10083 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10086 2019-01-07 Tom de Vries <tdevries@suse.de>
10088 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10089 GOMP_OPENACC_DIM argument.
10091 2019-01-03 Tom de Vries <tdevries@suse.de>
10093 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10094 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10096 2019-01-01 Jakub Jelinek <jakub@redhat.com>
10098 Update copyright years.
10100 2019-01-01 Jakub Jelinek <jakub@redhat.com>
10102 * libgomp.texi: Bump @copying's copyright year.
10104 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10106 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10107 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10108 (GOACC_declare): Redefine the "device" argument to "flags".
10110 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10111 Cesar Philippidis <cesar@codesourcery.com>
10113 * target.c (struct gomp_coalesce_chunk): New structure.
10114 (struct gomp_coalesce_buf): Update the chunks member to use that
10115 type. Adjust all users.
10117 2018-12-19 Tom de Vries <tdevries@suse.de>
10119 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10120 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10121 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10123 2018-12-19 Tom de Vries <tdevries@suse.de>
10125 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10126 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10127 gcc/testsuite/gcc.dg/goacc.
10128 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10130 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10131 Chung-Lin Tang <cltang@codesourcery.com>
10133 * oacc-mem.c (acc_present_or_create): Remove definition and change
10134 to alias of acc_create.
10135 (acc_present_or_copyin): Remove definition and change to alias of
10137 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10138 of acc_present_or_create.
10139 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10140 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10141 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10142 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10143 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10144 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10145 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10146 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10147 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10148 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10149 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10150 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10151 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10152 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10153 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10154 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10156 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10159 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10160 "identical parameters".
10161 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10162 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10165 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10166 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10169 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10170 (nvptx_wait_async): Unseen async-argument is a no-op.
10171 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10172 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10173 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10174 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10175 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10176 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10177 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10178 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10179 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10181 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10182 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10184 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10186 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10187 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10188 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10190 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10193 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10194 (acc_set_cuda_stream): Clarify.
10195 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10197 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10199 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10200 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10201 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10202 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10204 2018-12-14 Tom de Vries <tdevries@suse.de>
10206 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10207 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10208 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10209 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10210 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10212 2018-12-13 Tom de Vries <tdevries@suse.de>
10214 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10215 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10216 * fortran.c (omp_display_affinity_): ... here.
10217 * libgomp.h (gomp_print_string): Declare.
10218 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10219 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10222 2018-12-13 Jakub Jelinek <jakub@redhat.com>
10225 * testsuite/libgomp.c++/for-24.C (results): Include it in
10226 omp declare target region.
10227 (main): Use map (always, tofrom: results) instead of
10228 map (tofrom: results).
10230 2018-12-12 Jakub Jelinek <jakub@redhat.com>
10233 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10234 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10236 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10238 2018-12-12 Andreas Schwab <schwab@suse.de>
10240 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10243 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10246 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10248 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10249 Jakub Jelinek <jakub@redhat.com>
10251 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10252 devicep->host2dev_func.
10254 2018-12-08 Jakub Jelinek <jakub@redhat.com>
10257 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10258 tls_runtime effective target.
10259 (t): New threadprivate variable.
10260 (main): Set t in threads which execute iterations of the worksharing
10261 loop. Propagate that to the task after the loop and don't abort
10262 if the current taskgroup hasn't been cancelled.
10264 2018-12-02 Jakub Jelinek <jakub@redhat.com>
10266 * testsuite/libgomp.c/task-reduction-3.c: New test.
10268 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10270 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10273 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10274 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10276 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10278 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10280 2018-10-19 Richard Biener <rguenther@suse.de>
10282 PR tree-optimization/88182
10283 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10285 2018-11-26 Jakub Jelinek <jakub@redhat.com>
10287 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10288 (RUNTEST): Don't define.
10289 (RUNTESTDEFAULTFLAGS): Add.
10290 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10291 (distclean-am): Depend on distclean-DEJAGNU.
10292 (check-am): If -j% option is present in MFLAGS and if
10293 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10294 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10295 * testsuite/Makefile.in: Regenerated.
10297 2018-11-26 Richard Biener <rguenther@suse.de>
10299 PR tree-optimization/88182
10300 * testsuite/libgomp.c++/pr88182.C: New testcase.
10302 2018-11-20 Jakub Jelinek <jakub@redhat.com>
10305 * config/mingw32/affinity-fmt.c: New file.
10307 2018-11-09 Jakub Jelinek <jakub@redhat.com>
10309 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10310 (gomp_display_affinity): Use __builtin_choose_expr to handle
10311 properly handle argument having integral, or pointer or some other
10312 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10313 with uint64_t type instead of %llx and unsigned long long.
10315 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10316 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10318 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10320 * affinity.c: Include <string.h>, <stdio.h>.
10321 (gomp_display_affinity_place): Remove cpusetp.
10322 * teams.c: Include <limits.h>.
10324 2018-11-08 Jakub Jelinek <jakub@redhat.com>
10326 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10327 in_reduction clause for s[0].
10329 * affinity.c (gomp_display_affinity_place): New function.
10330 * affinity-fmt.c: New file.
10331 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10332 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10333 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10334 Move these functions to ...
10335 * config/nvptx/teams.c: ... here. New file.
10336 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10338 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10340 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10341 and _aligned_malloc.
10342 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10343 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10344 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10345 gomp_affinity_format_len): New variables.
10346 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10347 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10348 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10349 modifiers. Display (non-default) chunk sizes. Print
10350 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10351 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10352 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10353 * fortran.c: Include stdio.h and string.h.
10354 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10355 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10356 (omp_set_affinity_format_, omp_get_affinity_format_,
10357 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10358 omp_pause_resource_all_): New functions.
10359 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10361 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10363 * teams.c: ... here. New file.
10364 * libgomp_g.h: Include gstdint.h.
10365 (GOMP_loop_nonmonotonic_runtime_start,
10366 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10367 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10368 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10369 GOMP_parallel_loop_nonmonotonic_runtime,
10370 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10371 GOMP_loop_ull_nonmonotonic_runtime_start,
10372 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10373 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10374 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10375 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10376 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10377 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10378 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10379 GOMP_teams_reg): Declare.
10380 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10381 gomp_aligned_alloc uses fallback implementation.
10382 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10383 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10384 (struct gomp_doacross_work_share): Add extra field.
10385 (struct gomp_work_share): Add task_reductions field.
10386 (struct gomp_taskgroup): Add workshare and reductions fields.
10387 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10388 (gomp_thread_handle): New typedef.
10389 (gomp_display_affinity_place, gomp_set_affinity_format,
10390 gomp_display_string, gomp_display_affinity,
10391 gomp_display_affinity_thread): Declare.
10392 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10393 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10394 gomp_workshare_task_reduction_register): Declare.
10395 (gomp_team_start): Add taskgroup argument.
10396 (gomp_pause_host): Declare.
10397 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10399 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10400 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10401 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10402 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10403 GOMP_loop_ull_doacross_start,
10404 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10405 GOMP_loop_maybe_nonmonotonic_runtime_next,
10406 GOMP_loop_maybe_nonmonotonic_runtime_start,
10407 GOMP_loop_nonmonotonic_runtime_next,
10408 GOMP_loop_nonmonotonic_runtime_start,
10409 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10410 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10411 GOMP_loop_ull_nonmonotonic_runtime_next,
10412 GOMP_loop_ull_nonmonotonic_runtime_start,
10413 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10414 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10415 GOMP_taskgroup_reduction_register,
10416 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10417 GOMP_teams_reg and GOMP_taskwait_depend.
10418 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10419 omp_{capture,display}_affinity{,_}, and
10420 omp_[gs]et_affinity_format{,_}.
10421 * loop.c: Include string.h.
10422 (GOMP_loop_runtime_next): Add ialias.
10423 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10424 (gomp_loop_static_start, gomp_loop_dynamic_start,
10425 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10426 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10427 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10428 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10429 or gomp_doacross_init callers.
10430 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10431 GOMP_loop_doacross_start): New functions.
10432 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10433 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10434 Mask off GFS_MONOTONIC bit.
10435 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10436 GOMP_loop_maybe_nonmonotonic_runtime_start,
10437 GOMP_loop_nonmonotonic_runtime_next,
10438 GOMP_loop_nonmonotonic_runtime_start,
10439 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10440 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10442 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10444 * loop_ull.c: Include string.h.
10445 (GOMP_loop_ull_runtime_next): Add ialias.
10446 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10447 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10448 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10449 gomp_loop_ull_ordered_dynamic_start,
10450 gomp_loop_ull_ordered_guided_start,
10451 gomp_loop_ull_doacross_static_start,
10452 gomp_loop_ull_doacross_dynamic_start,
10453 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10454 and gomp_doacross_ull_init callers.
10455 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10456 GOMP_loop_ull_doacross_start): New functions.
10457 (GOMP_loop_ull_runtime_start,
10458 GOMP_loop_ull_ordered_runtime_start,
10459 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10460 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10461 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10462 GOMP_loop_ull_nonmonotonic_runtime_next,
10463 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10464 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10465 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10466 (omp_pause_resource_t, omp_depend_t): New typedefs.
10467 (enum omp_lock_hint_t): Renamed to ...
10468 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10469 enumerators using numbers and omp_lock_hint_* as their aliases.
10470 (omp_lock_hint_t): New typedef. Rename to ...
10471 (omp_sync_hint_t): ... this.
10472 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10473 omp_sync_hint_t instead of omp_lock_hint_t.
10474 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10475 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10477 (omp_target_is_present, omp_target_disassociate_ptr):
10478 Change first argument from void * to const void *.
10479 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10480 from void * to const void *.
10481 (omp_target_associate_ptr): Change first and second arguments from
10482 void * to const void *.
10483 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10484 omp_pause_hard): New parameters.
10485 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10486 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10488 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10489 omp_pause_hard): New parameters.
10490 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10491 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10493 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10494 EXTRA argument. If not needed to prepare array, if extra is 0,
10495 clear ws->doacross, otherwise allocate just doacross structure and
10496 extra payload. If array is needed, allocate also extra payload.
10497 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10498 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10500 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10502 (GOMP_parallel): Likewise. Formatting fix.
10503 (GOMP_parallel_reductions): New function.
10504 (GOMP_cancellation_point): If taskgroup has workshare
10505 flag set, check cancelled of prev taskgroup if any.
10506 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10507 on prev taskgroup if any.
10508 * sections.c: Include string.h.
10509 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10510 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10511 (GOMP_sections2_start): New function.
10512 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10513 Pass NULL as taskgroup to gomp_team_start.
10514 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10515 gomp_work_share_start callers.
10516 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10517 If taskgroup has workshare flag set, check cancelled on prev
10518 taskgroup if any. Guard all cancellation tests with
10519 gomp_cancel_var test.
10520 (omp_target_is_present, omp_target_disassociate_ptr):
10521 Change ptr argument from void * to const void *.
10522 (omp_target_memcpy): Change src argument from void * to const void *.
10523 (omp_target_memcpy_rect): Likewise.
10524 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10525 instead of char * where needed.
10526 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10527 from void * to const void *.
10528 (omp_pause_resource, omp_pause_resource_all): New functions.
10529 * task.c (gomp_task_handle_depend): Handle new depend array format
10530 in addition to the old. Handle mutexinoutset kinds the same as
10531 inout for now, handle unspecified kinds.
10532 (gomp_create_target_task): If taskgroup has workshare flag set, check
10533 cancelled on prev taskgroup if any. Guard all cancellation tests with
10534 gomp_cancel_var test. Handle new depend array format count in
10535 addition to the old.
10536 (GOMP_task): Likewise. Adjust function comment.
10537 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10538 cancelled on prev taskgroup if any. Guard all cancellation tests with
10539 gomp_cancel_var test.
10540 (GOMP_taskwait_depend): New function.
10541 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10542 format in addition to the old. Handle mutexinoutset kinds the same as
10543 inout for now, handle unspecified kinds. Fix a function comment typo.
10544 (gomp_taskgroup_init): New function.
10545 (GOMP_taskgroup_start): Use it.
10546 (gomp_reduction_register, gomp_create_artificial_team,
10547 GOMP_taskgroup_reduction_register,
10548 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10549 gomp_parallel_reduction_register,
10550 gomp_workshare_task_reduction_register,
10551 gomp_workshare_taskgroup_start,
10552 GOMP_workshare_task_reduction_unregister): New functions.
10553 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10554 check cancelled on prev taskgroup if any. Guard all cancellation
10555 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10556 by calling GOMP_taskgroup_reduction_register.
10557 * team.c (gomp_thread_attr): Remove comment.
10558 (struct gomp_thread_start_data): Add handle field.
10559 (gomp_thread_start): Call pthread_detach.
10560 (gomp_new_team): Adjust gomp_init_work_share caller.
10561 (gomp_free_pool_helper): Call pthread_detach.
10562 (gomp_team_start): Add taskgroup argument, initialize implicit
10563 tasks' taskgroup field to that. Don't call
10564 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10565 (gomp_team_end): Determine nesting by thr->ts.level != 0
10566 rather than thr->ts.team != NULL.
10567 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10568 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10569 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10570 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10571 if more than 1 allocate also extra payload at the end of array. Never
10572 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10573 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10574 return true instead of ws.
10575 * Makefile.in: Regenerated.
10576 * configure: Regenerated.
10577 * config.h.in: Regenerated.
10578 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10580 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10581 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10582 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10583 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10584 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10585 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10586 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10587 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10588 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10589 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10590 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10591 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10592 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10593 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10594 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10595 define a different N(test), don't define N(f0) to N(f14), but instead
10596 define N(f20) to N(f34) using != comparisons.
10597 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10598 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10599 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10600 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10601 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10602 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10603 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10604 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10605 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10606 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10607 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10608 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10609 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10610 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10611 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10612 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10613 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10614 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10615 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10616 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10617 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10618 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10619 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10620 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10621 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10622 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10623 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10624 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10625 * testsuite/libgomp.c++/depend-1.C: New test.
10626 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10627 * testsuite/libgomp.c++/depobj-1.C: New test.
10628 * testsuite/libgomp.c++/for-16.C: New test.
10629 * testsuite/libgomp.c++/for-21.C: New test.
10630 * testsuite/libgomp.c++/for-22.C: New test.
10631 * testsuite/libgomp.c++/for-23.C: New test.
10632 * testsuite/libgomp.c++/for-24.C: New test.
10633 * testsuite/libgomp.c++/for-25.C: New test.
10634 * testsuite/libgomp.c++/for-26.C: New test.
10635 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10636 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10637 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10638 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10639 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10640 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10641 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10642 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10643 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10644 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10645 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10646 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10647 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10648 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10649 * testsuite/libgomp.c/task-reduction-1.c: New test.
10650 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10651 * testsuite/libgomp.c/task-reduction-2.c: New test.
10652 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10653 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10654 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10655 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10656 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10657 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10658 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10659 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10660 * testsuite/libgomp.c/teams-1.c: New test.
10661 * testsuite/libgomp.c/teams-2.c: New test.
10662 * testsuite/libgomp.c/thread-limit-4.c: New test.
10663 * testsuite/libgomp.c/thread-limit-5.c: New test.
10664 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10666 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10668 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10669 acc_memcpy_to/from_device functions, now with async parameter.
10670 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10671 (acc_memcpy_from_device): Likewise.
10672 (acc_memcpy_to_device_async): New API function.
10673 (acc_memcpy_from_device_async): Likewise.
10674 (present_create_copy): Add async parameter and async setting/unsetting.
10675 (acc_create): Adjust present_create_copy call.
10676 (acc_copyin): Likewise.
10677 (acc_present_or_create): Likewise.
10678 (acc_present_or_copyin): Likewise.
10679 (acc_create_async): New API function.
10680 (acc_copyin_async): New API function.
10681 (delete_copyout): Add async parameter and async setting/unsetting.
10682 (acc_delete): Adjust delete_copyout call.
10683 (acc_copyout): Likewise.
10684 (acc_delete_async): New API function.
10685 (acc_copyout_async): Likewise.
10686 (update_dev_host): Add async parameter and async setting/unsetting.
10687 (acc_update_device): Adjust update_dev_host call.
10688 (acc_update_self): Likewise.
10689 (acc_update_device_async): New API function.
10690 (acc_update_self_async): Likewise.
10691 * openacc.h (acc_copyin_async): Declare new API function.
10692 (acc_create_async): Likewise.
10693 (acc_copyout_async): Likewise.
10694 (acc_delete_async): Likewise.
10695 (acc_update_device_async): Likewise.
10696 (acc_update_self_async): Likewise.
10697 (acc_memcpy_to_device_async): Likewise.
10698 (acc_memcpy_from_device_async): Likewise.
10699 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10700 (acc_copyin_async_64_h): New subroutine.
10701 (acc_copyin_async_array_h): New subroutine.
10702 (acc_create_async_32_h): New subroutine.
10703 (acc_create_async_64_h): New subroutine.
10704 (acc_create_async_array_h): New subroutine.
10705 (acc_copyout_async_32_h): New subroutine.
10706 (acc_copyout_async_64_h): New subroutine.
10707 (acc_copyout_async_array_h): New subroutine.
10708 (acc_delete_async_32_h): New subroutine.
10709 (acc_delete_async_64_h): New subroutine.
10710 (acc_delete_async_array_h): New subroutine.
10711 (acc_update_device_async_32_h): New subroutine.
10712 (acc_update_device_async_64_h): New subroutine.
10713 (acc_update_device_async_array_h): New subroutine.
10714 (acc_update_self_async_32_h): New subroutine.
10715 (acc_update_self_async_64_h): New subroutine.
10716 (acc_update_self_async_array_h): New subroutine.
10717 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10718 (acc_copyin_async_64_h): New subroutine.
10719 (acc_copyin_async_array_h): New subroutine.
10720 (acc_create_async_32_h): New subroutine.
10721 (acc_create_async_64_h): New subroutine.
10722 (acc_create_async_array_h): New subroutine.
10723 (acc_copyout_async_32_h): New subroutine.
10724 (acc_copyout_async_64_h): New subroutine.
10725 (acc_copyout_async_array_h): New subroutine.
10726 (acc_delete_async_32_h): New subroutine.
10727 (acc_delete_async_64_h): New subroutine.
10728 (acc_delete_async_array_h): New subroutine.
10729 (acc_update_device_async_32_h): New subroutine.
10730 (acc_update_device_async_64_h): New subroutine.
10731 (acc_update_device_async_array_h): New subroutine.
10732 (acc_update_self_async_32_h): New subroutine.
10733 (acc_update_self_async_64_h): New subroutine.
10734 (acc_update_self_async_array_h): New subroutine.
10735 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10736 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10737 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10738 acc_memcpy_to_device_async*, acc_update_device_async*, and
10739 acc_update_self_async* entries.
10740 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10741 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10742 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10744 2018-10-31 Joseph Myers <joseph@codesourcery.com>
10747 * Makefile.am: Include multilib.am
10748 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10749 (CLEANFILES): Remove libgomp.info.
10750 * configure.ac: Remove AC_PREREQ.
10751 * testsuite/Makefile.am (RUNTEST): Remove quotes.
10752 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10755 2018-10-29 Joseph Myers <joseph@codesourcery.com>
10756 Julian Brown <julian@codesourcery.com>
10758 * testsuite/libgomp.oacc-c++/this.C: New.
10760 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
10762 * plugin/plugin-nvptx.c (struct cuda_map): New.
10763 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10764 h_tail with (cuda_map *) map.
10765 (cuda_map_create): New function.
10766 (cuda_map_destroy): New function.
10767 (map_init): Update to use a linked list of cuda_map objects.
10768 (map_fini): Likewise.
10769 (map_pop): Likewise.
10770 (map_push): Likewise. Return CUdeviceptr instead of void.
10771 (init_streams_for_device): Remove stales references to ptx_stream
10773 (select_stream_for_async): Likewise.
10774 (nvptx_exec): Update call to map_init.
10776 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
10777 Julian Brown <julian@codesourcery.com>
10779 PR middle-end/86336
10780 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10782 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
10783 Thomas Koenig <tkoenig@gcc.gnu.org>
10786 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10787 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10788 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10789 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10790 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10791 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10792 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10794 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
10795 Tom de Vries <tdevries@suse.de>
10798 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10799 (cuOccupancyMaxPotentialBlockSize): Declare.
10800 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10801 CUDA_ONE_CALL_MAYBE_NULL.
10802 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10803 CUoccupancyB2DSize and declare
10804 cuOccupancyMaxPotentialBlockSize.
10805 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10806 default num_gangs and num_workers when the driver supports it.
10808 2018-08-08 Tom de Vries <tdevries@suse.de>
10810 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10811 CUDA_ONE_CALL_MAYBE_NULL.
10812 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10813 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10814 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10817 2018-08-08 Tom de Vries <tdevries@suse.de>
10819 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10820 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10823 2018-08-08 Tom de Vries <tdevries@suse.de>
10825 * plugin/plugin-nvptx.c
10826 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10827 (nvptx_open_device): Use
10828 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10830 2018-08-08 Tom de Vries <tdevries@suse.de>
10832 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10833 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
10835 2018-08-07 Tom de Vries <tdevries@suse.de>
10837 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10838 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10839 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
10840 corresponding call in CUDA_ONE_CALL. Add def/undef of
10841 CUDA_ONE_CALL_MAYBE_NULL.
10842 (CUDA_CALL_EXISTS): Define.
10844 2018-08-07 Tom de Vries <tdevries@suse.de>
10846 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10847 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10848 corresponding undefs right after.
10850 2018-08-04 Tom de Vries <tdevries@suse.de>
10852 * plugin/configfrag.ac: For --without-cuda-driver, set
10853 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
10854 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10855 * configure: Regenerate.
10857 2018-08-02 Tom de Vries <tdevries@suse.de>
10860 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10861 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10862 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10864 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10865 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10866 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10868 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10869 Thomas Schwinge <thomas@codesourcery.com>
10871 * config/nvptx/oacc-parallel.c: Truncate.
10873 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10874 James Norris <jnorris@codesourcery.com>
10876 * plugin/plugin-nvptx.c (struct map): Removed.
10877 (map_init, map_pop): Remove use of struct map.
10878 (map_push): Likewise and change argument list.
10879 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10881 2018-08-01 Tom de Vries <tdevries@suse.de>
10883 * plugin/cuda-lib.def: New file. Factor out of ...
10884 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10885 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10888 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
10890 Revert 'AsyncI/O patch committed'.
10891 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10892 Thomas Koenig <tkoenig@gcc.gnu.org>
10895 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10896 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10897 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10898 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10899 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10900 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10901 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10903 2018-07-30 Tom de Vries <tdevries@suse.de>
10905 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10906 (nvptx_exec): Ensure worker and vector default dims don't exceed
10907 targ_fn->max_threads_per_block.
10909 2018-07-30 Tom de Vries <tdevries@suse.de>
10911 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
10912 (nvptx_open_device): Init default_dims for device.
10913 (nvptx_exec): Use default_dims from device.
10915 2018-07-26 Jakub Jelinek <jakub@redhat.com>
10918 * testsuite/libgomp.c++/for-15.C (results): Include it in
10919 omp declare target region.
10920 (main): Use map (always, tofrom: results) instead of
10921 map (tofrom: results).
10923 PR middle-end/86660
10924 * testsuite/libgomp.c/pr86660.c: New test.
10926 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10927 Tom de Vries <tdevries@suse.de>
10929 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
10930 sufficient resources to launch a kernel, and give a hint on how to fix
10933 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10934 Tom de Vries <tdevries@suse.de>
10936 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
10937 max_threads_per_block and max_threads_per_multiprocessor fields.
10938 (nvptx_open_device): Initialize new fields.
10939 (nvptx_exec): Use num_sms, and new fields.
10941 2018-07-26 Tom de Vries <tdevries@suse.de>
10943 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
10944 to correct locations. Remove xfail.
10946 2018-07-26 Tom de Vries <tdevries@suse.de>
10948 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
10949 acc_wait. Move acc_async_test calls to correct locations. Remove
10952 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10953 Thomas Koenig <tkoenig@gcc.gnu.org>
10956 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10957 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10958 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10959 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10960 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10961 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10962 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10964 2018-07-17 Jakub Jelinek <jakub@redhat.com>
10966 PR middle-end/86542
10967 * testsuite/libgomp.c++/pr86542.C: New test.
10969 PR middle-end/86539
10970 * testsuite/libgomp.c++/pr86539.C: New test.
10972 2018-07-11 Jakub Jelinek <jakub@redhat.com>
10975 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
10976 (results): Make sure the variable is not inside declare target region.
10977 (qux): Remove unused function.
10979 2018-07-10 Jakub Jelinek <jakub@redhat.com>
10982 * testsuite/libgomp.c++/for-15.C: New test.
10984 2018-06-26 Jakub Jelinek <jakub@redhat.com>
10987 * testsuite/libgomp.c++/pr86291.C: New test.
10989 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
10991 * libgomp.texi (Top): Move www.openmp.org to https.
10992 (Enabling OpenMP): Ditto.
10993 (omp_get_active_level): Ditto.
10994 (omp_get_ancestor_thread_num): Ditto.
10995 (omp_get_cancellation): Ditto.
10996 (omp_get_default_device): Ditto.
10997 (omp_get_dynamic): Ditto.
10998 (omp_get_level): Ditto.
10999 (omp_get_max_active_levels): Ditto.
11000 (omp_get_max_task_priority): Ditto.
11001 (omp_get_max_threads): Ditto.
11002 (omp_get_nested): Ditto.
11003 (omp_get_num_devices): Ditto.
11004 (omp_get_num_procs): Ditto.
11005 (omp_get_num_teams): Ditto.
11006 (omp_get_num_threads): Ditto.
11007 (omp_get_proc_bind): Ditto.
11008 (omp_get_schedule): Ditto.
11009 (omp_get_team_num): Ditto.
11010 (omp_get_team_size): Ditto.
11011 (omp_get_thread_limit): Ditto.
11012 (omp_get_thread_num): Ditto.
11013 (omp_in_parallel): Ditto.
11014 (omp_in_final): Ditto.
11015 (omp_is_initial_device): Ditto.
11016 (omp_set_default_device): Ditto.
11017 (omp_set_dynamic): Ditto.
11018 (omp_set_max_active_levels): Ditto.
11019 (omp_set_nested): Ditto.
11020 (omp_set_num_threads): Ditto.
11021 (omp_set_schedule): Ditto.
11022 (omp_init_lock): Ditto.
11023 (omp_set_lock): Ditto.
11024 (omp_test_lock): Ditto.
11025 (omp_unset_lock): Ditto.
11026 (omp_destroy_lock): Ditto.
11027 (omp_init_nest_lock): Ditto.
11028 (omp_set_nest_lock): Ditto.
11029 (omp_test_nest_lock): Ditto.
11030 (omp_unset_nest_lock): Ditto.
11031 (omp_destroy_nest_lock): Ditto.
11032 (omp_get_wtick): Ditto.
11033 (omp_get_wtime): Ditto.
11034 (OMP_CANCELLATION): Ditto.
11035 (OMP_DISPLAY_ENV): Ditto.
11036 (OMP_DEFAULT_DEVICE): Ditto.
11037 (OMP_DYNAMIC): Ditto.
11038 (OMP_MAX_ACTIVE_LEVELS): Ditto.
11039 (OMP_MAX_TASK_PRIORITY): Ditto.
11040 (OMP_NESTED): Ditto.
11041 (OMP_NUM_THREADS): Ditto.
11042 (OMP_PROC_BIND): Ditto.
11043 (OMP_PLACES): Ditto.
11044 (OMP_STACKSIZE): Ditto.
11045 (OMP_SCHEDULE): Ditto.
11046 (OMP_THREAD_LIMIT): Ditto.
11047 (OMP_WAIT_POLICY): Ditto.
11049 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
11050 James Norris <jnorris@codesourcery.com>
11051 Julian Brown <julian@codesourcery.com>
11052 Thomas Schwinge <thomas@codesourcery.com>
11053 Tom de Vries <tom@codesourcery.com>
11055 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11056 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11057 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11058 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11059 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11060 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11061 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11062 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11063 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11064 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11066 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11068 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11070 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11072 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11074 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11076 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11078 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11080 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11082 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11084 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11086 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11088 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11090 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11092 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11094 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11096 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11098 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11100 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11102 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11104 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11106 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11108 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11110 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11112 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11114 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11116 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11118 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11119 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11120 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11121 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11122 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11123 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11124 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11125 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11126 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11128 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11130 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11131 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11132 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11134 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11135 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11136 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11138 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11140 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11142 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11144 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11146 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11148 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11150 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11152 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11154 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11156 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11158 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11160 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11162 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11164 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11166 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11167 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11168 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11169 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11170 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11171 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11172 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11174 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11175 Thomas Schwinge <thomas@codesourcery.com>
11176 Cesar Philippidis <cesar@codesourcery.com>
11178 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11179 (gomp_acc_remove_pointer): Update declaration.
11180 (gomp_acc_declare_allocate): Declare.
11181 (gomp_remove_var): Declare.
11182 * libgomp.map (OACC_2.5): Define.
11183 * oacc-mem.c (acc_map_data): Update refcount.
11184 (acc_unmap_data): Likewise.
11185 (present_create_copy): Likewise.
11186 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11187 (acc_copyin): Likewise.
11188 (FLAG_FINALIZE): Define.
11189 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11190 (acc_delete_finalize): New function.
11191 (acc_delete_finalize_async): New function.
11192 (acc_copyout_finalize): New function.
11193 (acc_copyout_finalize_async): New function.
11194 (gomp_acc_insert_pointer): Update refcounts.
11195 (gomp_acc_remove_pointer): Return if data is not present on the
11197 * oacc-parallel.c (find_pset): Rename to find_pointer.
11198 (find_pointer): Add support for GOMP_MAP_POINTER.
11199 (handle_ftn_pointers): New function.
11200 (GOACC_parallel_keyed): Update refcounts of variables.
11201 (GOACC_enter_exit_data): Add support for finalized data mappings.
11202 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11204 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11205 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11206 for GOMP_MAP_FORCE_FROM.
11207 * openacc.f90 (module openacc_internal): Add
11208 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11209 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11210 acc_copyout_finalize and acc_delete_finalize.
11211 (acc_copyout_finalize_32_h): New subroutine.
11212 (acc_copyout_finalize_64_h): New subroutine.
11213 (acc_copyout_finalize_array_h): New subroutine.
11214 (acc_delete_finalize_32_h): New subroutine.
11215 (acc_delete_finalize_64_h): New subroutine.
11216 (acc_delete_finalize_array_h): New subroutine.
11217 * openacc.h (acc_copyout_finalize): Declare.
11218 (acc_copyout_finalize_async): Declare.
11219 (acc_delete_finalize): Declare.
11220 (acc_delete_finalize_async): Declare.
11221 * openacc_lib.h (acc_copyout_finalize): New interface.
11222 (acc_delete_finalize): New interface.
11223 * target.c (gomp_map_vars): Update dynamic_refcount.
11224 (gomp_remove_var): New function.
11225 (gomp_unmap_vars): Use it.
11226 (gomp_unload_image_from_device): Likewise.
11227 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11228 case to utilize OpenACC 2.5 data clause semantics.
11229 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11230 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11231 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11232 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11233 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11234 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11235 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11236 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11237 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11238 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11239 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11240 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11241 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11242 utilize OpenACC 2.5 data clause semantics.
11243 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11244 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11245 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11246 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11247 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11248 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11249 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11250 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11251 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11253 2018-05-21 Janus Weil <janus@gcc.gnu.org>
11257 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11258 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11259 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11260 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11261 * testsuite/libgomp.fortran/task2.f90: Ditto.
11262 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11263 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11264 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11265 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11266 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11267 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11268 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11269 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11270 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11272 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11275 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11277 2018-05-09 Tom de Vries <tom@codesourcery.com>
11280 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11281 to GOACC_enter_exit_data.
11283 2018-05-09 Tom de Vries <tom@codesourcery.com>
11286 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11287 (async_synchronous_p): New function.
11288 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11290 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11291 async_valid_stream_id_p.
11292 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11293 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11295 2018-05-07 Tom de Vries <tom@codesourcery.com>
11298 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11299 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11301 2018-05-03 Tom de Vries <tom@codesourcery.com>
11304 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11305 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11306 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11307 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11309 2018-05-02 Tom de Vries <tom@codesourcery.com>
11312 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11313 GOMP_OPENACC_DIM ...
11314 * env.c (parse_gomp_openacc_dim): ... here. New function.
11315 (initialize_env): Call parse_gomp_openacc_dim.
11316 (goacc_default_dims): Define.
11317 * libgomp.h (goacc_default_dims): Declare.
11318 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11319 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11320 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11321 GOMP_PLUGIN_acc_default_dim.
11322 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11323 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11325 2018-05-02 Tom de Vries <tom@codesourcery.com>
11328 * testsuite/libgomp.c++/udr-9.C: Update.
11329 * testsuite/libgomp.c++/atomic-16.C: Remove.
11330 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11331 * testsuite/libgomp.c++/loop-13.C: Remove.
11332 * testsuite/libgomp.c++/loop-14.C: Remove.
11333 * testsuite/libgomp.c++/loop-15.C: Remove.
11334 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11335 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11336 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11337 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11338 * testsuite/libgomp.c++/ordered-1.C: Remove.
11339 * testsuite/libgomp.c++/pr45784.C: Remove.
11340 * testsuite/libgomp.c++/pr64824.C: Remove.
11341 * testsuite/libgomp.c++/pr64868.C: Remove.
11342 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11343 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11344 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11345 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11346 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11347 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11348 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11349 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11350 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11351 * testsuite/libgomp.c++/pr69389.C: Remove.
11352 * testsuite/libgomp.c++/simd10.C: Remove.
11353 * testsuite/libgomp.c++/simd11.C: Remove.
11354 * testsuite/libgomp.c++/simd12.C: Remove.
11355 * testsuite/libgomp.c++/simd13.C: Remove.
11356 * testsuite/libgomp.c++/target-1.C: Remove.
11357 * testsuite/libgomp.c++/target-3.C: Remove.
11358 * testsuite/libgomp.c++/target-4.C: Remove.
11359 * testsuite/libgomp.c++/target-5.C: Remove.
11360 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11361 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11362 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11363 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11364 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11365 * testsuite/libgomp.c++/udr-9.C: Remove.
11366 * testsuite/libgomp.c++/for-10.C: Remove.
11367 * testsuite/libgomp.c++/for-11.C: Remove.
11368 * testsuite/libgomp.c++/for-12.C: Remove.
11369 * testsuite/libgomp.c++/for-13.C: Remove.
11370 * testsuite/libgomp.c++/for-14.C: Remove.
11371 * testsuite/libgomp.c++/for-9.C: Remove.
11372 * testsuite/libgomp.c/atomic-18.c: Move ...
11373 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11374 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11375 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11376 * testsuite/libgomp.c/loop-13.c: Move ...
11377 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11378 * testsuite/libgomp.c/loop-14.c: Move ...
11379 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11380 * testsuite/libgomp.c/loop-15.c: Remove.
11381 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11382 * testsuite/libgomp.c/monotonic-1.c: Move ...
11383 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11384 * testsuite/libgomp.c/monotonic-2.c: Move ...
11385 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11386 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11387 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11388 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11389 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11390 * testsuite/libgomp.c/ordered-4.c: Move ...
11391 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11392 * testsuite/libgomp.c/pr45784.c: Move ...
11393 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11394 * testsuite/libgomp.c/pr64824.c: Move ...
11395 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11396 * testsuite/libgomp.c/pr64868.c: Move ...
11397 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11398 * testsuite/libgomp.c/pr66199-1.c: Move ...
11399 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11400 * testsuite/libgomp.c/pr66199-2.c: Move ...
11401 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11402 * testsuite/libgomp.c/pr66199-3.c: Move ...
11403 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11404 * testsuite/libgomp.c/pr66199-4.c: Move ...
11405 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11406 * testsuite/libgomp.c/pr66199-5.c: Move ...
11407 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11408 * testsuite/libgomp.c/pr66199-6.c: Move ...
11409 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11410 * testsuite/libgomp.c/pr66199-7.c: Move ...
11411 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11412 * testsuite/libgomp.c/pr66199-8.c: Move ...
11413 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11414 * testsuite/libgomp.c/pr66199-9.c: Move ...
11415 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11416 * testsuite/libgomp.c/pr69389.c: Move ...
11417 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11418 * testsuite/libgomp.c/simd-14.c: Move ...
11419 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11420 * testsuite/libgomp.c/simd-15.c: Move ...
11421 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11422 * testsuite/libgomp.c/simd-16.c: Move ...
11423 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11424 * testsuite/libgomp.c/simd-17.c: Move ...
11425 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11426 * testsuite/libgomp.c/target-1.c: Move ...
11427 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11428 * testsuite/libgomp.c/target-10.c: Move ...
11429 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11430 * testsuite/libgomp.c/target-13.c: Move ...
11431 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11432 * testsuite/libgomp.c/target-2.c: Move ...
11433 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11434 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11435 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11436 * testsuite/libgomp.c/taskloop-1.c: Move ...
11437 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11438 * testsuite/libgomp.c/taskloop-2.c: Move ...
11439 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11440 * testsuite/libgomp.c/taskloop-3.c: Move ...
11441 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11442 * testsuite/libgomp.c/taskloop-4.c: Move ...
11443 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11444 * testsuite/libgomp.c/udr-1.c: Move ...
11445 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11446 * testsuite/libgomp.c/for-1.c: Move ...
11447 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11448 * testsuite/libgomp.c/for-1.h: Move ...
11449 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11450 * testsuite/libgomp.c/for-2.c: Move ...
11451 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11452 * testsuite/libgomp.c/for-2.h: Move ...
11453 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11454 * testsuite/libgomp.c/for-3.c: Move ...
11455 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11456 * testsuite/libgomp.c/for-4.c: Move ...
11457 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11458 * testsuite/libgomp.c/for-5.c: Move ...
11459 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11460 * testsuite/libgomp.c/for-6.c: Move ...
11461 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11463 2018-05-02 Tom de Vries <tom@codesourcery.com>
11466 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11467 __builtin_goacc_parlevel_{id,size}.
11468 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11469 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11470 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11471 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11472 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11473 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11474 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11475 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11476 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11477 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11478 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11479 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11480 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11481 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11482 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11483 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11484 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11485 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11486 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11487 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11488 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11489 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11490 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11492 2018-05-02 Tom de Vries <tom@codesourcery.com>
11495 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11497 2018-05-02 Tom de Vries <tom@codesourcery.com>
11500 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11502 2018-04-29 Julian Brown <julian@codesourcery.com>
11503 Tom de Vries <tom@codesourcery.com>
11506 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11507 arbitrary order for iterations of atomic subtract check.
11509 2018-04-28 Tom de Vries <tom@codesourcery.com>
11512 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11513 atomic capture results obtained in parallel loop to an array, instead of
11516 2018-04-26 Tom de Vries <tom@codesourcery.com>
11519 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11520 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11521 (process_GOMP_NVPTX_JIT): New function.
11522 (link_ptx): Use process_GOMP_NVPTX_JIT.
11524 2018-04-26 Richard Biener <rguenther@suse.de>
11525 Tom de Vries <tom@codesourcery.com>
11528 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11530 2018-04-26 Tom de Vries <tom@codesourcery.com>
11533 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11534 recursion depth from 25 to 23.
11535 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11537 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11539 * configure: Regenerated.
11541 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11542 Tom de Vries <tom@codesourcery.com>
11545 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11547 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11550 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11551 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11552 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11553 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11554 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11555 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11557 PR libfortran/85166
11558 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11560 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11562 2018-04-19 Jakub Jelinek <jakub@redhat.com>
11564 * configure: Regenerated.
11566 2018-04-18 David Malcolm <dmalcolm@redhat.com>
11569 * configure: Regenerate.
11571 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11572 Tom de Vries <tom@codesourcery.com>
11574 PR middle-end/84955
11575 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11576 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11578 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11582 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11583 test from gfortran.dg to here.
11585 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11587 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11588 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11590 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11592 PR middle-end/84955
11593 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11594 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11596 2018-04-05 Tom de Vries <tom@codesourcery.com>
11599 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11601 2018-03-26 Tom de Vries <tom@codesourcery.com>
11603 PR tree-optimization/85063
11604 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11605 * testsuite/libgomp.c/switch-conversion.c: New test.
11606 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11607 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11609 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11612 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11613 call abort by STOP n.
11614 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11615 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11616 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11617 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11618 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11619 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11620 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11621 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11622 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11623 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11624 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11625 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11626 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11627 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11628 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11629 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11630 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11631 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11632 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11633 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11634 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11635 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11636 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11637 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11638 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11639 * testsuite/libgomp.fortran/character1.f90: Likewise.
11640 * testsuite/libgomp.fortran/character2.f90: Likewise.
11641 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11642 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11643 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11644 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11645 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11646 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11647 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11648 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11649 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11650 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11651 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11652 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11653 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11654 * testsuite/libgomp.fortran/do1.f90: Likewise.
11655 * testsuite/libgomp.fortran/do2.f90: Likewise.
11656 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11657 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11658 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11659 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11660 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11661 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11662 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11663 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11664 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11665 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11666 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11667 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11668 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11669 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11670 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11671 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11672 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11673 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11674 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11675 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11676 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11677 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11678 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11679 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11680 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11681 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11682 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11683 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11684 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11685 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11686 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11687 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11688 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11689 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11690 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11691 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11692 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11693 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11694 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11695 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11696 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11697 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11698 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11699 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11700 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11701 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11702 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11703 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11704 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11705 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11706 * testsuite/libgomp.fortran/lib2.f: Likewise.
11707 * testsuite/libgomp.fortran/lib3.f: Likewise.
11708 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11709 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11710 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11711 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11712 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11713 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11714 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11715 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11716 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11717 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11718 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11719 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11720 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11721 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11722 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11723 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11724 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11725 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11726 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11727 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11728 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11729 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11730 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11731 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11732 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11733 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11734 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11735 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11736 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11737 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11738 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11739 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11740 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11741 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11742 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11743 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11744 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11745 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11746 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11747 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11748 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11749 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11750 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11751 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11752 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11753 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11754 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11755 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11756 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11757 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11758 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11759 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11760 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11761 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11762 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11763 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11764 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11765 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11766 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11767 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11768 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11769 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11770 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11771 * testsuite/libgomp.fortran/reference1.f90: Likewise.
11772 * testsuite/libgomp.fortran/reference2.f90: Likewise.
11773 * testsuite/libgomp.fortran/retval1.f90: Likewise.
11774 * testsuite/libgomp.fortran/retval2.f90: Likewise.
11775 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11776 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11777 * testsuite/libgomp.fortran/simd1.f90: Likewise.
11778 * testsuite/libgomp.fortran/simd2.f90: Likewise.
11779 * testsuite/libgomp.fortran/simd3.f90: Likewise.
11780 * testsuite/libgomp.fortran/simd4.f90: Likewise.
11781 * testsuite/libgomp.fortran/simd5.f90: Likewise.
11782 * testsuite/libgomp.fortran/simd6.f90: Likewise.
11783 * testsuite/libgomp.fortran/simd7.f90: Likewise.
11784 * testsuite/libgomp.fortran/stack.f90: Likewise.
11785 * testsuite/libgomp.fortran/strassen.f90: Likewise.
11786 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11787 * testsuite/libgomp.fortran/tabs2.f: Likewise.
11788 * testsuite/libgomp.fortran/target1.f90: Likewise.
11789 * testsuite/libgomp.fortran/target2.f90: Likewise.
11790 * testsuite/libgomp.fortran/target3.f90: Likewise.
11791 * testsuite/libgomp.fortran/target4.f90: Likewise.
11792 * testsuite/libgomp.fortran/target5.f90: Likewise.
11793 * testsuite/libgomp.fortran/target6.f90: Likewise.
11794 * testsuite/libgomp.fortran/target7.f90: Likewise.
11795 * testsuite/libgomp.fortran/target8.f90: Likewise.
11796 * testsuite/libgomp.fortran/task1.f90: Likewise.
11797 * testsuite/libgomp.fortran/task2.f90: Likewise.
11798 * testsuite/libgomp.fortran/task3.f90: Likewise.
11799 * testsuite/libgomp.fortran/task4.f90: Likewise.
11800 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11801 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11802 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11803 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11804 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11805 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11806 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11807 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11808 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11809 * testsuite/libgomp.fortran/udr1.f90: Likewise.
11810 * testsuite/libgomp.fortran/udr10.f90: Likewise.
11811 * testsuite/libgomp.fortran/udr11.f90: Likewise.
11812 * testsuite/libgomp.fortran/udr12.f90: Likewise.
11813 * testsuite/libgomp.fortran/udr13.f90: Likewise.
11814 * testsuite/libgomp.fortran/udr14.f90: Likewise.
11815 * testsuite/libgomp.fortran/udr15.f90: Likewise.
11816 * testsuite/libgomp.fortran/udr2.f90: Likewise.
11817 * testsuite/libgomp.fortran/udr3.f90: Likewise.
11818 * testsuite/libgomp.fortran/udr4.f90: Likewise.
11819 * testsuite/libgomp.fortran/udr5.f90: Likewise.
11820 * testsuite/libgomp.fortran/udr6.f90: Likewise.
11821 * testsuite/libgomp.fortran/udr7.f90: Likewise.
11822 * testsuite/libgomp.fortran/udr8.f90: Likewise.
11823 * testsuite/libgomp.fortran/udr9.f90: Likewise.
11824 * testsuite/libgomp.fortran/vla1.f90: Likewise.
11825 * testsuite/libgomp.fortran/vla2.f90: Likewise.
11826 * testsuite/libgomp.fortran/vla3.f90: Likewise.
11827 * testsuite/libgomp.fortran/vla4.f90: Likewise.
11828 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11829 * testsuite/libgomp.fortran/vla6.f90: Likewise.
11830 * testsuite/libgomp.fortran/vla7.f90: Likewise.
11831 * testsuite/libgomp.fortran/vla8.f90: Likewise.
11832 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11833 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11834 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11835 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11836 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11837 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11838 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11839 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11840 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11841 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11842 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11843 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11844 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11845 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11846 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11847 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11848 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11849 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11850 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11851 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11852 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11853 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11854 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11855 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11856 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11857 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11858 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11859 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11860 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11861 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11862 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11863 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11864 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11865 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11866 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11867 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11868 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11869 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11870 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11871 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11872 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11873 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11874 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11875 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11876 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11877 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11878 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11879 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11880 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11881 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11882 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11883 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11884 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11885 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11886 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11887 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11888 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11889 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11890 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11891 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11892 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11893 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11894 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11895 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11896 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11897 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11898 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11899 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11900 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11901 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11902 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11903 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11904 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11905 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11906 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
11907 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11908 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11909 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11910 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11911 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11912 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11913 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11914 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
11915 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
11916 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11917 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11918 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11919 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11920 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
11921 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
11922 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
11923 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11924 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11925 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
11927 2018-03-20 Richard Biener <rguenther@suse.de>
11929 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
11930 parallelizable loop.
11932 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11935 * configure: Regenerate.
11937 2018-02-16 Jakub Jelinek <jakub@redhat.com>
11940 * libgomp.fortran/pr84418-1.f90: New test.
11941 * libgomp.fortran/pr84418-2.f90: New test.
11943 2018-02-14 Jakub Jelinek <jakub@redhat.com>
11946 * testsuite/libgomp.fortran/threadprivate4.f90: Add
11947 -std=f2003 -fall-intrinsics into dg-additional-options.
11949 2018-02-08 Martin Jambor <mjambor@suse.cz>
11951 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
11954 2018-02-08 Martin Jambor <mjambor@suse.cz>
11956 * testsuite/libgomp.hsa.c/staticvar.c: New test.
11958 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11960 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
11961 [__cplusplus]: Declare extern "C".
11963 2018-02-07 Tom de Vries <tom@codesourcery.com>
11966 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
11968 2018-01-29 Christoph Spiel <cspiel@freenet.de>
11969 Jakub Jelinek <jakub@redhat.com>
11972 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
11973 instead of omp_lock_t.
11975 2018-01-25 Tom de Vries <tom@codesourcery.com>
11978 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
11980 2018-01-24 Tom de Vries <tom@codesourcery.com>
11983 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
11985 2018-01-24 Tom de Vries <tom@codesourcery.com>
11988 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
11990 2018-01-19 Tom de Vries <tom@codesourcery.com>
11991 Cesar Philippidis <cesar@codesourcery.com>
11994 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
11995 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
11997 2018-01-03 Jakub Jelinek <jakub@redhat.com>
11999 Update copyright years.
12001 * libgomp.texi: Bump @copying's copyright year.
12003 2017-12-30 Tom de Vries <tom@codesourcery.com>
12006 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12007 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12009 2017-12-27 Tom de Vries <tom@codesourcery.com>
12012 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12013 (test_nonstatic): Fix return type to workaround PR83046.
12015 2017-12-05 Jakub Jelinek <jakub@redhat.com>
12018 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12019 j suffix instead of i.
12020 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12023 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
12025 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12026 call to acc_wait (1).
12028 2017-11-24 Jakub Jelinek <jakub@redhat.com>
12031 * testsuite/libgomp.fortran/pr81304.f90: New test.
12033 2017-11-23 Jakub Jelinek <jakub@redhat.com>
12036 * libgomp.fortran/pr81841.f90: New test.
12038 2017-11-22 Jakub Jelinek <jakub@redhat.com>
12041 * target.c (gomp_target_init): Compute lengths just once and
12042 use them in both malloc size and subsequent copying.
12044 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12046 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12047 * acinclude.m4: Add cet.m4.
12048 * configure: Regenerate.
12049 * Makefile.in: Likewise.
12050 * testsuite/Makefile.in: Likewise.
12052 2017-11-15 Tom de Vries <tom@codesourcery.com>
12054 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12055 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
12056 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12057 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
12058 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12059 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
12061 2017-11-14 Tom de Vries <tom@codesourcery.com>
12063 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12064 non-nvidia devices.
12066 2017-11-07 Jakub Jelinek <jakub@redhat.com>
12069 * testsuite/libgomp.c++/pr82835.C: New test.
12071 2017-11-06 Martin Liska <mliska@suse.cz>
12073 * testsuite/libgomp.c++/loop-2.C: Return a value
12074 for functions with non-void return type, or change type to void,
12075 or add -Wno-return-type for test.
12076 * testsuite/libgomp.c++/loop-4.C: Likewise.
12077 * testsuite/libgomp.c++/parallel-1.C: Likewise.
12078 * testsuite/libgomp.c++/shared-1.C: Likewise.
12079 * testsuite/libgomp.c++/single-1.C: Likewise.
12080 * testsuite/libgomp.c++/single-2.C: Likewise.
12082 2017-10-31 Tom de Vries <tom@codesourcery.com>
12084 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12085 "do {} while (false)".
12086 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12087 after HSA_DEBUG call.
12089 2017-10-28 Jakub Jelinek <jakub@redhat.com>
12091 * target.c (struct gomp_coalesce_buf): New type.
12092 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12093 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12094 (gomp_copy_host2dev): Add CBUF argument, if copying into
12095 the cached ranges, memcpy into buffer instead of copying
12097 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12098 Add CBUF argument, pass it through to other calls.
12099 (gomp_map_vars): Aggregate copies from host to device if small enough
12100 and with small enough gaps in between into memcpy into a buffer and
12101 fewer host to device copies from the buffer.
12102 (gomp_update): Adjust gomp_copy_host2dev caller.
12104 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
12106 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12108 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12109 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12110 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12111 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12113 2017-10-16 Tom de Vries <tom@codesourcery.com>
12115 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12116 openacc_nvidia_accel_selected.
12117 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12118 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12119 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12120 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12121 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12122 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12123 openacc_nvidia_accel_selected. Skip for shared memory device.
12124 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12125 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12127 2017-10-09 Martin Jambor <mjambor@suse.cz>
12130 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12132 2017-10-07 Tom de Vries <tom@codesourcery.com>
12134 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12135 Remove acc_device_nvidia references.
12136 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12139 2017-10-05 Tom de Vries <tom@codesourcery.com>
12141 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12142 vector_length(32) clause from acc parallel directive.
12143 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12145 2017-10-04 Tom de Vries <tom@codesourcery.com>
12147 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12148 (main): Reduce sum of arr elements. Assert that hres is exactly
12149 representable in 32-bit floating point.
12150 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12151 (main): Reduce sum of arr elements. Assert that hres and hmres are
12152 exactly representable in 32-bit floating point.
12153 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12155 2017-09-28 Tom de Vries <tom@codesourcery.com>
12157 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12159 * testsuite/libgomp.c++/pr69393.C: Same.
12160 * testsuite/libgomp.c++/taskloop-1.C: Same.
12161 * testsuite/libgomp.c++/taskloop-3.C: Same.
12162 * testsuite/libgomp.c++/taskloop-4.C: Same.
12163 * testsuite/libgomp.c/for-4.c: Same.
12164 * testsuite/libgomp.c/pr66199-3.c: Same.
12165 * testsuite/libgomp.c/pr66199-4.c: Same.
12166 * testsuite/libgomp.c/pr66199-6.c: Same.
12167 * testsuite/libgomp.c/taskloop-1.c: Same.
12168 * testsuite/libgomp.c/taskloop-3.c: Same.
12169 * testsuite/libgomp.c/taskloop-4.c: Same.
12170 * testsuite/libgomp.fortran/aligned1.f03: Same.
12171 * testsuite/libgomp.fortran/condinc1.f: Same.
12172 * testsuite/libgomp.fortran/condinc3.f90: Same.
12173 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12174 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12175 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12176 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12177 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12178 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12179 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12180 * testsuite/libgomp.fortran/recursion1.f90: Same.
12181 * testsuite/libgomp.fortran/target2.f90: Same.
12182 * testsuite/libgomp.fortran/target5.f90: Same.
12183 * testsuite/libgomp.fortran/task3.f90: Same.
12185 2017-09-28 Tom de Vries <tom@codesourcery.com>
12187 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12188 vector_length(32) clause from acc parallel directive.
12189 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12191 2017-09-27 Tom de Vries <tom@codesourcery.com>
12193 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12194 Remove acc_device_nvidia references.
12196 2017-09-16 Tom de Vries <tom@codesourcery.com>
12199 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12201 2017-09-14 Tom de Vries <tom@codesourcery.com>
12203 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12204 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12205 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12206 * testsuite/libgomp.c/c.exp: Include test-cases from
12207 libgomp.c-c++-common.
12208 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12211 2017-09-14 Jakub Jelinek <jakub@redhat.com>
12214 * testsuite/libgomp.c++/pr81314.C: New test.
12216 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12218 * libgomp.texi (Top): www.openacc.org now uses https.
12219 (Enabling OpenACC): Ditto.
12220 (acc_get_num_devices): Ditto.
12221 (acc_set_device_type): Ditto.
12222 (acc_get_device_type): Ditto.
12223 (acc_set_device_num): Ditto.
12224 (acc_get_device_num): Ditto.
12225 (acc_async_test): Ditto.
12226 (acc_async_test_all): Ditto.
12228 (acc_wait_all): Ditto.
12229 (acc_wait_all_async): Ditto.
12230 (acc_wait_async): Ditto.
12232 (acc_shutdown): Ditto.
12233 (acc_on_device): Ditto.
12234 (acc_malloc): Ditto.
12236 (acc_copyin): Ditto.
12237 (acc_present_or_copyin): Ditto.
12238 (acc_create): Ditto.
12239 (acc_present_or_create): Ditto.
12240 (acc_copyout): Ditto.
12241 (acc_delete): Ditto.
12242 (acc_update_device): Ditto.
12243 (acc_update_self): Ditto.
12244 (acc_map_data): Ditto.
12245 (acc_unmap_data): Ditto.
12246 (acc_deviceptr): Ditto.
12247 (acc_hostptr): Ditto.
12248 (acc_is_present): Ditto.
12249 (acc_memcpy_to_device): Ditto.
12250 (acc_memcpy_from_device): Ditto.
12251 (acc_get_current_cuda_device): Ditto.
12252 (acc_get_current_cuda_context): Ditto.
12253 (acc_get_cuda_stream): Ditto.
12254 (acc_set_cuda_stream): Ditto.
12255 (ACC_DEVICE_TYPE): Ditto.
12256 (ACC_DEVICE_NUM): Ditto.
12257 (OpenACC Library Interoperability): Ditto.
12259 2017-08-09 Jakub Jelinek <jakub@redhat.com>
12262 * testsuite/libgomp.c/pr81687-1.c: New test.
12263 * testsuite/libgomp.c/pr81687-2.c: New test.
12265 2017-08-07 Jakub Jelinek <jakub@redhat.com>
12268 * testsuite/libgomp.c/pr69389.c: New test.
12269 * testsuite/libgomp.c++/pr69389.C: New test.
12271 2017-08-07 Tom de Vries <tom@codesourcery.com>
12273 PR middle-end/78266
12274 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12275 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12277 2017-07-27 Jakub Jelinek <jakub@redhat.com>
12280 * testsuite/libgomp.c/pr45784.c: New test.
12281 * testsuite/libgomp.c++/pr45784.C: New test.
12283 2017-07-19 Tom de Vries <tom@codesourcery.com>
12285 * testsuite/libgomp.oacc-c/vec.c: New test.
12287 2017-07-03 Tom de Vries <tom@codesourcery.com>
12289 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12291 2017-06-27 Tom de Vries <tom@codesourcery.com>
12293 * plugin/plugin-nvptx.c (notify_var): New function.
12294 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12296 2017-06-27 Tom de Vries <tom@codesourcery.com>
12298 * env.c (parse_unsigned_long_1): Factor out of ...
12299 (parse_unsigned_long): ... here.
12300 (parse_int_1): Factor out of ...
12301 (parse_int): ... here.
12302 (parse_int_secure): New function.
12303 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12304 * secure_getenv.h: Factor out of ...
12305 * plugin/plugin-hsa.c: ... here.
12306 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12308 2017-06-21 Jakub Jelinek <jakub@redhat.com>
12311 * testsuite/libgomp.c++/pr81130.C: New test.
12313 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12315 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12317 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12318 dg-xfail-run-if default args.
12320 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12322 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12323 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12325 2017-05-30 Jakub Jelinek <jakub@redhat.com>
12328 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12329 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12330 sibling lists, depending on level just pick up what CPUs to put
12331 together into a place vs. whether add multiple ordered places.
12333 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12335 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12336 * libgomp.map (OACC_2.0.1): Add these.
12337 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12338 for "acc_wait", and "acc_wait_all", respectively.
12339 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12340 for "acc_wait", and "acc_wait_all", respectively.
12341 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12342 * libgomp.texi (acc_wait, acc_wait_all): Update.
12343 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12344 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12345 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12347 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12348 acc_present_or_copyin and acc_present_or_create procedures,
12350 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12351 generally different variants of OpenACC Runtime Library functions.
12352 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12354 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12355 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12357 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12358 of preprocessor definitions.
12359 * libgomp.h (strong_alias): Guard by "#ifdef
12360 HAVE_ATTRIBUTE_ALIAS".
12361 * oacc-mem.c: Provide "acc_pcreate" as alias for
12362 "acc_present_or_create", and "acc_pcopyin" as alias for
12363 "acc_present_or_copyin".
12364 * libgomp.map: New version "OACC_2.0.1".
12365 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12366 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12367 its content into...
12368 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12371 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12372 when disabling nvptx offloading.
12374 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12376 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12377 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12378 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12380 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12381 * testsuite/lib/libgomp.exp
12382 (check_effective_target_openacc_nvidia_accel_configured): New
12384 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12385 (check_effective_target_c++): New procs.
12386 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12387 (check_effective_target_c++): Likewise.
12389 2017-05-22 Jakub Jelinek <jakub@redhat.com>
12391 PR middle-end/80809
12392 * testsuite/libgomp.c/pr80809-2.c: New test.
12393 * testsuite/libgomp.c/pr80809-3.c: New test.
12395 PR middle-end/80809
12396 * testsuite/libgomp.c/pr80809-1.c: New test.
12398 PR middle-end/80853
12399 * testsuite/libgomp.c/pr80853.c: New test.
12401 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12403 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12404 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12405 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12406 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12407 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12409 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12410 Debug output for failure.
12412 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12414 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12416 2017-04-27 Jakub Jelinek <jakub@redhat.com>
12419 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12420 bootstrap compare failures.
12422 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
12424 * testsuite/libgomp.c/target-36.c: New testcase.
12426 2017-04-13 Jakub Jelinek <jakub@redhat.com>
12428 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12431 2017-04-11 Jakub Jelinek <jakub@redhat.com>
12434 * testsuite/libgomp.c/pr80394.c: New test.
12436 2017-04-04 Jakub Jelinek <jakub@redhat.com>
12439 * config/posix/thread-stacksize.h: New file.
12440 * config/darwin/thread-stacksize.h: New file.
12441 * config/nvptx/thread-stacksize.h: New file.
12442 * env.c: Include thread-stacksize.h.
12443 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12444 instead of 0. Call pthread_attr_setstacksize even if
12445 GOMP_DEFAULT_STACKSIZE is non-zero.
12447 2017-03-30 Jakub Jelinek <jakub@redhat.com>
12449 * env.c (initialize_env): Initialize stacksize to 0.
12451 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
12454 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12456 2017-03-08 Jakub Jelinek <jakub@redhat.com>
12459 * testsuite/libgomp.c/pr79940.c: New test.
12461 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12463 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12465 Add __float128 options.
12467 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
12469 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12470 hppa*-*-* dg-skip-if directive.
12472 2017-02-09 Jakub Jelinek <jakub@redhat.com>
12474 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12475 dg-skip-if directive into a comment.
12477 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12478 Chung-Lin Tang <cltang@codesourcery.com>
12480 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12481 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12482 add additional case.
12483 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12484 "openacc_nvidia_accel_selected".
12485 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12486 Add num_workers(8) clause.
12488 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
12490 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12492 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12493 include complex.h on hppa*-*-hpux*.
12494 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12496 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12498 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12500 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12501 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12502 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12503 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12504 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12505 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12506 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12507 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12508 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12509 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12511 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12513 * libgomp-plugin.h: #include <stdbool.h>.
12514 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12515 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12516 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12517 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12518 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12519 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12520 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12521 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12522 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12523 (GOMP_OFFLOAD_openacc_async_test)
12524 (GOMP_OFFLOAD_openacc_async_test_all)
12525 (GOMP_OFFLOAD_openacc_async_wait)
12526 (GOMP_OFFLOAD_openacc_async_wait_async)
12527 (GOMP_OFFLOAD_openacc_async_wait_all)
12528 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12529 (GOMP_OFFLOAD_openacc_async_set_async)
12530 (GOMP_OFFLOAD_openacc_create_thread_data)
12531 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12532 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12533 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12534 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12535 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12536 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12538 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12539 (GOMP_OFFLOAD_unload_image): Fix argument types.
12541 2017-01-26 Jakub Jelinek <jakub@redhat.com>
12543 * testsuite/lib/libgomp.exp
12544 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12545 check_compile invocation. Fix up removal of executable. Drop
12546 bogus "2>&1" argument.
12548 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12551 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
12552 Martin Jambor <mjambor@suse.cz>
12554 * plugin/hsa.h: Moved to top level include.
12555 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12557 2017-01-21 Jakub Jelinek <jakub@redhat.com>
12560 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12561 of cat to get version from BASE-VER file.
12562 * testsuite/Makefile.in: Regenerated.
12564 2017-01-19 Jakub Jelinek <jakub@redhat.com>
12566 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12569 2017-01-17 Jakub Jelinek <jakub@redhat.com>
12571 * plugin/hsa.h: Add GCC runtime library exception.
12572 * plugin/hsa_ext_finalize.h: Likewise.
12574 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12575 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12576 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12577 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12578 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12579 library to link ptx plugin against.
12580 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12581 (CUDA_CALLS): Define.
12582 (cuda_lib, cuda_lib_inited): New variables.
12583 (init_cuda_lib): New function.
12584 (CUDA_CALL_PREFIX): Define.
12585 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12586 (CUDA_CALL): Use FN instead of (FN).
12587 (CUDA_CALL_NOCHECK): Define.
12588 (cuda_error, fini_streams_for_device, select_stream_for_async,
12589 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12590 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12591 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12592 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12594 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12596 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12597 Use CUDA_CALL_NOCHECK.
12598 * plugin/cuda/cuda.h: New file.
12599 * config.h.in: Regenerated.
12600 * configure: Regenerated.
12603 * configure.ac: Add GCC_BASE_VER.
12604 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12605 get version from BASE-VER file.
12606 * testsuite/Makefile.in: Regenerated.
12607 * configure: Regenerated.
12608 * Makefile.in: Regenerated.
12610 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12613 * Makefile.am: Make fincludedir multilib-aware.
12614 * Makefile.in: Regenerate.
12616 2017-01-01 Jakub Jelinek <jakub@redhat.com>
12618 Update copyright years.
12620 * libgomp.texi: Bump @copying's copyright year.
12622 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12624 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12625 pthread_spinlock_t instead of gomp_mutex_t lock.
12626 (gomp_get_thread_pool): Likewise.
12627 (gomp_release_thread_pool): Likewise.
12628 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12631 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12633 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12634 thread pool in case nthreads == 1.
12636 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12638 * config/nvptx/env.c: Delete.
12639 * icv.c: Move definitions of ICV variables back ...
12640 * env.c: ...here. Do not compile environment-related functionality if
12641 LIBGOMP_OFFLOADED_ONLY is set.
12643 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12645 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12646 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12647 * configure: Regenerate.
12648 * config.h.in: Likewise.
12650 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
12652 * Makefile.in: Regenerate with automake-1.11.6.
12653 * aclocal.m4: Likewise.
12654 * configure: Likewise.
12655 * testsuite/Makefile.in: Likewise.
12657 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
12659 * config/nvptx/critical.c: Delete to use generic implementation.
12661 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12663 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12664 ../../affinity.c as fallback.
12665 * config/nvptx/affinity.c: Delete to use fallback implementation.
12667 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
12668 Jakub Jelinek <jakub@redhat.com>
12669 Dmitry Melnik <dm@ispras.ru>
12671 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12672 * Makefile.in. Regenerate.
12673 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12674 (LIBGOMP_USE_PTHREADS): ...here; new define.
12675 * configure: Regenerate.
12676 * config.h.in: Likewise.
12677 * config/posix/affinity.c: Move to...
12678 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12679 interface by LIBGOMP_USE_PTHREADS.
12680 * critical.c: Split out GOMP_atomic_{start,end} into...
12681 * atomic.c: ...here (new file).
12682 * env.c: Split out ICV definitions into...
12683 * icv.c: ...here (new file) and...
12684 * icv-device.c: ...here. New file.
12685 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12686 (gomp_destroy_lock_30): Ditto.
12687 (gomp_set_lock_30): Ditto.
12688 (gomp_unset_lock_30): Ditto.
12689 (gomp_test_lock_30): Ditto.
12690 (gomp_init_nest_lock_30): Ditto.
12691 (gomp_destroy_nest_lock_30): Ditto.
12692 (gomp_set_nest_lock_30): Ditto.
12693 (gomp_unset_nest_lock_30): Ditto.
12694 (gomp_test_nest_lock_30): Ditto.
12696 * config/nvptx/lock.c: New.
12697 * config/nvptx/bar.c: New.
12698 * config/nvptx/bar.h: New.
12699 * config/nvptx/doacross.h: New.
12700 * config/nvptx/error.c: New.
12701 * config/nvptx/icv-device.c: New.
12702 * config/nvptx/mutex.h: New.
12703 * config/nvptx/pool.h: New.
12704 * config/nvptx/proc.c: New.
12705 * config/nvptx/ptrlock.h: New.
12706 * config/nvptx/sem.h: New.
12707 * config/nvptx/simple-bar.h: New.
12708 * config/nvptx/target.c: New.
12709 * config/nvptx/task.c: New.
12710 * config/nvptx/team.c: New.
12711 * config/nvptx/time.c: New.
12712 * config/posix/simple-bar.h: New.
12713 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12714 (gomp_num_teams_var): Declare.
12715 (struct gomp_thread_pool): Change threads_dock member to
12716 gomp_simple_barrier_t.
12717 [__nvptx__] (gomp_thread): New implementation.
12718 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12719 (gomp_thread_destructor): Ditto.
12720 (gomp_init_thread_affinity): Ditto.
12721 * team.c: Guard uses of Pthreads-specific interfaces by
12722 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12723 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12724 * config/nvptx/alloc.c: Delete.
12725 * config/nvptx/barrier.c: Ditto.
12726 * config/nvptx/fortran.c: Ditto.
12727 * config/nvptx/iter.c: Ditto.
12728 * config/nvptx/iter_ull.c: Ditto.
12729 * config/nvptx/loop.c: Ditto.
12730 * config/nvptx/loop_ull.c: Ditto.
12731 * config/nvptx/ordered.c: Ditto.
12732 * config/nvptx/parallel.c: Ditto.
12733 * config/nvptx/priority_queue.c: Ditto.
12734 * config/nvptx/sections.c: Ditto.
12735 * config/nvptx/single.c: Ditto.
12736 * config/nvptx/splay-tree.c: Ditto.
12737 * config/nvptx/work.c: Ditto.
12738 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12739 -foffload=-lgfortran in addition to -lgfortran.
12740 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12741 * plugin/plugin-nvptx.c: Include <limits.h>.
12742 (struct targ_fn_descriptor): Add new fields.
12743 (struct ptx_device): Ditto. Set them...
12744 (nvptx_open_device): ...here.
12745 (nvptx_adjust_launch_bounds): New.
12746 (nvptx_host2dev): Allow NULL 'nvthd'.
12747 (nvptx_dev2host): Ditto.
12748 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12749 (link_ptx): Adjust log sizes.
12750 (nvptx_host2dev): Allow NULL 'nvthd'.
12751 (nvptx_dev2host): Ditto.
12752 (nvptx_set_clocktick): New. Use it...
12753 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
12755 (GOMP_OFFLOAD_dev2dev): New.
12756 (nvptx_adjust_launch_bounds): New.
12757 (nvptx_stacks_size): New.
12758 (nvptx_stacks_alloc): New.
12759 (nvptx_stacks_free): New.
12760 (GOMP_OFFLOAD_run): New.
12761 (GOMP_OFFLOAD_async_run): New (stub).
12763 2016-11-23 Martin Jambor <mjambor@suse.cz>
12765 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12766 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12767 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12769 2016-11-23 Martin Liska <mliska@suse.cz>
12770 Martin Jambor <mjambor@suse.cz>
12772 * plugin/hsa.h: New file.
12773 * plugin/hsa_ext_finalize.h: New file.
12774 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
12775 header file unistd.h, and functions secure_getenv, __secure_getenv,
12776 getuid, geteuid, getgid and getegid.
12777 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12779 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12780 Handle various cases of secure_getenv presence, add an implementation
12781 when we can test effective UID and GID.
12782 (struct hsa_runtime_fn_info): New structure.
12783 (hsa_runtime_fn_info hsa_fns): New variable.
12784 (hsa_runtime_lib): Likewise.
12785 (support_cpu_devices): Likewise.
12786 (init_enviroment_variables): Load newly introduced ENV
12788 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12789 (hsa_fatal): Likewise.
12790 (DLSYM_FN): New macro.
12791 (init_hsa_runtime_functions): New function.
12792 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12793 structure. Depending on environment, also allow CPU devices.
12794 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12795 (get_kernarg_memory_region): Likewise.
12796 (GOMP_OFFLOAD_init_device): Likewise.
12797 (destroy_hsa_program): Likewise.
12798 (init_basic_kernel_info): New function.
12799 (GOMP_OFFLOAD_load_image): Use it.
12800 (create_and_finalize_hsa_program): Call hsa run-time functions via
12802 (create_single_kernel_dispatch): Likewise.
12803 (release_kernel_dispatch): Likewise.
12804 (init_single_kernel): Likewise.
12805 (parse_target_attributes): Allow up multiple HSA grid dimensions.
12806 (get_group_size): New function.
12807 (run_kernel): Likewise.
12808 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12809 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12811 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12812 * testsuite/libgomp-test-support.exp.in: Likewise.
12813 * Makefile.in: Regenerated.
12814 * aclocal.m4: Likewise.
12815 * config.h.in: Likewise.
12816 * configure: Likewise.
12817 * testsuite/Makefile.in: Likewise.
12819 2016-11-15 Martin Jambor <mjambor@suse.cz>
12820 Alexander Monakov <amonakov@ispras.ru>
12822 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12823 mapping clauses to target constructs.
12824 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12826 2016-11-15 Matthias Klose <doko@ubuntu.com>
12828 * configure: Regenerate.
12830 2016-11-10 Jakub Jelinek <jakub@redhat.com>
12832 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12833 * omp_lib.h.in (openmp_version): Likewise.
12834 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12836 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12838 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12839 (fib_wrapper): Add map(from: x) clause.
12840 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12841 (e_53_2): Likewise.
12842 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12843 (accum): Add map(tmp) clause.
12844 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12845 (accum): Add map(tofrom: tmp) clause.
12846 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12847 (gramSchmidt): Likewise.
12848 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12849 map(tofrom: sum) clause.
12850 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12851 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
12852 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12853 only allowed on the loop iterator.
12854 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12855 * testsuite/libgomp.fortran/taskloop2.f90: New test.
12856 * testsuite/libgomp.fortran/taskloop4.f90: New test.
12857 * testsuite/libgomp.fortran/doacross1.f90: New test.
12858 * testsuite/libgomp.fortran/doacross3.f90: New test.
12859 * testsuite/libgomp.fortran/taskloop1.f90: New test.
12860 * testsuite/libgomp.fortran/taskloop3.f90: New test.
12861 * testsuite/libgomp.fortran/doacross2.f90: New test.
12862 * testsuite/libgomp.c/doacross-1.c (main): Add missing
12863 #pragma omp atomic read.
12864 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12865 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12867 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
12868 Nathan Sidwell <nathan@acm.org>
12870 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12871 to determine default geometry.
12872 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12875 2016-11-01 Jakub Jelinek <jakub@redhat.com>
12877 * hashtab.h: Use standard GPLv3 with runtime exception
12880 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
12882 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12883 size when allocating new thread.
12885 2016-09-14 Marek Polacek <polacek@redhat.com>
12887 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12889 2016-08-19 Jakub Jelinek <jakub@redhat.com>
12892 * testsuite/libgomp.fortran/pr71014.f90: New test.
12894 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
12896 PR middle-end/70895
12897 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12898 firstprivate clauses.
12899 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12901 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12902 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12903 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12904 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12905 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12906 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12907 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12908 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12909 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12910 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12911 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12912 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
12914 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
12917 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
12919 2016-08-08 Jakub Jelinek <jakub@redhat.com>
12922 * testsuite/libgomp.c++/pr58706.C: New test.
12924 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
12926 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
12927 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
12928 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
12930 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
12931 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
12933 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
12935 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
12936 test, and don't hardcode -O0.
12938 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
12940 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
12942 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
12944 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
12947 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
12949 PR middle-end/71734
12950 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
12951 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
12953 2016-07-01 Jakub Jelinek <jakub@redhat.com>
12956 * testsuite/libgomp.fortran/associate3.f90: New test.
12958 2016-06-17 Jakub Jelinek <jakub@redhat.com>
12960 * testsuite/libgomp.c++/target-21.C: New test.
12962 2016-06-16 Jakub Jelinek <jakub@redhat.com>
12964 * testsuite/libgomp.c++/target-20.C: New test.
12966 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12967 Cesar Philippidis <cesar@codesourcery.com>
12969 PR middle-end/71373
12970 * libgomp.oacc-c/nested-function-1.c: New file.
12971 * libgomp.oacc-c/nested-function-2.c: Likewise.
12972 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12973 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12974 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12976 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12979 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
12980 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
12981 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
12983 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
12985 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
12986 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
12988 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
12991 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
12993 2016-05-26 Jakub Jelinek <jakub@redhat.com>
12995 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
12996 instead of invalid schedule(static, 0).
12997 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12999 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13001 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
13002 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
13003 parameter, use to set async stream around call to gomp_unmap_vars,
13004 call gomp_unmap_vars() with 'do_copyfrom' set to true.
13005 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
13006 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13007 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13008 (event_add): Add int parameter, initialize 'val' field when
13009 adding new ptx_event struct.
13010 (nvptx_evec): Adjust event_add() call arguments.
13011 (nvptx_host2dev): Likewise.
13012 (nvptx_dev2host): Likewise.
13013 (nvptx_wait_async): Likewise.
13014 (nvptx_wait_all_async): Likewise.
13015 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13016 pass to event_add() call.
13017 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13019 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13020 call openacc.register_async_cleanup_func() hook.
13021 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13022 * target.c (gomp_copy_from_async): Delete function.
13023 (gomp_map_vars): Remove async_refcount.
13024 (gomp_unmap_vars): Likewise.
13025 (gomp_load_image_to_device): Likewise.
13026 (omp_target_associate_ptr): Likewise.
13027 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13028 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13029 (gomp_copy_from_async): Remove.
13031 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13033 * target.c (gomp_device_copy): New function.
13034 (gomp_copy_host2dev): Likewise.
13035 (gomp_copy_dev2host): Likewise.
13036 (gomp_free_device_memory): Likewise.
13037 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13038 (gomp_map_pointer): Likewise.
13039 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13040 NULL value from alloc_func plugin hook.
13041 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13042 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13043 (gomp_unmap_vars): Likewise.
13044 (gomp_update): Adjust to call gomp_copy_dev2host and
13045 gomp_copy_host2dev functions.
13046 (gomp_unload_image_from_device): Handle false value from
13047 unload_image_func plugin hook.
13048 (gomp_init_device): Handle false value from init_device_func
13050 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13051 (omp_target_free): Adjust to call gomp_free_device_memory.
13052 (omp_target_memcpy): Handle return values from host2dev_func,
13053 dev2host_func, and dev2dev_func plugin hooks.
13054 (omp_target_memcpy_rect_worker): Likewise.
13055 (gomp_target_fini): Handle false value from fini_device_func
13057 * libgomp.h (struct gomp_device_descr): Adjust return type of
13058 init_device_func, fini_device_func, unload_image_func, free_func,
13059 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13060 * oacc-init.c (acc_shutdown_1): Handle false value from
13061 fini_device_func plugin hook.
13062 * oacc-host.c (host_init_device): Change return type to bool.
13063 (host_fini_device): Likewise.
13064 (host_unload_image): Likewise.
13065 (host_free): Likewise.
13066 (host_dev2host): Likewise.
13067 (host_host2dev): Likewise.
13068 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13069 (acc_memcpy_to_device): Likewise.
13070 (acc_memcpy_from_device): Likewise.
13071 (delete_copyout): Add libfnname parameter, handle free_func
13072 hook fatal error case.
13073 (acc_delete): Adjust delete_copyout call.
13074 (acc_copyout): Likewise.
13075 (update_dev_host): Move gomp_mutex_unlock to after
13076 host2dev/dev2host hook calls.
13078 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13079 to 'hsa_error_msg', for clarity.
13080 (hsa_fatal): Likewise.
13081 (hsa_error): New function.
13082 (init_hsa_context): Change return type to bool, adjust to return
13084 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13086 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13087 return false on error.
13088 (get_agent_info): Adjust to return NULL on error.
13089 (destroy_hsa_program): Change return type to bool, adjust to
13090 return false on error.
13091 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13092 (destroy_module): Change return type to bool, adjust to
13093 return false on error.
13094 (GOMP_OFFLOAD_unload_image): Likewise.
13095 (GOMP_OFFLOAD_fini_device): Likewise.
13096 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13097 (GOMP_OFFLOAD_free): Change to return false when called.
13098 (GOMP_OFFLOAD_dev2host): Likewise.
13099 (GOMP_OFFLOAD_host2dev): Likewise.
13100 (GOMP_OFFLOAD_dev2dev): Likewise.
13102 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13103 (CUDA_CALL): Likewise.
13104 (CUDA_CALL_ASSERT): Likewise.
13105 (map_init): Change return type to bool, use CUDA_CALL* macros.
13106 (map_fini): Likewise.
13107 (init_streams_for_device): Change return type to bool, adjust
13109 (fini_streams_for_device): Change return type to bool, adjust
13111 (select_stream_for_async): Release stream_lock before calls to
13112 GOMP_PLUGIN_fatal, adjust call to map_init.
13113 (nvptx_init): Use CUDA_CALL* macros.
13114 (nvptx_attach_host_thread_to_device): Change return type to bool,
13115 use CUDA_CALL* macros.
13116 (nvptx_open_device): Use CUDA_CALL* macros.
13117 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13119 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13120 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13121 (nvptx_exec): Use CUDA_CALL* macros.
13122 (nvptx_alloc): Use CUDA_CALL* macros.
13123 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13124 (nvptx_host2dev): Likewise.
13125 (nvptx_dev2host): Likewise.
13126 (nvptx_wait): Use CUDA_CALL* macros.
13127 (nvptx_wait_async): Likewise.
13128 (nvptx_wait_all): Likewise.
13129 (nvptx_wait_all_async): Likewise.
13130 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13131 use CUDA_CALL* macros, adjust call to map_fini.
13132 (GOMP_OFFLOAD_init_device): Change return type to bool,
13133 adjust code accordingly.
13134 (GOMP_OFFLOAD_fini_device): Likewise.
13135 (GOMP_OFFLOAD_load_image): Adjust calls to
13136 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13137 use CUDA_CALL* macros.
13138 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13140 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13141 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13142 handle error return.
13143 (GOMP_OFFLOAD_dev2host): Likewise.
13144 (GOMP_OFFLOAD_host2dev): Likewise.
13145 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13146 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13148 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13150 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13151 (acc_free): Likewise.
13152 (acc_memcpy_to_device): Likewise.
13153 (acc_memcpy_from_device): Likewise.
13154 (acc_deviceptr): Likewise.
13155 (acc_hostptr): Likewise.
13156 (acc_is_present): Likewise.
13157 (acc_map_data): Likewise.
13158 (acc_unmap_data): Likewise.
13159 (present_create_copy): Likewise.
13160 (delete_copyout): Likewise.
13161 (update_dev_host): Likewise.
13162 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13163 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13164 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13165 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13166 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13167 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13168 it only runs on nvptx targets.
13169 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13170 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13171 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13172 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13173 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13174 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13175 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13176 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13177 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13178 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13179 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13180 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13181 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13182 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13183 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13184 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13185 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13186 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13187 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13188 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13189 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13190 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13191 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13193 2016-05-23 Martin Jambor <mjambor@suse.cz>
13195 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13197 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13199 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13200 to gomp_init_targets_once.
13201 (acc_set_device_type): Remove !cached_base_dev condition on call to
13202 gomp_init_targets_once, move call to before acc_device_lock acquire,
13204 (acc_get_device_num): Remove !cached_base_dev condition on call to
13205 gomp_init_targets_once.
13206 (acc_set_device_num): Likewise.
13208 2016-05-16 Martin Jambor <mjambor@suse.cz>
13210 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
13212 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13214 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13215 expected partitioning.
13217 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13219 PR middle-end/70626
13220 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13221 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13222 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13224 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
13226 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13229 2016-04-19 Jakub Jelinek <jakub@redhat.com>
13231 PR middle-end/70680
13232 * testsuite/libgomp.c/pr70680-1.c: New test.
13233 * testsuite/libgomp.c/pr70680-2.c: New test.
13235 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13237 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13238 pass parameter variables to subroutines.
13240 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13242 PR middle-end/70643
13243 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13245 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13248 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13249 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13251 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13253 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13254 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13255 GOACC_declare prototype.
13257 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13258 Merge this file, and...
13259 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13260 ... this file, and...
13261 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13262 ... this file, and...
13263 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13264 ... this file, and...
13265 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13266 ... this file, and...
13267 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13268 ... this file, and...
13269 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13270 ... this file, and...
13271 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13272 ... this file, and...
13273 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13274 ... this file, and...
13275 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13276 ... this file, and...
13277 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13278 ... this file, and...
13279 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13280 ... this file, and...
13281 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13282 ... this file into...
13283 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13286 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13287 Make failure observable.
13289 2016-04-12 Jakub Jelinek <jakub@redhat.com>
13291 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13293 * target.c (gomp_target_fallback_firstprivate,
13294 gomp_target_unshare_firstprivate): Removed.
13295 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13296 before waiting for dependencies.
13297 (gomp_target_task_fn): Don't copy firstprivate vars here.
13298 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13299 firstprivate_copies here.
13300 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13301 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13302 explicit/implicit firstprivate.
13304 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13308 PR tree-optimization/70373
13309 PR middle-end/70533
13310 PR middle-end/70534
13311 PR middle-end/70535
13312 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13314 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13316 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13318 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13320 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13322 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13324 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13326 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13328 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13330 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13331 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13332 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13333 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13335 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13337 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13339 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13341 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13343 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13344 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13345 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13346 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13347 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13348 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13350 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13351 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13352 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13353 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13354 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13355 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13356 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13357 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13358 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13359 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13360 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13361 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13362 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13363 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13364 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13366 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13367 James Norris <jnorris@codesourcery.com>
13368 Nathan Sidwell <nathan@codesourcery.com>
13369 Julian Brown <julian@codesourcery.com>
13370 Cesar Philippidis <cesar@codesourcery.com>
13371 Chung-Lin Tang <cltang@codesourcery.com>
13372 Tom de Vries <tom@codesourcery.com>
13374 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13375 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13376 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13377 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13378 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13379 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13380 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13381 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13382 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13384 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13386 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13388 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13389 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13390 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13391 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13393 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13395 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13396 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13397 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13398 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13399 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13400 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13401 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13402 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13403 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13404 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13406 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13407 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13408 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13410 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13412 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13414 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13416 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13418 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13419 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13420 ... this new file. Update.
13421 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13422 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13423 ... this new file. Update.
13424 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13425 file. Incorporate...
13426 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13428 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13430 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13432 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13434 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13436 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13437 set-torture-options.
13439 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13441 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13443 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13444 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13445 -fno-builtin-acc_on_device instead of -O0.
13446 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13448 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13449 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13451 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13452 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13453 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13454 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13455 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13456 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13457 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13458 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13459 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13460 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13461 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13462 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13463 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13464 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13465 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13466 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13467 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13468 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13470 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13472 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13475 2016-03-24 Martin Liska <mliska@suse.cz>
13477 * plugin/plugin-hsa.c (packet_store_release): New function
13478 that is taken from the HSA runtime manual.
13479 (GOMP_OFFLOAD_run): Use the function.
13481 2016-03-23 Jakub Jelinek <jakub@redhat.com>
13484 * testsuite/libgomp.c++/pr70376.C: New test.
13486 2016-03-23 Tom de Vries <tom@codesourcery.com>
13488 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13489 initialization of lresult and lvresult.
13490 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13492 2016-03-23 James Norris <jnorris@codesourcery.com>
13493 Daichi Fukuoka <dc-fukuoka@sgi.com>
13496 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13497 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13498 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13499 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13501 2016-03-23 Martin Liska <mliska@suse.cz>
13504 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13505 argument just in case a dispatched kernel uses that argument.
13507 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13509 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13510 -ftree-parallelize-loops/-fopenacc changes.
13511 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13513 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13515 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13517 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13519 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13520 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13522 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13524 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13525 always_ld_library_path the path to libgcc_s.
13527 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13530 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13532 2016-03-09 Tom de Vries <tom@codesourcery.com>
13534 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13535 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13536 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13538 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13539 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13540 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13541 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13543 2016-03-07 Martin Jambor <mjambor@suse.cz>
13545 * testsuite/lib/libgomp.exp
13546 (check_effective_target_hsa_offloading_selected_nocache): New.
13547 (check_effective_target_hsa_offloading_selected): Likewise.
13548 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13549 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13550 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13551 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13552 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13553 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13554 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13555 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13556 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13557 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13558 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13559 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13560 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13561 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13562 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13563 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13564 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13566 2016-03-07 Martin Jambor <mjambor@suse.cz>
13568 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13569 non-shared memory accelerators.
13570 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13571 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13572 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13573 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13574 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13575 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13576 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13577 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13578 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13580 2016-03-07 Martin Jambor <mjambor@suse.cz>
13582 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13585 2016-03-02 Jakub Jelinek <jakub@redhat.com>
13588 * testsuite/libgomp.c++/pr69555-1.C: New test.
13589 * testsuite/libgomp.c++/pr69555-2.C: New test.
13591 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13592 Martin Jambor <mjambor@suse.cz>
13594 * testsuite/lib/libgomp.exp
13595 (check_effective_target_offload_device_shared_as): New proc.
13596 * testsuite/libgomp.c++/declare_target-1.C: New test.
13598 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13601 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13603 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13605 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13606 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13608 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13609 -ftree-parallelize-loops/-fopenacc changes.
13610 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13611 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13613 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13615 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13617 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13619 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13621 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13623 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13625 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13626 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13628 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13629 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13631 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13632 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13635 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13637 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13639 2016-02-19 Jakub Jelinek <jakub@redhat.com>
13642 * testsuite/libgomp.c/pr69805.c: New test.
13644 2016-02-16 Tom de Vries <tom@codesourcery.com>
13647 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13649 2016-02-09 Tom de Vries <tom@codesourcery.com>
13651 PR tree-optimization/69599
13652 * testsuite/libgomp.c/omp-nested-3.c: New test.
13653 * testsuite/libgomp.c/pr46032-2.c: New test.
13654 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13655 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13657 2016-02-09 Tom de Vries <tom@codesourcery.com>
13660 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13662 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
13664 * testsuite/libgomp.c/target-31.c: Fix testcase.
13666 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
13668 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13670 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13671 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13672 reduction and map clauses.
13673 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13675 2016-02-02 James Norris <jnorris@codesourcery.com>
13677 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13679 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13681 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13682 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13684 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13687 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13689 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13690 (hsa_kmt_lib): Set variables.
13691 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13692 always_ld_library_path.
13693 * Makefile.in: Regenerate.
13694 * configure: Likewise.
13695 * testsuite/Makefile.in: Likewise.
13697 * plugin/configfrag.ac (offload_additional_options)
13698 (offload_additional_lib_paths): Don't amend for hsa offloading.
13699 * configure: Regenerate.
13701 * plugin/configfrag.ac: Don't configure for offloading target if
13702 we don't build the corresponding plugin.
13703 * configure: Regenerate.
13705 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13707 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13708 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13710 2016-01-26 Tom de Vries <tom@codesourcery.com>
13712 PR tree-optimization/69110
13713 * testsuite/libgomp.c/pr69110.c: New test.
13715 2016-01-25 Richard Biener <rguenther@suse.de>
13718 * testsuite/libgomp.c++/pr69393.C: New testcase.
13720 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13722 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13723 function wasn't mapped to the device with non-shared memory.
13725 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13727 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13729 2016-01-19 Martin Jambor <mjambor@suse.cz>
13730 Martin Liska <mliska@suse.cz>
13732 * plugin/Makefrag.am: Add HSA plugin requirements.
13733 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13734 (HSA_RUNTIME_LIB): Likewise.
13735 (HSA_RUNTIME_CPPFLAGS): Likewise.
13736 (HSA_RUNTIME_INCLUDE): New substitution.
13737 (HSA_RUNTIME_LIB): Likewise.
13738 (HSA_RUNTIME_LDFLAGS): Likewise.
13739 (hsa-runtime): New configure option.
13740 (hsa-runtime-include): Likewise.
13741 (hsa-runtime-lib): Likewise.
13742 (PLUGIN_HSA): New substitution variable.
13743 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13745 (PLUGIN_HSA_CPPFLAGS): Likewise.
13746 (PLUGIN_HSA_LDFLAGS): Likewise.
13747 (PLUGIN_HSA_LIBS): Likewise.
13748 Check that we have access to HSA run-time.
13749 * libgomp-plugin.h (offload_target_type): New element
13750 OFFLOAD_TARGET_TYPE_HSA.
13751 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13753 (bool gomp_create_target_task): Updated.
13754 (gomp_device_descr): Extra parameter of run_func and async_run_func,
13755 new field can_run_func.
13756 * libgomp_g.h (GOMP_target_ext): Update prototype.
13757 * oacc-host.c (host_run): Added a new parameter args.
13758 * target.c (calculate_firstprivate_requirements): New function.
13759 (copy_firstprivate_data): Likewise.
13760 (gomp_target_fallback_firstprivate): Use them.
13761 (gomp_target_unshare_firstprivate): New function.
13762 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13764 (GOMP_target): Do host fallback for all shared memory devices. Do not
13765 pass any args to plugins.
13766 (GOMP_target_ext): Introduce device-specific argument parameter args.
13767 Allow host fallback if device shares memory. Do not remap data if
13768 device has shared memory.
13769 (gomp_target_task_fn): Likewise. Also treat shared memory devices
13770 like host fallback for mappings.
13771 (GOMP_target_data): Treat shared memory devices like host fallback.
13772 (GOMP_target_data_ext): Likewise.
13773 (GOMP_target_update): Likewise.
13774 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
13775 gomp_create_target_task.
13776 (GOMP_target_enter_exit_data): Likewise.
13777 (omp_target_alloc): Treat shared memory devices like host fallback.
13778 (omp_target_free): Likewise.
13779 (omp_target_is_present): Likewise.
13780 (omp_target_memcpy): Likewise.
13781 (omp_target_memcpy_rect): Likewise.
13782 (omp_target_associate_ptr): Likewise.
13783 (gomp_load_plugin_for_device): Also load can_run.
13784 * task.c (GOMP_PLUGIN_target_task_completion): Free
13785 firstprivate_copies.
13786 (gomp_create_target_task): Accept new argument args and store it to
13788 * plugin/plugin-hsa.c: New file.
13790 2016-01-18 Tom de Vries <tom@codesourcery.com>
13792 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13793 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13794 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13795 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13796 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13797 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13798 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13799 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13800 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13801 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13802 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13804 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13806 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13807 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13808 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13809 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13810 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13811 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13812 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13813 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13815 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13817 2016-01-15 Jakub Jelinek <jakub@redhat.com>
13819 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13821 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
13823 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13825 2016-01-12 James Norris <jnorris@codesourcery.com>
13827 * libgomp.texi: Updates for OpenACC.
13829 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
13831 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13833 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
13836 * testsuite/libgomp.fortran/pr66680.f90: New test.
13838 2016-01-07 Jakub Jelinek <jakub@redhat.com>
13840 PR middle-end/68960
13841 * testsuite/libgomp.c/pr68960.c: New test.
13843 2016-01-06 Nathan Sidwell <nathan@acm.org>
13845 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
13846 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13848 2016-01-04 Jakub Jelinek <jakub@redhat.com>
13850 Update copyright years.
13852 * libgomp.texi: Bump @copying's copyright year.
13854 2015-12-31 Nathan Sidwell <nathan@acm.org>
13856 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13857 dg-additional-options syntax.
13858 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13859 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13860 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13861 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13862 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13863 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13864 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13865 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13866 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13867 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13868 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13869 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13870 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13871 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13872 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13873 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13874 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13875 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13877 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
13879 * libgomp.h (REFCOUNT_LINK): Define.
13880 (struct splay_tree_key_s): Add link_key.
13881 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13882 Replace target address of the pointer with target address of newly
13883 mapped object in the splay tree. Set link pointer on target to the
13884 device address of the mapped object.
13885 (gomp_unmap_vars): Restore target address of the pointer in the splay
13886 tree for REFCOUNT_LINK objects after unmapping.
13887 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13888 declare target link" objects.
13889 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
13890 "omp declare target link" objects, which were mapped for the image.
13891 (gomp_exit_data): Restore target address of the pointer in the splay
13892 tree for REFCOUNT_LINK objects after unmapping.
13893 * testsuite/libgomp.c/target-link-1.c: New file.
13895 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
13897 * libgomp.h (gomp_device_state): New enum.
13898 (struct gomp_device_descr): Replace is_initialized with state.
13899 (gomp_fini_device): Remove declaration.
13900 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13901 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13902 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
13903 (acc_set_device_type): Use state instead of is_initialized.
13904 (acc_set_device_num): Likewise.
13905 * target.c (resolve_device): Use state instead of is_initialized.
13906 Do not initialize finalized device.
13907 (gomp_map_vars): Do nothing if device is finalized.
13908 (gomp_unmap_vars): Likewise.
13909 (gomp_update): Likewise.
13910 (GOMP_offload_register_ver): Use state instead of is_initialized.
13911 (GOMP_offload_unregister_ver): Likewise.
13912 (gomp_init_device): Likewise.
13913 (gomp_unload_device): Likewise.
13914 (gomp_fini_device): Remove.
13915 (gomp_get_target_fn_addr): Do nothing if device is finalized.
13916 (GOMP_target): Go to host fallback if device is finalized.
13917 (GOMP_target_ext): Likewise.
13918 (gomp_exit_data): Do nothing if device is finalized.
13919 (gomp_target_task_fn): Go to host fallback if device is finalized.
13920 (gomp_target_fini): New static function.
13921 (gomp_target_init): Use state instead of is_initialized.
13922 Call gomp_target_fini at exit.
13924 2015-12-09 Tom de Vries <tom@codesourcery.com>
13926 PR tree-optimization/68716
13927 * testsuite/libgomp.c/omp-nested-2.c: New test.
13929 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
13931 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
13932 target openacc_nvidia_accel_selected.
13933 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
13934 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
13935 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
13936 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
13938 2015-12-01 Julian Brown <julian@codesourcery.com>
13939 James Norris <James_Norris@mentor.com>
13941 * oacc-parallel.c (GOACC_host_data): New function.
13942 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
13943 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
13944 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
13945 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
13946 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
13947 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
13948 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
13950 2015-11-30 James Norris <jnorris@codesourcery.com>
13951 Cesar Philippidis <cesar@codesourcery.com>
13954 * libgomp.oacc-fortran/routine-5.f90: New test.
13955 * libgomp.oacc-fortran/routine-7.f90: New test.
13956 * libgomp.oacc-fortran/routine-9.f90: New test.
13958 2015-11-30 Tom de Vries <tom@codesourcery.com>
13960 PR tree-optimization/46032
13961 * testsuite/libgomp.c/pr46032.c: New test.
13963 2015-11-27 Jakub Jelinek <jakub@redhat.com>
13966 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
13967 (gomp_create_target_task): Call it before freeing
13968 GOMP_TARGET_TASK_DATA tasks.
13971 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
13972 in between case label and OpenMP standalone directives.
13973 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
13975 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
13977 * configure: Regenerate.
13979 2015-11-26 Jakub Jelinek <jakub@redhat.com>
13981 * testsuite/libgomp.c/target-35.c: New test.
13983 2015-11-22 James Norris <jnorris@codesourcery.com>
13984 Cesar Philippidis <cesar@codesourcery.com>
13986 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
13987 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
13988 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
13989 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
13990 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
13992 2015-11-20 Jakub Jelinek <jakub@redhat.com>
13994 PR middle-end/68221
13995 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
13996 * testsuite/libgomp.c/reduction-12.c: Likewise.
13997 * testsuite/libgomp.c++/reduction-11.C: Likewise.
13998 * testsuite/libgomp.c++/reduction-12.C: Likewise.
14000 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
14002 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
14003 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
14004 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
14005 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
14006 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14008 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14009 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14011 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
14013 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14014 worker & gang cases.
14015 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14017 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
14019 * config/nvptx/priority_queue.c: New file.
14021 2015-11-14 Jakub Jelinek <jakub@redhat.com>
14023 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14026 2015-11-14 Jakub Jelinek <jakub@redhat.com>
14027 Aldy Hernandez <aldyh@redhat.com>
14028 Ilya Verbin <ilya.verbin@intel.com>
14030 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14031 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14032 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14033 iterators or IV by chunk size.
14034 * parallel.c (gomp_resolve_num_threads): Don't assume that
14035 if thr->ts.team is non-NULL, then pool must be non-NULL.
14036 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14037 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14038 GOMP_PLUGIN_target_task_completion.
14039 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14040 * Makefile.in: Regenerate.
14041 * libgomp.h: Shuffle prototypes and forward definitions around so
14042 priority queues can be defined.
14043 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14044 (enum gomp_target_task_state): New enum.
14045 (struct gomp_target_task): Add state, tgt, task and team fields.
14046 (gomp_create_target_task): Change return type to bool, add
14048 (gomp_target_task_fn): Change return type to bool.
14049 (struct gomp_device_descr): Add async_run_func.
14050 (struct gomp_task): Remove children, next_child, prev_child,
14051 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14053 (struct gomp_taskgroup): Remove children.
14054 Add taskgroup_queue.
14055 (struct gomp_team): Change task_queue type to a priority queue.
14056 (splay_compare): Define inline.
14057 (priority_queue_offset): New.
14058 (priority_node_to_task): New.
14059 (task_to_priority_node): New.
14060 * oacc-mem.c: Do not include splay-tree.h.
14061 * priority_queue.c: New file.
14062 * priority_queue.h: New file.
14063 * splay-tree.c: Do not include splay-tree.h.
14064 (splay_tree_foreach_internal): New.
14065 (splay_tree_foreach): New.
14066 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14067 (splay_tree_callback): Define typedef.
14068 * target.c (splay_compare): Move to libgomp.h.
14069 (GOMP_target): Don't adjust *thr in any way around running offloaded
14071 (GOMP_target_ext): Likewise. Handle target nowait.
14072 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14073 return value from gomp_create_target_task, if false, fallthrough
14074 as if no dependencies exist.
14075 (gomp_target_task_fn): Change return type to bool, return true
14076 if the task should have another part scheduled later. Handle
14078 (gomp_load_plugin_for_device): Initialize async_run.
14079 * task.c (gomp_init_task): Initialize children_queue.
14080 (gomp_clear_parent_in_list): New.
14081 (gomp_clear_parent_in_tree): New.
14082 (gomp_clear_parent): Handle priorities.
14083 (GOMP_task): Likewise.
14084 (priority_queue_move_task_first,
14085 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14087 (gomp_create_target_task): Use priority queues. Change return type
14088 to bool, add state argument, return false if for async
14089 {{enter,exit} data,update} constructs no dependencies need to be
14090 waited for, handle target nowait. Set task->fn to NULL instead of
14091 gomp_target_task_fn.
14092 (verify_children_queue): Remove.
14093 (priority_list_upgrade_task): New.
14094 (priority_queue_upgrade_task): New.
14095 (verify_task_queue): Remove.
14096 (priority_list_downgrade_task): New.
14097 (priority_queue_downgrade_task): New.
14098 (gomp_task_run_pre): Use priority queues.
14099 Abstract code out to priority_queue_downgrade_task.
14100 (gomp_task_run_post_handle_dependers): Use priority queues.
14101 (gomp_task_run_post_remove_parent): Likewise.
14102 (gomp_task_run_post_remove_taskgroup): Likewise.
14103 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
14105 (GOMP_taskwait): Likewise.
14106 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
14107 priority-queue_upgrade_task.
14108 (GOMP_taskgroup_start): Use priority queues.
14109 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
14110 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
14112 * taskloop.c (GOMP_taskloop): Handle priorities.
14113 * team.c (gomp_new_team): Call priority_queue_init.
14114 (free_team): Call priority_queue_free.
14115 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14116 team created for target nowait in implicit parallel region.
14117 (gomp_team_start): For nested check, test thr->ts.level instead of
14118 thr->ts.team != NULL.
14119 * testsuite/libgomp.c/doacross-3.c: New test.
14120 * testsuite/libgomp.c/ordered-5.c: New test.
14121 * testsuite/libgomp.c/priority.c: New test.
14122 * testsuite/libgomp.c/target-31.c: New test.
14123 * testsuite/libgomp.c/target-32.c: New test.
14124 * testsuite/libgomp.c/target-33.c: New test.
14125 * testsuite/libgomp.c/target-34.c: New test.
14127 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14129 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14131 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14132 loop is sequential.
14134 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14136 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14137 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14139 2015-11-12 James Norris <jnorris@codesourcery.com>
14140 Joseph Myers <joseph@codesourcery.com>
14142 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14143 * oacc-parallel.c (GOACC_declare): New function.
14144 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14145 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14146 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14147 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14148 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14150 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14152 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14154 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14156 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14157 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14159 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14161 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14162 inadvertent commit.
14164 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14166 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14167 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14168 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14169 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14170 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14172 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14174 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14175 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14177 2015-11-05 Jakub Jelinek <jakub@redhat.com>
14178 Ilya Verbin <ilya.verbin@intel.com>
14180 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14181 GOMP_loop_nonmonotonic_dynamic_start,
14182 GOMP_loop_nonmonotonic_guided_next,
14183 GOMP_loop_nonmonotonic_guided_start,
14184 GOMP_loop_ull_nonmonotonic_dynamic_next,
14185 GOMP_loop_ull_nonmonotonic_dynamic_start,
14186 GOMP_loop_ull_nonmonotonic_guided_next,
14187 GOMP_loop_ull_nonmonotonic_guided_start,
14188 GOMP_parallel_loop_nonmonotonic_dynamic,
14189 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14190 (GOMP_target_41): Renamed to ...
14191 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14193 (GOMP_target_data_41): Renamed to ...
14194 (GOMP_target_data_ext): ... this.
14195 (GOMP_target_update_41): Renamed to ...
14196 (GOMP_target_update_ext): ... this.
14197 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14198 GOMP_target_data_ext and GOMP_target_update_ext instead of
14199 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14200 Export GOMP_loop_nonmonotonic_dynamic_next,
14201 GOMP_loop_nonmonotonic_dynamic_start,
14202 GOMP_loop_nonmonotonic_guided_next,
14203 GOMP_loop_nonmonotonic_guided_start,
14204 GOMP_loop_ull_nonmonotonic_dynamic_next,
14205 GOMP_loop_ull_nonmonotonic_dynamic_start,
14206 GOMP_loop_ull_nonmonotonic_guided_next,
14207 GOMP_loop_ull_nonmonotonic_guided_start,
14208 GOMP_parallel_loop_nonmonotonic_dynamic and
14209 GOMP_parallel_loop_nonmonotonic_guided.
14210 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14211 GOMP_parallel_loop_nonmonotonic_guided,
14212 GOMP_loop_nonmonotonic_dynamic_start,
14213 GOMP_loop_nonmonotonic_guided_start,
14214 GOMP_loop_nonmonotonic_dynamic_next,
14215 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14216 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14217 GOMP_loop_ull_nonmonotonic_guided_start,
14218 GOMP_loop_ull_nonmonotonic_dynamic_next,
14219 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14220 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14222 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14223 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14224 Use gomp_map_val function.
14225 (gomp_target_fallback_firstprivate): New static function.
14226 (GOMP_target_41): Renamed to ...
14227 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14228 arguments. Move firstprivate fallback handling into a new
14230 (GOMP_target_data_41): Renamed to ...
14231 (GOMP_target_data_ext): ... this.
14232 (GOMP_target_update_41): Renamed to ...
14233 (GOMP_target_update_ext): ... this.
14234 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14235 gomp_map_0len_lookup instead of gomp_map_lookup.
14236 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14238 * testsuite/libgomp.c/target-28.c: Likewise.
14239 * testsuite/libgomp.c/monotonic-1.c: New test.
14240 * testsuite/libgomp.c/monotonic-2.c: New test.
14241 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14242 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14243 * testsuite/libgomp.c/pr66199-5.c: New test.
14244 * testsuite/libgomp.c/pr66199-6.c: New test.
14245 * testsuite/libgomp.c/pr66199-7.c: New test.
14246 * testsuite/libgomp.c/pr66199-8.c: New test.
14247 * testsuite/libgomp.c/pr66199-9.c: New test.
14248 * testsuite/libgomp.c/reduction-11.c: New test.
14249 * testsuite/libgomp.c/reduction-12.c: New test.
14250 * testsuite/libgomp.c/reduction-13.c: New test.
14251 * testsuite/libgomp.c/reduction-14.c: New test.
14252 * testsuite/libgomp.c/reduction-15.c: New test.
14253 * testsuite/libgomp.c/target-12.c (main): Adjust for
14254 omp_target_is_present change for one-past-last element.
14255 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14256 the same var is both mapped and privatized.
14257 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14258 handling of zero-length array sections.
14259 * testsuite/libgomp.c/target-28.c: New test.
14260 * testsuite/libgomp.c/target-29.c: New test.
14261 * testsuite/libgomp.c/target-30.c: New test.
14262 * testsuite/libgomp.c/target-teams-1.c: New test.
14263 * testsuite/libgomp.c++/member-6.C: New test.
14264 * testsuite/libgomp.c++/member-7.C: New test.
14265 * testsuite/libgomp.c++/monotonic-1.C: New test.
14266 * testsuite/libgomp.c++/monotonic-2.C: New test.
14267 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14268 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14269 * testsuite/libgomp.c++/pr66199-3.C: New test.
14270 * testsuite/libgomp.c++/pr66199-4.C: New test.
14271 * testsuite/libgomp.c++/pr66199-5.C: New test.
14272 * testsuite/libgomp.c++/pr66199-6.C: New test.
14273 * testsuite/libgomp.c++/pr66199-7.C: New test.
14274 * testsuite/libgomp.c++/pr66199-8.C: New test.
14275 * testsuite/libgomp.c++/pr66199-9.C: New test.
14276 * testsuite/libgomp.c++/reduction-11.C: New test.
14277 * testsuite/libgomp.c++/reduction-12.C: New test.
14278 * testsuite/libgomp.c++/target-13.C: New test.
14279 * testsuite/libgomp.c++/target-14.C: New test.
14280 * testsuite/libgomp.c++/target-15.C: New test.
14281 * testsuite/libgomp.c++/target-16.C: New test.
14282 * testsuite/libgomp.c++/target-17.C: New test.
14283 * testsuite/libgomp.c++/target-18.C: New test.
14284 * testsuite/libgomp.c++/target-19.C: New test.
14286 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14288 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14289 and reduction copy.
14290 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14291 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14292 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14293 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14294 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14295 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14296 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14297 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14298 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14299 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14300 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14301 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14302 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14303 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14305 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14307 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14308 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14309 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14310 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14311 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14312 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14313 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14314 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14316 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14318 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14319 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14320 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14321 * oacc-host.c (host_openacc_exec): Likewise.
14322 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14324 2015-11-03 Julian Brown <julian@codesourcery.com>
14325 Thomas Schwinge <thomas@codesourcery.com>
14327 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14328 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14329 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14331 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14332 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14334 2015-11-03 James Norris <jnorris@codesourcery.com>
14336 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14338 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14340 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14341 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14342 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14343 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14344 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14346 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14348 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14350 (enum acc_async_t): Reformat.
14351 (acc_on_device): Declare compatible with builtin and provide C++
14353 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14355 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14356 Cesar Philippidis <cesar@codesourcery.com>
14358 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14359 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14360 ... this. Add a description of the test at the top of the file.
14361 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14362 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14363 ... this. Add a description of the test at the top of the file.
14365 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14367 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14368 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14369 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14370 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14371 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14372 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14374 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14376 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14379 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14382 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14384 2015-10-27 James Norris <jnorris@codesourcery.com>
14386 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14387 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14389 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14391 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14392 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14394 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14395 acc_device_nvidia usage.
14396 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14397 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14398 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14400 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14401 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14404 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14408 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14409 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14411 2015-10-23 Tom de Vries <tom@codesourcery.com>
14414 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14416 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14418 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14420 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14422 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14423 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14425 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14426 to 0 when mapnum is 0.
14428 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14430 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14431 Cast to int from int32_t.
14433 2015-10-13 Jakub Jelinek <jakub@redhat.com>
14434 Aldy Hernandez <aldyh@redhat.com>
14435 Ilya Verbin <ilya.verbin@intel.com>
14437 * config/linux/affinity.c (omp_get_place_num_procs,
14438 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14439 * config/linux/doacross.h: New file.
14440 * config/posix/affinity.c (omp_get_place_num_procs,
14441 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14442 * config/posix/doacross.h: New file.
14443 * env.c: Include gomp-constants.h.
14444 (struct gomp_task_icv): Rename run_sched_modifier to
14445 run_sched_chunk_size.
14446 (gomp_max_task_priority_var): New variable.
14447 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14448 (handle_omp_display_env): Change _OPENMP value from 201307 to
14449 201511. Print OMP_MAX_TASK_PRIORITY.
14450 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14451 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14452 chunk_size and run_sched_modifier to run_sched_chunk_size.
14453 (omp_get_max_task_priority, omp_get_initial_device,
14454 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14455 omp_get_partition_place_nums): New functions.
14456 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14457 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14459 (omp_get_num_places_, omp_get_place_num_procs_,
14460 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14461 omp_get_place_proc_ids_8_, omp_get_place_num_,
14462 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14463 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14464 omp_get_max_task_priority_): New functions.
14465 * libgomp_g.h (GOMP_loop_doacross_static_start,
14466 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14467 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14468 GOMP_loop_ull_doacross_dynamic_start,
14469 GOMP_loop_ull_doacross_guided_start,
14470 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14471 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14472 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14473 GOMP_target_data_41, GOMP_target_update_41,
14474 GOMP_target_enter_exit_data): New prototypes.
14475 (GOMP_task): Add prototype argument.
14476 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14477 (struct gomp_doacross_work_share): New type.
14478 (struct gomp_work_share): Add doacross field.
14479 (struct gomp_task_icv): Rename run_sched_modifier to
14480 run_sched_chunk_size.
14481 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14482 GOMP_TASK_UNDEFERRED. Add comments.
14483 (struct gomp_task_depend_entry): Add comments.
14484 (struct gomp_task): Likewise.
14485 (struct gomp_taskgroup): Likewise.
14486 (struct gomp_target_task): New type.
14487 (struct gomp_team): Add comment.
14488 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14489 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14490 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14491 (struct target_var_desc): New type.
14492 (struct target_mem_desc): Adjust comment. Use struct
14493 target_var_desc instead of splay_tree_key for list.
14494 (REFCOUNT_INFINITY): Define.
14495 (struct splay_tree_key_s): Remove copy_from field.
14496 (struct gomp_device_descr): Add dev2dev_func field.
14497 (enum gomp_map_vars_kind): New enum.
14498 (gomp_map_vars): Add one argument.
14499 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14500 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14501 omp_get_place_num_procs, omp_get_place_num_procs_,
14502 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14503 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14504 omp_get_place_num_, omp_get_partition_num_places,
14505 omp_get_partition_num_places_, omp_get_partition_place_nums,
14506 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14507 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14508 omp_target_free, omp_target_is_present, omp_target_memcpy,
14509 omp_target_memcpy_rect, omp_target_associate_ptr and
14510 omp_target_disassociate_ptr.
14511 (GOMP_4.0.2): Renamed to ...
14512 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14513 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14514 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14515 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14516 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14517 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14518 GOMP_loop_ull_doacross_guided_start,
14519 GOMP_loop_ull_doacross_runtime_start,
14520 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14521 GOMP_doacross_ull_wait.
14522 * libgomp.texi: Document omp_get_max_task_priority.
14523 Rename modifier argument to chunk_size for omp_set_schedule and
14524 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14525 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14526 to run_sched_chunk_size renaming.
14527 (GOMP_loop_ordered_runtime_start): Likewise.
14528 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14529 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14530 GOMP_parallel_loop_runtime_start): New functions.
14531 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14532 to run_sched_chunk_size renaming.
14533 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14534 GOMP_loop_doacross_guided_start): New functions or aliases.
14535 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14536 run_sched_modifier to run_sched_chunk_size renaming.
14537 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14538 (gomp_loop_ull_doacross_static_start,
14539 gomp_loop_ull_doacross_dynamic_start,
14540 gomp_loop_ull_doacross_guided_start,
14541 GOMP_loop_ull_doacross_runtime_start): New functions.
14542 (GOMP_loop_ull_doacross_static_start,
14543 GOMP_loop_ull_doacross_dynamic_start,
14544 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14545 * oacc-mem.c (acc_map_data, present_create_copy,
14546 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14548 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14549 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14550 instead of false to gomp_map_vars.
14551 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14552 * omp.h.in (omp_lock_hint_t): New type.
14553 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14554 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14555 omp_get_place_num, omp_get_partition_num_places,
14556 omp_get_partition_place_nums, omp_get_initial_device,
14557 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14558 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14559 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14561 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14562 (omp_lock_hint_none, omp_lock_hint_uncontended,
14563 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14564 omp_lock_hint_speculative): New parameters.
14565 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14566 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14567 omp_get_place_num, omp_get_partition_num_places,
14568 omp_get_partition_place_nums, omp_get_initial_device,
14569 omp_get_max_task_priority): New interfaces.
14570 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14572 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14573 (omp_lock_hint_none, omp_lock_hint_uncontended,
14574 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14575 omp_lock_hint_speculative): New parameters.
14576 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14577 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14578 omp_get_place_num, omp_get_partition_num_places,
14579 omp_get_partition_place_nums, omp_get_initial_device,
14580 omp_get_max_task_priority): New functions and subroutines.
14581 * ordered.c: Include stdarg.h and string.h.
14582 (MAX_COLLAPSED_BITS): Define.
14583 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14584 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14585 GOMP_doacross_ull_wait): New functions.
14586 * target.c: Include errno.h.
14587 (resolve_device): If device is not initialized, call
14588 gomp_init_device on it.
14589 (gomp_map_lookup): New function.
14590 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14591 Don't bump refcount if REFCOUNT_INFINITY. Handle
14592 GOMP_MAP_ALWAYS_TO_P.
14593 (get_kind): Rename is_openacc argument to short_mapkind.
14594 (gomp_map_pointer): Use gomp_map_lookup.
14595 (gomp_map_fields_existing): New function.
14596 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14597 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14598 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14599 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14600 Adjust for tgt->list changed type and copy_from living in there.
14601 (gomp_copy_from_async): Adjust for tgt->list changed type and
14602 copy_from living in there.
14603 (gomp_unmap_vars): Likewise.
14604 (gomp_update): Likewise. Rename is_openacc argument to
14605 short_mapkind. Don't fail if object is not mapped.
14606 (gomp_load_image_to_device): Initialize refcount to
14608 (gomp_target_fallback): New function.
14609 (gomp_get_target_fn_addr): Likewise.
14610 (GOMP_target): Adjust gomp_map_vars caller, use
14611 gomp_get_target_fn_addr and gomp_target_fallback.
14612 (GOMP_target_41): New function.
14613 (gomp_target_data_fallback): New function.
14614 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14615 (GOMP_target_data_41): New function.
14616 (GOMP_target_update): Adjust gomp_update caller.
14617 (GOMP_target_update_41): New function.
14618 (gomp_exit_data, GOMP_target_enter_exit_data,
14619 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14620 omp_target_is_present, omp_target_memcpy,
14621 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14622 omp_target_associate_ptr, omp_target_disassociate_ptr,
14623 gomp_load_plugin_for_device): New functions.
14624 * task.c: Include gomp-constants.h. Include taskloop.c
14625 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14626 (gomp_task_handle_depend): New function.
14627 (GOMP_task): Use it. Add priority argument. Use
14628 gomp-constant.h constants instead of hardcoded numbers.
14629 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14630 (gomp_create_target_task): New function.
14631 (verify_children_queue, verify_taskgroup_queue,
14632 verify_task_queue): New functions.
14633 (gomp_task_run_pre): Call verify_*_queue functions.
14634 If an upcoming tied task is about to leave the sibling or
14635 taskgroup queues in an invalid state, adjust appropriately.
14636 Remove taskgroup argument. Add comments.
14637 (gomp_task_run_post_handle_dependers): Add comments.
14638 (gomp_task_run_post_remove_parent): Likewise.
14639 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14640 (GOMP_taskwait): Likewise. Add comments.
14641 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14642 problem such that the first non parent_depends_on task does not
14643 end up at the end of the children queue.
14644 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14645 GOMP_TASK_UNDEFERRED.
14646 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14647 * taskloop.c: New file.
14648 * testsuite/lib/libgomp.exp
14649 (check_effective_target_offload_device_nonshared_as): New proc.
14650 * testsuite/libgomp.c/affinity-2.c: New test.
14651 * testsuite/libgomp.c/doacross-1.c: New test.
14652 * testsuite/libgomp.c/doacross-2.c: New test.
14653 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14654 Add map clause to target.
14655 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14656 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14657 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14658 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14659 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14661 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14662 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14663 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14664 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14665 not defined. Use those where needed.
14666 * testsuite/libgomp.c/for-4.c: New test.
14667 * testsuite/libgomp.c/for-5.c: New test.
14668 * testsuite/libgomp.c/for-6.c: New test.
14669 * testsuite/libgomp.c/linear-1.c: New test.
14670 * testsuite/libgomp.c/ordered-4.c: New test.
14671 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14672 only allowed on the loop iterator.
14673 * testsuite/libgomp.c/pr66199-3.c: New test.
14674 * testsuite/libgomp.c/pr66199-4.c: New test.
14675 * testsuite/libgomp.c/reduction-7.c: New test.
14676 * testsuite/libgomp.c/reduction-8.c: New test.
14677 * testsuite/libgomp.c/reduction-9.c: New test.
14678 * testsuite/libgomp.c/reduction-10.c: New test.
14679 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14681 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14682 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14683 * testsuite/libgomp.c/target-11.c: New test.
14684 * testsuite/libgomp.c/target-12.c: New test.
14685 * testsuite/libgomp.c/target-13.c: New test.
14686 * testsuite/libgomp.c/target-14.c: New test.
14687 * testsuite/libgomp.c/target-15.c: New test.
14688 * testsuite/libgomp.c/target-16.c: New test.
14689 * testsuite/libgomp.c/target-17.c: New test.
14690 * testsuite/libgomp.c/target-18.c: New test.
14691 * testsuite/libgomp.c/target-19.c: New test.
14692 * testsuite/libgomp.c/target-20.c: New test.
14693 * testsuite/libgomp.c/target-21.c: New test.
14694 * testsuite/libgomp.c/target-22.c: New test.
14695 * testsuite/libgomp.c/target-23.c: New test.
14696 * testsuite/libgomp.c/target-24.c: New test.
14697 * testsuite/libgomp.c/target-25.c: New test.
14698 * testsuite/libgomp.c/target-26.c: New test.
14699 * testsuite/libgomp.c/target-27.c: New test.
14700 * testsuite/libgomp.c/taskloop-1.c: New test.
14701 * testsuite/libgomp.c/taskloop-2.c: New test.
14702 * testsuite/libgomp.c/taskloop-3.c: New test.
14703 * testsuite/libgomp.c/taskloop-4.c: New test.
14704 * testsuite/libgomp.c++/ctor-13.C: New test.
14705 * testsuite/libgomp.c++/doacross-1.C: New test.
14706 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14707 Replace offload_device with offload_device_nonshared_as.
14708 * testsuite/libgomp.c++/for-12.C: New test.
14709 * testsuite/libgomp.c++/for-13.C: New test.
14710 * testsuite/libgomp.c++/for-14.C: New test.
14711 * testsuite/libgomp.c++/linear-1.C: New test.
14712 * testsuite/libgomp.c++/member-1.C: New test.
14713 * testsuite/libgomp.c++/member-2.C: New test.
14714 * testsuite/libgomp.c++/member-3.C: New test.
14715 * testsuite/libgomp.c++/member-4.C: New test.
14716 * testsuite/libgomp.c++/member-5.C: New test.
14717 * testsuite/libgomp.c++/ordered-1.C: New test.
14718 * testsuite/libgomp.c++/reduction-5.C: New test.
14719 * testsuite/libgomp.c++/reduction-6.C: New test.
14720 * testsuite/libgomp.c++/reduction-7.C: New test.
14721 * testsuite/libgomp.c++/reduction-8.C: New test.
14722 * testsuite/libgomp.c++/reduction-9.C: New test.
14723 * testsuite/libgomp.c++/reduction-10.C: New test.
14724 * testsuite/libgomp.c++/reference-1.C: New test.
14725 * testsuite/libgomp.c++/simd14.C: New test.
14726 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14727 * testsuite/libgomp.c++/target-5.C: New test.
14728 * testsuite/libgomp.c++/target-6.C: New test.
14729 * testsuite/libgomp.c++/target-7.C: New test.
14730 * testsuite/libgomp.c++/target-8.C: New test.
14731 * testsuite/libgomp.c++/target-9.C: New test.
14732 * testsuite/libgomp.c++/target-10.C: New test.
14733 * testsuite/libgomp.c++/target-11.C: New test.
14734 * testsuite/libgomp.c++/target-12.C: New test.
14735 * testsuite/libgomp.c++/taskloop-1.C: New test.
14736 * testsuite/libgomp.c++/taskloop-2.C: New test.
14737 * testsuite/libgomp.c++/taskloop-3.C: New test.
14738 * testsuite/libgomp.c++/taskloop-4.C: New test.
14739 * testsuite/libgomp.c++/taskloop-5.C: New test.
14740 * testsuite/libgomp.c++/taskloop-6.C: New test.
14741 * testsuite/libgomp.c++/taskloop-7.C: New test.
14742 * testsuite/libgomp.c++/taskloop-8.C: New test.
14743 * testsuite/libgomp.c++/taskloop-9.C: New test.
14744 * testsuite/libgomp.fortran/affinity1.f90: New test.
14745 * testsuite/libgomp.fortran/affinity2.f90: New test.
14747 2015-10-13 Tom de Vries <tom@codesourcery.com>
14749 PR tree-optimization/67476
14750 * testsuite/libgomp.c/autopar-3.c: New test.
14751 * testsuite/libgomp.c/autopar-4.c: New test.
14752 * testsuite/libgomp.c/autopar-5.c: New test.
14753 * testsuite/libgomp.c/autopar-6.c: New test.
14754 * testsuite/libgomp.c/autopar-7.c: New test.
14755 * testsuite/libgomp.c/autopar-8.c: New test.
14757 2015-10-12 James Norris <jnorris@codesourcery.com>
14759 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14762 2015-10-09 David Malcolm <dmalcolm@redhat.com>
14764 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14765 using load_gcc_lib.
14767 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
14769 * oacc-ptx.h: Remove file, moving its content into...
14770 * config/nvptx/fortran.c: ... here...
14771 * config/nvptx/oacc-init.c: ..., here...
14772 * config/nvptx/oacc-parallel.c: ..., and here.
14773 * config/nvptx/openacc.f90: New file.
14774 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14775 (link_ptx): Don't link in predefined bits of PTX code.
14777 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
14778 Bernd Schmidt <bernds@codesourcery.com>
14780 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14781 (struct targ_ptx_obj): New.
14782 (nvptx_tdata): Move earlier, change data format.
14783 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
14785 (GOMP_OFFLOAD_load_image): Adjust.
14787 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
14789 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14790 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14791 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14792 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14793 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14794 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14795 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14796 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14797 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14798 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14799 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14800 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14801 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14802 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14803 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14804 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14805 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14806 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14807 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14808 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14809 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14810 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14811 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14812 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14813 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14814 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14815 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14816 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14817 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14818 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14819 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14820 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14821 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14822 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14823 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14824 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14825 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14826 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14827 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14828 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14829 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14830 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14831 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14832 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14833 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14834 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14835 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14836 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14837 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14838 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14839 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14840 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14841 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14842 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14843 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14844 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14845 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14846 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14847 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14848 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14849 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14850 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14851 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14853 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14855 * oacc-init.c (acc_on_device): Force optimization level.
14857 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14859 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14860 (cuda_errlist): Delete.
14861 (cuda_error): Reimplement.
14863 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
14865 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14867 * libgomp.map (GOACC_parallel_keyed): New.
14868 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
14870 (GOACC_parallel_keyed): New interface. Lose geometry arguments
14871 and take keyed varargs list. Adjust call to exec_func.
14872 (GOACC_parallel): Force host fallback.
14873 * libgomp_g.h (GOACC_parallel): Remove.
14874 (GOACC_parallel_keyed): Declare.
14875 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
14876 (struct targ_gn_descriptor): Replace name field with launch field.
14877 (nvptx_exec): Lose separate geometry args, take array. Process
14878 dynamic dimensions and adjust.
14879 (struct nvptx_tdata): Replace fn_names field with fn_descs.
14880 (GOMP_OFFLOAD_load_image): Adjust for change in function table
14882 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14884 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14887 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
14890 * oacc-int.h (goacc_host_init): Add declaration.
14891 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14892 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14894 2015-09-08 Aditya Kumar <hiraditya@msn.com>
14895 Sebastian Pop <s.pop@samsung.com>
14897 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
14899 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14900 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14901 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14902 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14903 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14905 2015-09-03 Jakub Jelinek <jakub@redhat.com>
14907 * configure.tgt: Add missing ;; in between nvptx and rtems
14910 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14912 * config/posix/pool.h (gomp_adjust_thread_attr): New.
14913 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
14914 (gomp_thread_pool_reservoir): Add priority member.
14915 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
14917 (parse_thread_pools): Likewise.
14918 * team.c (gomp_team_start): Call configuration provided
14919 gomp_adjust_thread_attr(). Destroy thread attributes if
14921 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
14923 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14925 * config/posix/pool.h: New.
14926 * config/rtems/pool.h: Likewise.
14927 * config/rtems/proc.c: Likewise.
14928 * libgomp.h (gomp_thread_destructor): Declare.
14929 * team.c: Include configuration provided "pool.h".
14930 (gomp_get_thread_pool): Define in configuration.
14931 (gomp_team_end): Call configuration defined
14932 gomp_release_thread_pool().
14934 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14936 * config/rtems/bar.c: New.
14937 * config/rtems/bar.h: Likewise.
14938 * config/rtems/mutex.c: Likewise.
14939 * config/rtems/mutex.h: Likewise.
14940 * config/rtems/sem.c: Likewise.
14941 * config/rtems/sem.h: Likewise.
14942 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
14943 <sys/lock.h> header file.
14944 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
14945 supported by Newlib.
14946 * configure: Regenerate.
14948 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14950 * team.c (gomp_new_thread_pool): Delete and move content to ...
14951 (gomp_get_thread_pool): ... new function. Allocate and
14952 initialize thread pool on demand.
14953 (get_last_team): Use gomp_get_thread_pool().
14954 (gomp_team_start): Delete thread pool initialization.
14956 2015-09-03 Tom de Vries <tom@codesourcery.com>
14958 PR tree-optimization/65637
14959 * testsuite/libgomp.c/autopar-2.c: New test.
14961 2015-08-29 Tom de Vries <tom@codesourcery.com>
14963 PR tree-optimization/46193
14964 * testsuite/libgomp.c/pr46193.c: New test.
14966 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
14969 * libgomp.map: Add 4.0.2 version.
14970 * target.c (offload_image_descr): Add version field.
14971 (gomp_load_image_to_device): Add version argument. Adjust plugin
14972 call. Improve load mismatch diagnostic.
14973 (gomp_unload_image_from_device): Add version argument. Adjust plugin
14975 (GOMP_offload_regster): Make stub function, move bulk to ...
14976 (GOMP_offload_register_ver): ... here. Process version argument.
14977 (GOMP_offload_unregister): Make stub function, move bulk to ...
14978 (GOMP_offload_unregister_ver): ... here. Process version argument.
14979 (gomp_init_device): Process version field.
14980 (gomp_unload_device): Process version field.
14981 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
14982 macros. Check plugin version.
14983 * libgomp.h (gomp_device_descr): Add version function field. Adjust
14984 loader and unloader types.
14985 * oacc-host.c: Include gomp-constants.h.
14986 (host_version): New.
14987 (host_load_image, host_unload_image): Adjust.
14988 (host_dispatch): Add host_version.
14989 * plugin/plugin-nvptx.c: Include gomp-constants.h.
14990 (GOMP_OFFLOAD_version): New.
14991 (GOMP_OFFLOAD_load_image): Add version arg and check it.
14992 (GOMP_OFFLOAD_unload_image): Likewise.
14993 * plugin/plugin-host.c: Include gomp-constants.h.
14994 (GOMP_OFFLOAD_version): New.
14995 (GOMP_OFFLOAD_load_image): Add version arg.
14996 (GOMP_OFFLOAD_unload_image): Likewise.
14998 2015-08-24 Tom de Vries <tom@codesourcery.com>
15000 PR tree-optimization/65468
15001 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
15003 2015-08-24 Tom de Vries <tom@codesourcery.com>
15005 PR tree-optimization/65468
15006 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15008 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
15012 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15013 (gomp_iter_guided_next): Idem.
15014 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15015 (gomp_iter_ull_guided_next): Idem.
15016 * config/linux/wait.h (do_spin): Idem.
15018 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15020 * libgomp-plugin.h (enum offload_target_type): Remove
15021 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15022 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15023 * openacc.h (enum acc_device_t): Likewise.
15024 * openacc_lib.h: Likewise.
15025 * oacc-init.c (name_of_acc_device_t): Don't handle it.
15026 (acc_on_device): Just use __builtin_acc_on_device.
15027 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15028 of acc_on_device builtin.
15029 * plugin/plugin-host.h: Remove file.
15030 * plugin/plugin-host.c: Likewise, but salvage some content into...
15031 * oacc-host.c: ... this file.
15032 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15033 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15034 * Makefile.in: Regenerate.
15035 * configure: Likewise.
15036 * testsuite/lib/libgomp.exp
15037 (check_effective_target_openacc_host_nonshm_selected): Remove.
15038 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15039 ACC_DEVICE_TYPE=host_nonshm.
15040 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15041 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15042 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15043 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15044 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15045 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15047 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15048 Jakub Jelinek <jakub@redhat.com>
15050 * config/nvptx/affinity.c: New file.
15051 * config/nvptx/alloc.c: Likewise.
15052 * config/nvptx/bar.c: Likewise.
15053 * config/nvptx/barrier.c: Likewise.
15054 * config/nvptx/critical.c: Likewise.
15055 * config/nvptx/env.c: Likewise.
15056 * config/nvptx/error.c: Likewise.
15057 * config/nvptx/fortran.c: Likewise.
15058 * config/nvptx/iter.c: Likewise.
15059 * config/nvptx/iter_ull.c: Likewise.
15060 * config/nvptx/libgomp-plugin.c: Likewise.
15061 * config/nvptx/lock.c: Likewise.
15062 * config/nvptx/loop.c: Likewise.
15063 * config/nvptx/loop_ull.c: Likewise.
15064 * config/nvptx/mutex.c: Likewise.
15065 * config/nvptx/oacc-async.c: Likewise.
15066 * config/nvptx/oacc-cuda.c: Likewise.
15067 * config/nvptx/oacc-host.c: Likewise.
15068 * config/nvptx/oacc-init.c: Likewise.
15069 * config/nvptx/oacc-mem.c: Likewise.
15070 * config/nvptx/oacc-parallel.c: Likewise.
15071 * config/nvptx/oacc-plugin.c: Likewise.
15072 * config/nvptx/omp-lock.h: Likewise.
15073 * config/nvptx/ordered.c: Likewise.
15074 * config/nvptx/parallel.c: Likewise.
15075 * config/nvptx/proc.c: Likewise.
15076 * config/nvptx/ptrlock.c: Likewise.
15077 * config/nvptx/sections.c: Likewise.
15078 * config/nvptx/sem.c: Likewise.
15079 * config/nvptx/single.c: Likewise.
15080 * config/nvptx/splay-tree.c: Likewise.
15081 * config/nvptx/target.c: Likewise.
15082 * config/nvptx/task.c: Likewise.
15083 * config/nvptx/team.c: Likewise.
15084 * config/nvptx/time.c: Likewise.
15085 * config/nvptx/work.c: Likewise.
15086 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15087 * configure: Regenerate.
15088 * configure.tgt (config_path): Set to "nvptx" for target
15091 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15093 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15095 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
15097 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15098 (cuda_errlist): Constify.
15099 (errmsg): Move into ...
15100 (cuda_error): ... here. Make smaller.
15101 (_XSTR, _STR): Delete.
15102 (cuda_synames): Delete.
15103 (verify_device_library): Delete.
15104 (nvptx_init): Don't call it.
15106 2015-07-28 Tom de Vries <tom@codesourcery.com>
15108 * testsuite/libgomp.c/uns-outer-4.c: New test.
15110 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15112 * testsuite/libgomp.c/pr66714.c: New test.
15114 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15117 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15118 (fib_ref): New function.
15119 (fib): Correct corner cases in the recursion.
15120 (main): Replace the non-simd loop with fib_ref call.
15121 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15123 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15124 for the last array element value. Replace the non-simd loop with
15125 fib_ref call. Remove redundant b_ref array. Remove the comparison
15126 of the last array element with according Fibonacci sequence element.
15127 (fib): Correct corner cases in the recursion.
15129 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15131 * target.c (gomp_offload_image_to_device): Rename to ...
15132 (gomp_load_image_to_device): ... here.
15133 (GOMP_offload_register): Adjust call.
15134 (gomp_init_device): Likewise.
15135 (gomp_unload_image_from_device): New. Broken out of ...
15136 (GOMP_offload_unregister): ... here. Call it.
15137 (gomp_unload_device): New.
15138 * libgomp.h (gomp_unload_device): Declare.
15139 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15142 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15144 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15146 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15148 (goacc_waits): Move !num_waits handling to ...
15149 (GOACC_wait): ... here, the only caller that might have zero waits.
15151 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15152 (struct ptx_image_data): Move earlier, add fns field.
15153 (struct ptx_device): Add images and image_lock fields.
15154 (ptx_images, ptx_image_lock): Delete.
15155 (nvptx_open_device): Initialize images and image_lock fields.
15156 (nvptx_close_device): Destroy image_lock.
15157 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15158 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15161 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15163 * target.c (GOMP_offload_register): Use int for device type arg.
15164 (GOMP_offload_unregister): Likewise.
15166 * target.c (struct_offload_image_descr): Constify host_table.
15167 (gomp_offload_image_to_device): Likewise.
15168 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15170 * libgomp.h (gomp_device_descr): Constify target data arguments.
15171 * target.c (struct offload_image_descr): Constify target_data.
15172 (gomp_offload_image_to_device): Likewise.
15173 (GOMP_offload_register): Likewise.
15174 (GOMP_offload_unregister): Likewise.
15175 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15176 GOMP_OFFLOAD_unload_image): Constify target data.
15177 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15178 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15180 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15182 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15183 Workaround driver library const error.
15184 (struct nvptx_tdata, nvptx_tdata_t): New.
15185 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15188 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15190 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15191 of EPS parameter from integer to real.
15192 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15193 type of EPS parameter from integer to real.
15195 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15197 * team.c (get_last_team): New.
15198 (gomp_new_team): Recycle last non-nested team if possible.
15199 (gomp_team_end): Move team work share list free lock destruction
15201 (free_team): ... here.
15203 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15205 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15206 and ref from int to double. Replaced their comparison with
15207 an inequality of their difference and EPS.
15208 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15209 comparison of pri and a reference number with an inequality of their
15210 difference and EPS.
15211 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15212 the comparison of sum and sum_ref with an inequality of their
15213 difference and EPS.
15214 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15215 the comparison of pri and a reference number with an inequality of
15216 their difference and EPS.
15218 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15220 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15221 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15222 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15223 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15224 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15225 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15226 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15227 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15228 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15229 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15230 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15231 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15232 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15234 (vec_mult): Likewise. Add #pragma omp taskwait.
15235 (main): Adjust caller.
15236 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15237 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15238 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15239 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15240 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15241 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15242 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15243 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15244 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15245 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15246 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15247 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15248 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15249 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15250 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15251 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15252 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15253 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15254 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15255 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15256 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15257 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15258 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15259 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15260 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15261 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15262 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15263 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15264 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15265 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15266 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15267 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15268 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15269 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15270 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15271 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15272 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15273 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15274 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15275 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15276 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15277 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15278 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15279 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15280 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15281 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15282 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15283 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15284 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15285 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15286 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15287 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15288 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15289 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15290 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15291 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15292 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15293 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15294 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15295 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15296 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15297 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15298 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15299 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15300 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15301 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15302 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15303 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15304 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15305 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15306 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15307 (vec_mult): Add !$omp taskwait.
15308 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15309 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15310 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15311 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15312 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15313 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15314 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15315 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15316 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15317 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15318 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15319 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15320 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15321 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15322 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15323 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15324 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15325 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15326 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15327 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15328 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15329 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15330 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15331 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15332 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15333 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15334 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15335 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15336 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15337 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15338 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15339 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15340 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15341 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15342 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15343 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15344 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15345 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15346 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15347 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15348 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15349 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15350 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15351 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15352 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15353 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15354 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15355 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15356 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15357 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15358 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15359 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15360 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15361 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15362 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15363 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15364 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15365 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15366 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15367 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15368 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15369 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15370 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15371 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15372 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15373 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15374 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15376 2015-07-10 Tom de Vries <tom@codesourcery.com>
15378 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15379 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15381 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15384 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15385 in a 64-bit configuration.
15386 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15387 offloading testing if no such device is available.
15388 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15389 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15391 2015-07-08 Tom de Vries <tom@codesourcery.com>
15393 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15395 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15397 2015-07-07 Tom de Vries <tom@codesourcery.com>
15399 PR tree-optimization/66642
15400 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15401 iteration count case.
15402 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15403 function, factor out of ...
15404 (main): ... here. Test low iteration count case.
15406 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15408 * libgomp.h (gomp_thread_pool): Comment last_team field.
15410 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
15412 * testsuite/libgomp.c++/pr66702-1.C: Require
15413 vect_simd_clones effective target.
15414 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15416 2015-06-30 Tom de Vries <tom@codesourcery.com>
15418 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15419 already set. Use DEFAULT_CFLAGS in dg-runtest.
15420 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15423 2015-06-30 Tom de Vries <tom@codesourcery.com>
15425 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15426 already set. Use DEFAULT_CFLAGS in dg-runtest.
15427 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15428 * testsuite/libgomp.c++/pr64824.C: Same.
15429 * testsuite/libgomp.c++/pr64868.C: Same.
15430 * testsuite/libgomp.c++/pr66199-1.C: Same.
15431 * testsuite/libgomp.c++/pr66199-2.C: Same.
15432 * testsuite/libgomp.c++/target-2.C: Same.
15433 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15434 -std=<standard> option.
15435 * testsuite/libgomp.c++/udr-11.C: Same.
15436 * testsuite/libgomp.c++/udr-12.C: Same.
15437 * testsuite/libgomp.c++/udr-13.C: Same.
15438 * testsuite/libgomp.c++/udr-14.C: Same.
15439 * testsuite/libgomp.c++/udr-15.C: Same.
15440 * testsuite/libgomp.c++/udr-16.C: Same.
15441 * testsuite/libgomp.c++/udr-17.C: Same.
15442 * testsuite/libgomp.c++/udr-18.C: Same.
15443 * testsuite/libgomp.c++/udr-19.C: Same.
15444 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15445 * testsuite/libgomp.c++/simd-1.C: Same.
15446 * testsuite/libgomp.c++/simd-2.C: Same.
15447 * testsuite/libgomp.c++/simd-3.C: Same.
15448 * testsuite/libgomp.c++/simd-4.C: Same.
15449 * testsuite/libgomp.c++/simd-5.C: Same.
15450 * testsuite/libgomp.c++/simd-6.C: Same.
15451 * testsuite/libgomp.c++/simd-7.C: Same.
15452 * testsuite/libgomp.c++/simd-8.C: Same.
15453 * testsuite/libgomp.c++/simd-9.C: Same.
15454 * testsuite/libgomp.c++/simd10.C: Same.
15455 * testsuite/libgomp.c++/simd11.C: Same.
15456 * testsuite/libgomp.c++/simd12.C: Same.
15457 * testsuite/libgomp.c++/simd13.C: Same.
15459 2015-06-30 Jakub Jelinek <jakub@redhat.com>
15461 PR middle-end/66702
15462 * testsuite/libgomp.c++/pr66702-1.C: New test.
15463 * testsuite/libgomp.c++/pr66702-2.C: New test.
15465 2015-06-30 Tom de Vries <tom@codesourcery.com>
15467 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15468 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15469 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15470 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15472 2015-06-30 Tom de Vries <tom@codesourcery.com>
15474 PR tree-optimization/66652
15475 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15476 using restrict pointers.
15477 (main): Add arguments to calls to f.
15478 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15480 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15482 * configure.ac: Fix check for header <sys/sysctl.h>.
15483 * configure: Regenerate.
15484 * config.h.in: Likewise.
15486 2015-06-23 Tom de Vries <tom@codesourcery.com>
15488 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15490 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15492 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15494 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15498 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15499 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15501 2015-06-15 Tom de Vries <tom@codesourcery.com>
15503 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15504 dg-additional-options for any remaining options.
15505 * testsuite/libgomp.c/atomic-2.c: Same.
15506 * testsuite/libgomp.c/atomic-4.c: Same.
15507 * testsuite/libgomp.c/atomic-5.c: Same.
15508 * testsuite/libgomp.c/atomic-6.c: Same.
15509 * testsuite/libgomp.c/autopar-1.c: Same.
15510 * testsuite/libgomp.c/copyin-1.c: Same.
15511 * testsuite/libgomp.c/copyin-2.c: Same.
15512 * testsuite/libgomp.c/copyin-3.c: Same.
15513 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15514 * testsuite/libgomp.c/nestedfn-5.c: Same.
15515 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15516 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15517 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15518 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15519 * testsuite/libgomp.c/pr32362-1.c: Same.
15520 * testsuite/libgomp.c/pr32362-2.c: Same.
15521 * testsuite/libgomp.c/pr32362-3.c: Same.
15522 * testsuite/libgomp.c/pr39591-1.c: Same.
15523 * testsuite/libgomp.c/pr39591-2.c: Same.
15524 * testsuite/libgomp.c/pr39591-3.c: Same.
15525 * testsuite/libgomp.c/pr58392.c: Same.
15526 * testsuite/libgomp.c/pr58756.c: Same.
15527 * testsuite/libgomp.c/simd-1.c: Same.
15528 * testsuite/libgomp.c/simd-10.c: Same.
15529 * testsuite/libgomp.c/simd-11.c: Same.
15530 * testsuite/libgomp.c/simd-12.c: Same.
15531 * testsuite/libgomp.c/simd-13.c: Same.
15532 * testsuite/libgomp.c/simd-14.c: Same.
15533 * testsuite/libgomp.c/simd-15.c: Same.
15534 * testsuite/libgomp.c/simd-2.c: Same.
15535 * testsuite/libgomp.c/simd-3.c: Same.
15536 * testsuite/libgomp.c/simd-4.c: Same.
15537 * testsuite/libgomp.c/simd-5.c: Same.
15538 * testsuite/libgomp.c/simd-6.c: Same.
15539 * testsuite/libgomp.c/simd-7.c: Same.
15540 * testsuite/libgomp.c/simd-8.c: Same.
15541 * testsuite/libgomp.c/simd-9.c: Same.
15543 2015-06-15 Tom de Vries <tom@codesourcery.com>
15545 * testsuite/libgomp.c/pr35625.c: Fix typo.
15547 2015-06-15 Tom de Vries <tom@codesourcery.com>
15549 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15551 * testsuite/libgomp.c/atomic-3.c: Same.
15552 * testsuite/libgomp.c/debug-1.c: Same.
15553 * testsuite/libgomp.c/nqueens-1.c: Same.
15554 * testsuite/libgomp.c/pr26171.c: Same.
15555 * testsuite/libgomp.c/pr48591.c: Same.
15556 * testsuite/libgomp.c/pr64824.c: Same.
15557 * testsuite/libgomp.c/pr64868.c: Same.
15558 * testsuite/libgomp.c/pr66133.c: Same.
15559 * testsuite/libgomp.c/pr66199-1.c: Same.
15560 * testsuite/libgomp.c/pr66199-2.c: Same.
15561 * testsuite/libgomp.c/target-8.c: Same.
15563 2015-06-15 Tom de Vries <tom@codesourcery.com>
15565 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15567 * testsuite/libgomp.c/for-1.c: Same.
15568 * testsuite/libgomp.c/for-2.c: Same.
15569 * testsuite/libgomp.c/for-3.c: Same.
15570 * testsuite/libgomp.c/pr35625.c: Same.
15571 * testsuite/libgomp.c/pr39154.c: Same.
15572 * testsuite/libgomp.c/simd-16.c: Same.
15573 * testsuite/libgomp.c/simd-17.c: Same.
15575 2015-06-13 Tom de Vries <tom@codesourcery.com>
15577 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15579 2015-06-13 Tom de Vries <tom@codesourcery.com>
15581 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15582 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15583 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15585 (main): Use N instead of hardcoded constants.
15587 2015-06-05 Tom de Vries <tom@codesourcery.com>
15589 merge from gomp4 branch:
15590 2015-05-28 Tom de Vries <tom@codesourcery.com>
15592 PR tree-optimization/65443
15593 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15594 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15595 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15597 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15599 * testsuite/libgomp.graphite/bounds.c: Adjust for
15600 cleanup-tree-dump removal.
15601 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15602 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15603 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15604 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15605 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15606 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15607 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15608 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15609 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15610 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15612 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
15614 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15615 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15616 (futex_wake) [!__x86_64__]: Ditto.
15618 2015-05-28 Julian Brown <julian@codesourcery.com>
15620 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15621 function comment. Only call gomp_fatal if new argument is true.
15622 (acc_dev_num_out_of_range): New function.
15623 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15624 acc_dev_num_out_of_range as appropriate.
15625 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15626 (acc_get_device_num, acc_set_device_num): Update calls to
15628 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15631 2015-05-28 Julian Brown <julian@codesourcery.com>
15634 * oacc-init.c (plugin/plugin-host.h): Include.
15635 (acc_on_device): Check whether we're in an offloaded region for
15637 plugin. Don't use __builtin_acc_on_device.
15638 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15639 nonshm_exec flag in thread-local data.
15640 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15641 data for host_nonshm plugin.
15642 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15643 for host_nonshm plugin.
15644 * plugin/plugin-host.h: New.
15646 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15648 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15650 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15652 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15654 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15655 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15658 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
15660 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
15662 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15664 * target.c (gomp_map_pointer): New function abstracting out
15665 GOMP_MAP_POINTER handling.
15666 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15667 gomp_map_pointer().
15669 2015-05-19 Jakub Jelinek <jakub@redhat.com>
15671 PR middle-end/66199
15672 * testsuite/libgomp.c/pr66199-1.c: New test.
15673 * testsuite/libgomp.c/pr66199-2.c: New test.
15674 * testsuite/libgomp.c++/pr66199-1.C: New test.
15675 * testsuite/libgomp.c++/pr66199-2.C: New test.
15676 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15677 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15679 2015-05-19 Julian Brown <julian@codesourcery.com>
15681 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15684 2015-05-13 Jakub Jelinek <jakub@redhat.com>
15686 PR middle-end/66133
15687 * testsuite/libgomp.c/pr66133.c: New test.
15689 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15691 * Makefile.in: Regenerated with automake-1.11.6.
15692 * aclocal.m4: Likewise.
15693 * config.h.in: Likewise.
15694 * configure: Likewise.
15695 * testsuite/Makefile.in: Likewise.
15697 2015-05-08 Jason Merrill <jason@redhat.com>
15699 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15702 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15704 2015-05-06 Julian Brown <julian@codesourcery.com>
15706 * oacc-init.c (acc_device_lock): Add explanatory comment.
15707 (resolve_device): Add comment about locking requirement.
15708 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15709 gomp_init_device and gomp_fini_device calls.
15710 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15711 (acc_get_device_num, acc_set_device_num): Add locking around
15712 resolve_device and gomp_init_device calls.
15714 2015-05-06 Julian Brown <julian@codesourcery.com>
15716 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15717 goacc_thread_lock on error paths.
15718 * oacc-mem.c (lookup_host): Remove locking from function. Note
15719 locking requirement for caller in function comment.
15720 (lookup_dev): Likewise.
15721 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15722 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15723 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15726 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15730 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15731 don't expect "0x" prefix for "%p" format specifier, don't expect
15732 "(nil)" for NULL pointer.
15733 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15734 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15735 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15736 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15737 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15738 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15739 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15740 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15741 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15742 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15743 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15744 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15745 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15746 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15747 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15748 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15749 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15750 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15751 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15752 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15753 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15754 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15755 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15756 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15757 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15758 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15759 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15760 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15761 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15762 accurately specify what we're looking for.
15763 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15764 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15765 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15766 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15767 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15769 2015-04-30 James Norris <jnorris@codesourcery.com>
15772 * testsuite/lib/libgomp.exp
15773 (check_effective_target_openacc_host_selected)
15774 (check_effective_target_openacc_host_nonshm_selected): New
15776 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15778 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15779 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15780 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15781 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15782 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15783 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15784 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15785 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15786 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15787 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15788 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15789 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15790 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15791 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15792 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15793 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15794 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15795 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15796 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15797 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15798 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15799 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15800 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15801 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15802 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15803 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15804 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15805 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15806 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15807 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15808 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15809 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15810 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15811 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15812 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15813 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15814 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15815 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15816 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15817 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15818 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15819 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15820 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15822 2015-04-08 Julian Brown <julian@codesourcery.com>
15824 * libgomp.h (target_mem_desc: Remove mem_map field.
15825 (acc_dispatch_t): Remove open_device_func, close_device_func,
15826 get_device_num_func, set_device_num_func, target_data members.
15827 Change create_thread_data_func argument to device number instead of
15829 * oacc-async.c (assert.h): Include.
15830 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15831 (acc_wait_all, acc_wait_all_async): Use current host thread's
15832 active device, not base_dev.
15833 * oacc-cuda.c (acc_get_current_cuda_device)
15834 (acc_get_current_cuda_context, acc_get_cuda_stream)
15835 (acc_set_cuda_stream): Likewise.
15836 * oacc-host.c (host_dispatch): Don't set open_device_func,
15837 close_device_func, get_device_num_func or set_device_num_func.
15838 * oacc-init.c (base_dev, init_key): Remove.
15839 (cached_base_dev): New.
15840 (name_of_acc_device_t): New.
15841 (acc_init_1): Initialise default-numbered device, not zeroth.
15842 (acc_shutdown_1): Close all devices of a given type.
15843 (goacc_destroy_thread): Don't use base_dev.
15844 (lazy_open, lazy_init, lazy_init_and_open): Remove.
15845 (goacc_attach_host_thread_to_device): New.
15846 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15847 (acc_get_num_devices): Don't use base_dev.
15848 (acc_set_device_type): Reimplement.
15849 (acc_get_device_type): Don't use base_dev.
15850 (acc_get_device_num): Tweak logic.
15851 (acc_set_device_num): Likewise.
15852 (acc_on_device): Use acc_get_device_type.
15853 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15854 (goacc_lazy_initialize): Reimplement with acc_init and
15855 goacc_attach_host_thread_to_device.
15856 * oacc-int.h (goacc_thread): Add base_dev field.
15857 (base_dev): Remove extern declaration.
15858 (goacc_attach_host_thread_to_device): Add prototype.
15859 * oacc-mem.c (acc_malloc): Use current thread's device instead of
15861 (acc_free): Likewise.
15862 (acc_memcpy_to_device): Likewise.
15863 (acc_memcpy_from_device): Likewise.
15864 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15865 goacc_lazy_initialize (throughout).
15866 (GOACC_parallel): Use tgt_offset to locate target functions.
15867 * target.c (gomp_map_vars): Don't set tgt->mem_map.
15868 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15869 (gomp_load_plugin_for_device): Remove open_device, close_device,
15870 get_device_num, set_device_num openacc hook initialisation. Don't set
15871 openacc.target_data.
15872 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15873 (GOMP_OFFLOAD_openacc_close_device)
15874 (GOMP_OFFLOAD_openacc_get_device_num)
15875 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15876 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15878 * plugin/plugin-nvptx.c (ptx_inited): Remove.
15879 (instantiated_devices, ptx_dev_lock): New.
15880 (struct ptx_image_data): New.
15881 (ptx_devices, ptx_images, ptx_image_lock): New.
15882 (fini_streams_for_device): Reorder cuStreamDestroy call.
15883 (nvptx_get_num_devices): Remove forward declaration.
15884 (nvptx_init): Change return type to bool.
15885 (nvptx_fini): Remove.
15886 (nvptx_attach_host_thread_to_device): New.
15887 (nvptx_open_device): Return struct ptx_device* instead of void*.
15888 (nvptx_close_device): Change argument type to struct ptx_device*,
15889 return type to void.
15890 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15891 (kernel_target_data, kernel_host_table): Remove static globals.
15892 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15893 (GOMP_OFFLOAD_init_device): Reimplement.
15894 (GOMP_OFFLOAD_fini_device): Likewise.
15895 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15896 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15897 (GOMP_OFFLOAD_host2dev): Use ORD argument.
15898 (GOMP_OFFLOAD_openacc_open_device)
15899 (GOMP_OFFLOAD_openacc_close_device)
15900 (GOMP_OFFLOAD_openacc_set_device_num)
15901 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15902 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15906 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
15908 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
15910 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
15911 * libgomp.h (struct gomp_memory_mapping): Remove.
15912 (struct target_mem_desc): Change type of mem_map from
15913 gomp_memory_mapping * to splay_tree_s *.
15914 (struct gomp_device_descr): Remove register_image_func, get_table_func.
15915 Add load_image_func, unload_image_func.
15916 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
15917 Remove offload_regions_registered.
15918 (gomp_init_tables): Remove.
15919 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15921 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
15922 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
15923 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
15924 offload_regions_registered.
15925 Initialize load_image_func, unload_image_func, mem_map.root.
15926 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
15927 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
15928 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
15929 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
15930 gomp_memory_mapping *. Use dev's lock and splay_tree.
15931 (lookup_dev): Use dev's lock.
15932 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
15933 (acc_is_present): Likewise.
15934 (acc_map_data): Likewise.
15935 (acc_unmap_data): Likewise. Use dev's lock.
15936 (present_create_copy): Likewise.
15937 (delete_copyout): Pass dev to lookup_host instead of mem_map.
15938 (update_dev_host): Likewise.
15939 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
15940 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
15941 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
15942 (GOMP_OFFLOAD_get_table): Remove
15943 (GOMP_OFFLOAD_load_image): New function.
15944 (GOMP_OFFLOAD_unload_image): New function.
15945 * target.c (register_lock): New mutex for offload image registration.
15946 (num_devices): Do not guard with PLUGIN_SUPPORT.
15947 (gomp_realloc_unlock): New static function.
15948 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
15950 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
15951 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
15952 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
15954 (gomp_unmap_vars): Likewise.
15955 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
15956 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
15957 (gomp_offload_image_to_device): New static function.
15958 (GOMP_offload_register): Add mutex lock.
15959 Call gomp_offload_image_to_device for all initialized devices.
15960 Replace gomp_realloc with gomp_realloc_unlock.
15961 (GOMP_offload_unregister): New function.
15962 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
15963 get_table_func from the plugin with calls to init_device_func and
15964 gomp_offload_image_to_device.
15965 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15967 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
15968 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
15969 (GOMP_target_data): Do not call gomp_init_tables.
15970 (GOMP_target_update): Likewise. Remove argument from gomp_update.
15971 (gomp_load_plugin_for_device): Replace register_image and get_table
15972 with load_image and unload_image in DLSYM ().
15973 (gomp_register_images_for_device): Remove function.
15974 (gomp_target_init): Do not initialize current_device.mem_map.*,
15975 current_device.offload_regions_registered.
15976 Remove call to gomp_register_images_for_device.
15977 Do not free offload_images and num_offload_images.
15979 2015-03-30 Jakub Jelinek <jakub@redhat.com>
15982 * testsuite/libgomp.fortran/pr65597.f90: New test.
15984 2015-03-27 Tom de Vries <tom@codesourcery.com>
15987 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
15988 (init, check): New function.
15989 (foo): Change return type to void.
15990 (main): Call init and check.
15992 2015-03-27 Tom de Vries <tom@codesourcery.com>
15995 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
15996 (foo): Use M for non-inner loops to scale down test-case.
15998 2015-03-25 Kai Tietz <ktietz@redhat.com>
16001 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
16002 (GOACC_data_start): Likewise.
16003 * target.c (gomp_map_vars): Likewise.
16005 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
16007 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16010 2015-03-19 Jakub Jelinek <jakub@redhat.com>
16012 * testsuite/libgomp.c/target-10.c: New test.
16013 * testsuite/libgomp.c++/target-4.C: New test.
16015 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
16017 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16018 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16020 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
16022 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16023 * configure.ac (*-*-rtems*): Assume Pthread is supported.
16024 (pthread.h): Check for this header file.
16025 * configure: Regenerate.
16027 2015-02-25 Tom de Vries <tom@codesourcery.com>
16029 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16030 (check_reduction_op, check_reduction_macro, max, min):
16032 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16034 (main): Use new functions.
16036 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
16038 * target.c (gomp_load_plugin_for_device): Use const char * instead of
16039 char * for variables holding dlerror return values.
16040 (DLSYM_OPT): Ditto.
16042 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16044 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16046 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16047 Cesar Philippidis <cesar@codesourcery.com>
16049 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16050 GOACC_ctaid, and GOACC_nctaid routines.
16052 2015-02-11 Jakub Jelinek <jakub@redhat.com>
16055 * testsuite/libgomp.c/atomic-18.c: New test.
16056 * testsuite/libgomp.c++/atomic-16.C: New test.
16058 2015-02-04 Jakub Jelinek <jakub@redhat.com>
16062 * testsuite/libgomp.c/pr64824.c: New test.
16063 * testsuite/libgomp.c/pr64868.c: New test.
16064 * testsuite/libgomp.c++/pr64824.C: New test.
16065 * testsuite/libgomp.c++/pr64868.C: New test.
16067 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
16070 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16071 Link with -lpthread.
16072 * config/aix/plugin-suffix.h: Delete.
16074 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
16077 * configure.tgt (*-*-aix*): Use config_path "aix posix".
16078 (*-*-darwin*): Use config_path "bsd darwin posix".
16079 (*-*-hpux*): Use config_path "hpux posix".
16080 * target.c: Add include of plugin-suffix.h and use
16081 SONAME_SUFFIX macro.
16082 * config/aix/plugin-suffix.h: New file.
16083 * config/darwin/plugin-suffix.h: New file.
16084 * config/hpux/plugin-suffix.h: New file.
16085 * config/posix/plugin-suffix.h: New file.
16087 2015-01-23 Jakub Jelinek <jakub@redhat.com>
16089 PR middle-end/64734
16090 * libgomp.c/pr64734.c: New test.
16092 2015-01-23 Tom de Vries <tom@codesourcery.com>
16095 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16097 2015-01-23 Tom de Vries <tom@codesourcery.com>
16100 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16103 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16106 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16107 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16108 formal parameter. Update all users.
16109 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16110 Document unused formal parameter.
16112 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16114 * oacc-parallel.c: Don't include <alloca.h>.
16115 (GOACC_parallel): Use gomp_alloca instead of alloca.
16117 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16119 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16121 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16122 James Norris <jnorris@codesourcery.com>
16123 Tom de Vries <tom@codesourcery.com>
16124 Julian Brown <julian@codesourcery.com>
16125 Cesar Philippidis <cesar@codesourcery.com>
16126 Nathan Sidwell <nathan@codesourcery.com>
16127 Tobias Burnus <burnus@net-b.de>
16129 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16130 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16131 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16132 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16133 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16134 Include $(top_srcdir)/plugin/Makefrag.am.
16135 (nodist_libsubinclude_HEADERS): Add openacc.h.
16136 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16137 openacc.f90, openacc.mod, openacc_kinds.mod.
16138 (omp_lib.mod): Generalize into...
16139 (%.mod): ... this new rule.
16140 (openacc_kinds.mod, openacc.mod): New rules.
16141 * plugin/configfrag.ac: New file.
16142 * configure.ac: Move plugin/offloading support into it. Include
16143 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16144 * plugin/Makefrag.am: New file.
16145 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16146 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16148 (libgomp-test-support.exp): New rule.
16149 (all-local): Depend on it.
16150 * Makefile.in: Regenerate.
16151 * testsuite/Makefile.in: Regenerate.
16152 * config.h.in: Likewise.
16153 * configure: Likewise.
16154 * configure.tgt: Harden shell syntax.
16155 * env.c: Include "oacc-int.h".
16156 (parse_acc_device_type): New function.
16157 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16159 (initialize_env): Initialize those. Call
16160 goacc_runtime_initialize.
16161 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16162 (gomp_fatal): Call gomp_vfatal.
16163 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16164 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16165 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16166 (splay_tree_node, splay_tree, splay_tree_key)
16167 (struct target_mem_desc, struct splay_tree_key_s)
16168 (struct gomp_memory_mapping, struct acc_dispatch_t)
16169 (struct gomp_device_descr, gomp_acc_insert_pointer)
16170 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16171 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16172 (gomp_free_memmap, gomp_fini_device): New declarations.
16173 (gomp_vdebug, gomp_debug): New macros.
16174 Include "splay-tree.h".
16175 * libgomp.map (OACC_2.0): New symbol version. Use for
16176 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16177 acc_set_device_type_h_, acc_get_device_type,
16178 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16179 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16180 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16181 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16182 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16183 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16184 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16185 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16186 acc_copyin_array_h_, acc_present_or_copyin,
16187 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16188 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16189 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16190 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16191 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16192 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16193 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16194 acc_update_device, acc_update_device_32_h_,
16195 acc_update_device_64_h_, acc_update_device_array_h_,
16196 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16197 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16198 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16199 acc_is_present_64_h_, acc_is_present_array_h_,
16200 acc_memcpy_to_device, acc_memcpy_from_device,
16201 acc_get_current_cuda_device, acc_get_current_cuda_context,
16202 acc_get_cuda_stream, acc_set_cuda_stream.
16203 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16204 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16205 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16206 GOACC_get_num_threads.
16207 (GOMP_PLUGIN_1.0): New symbol version. Use for
16208 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16209 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16210 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16211 GOMP_PLUGIN_acc_thread.
16212 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16213 environment variable.
16214 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16215 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16216 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16217 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16218 (splay_tree_remove): New declarations.
16219 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16220 (splay_tree_remove, splay_tree_lookup): Move into...
16221 * splay-tree.c: ... this new file.
16222 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16223 (splay_tree_node, splay_tree, splay_tree_key)
16224 (struct target_mem_desc, struct splay_tree_key_s)
16225 (struct gomp_device_descr): Don't declare.
16226 (num_devices_openmp): New variable.
16227 (gomp_get_num_devices ): Use it.
16228 (gomp_init_targets_once): New function.
16229 (gomp_get_num_devices ): Use it.
16230 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16231 (gomp_fini_device, gomp_register_image_for_device): New functions.
16232 (gomp_map_vars): Add devaddrs parameter.
16233 (gomp_update): Add mm parameter.
16234 (gomp_init_device): Move most of it into...
16235 (gomp_init_tables): ... this new function.
16236 (gomp_register_images_for_device): Remove function.
16237 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16238 Make them hidden instead of static.
16239 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16240 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16241 (GOMP_target_end_data, GOMP_target_update)
16242 (gomp_load_plugin_for_device, gomp_target_init): Update for
16244 * oacc-async.c: New file.
16245 * oacc-cuda.c: Likewise.
16246 * oacc-host.c: Likewise.
16247 * oacc-init.c: Likewise.
16248 * oacc-int.h: Likewise.
16249 * oacc-mem.c: Likewise.
16250 * oacc-parallel.c: Likewise.
16251 * oacc-plugin.c: Likewise.
16252 * oacc-plugin.h: Likewise.
16253 * oacc-ptx.h: Likewise.
16254 * openacc.f90: Likewise.
16255 * openacc.h: Likewise.
16256 * openacc_lib.h: Likewise.
16257 * plugin/plugin-host.c: Likewise.
16258 * plugin/plugin-nvptx.c: Likewise.
16259 * libgomp-plugin.c: Likewise.
16260 * libgomp-plugin.h: Likewise.
16261 * libgomp_target.h: Remove file after merging content into the
16262 former file. Update all users.
16263 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16264 (offload_targets_s, offload_targets_s_openacc): New variables.
16265 (check_effective_target_openacc_nvidia_accel_present)
16266 (check_effective_target_openacc_nvidia_accel_selected): New
16268 (libgomp_init): Update for OpenACC changes.
16269 * testsuite/libgomp-test-support.exp.in: New file.
16270 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16271 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16272 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16273 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16274 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16275 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16276 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16277 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16278 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16279 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16280 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16281 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16282 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16283 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16284 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16285 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16286 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16287 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16288 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16289 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16290 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16291 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16292 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16293 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16294 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16295 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16296 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16297 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16298 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16299 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16300 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16301 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16302 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16303 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16304 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16305 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16306 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16307 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16308 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16309 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16310 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16311 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16312 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16313 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16314 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16315 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16316 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16317 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16318 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16319 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16320 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16321 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16322 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16323 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16324 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16325 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16326 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16327 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16328 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16329 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16330 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16331 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16332 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16333 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16334 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16335 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16336 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16337 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16338 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16339 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16340 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16341 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16342 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16343 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16344 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16345 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16346 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16347 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16348 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16349 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16350 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16351 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16352 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16353 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16354 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16355 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16356 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16357 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16358 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16359 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16360 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16361 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16362 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16363 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16364 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16365 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16366 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16367 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16368 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16369 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16370 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16371 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16372 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16373 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16374 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16375 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16376 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16377 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16378 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16379 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16380 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16381 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16382 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16383 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16384 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16385 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16386 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16387 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16388 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16389 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16390 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16391 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16392 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16393 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16394 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16395 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16396 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16397 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16398 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16399 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16400 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16401 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16402 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16403 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16404 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16405 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16406 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16407 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16408 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16409 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16411 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16412 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16413 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16414 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16415 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16416 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16417 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16418 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16419 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16420 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16421 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16422 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16423 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16424 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16425 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16426 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16427 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16428 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16429 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16430 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16431 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16432 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16433 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16434 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16435 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16436 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16437 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16438 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16439 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16440 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16441 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16442 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16443 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16444 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16445 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16446 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16447 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16448 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16449 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16450 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16451 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16452 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16453 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16454 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16455 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16456 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16457 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16458 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16459 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16460 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16461 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16462 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16463 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16464 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16465 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16466 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16467 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16468 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16469 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16470 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16472 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16473 Julian Brown <julian@codesourcery.com>
16474 David Malcolm <dmalcolm@redhat.com>
16476 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16477 to "GNU Offloading and Multi Processing Runtime Library". Change
16479 * configure: Regenerate.
16480 * libgomp.texi: Update.
16482 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16484 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16486 * configure: Regenerate.
16488 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16489 "intelmic" in $offload_targets.
16491 2015-01-05 Jakub Jelinek <jakub@redhat.com>
16493 Update copyright years.
16495 * libgomp.texi: Bump @copying's copyright year.
16497 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16499 * testsuite/lib/libgomp.exp: Load target-utils.exp.
16500 Move load of target-supports.exp earlier.
16502 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16504 * testsuite/libgomp.c/target-9.c: New test.
16506 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16508 * config.h.in: Regenerate.
16509 * configure: Regenerate.
16510 * configure.ac: Add GCC_CHECK_EMUTLS.
16511 * libgomp.h: Add check for USE_EMUTLS: this case
16512 is equal to HAVE_TLS.
16513 * team.c: Likewise.
16515 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
16517 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16519 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16520 Ilya Verbin <ilya.verbin@intel.com>
16522 * testsuite/libgomp.c/target-critical-1.c: New test.
16524 2014-11-26 Jakub Jelinek <jakub@redhat.com>
16526 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
16527 to dg-options unless expensive testing is on.
16528 (TESTITERS): Define to N if not defined.
16529 (main): Use TESTITERS instead of N.
16530 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16531 dg-additional-options depending on whether expensive testing is on.
16532 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16533 Decrease N to 100000 and CHUNKSZ to 10000.
16535 2014-11-24 Jakub Jelinek <jakub@redhat.com>
16538 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16539 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
16541 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
16543 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16545 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16548 * configure: Regenerated.
16550 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
16552 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16553 vect_simd_clones effective target.
16554 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16556 2014-11-14 Jakub Jelinek <jakub@redhat.com>
16558 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16559 of 32 as block_size.
16560 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16561 instead of 32 as block_size.
16563 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16564 Ilya Verbin <ilya.verbin@intel.com>
16566 * Makefile.in: Regenerate.
16567 * configure: Regenerate.
16568 * configure.ac: Set up offload_additional_options,
16569 offload_additional_lib_paths and offload_targets.
16570 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16571 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16572 * testsuite/Makefile.in: Regenerate.
16573 * testsuite/lib/libgomp.exp (libgomp_init): Append
16574 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16575 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16576 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16578 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16579 Ilya Verbin <ilya.verbin@intel.com>
16580 Kirill Yukhin <kirill.yukhin@intel.com>
16581 Ilya Tocar <ilya.tocar@intel.com>
16583 * testsuite/lib/libgomp.exp
16584 (check_effective_target_offload_device): New.
16585 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16586 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16587 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16588 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16589 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16590 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16591 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16592 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16593 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16594 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16595 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16596 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16597 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16598 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16599 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16600 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16601 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16602 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16603 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16604 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16605 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16606 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16607 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16608 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16609 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16610 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16611 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16612 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16613 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16614 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16615 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16616 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16617 * testsuite/libgomp.c/target-7.c: Fix test.
16618 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16619 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16620 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16621 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16622 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16623 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16624 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16625 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16626 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16627 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16628 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16629 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16630 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16631 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16632 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16633 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16634 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16635 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16636 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16637 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16638 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16639 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16640 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16641 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16642 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16643 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16644 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16645 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16646 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16647 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16648 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16650 2014-11-13 Jakub Jelinek <jakub@redhat.com>
16651 Ilya Verbin <ilya.verbin@intel.com>
16652 Thomas Schwinge <thomas@codesourcery.com>
16653 Andrey Turetskiy <andrey.turetskiy@intel.com>
16655 * libgomp.map (GOMP_4.0.1): New symbol version.
16656 Add GOMP_offload_register.
16657 * libgomp_target.h: New file.
16658 * splay-tree.h: New file.
16659 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16660 (gomp_target_init): New forward declaration.
16661 (gomp_is_initialized): New static variable.
16662 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16663 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16665 (offload_images, num_offload_images, devices, num_devices): New static
16667 (splay_compare): New static function.
16668 (struct gomp_device_descr): New structure.
16669 (gomp_get_num_devices): Call gomp_target_init.
16670 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16671 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16672 (GOMP_offload_register): New function.
16673 (GOMP_target): Arrange for host callback to be performed in a separate
16674 initial thread and contention group, inheriting ICVs from
16675 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16676 Add device initialization and lookup for target function in splay tree.
16677 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16678 (GOMP_target_end_data): Call gomp_unmap_vars.
16679 (GOMP_target_update): Add device initialization and call gomp_update.
16680 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16681 (gomp_target_init): New static functions.
16683 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16684 Thomas Schwinge <thomas@codesourcery.com>
16685 Ilya Verbin <ilya.verbin@intel.com>
16686 Andrey Turetskiy <andrey.turetskiy@intel.com>
16688 * config.h.in: Regenerate.
16689 * configure: Regenerate.
16690 * configure.ac: Check for libdl, required for plugin support.
16691 (PLUGIN_SUPPORT): Define if plugins are supported.
16692 (enable_offload_targets): Support Intel MIC targets.
16693 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16695 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16698 * configure: Regenerate.
16700 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16702 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16704 2014-10-06 Marek Polacek <polacek@redhat.com>
16706 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16707 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16708 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16709 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16711 2014-10-06 Marek Polacek <polacek@redhat.com>
16713 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16714 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16715 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16716 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16717 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16718 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16719 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16720 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16721 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16722 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16723 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16724 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16725 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16726 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16727 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16728 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16729 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16730 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16733 2014-10-03 Jakub Jelinek <jakub@redhat.com>
16736 * testsuite/libgomp.c/pr61200.c: New test.
16738 2014-09-18 Jakub Jelinek <jakub@redhat.com>
16741 * testsuite/libgomp.c++/pr63248.C: New test.
16743 2014-08-04 Jakub Jelinek <jakub@redhat.com>
16745 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16746 is not zero, but taskgroup->children is NULL and there are
16747 any task->children, schedule those instead of waiting.
16748 * testsuite/libgomp.c/depend-6.c: New test.
16749 * testsuite/libgomp.c/depend-7.c: New test.
16750 * testsuite/libgomp.c/depend-8.c: New test.
16751 * testsuite/libgomp.c/depend-9.c: New test.
16752 * testsuite/libgomp.c/depend-10.c: New test.
16754 2014-08-01 Jakub Jelinek <jakub@redhat.com>
16756 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16757 (struct gomp_taskwait): New type.
16758 (struct gomp_task): Add taskwait and parent_depends_on, remove
16759 in_taskwait and taskwait_sem fields.
16760 (gomp_finish_task): Don't destroy taskwait_sem.
16761 * task.c (gomp_init_task): Don't init in_taskwait, instead init
16762 taskwait and parent_depends_on.
16763 (GOMP_task): For if (0) tasks with depend clause that depend on
16764 earlier tasks don't defer them, instead call
16765 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16766 Initialize redundant_out field, for redundant out entries just
16767 move them at the end of linked list instead of removing them
16768 completely, and set redundant_out flag instead of redundant.
16769 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16771 (gomp_task_run_post_handle_dependers): If parent is in
16772 gomp_task_maybe_wait_for_dependencies and newly runnable task
16773 is not parent_depends_on, queue it in parent->children linked
16774 list after all runnable tasks with parent_depends_on set.
16775 Adjust for addition of taskwait indirection.
16776 (gomp_task_run_post_remove_parent): If parent is in
16777 gomp_task_maybe_wait_for_dependencies and task to be removed
16778 is parent_depends_on, decrement n_depend and if needed awake
16779 parent. Adjust for addition of taskwait indirection.
16780 (GOMP_taskwait): Adjust for addition of taskwait indirection.
16781 (gomp_task_maybe_wait_for_dependencies): New function.
16782 * testsuite/libgomp.c/depend-5.c: New test.
16784 2014-07-13 Tobias Burnus <burnus@net-b.de>
16786 * testsuite/libgomp.fortran/pr34020.f90: Make compile
16787 with TS 18508/Fortran 2015.
16789 2014-07-06 Marek Polacek <polacek@redhat.com>
16792 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16794 2014-07-03 Jakub Jelinek <jakub@redhat.com>
16796 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16797 matches regex $lang_source_re, add $lang_include_flags to options.
16798 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16799 * testsuite/libgomp.c++/c++.exp: Likewise.
16800 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
16801 and lang_include_flags instead of adding -fintrinsic-modules-path= to
16803 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16805 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
16807 * testsuite/libgomp.fortran/fortran.exp: Explain
16808 gfortran-dg-runtest usage.
16810 2014-06-25 Jakub Jelinek <jakub@redhat.com>
16812 * testsuite/libgomp.fortran/simd5.f90: New test.
16813 * testsuite/libgomp.fortran/simd6.f90: New test.
16814 * testsuite/libgomp.fortran/simd7.f90: New test.
16816 2014-06-24 Jakub Jelinek <jakub@redhat.com>
16818 * testsuite/libgomp.c/for-2.c: Define SC to static for
16819 #pragma omp for simd testing.
16820 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16821 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16823 * testsuite/libgomp.c/simd-14.c: New test.
16824 * testsuite/libgomp.c/simd-15.c: New test.
16825 * testsuite/libgomp.c/simd-16.c: New test.
16826 * testsuite/libgomp.c/simd-17.c: New test.
16827 * testsuite/libgomp.c++/for-10.C: Define SC to static for
16828 #pragma omp for simd testing.
16829 * testsuite/libgomp.c++/simd10.C: New test.
16830 * testsuite/libgomp.c++/simd11.C: New test.
16831 * testsuite/libgomp.c++/simd12.C: New test.
16832 * testsuite/libgomp.c++/simd13.C: New test.
16834 * testsuite/libgomp.fortran/aligned1.f03: New test.
16835 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16836 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16837 tasks with !$omp parallel !$omp single.
16838 * testsuite/libgomp.fortran/target8.f90: New test.
16839 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16840 not to use trim in the combiner, instead call elemental function.
16841 (fn): New elemental function.
16842 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16844 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16846 * testsuite/libgomp.fortran/udr12.f90: New test.
16847 * testsuite/libgomp.fortran/udr13.f90: New test.
16848 * testsuite/libgomp.fortran/udr14.f90: New test.
16849 * testsuite/libgomp.fortran/udr15.f90: New test.
16851 2014-06-18 Jakub Jelinek <jakub@redhat.com>
16853 * omp_lib.f90.in (openmp_version): Set to 201307.
16854 * omp_lib.h.in (openmp_version): Likewise.
16855 * testsuite/libgomp.c/target-8.c: New test.
16856 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16857 and inbranch clauses.
16858 * testsuite/libgomp.fortran/depend-3.f90: New test.
16859 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16861 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16862 * testsuite/libgomp.fortran/target1.f90: New test.
16863 * testsuite/libgomp.fortran/target2.f90: New test.
16864 * testsuite/libgomp.fortran/target3.f90: New test.
16865 * testsuite/libgomp.fortran/target4.f90: New test.
16866 * testsuite/libgomp.fortran/target5.f90: New test.
16867 * testsuite/libgomp.fortran/target6.f90: New test.
16868 * testsuite/libgomp.fortran/target7.f90: New test.
16870 2014-06-10 Jakub Jelinek <jakub@redhat.com>
16873 * testsuite/libgomp.fortran/allocatable9.f90: New test.
16874 * testsuite/libgomp.fortran/allocatable10.f90: New test.
16875 * testsuite/libgomp.fortran/allocatable11.f90: New test.
16876 * testsuite/libgomp.fortran/allocatable12.f90: New test.
16877 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16878 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16879 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16880 * testsuite/libgomp.fortran/associate1.f90: New test.
16881 * testsuite/libgomp.fortran/associate2.f90: New test.
16882 * testsuite/libgomp.fortran/procptr1.f90: New test.
16884 2014-06-06 Jakub Jelinek <jakub@redhat.com>
16886 * testsuite/libgomp.fortran/simd1.f90: New test.
16887 * testsuite/libgomp.fortran/udr1.f90: New test.
16888 * testsuite/libgomp.fortran/udr2.f90: New test.
16889 * testsuite/libgomp.fortran/udr3.f90: New test.
16890 * testsuite/libgomp.fortran/udr4.f90: New test.
16891 * testsuite/libgomp.fortran/udr5.f90: New test.
16892 * testsuite/libgomp.fortran/udr6.f90: New test.
16893 * testsuite/libgomp.fortran/udr7.f90: New test.
16894 * testsuite/libgomp.fortran/udr8.f90: New test.
16895 * testsuite/libgomp.fortran/udr9.f90: New test.
16896 * testsuite/libgomp.fortran/udr10.f90: New test.
16897 * testsuite/libgomp.fortran/udr11.f90: New test.
16899 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
16901 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16902 vect_simd_clones effective target.
16903 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16905 2014-05-21 Jakub Jelinek <jakub@redhat.com>
16907 PR middle-end/61252
16908 * testsuite/libgomp.c++/simd-9.C: New test.
16910 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
16912 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
16913 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
16914 texts according to their @menu entry positions.
16916 2014-05-11 Jakub Jelinek <jakub@redhat.com>
16918 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
16919 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16920 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
16921 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
16922 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
16923 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
16924 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
16925 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
16926 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
16927 * testsuite/libgomp.fortran/depend-1.f90: New test.
16928 * testsuite/libgomp.fortran/depend-2.f90: New test.
16929 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
16930 * testsuite/libgomp.fortran/simd1.f90: New test.
16931 * testsuite/libgomp.fortran/simd2.f90: New test.
16932 * testsuite/libgomp.fortran/simd3.f90: New test.
16933 * testsuite/libgomp.fortran/simd4.f90: New test.
16934 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
16936 2014-05-02 Jakub Jelinek <jakub@redhat.com>
16938 * testsuite/libgomp.c/simd-10.c: New test.
16939 * testsuite/libgomp.c/simd-11.c: New test.
16940 * testsuite/libgomp.c/simd-12.c: New test.
16941 * testsuite/libgomp.c/simd-13.c: New test.
16943 2014-04-24 Jakub Jelinek <jakub@redhat.com>
16945 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
16946 atomic type clauses in any order and optional comma in between.
16947 * testsuite/libgomp.c++/atomic-15.C: Likewise.
16948 * testsuite/libgomp.c/atomic-17.c: Likewise.
16950 * testsuite/libgomp.c/simd-7.c: New test.
16951 * testsuite/libgomp.c/simd-8.c: New test.
16952 * testsuite/libgomp.c/simd-9.c: New test.
16953 * testsuite/libgomp.c/loop-16.c: New test.
16955 2014-04-02 Richard Henderson <rth@redhat.com>
16957 * config/linux/futex.h (futex_wait): Get error value from errno.
16958 (futex_wake): Likewise.
16960 2014-03-25 Jakub Jelinek <jakub@redhat.com>
16963 * testsuite/libgomp.c++/udr-11.C: New test.
16964 * testsuite/libgomp.c++/udr-12.C: New test.
16965 * testsuite/libgomp.c++/udr-13.C: New test.
16966 * testsuite/libgomp.c++/udr-14.C: New test.
16967 * testsuite/libgomp.c++/udr-15.C: New test.
16968 * testsuite/libgomp.c++/udr-16.C: New test.
16969 * testsuite/libgomp.c++/udr-17.C: New test.
16970 * testsuite/libgomp.c++/udr-18.C: New test.
16971 * testsuite/libgomp.c++/udr-19.C: New test.
16973 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16975 Update copyright years
16977 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16979 * hashtab.h: Use the standard form for the copyright notice.
16981 2014-01-02 Tobias Burnus <burnus@net-b.de>
16983 * libgomp.texi: Bump @copying's copyright year.
16985 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
16987 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
16988 alloca () with __builtin_alloca ().
16989 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
16990 * testsuite/libgomp.c/lock-3.c: Likewise.
16991 * testsuite/libgomp.c/pr48591.c: Likewise.
16993 2013-12-17 Jakub Jelinek <jakub@redhat.com>
16996 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
16999 2013-12-16 Jakub Jelinek <jakub@redhat.com>
17002 * testsuite/libgomp.c/pr58756.c: New test.
17004 2013-12-12 Jakub Jelinek <jakub@redhat.com>
17007 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17010 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
17012 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17014 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17015 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17016 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17017 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17020 * libgomp_g.h: Include <stddef.h> for size_t.
17022 * libgomp.spec.in: Update comment about libgomp's dependencies.
17023 * configure.ac: Likewise.
17024 * configure: Regenerate.
17026 2013-10-16 Tobias Burnus <burnus@net-b.de>
17028 * libgomp.texi: (Runtime Library Routines): Update references for
17029 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17030 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17031 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17032 (Environment Variables): Update references for OpenMP 4.0. Add
17033 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17034 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17037 2013-10-14 Jakub Jelinek <jakub@redhat.com>
17039 * env.c (parse_bind_var): Initialize value to avoid
17040 (false positive) warning.
17042 2013-10-12 Jakub Jelinek <jakub@redhat.com>
17045 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17047 (gomp_init_num_threads): Move i variable declaration into
17048 #ifdef CPU_ALLOC_SIZE block.
17049 * config/linux/affinity.c (gomp_affinity_init_level): Test
17050 gomp_places_list_len == 0 rather than gomp_places_list == 0
17051 when checking for topology reading error.
17052 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17053 * env.c (parse_affinity): Add ignore argument, if true, don't populate
17054 gomp_places_list, only parse env var and always return false.
17055 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
17056 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17057 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17058 and either of these variables were parsed correctly into a places
17061 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17062 Jakub Jelinek <jakub@redhat.com>
17064 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17065 of 5 loopfn matches.
17066 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17067 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17068 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17069 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17070 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17071 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17072 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17073 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17075 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17077 * Makefile.am (omp_lib.mod): Streamline rule.
17078 * Makefile.in: Regenerate.
17080 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17083 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17084 * testsuite/libgomp.fortran/lib1.f90: Likewise.
17085 * testsuite/libgomp.fortran/lib2.f: Likewise.
17086 * testsuite/libgomp.fortran/lib3.f: Likewise.
17088 * configure.ac: Typo fix.
17089 * configure: Regenerate.
17091 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17092 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17094 * omp.h.in: Don't touch the user's namespace.
17096 2013-10-11 Jakub Jelinek <jakub@redhat.com>
17097 Tobias Burnus <burnus@net-b.de>
17098 Richard Henderson <rth@redhat.com>
17100 * target.c: New file.
17101 * Makefile.am (libgomp_la_SOURCES): Add target.c.
17102 * Makefile.in: Regenerated.
17103 * libgomp_g.h (GOMP_task): Add depend argument.
17104 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17105 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17106 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17107 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17108 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17109 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17110 GOMP_taskgroup_start, GOMP_taskgroup_end,
17111 GOMP_parallel_sections): New prototypes.
17112 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17113 (omp_is_initial_device_): New function.
17114 (ULP, STR1, STR2, ialias_redirect): Removed.
17115 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17116 omp_set_default_device_8_, omp_get_default_device_,
17117 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17119 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17120 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17121 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17123 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17124 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17125 omp_set_default_device, omp_set_default_device_,
17126 omp_set_default_device_8_, omp_get_default_device,
17127 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17128 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17129 omp_get_team_num_): Export @@OMP_4.0.
17130 * team.c (struct gomp_thread_start_data): Add place field.
17131 (gomp_thread_start): Clear thr->thread_pool and
17132 thr->task before returning. Use gomp_team_barrier_wait_final
17133 instead of gomp_team_barrier_wait. Initialize thr->place.
17134 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17135 team_cancelled and task_queued_count fields.
17136 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17137 before calling pthread_exit.
17138 (gomp_free_thread): No longer static. Use
17139 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17140 (gomp_team_start): Add flags argument. Set
17141 thr->thread_pool->threads_busy to nthreads immediately after creating
17142 new pool. Use gomp_managed_threads_lock instead of
17143 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17144 (gomp_team_end): Use gomp_managed_threads_lock instead of
17145 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17146 of gomp_team_barrier_wait. If team->team_cancelled, call
17147 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
17148 rather than thr->ts.work_share.
17149 (initialize_team): Don't call gomp_sem_init here.
17150 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17152 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17153 * env.c (gomp_global_icv): Add default_device_var, target_data and
17154 bind_var initializers.
17155 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17156 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17157 gomp_places_list_len): New variables.
17158 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17159 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17161 (gomp_cancel_var): New global variable.
17162 (parse_int): New function.
17163 (handle_omp_display_env): New function.
17164 (initialize_env): Use it. Initialize default_device_var.
17165 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17166 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17167 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17168 been successfully parsed (and call gomp_init_affinity in that case).
17169 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17170 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17171 omp_get_team_num, omp_is_initial_device): New functions.
17172 * libgomp.h: Include stdlib.h.
17173 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17175 (struct target_mem_desc): Forward declare.
17176 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17177 and thread_limit_var fields.
17178 (gomp_get_num_devices): New prototype.
17179 (gomp_cancel_var): New extern decl.
17180 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17181 team_cancelled and task_queued_count fields. Add comments about
17182 task_{,queued_,running_}count.
17183 (gomp_cancel_kind): New enum.
17184 (gomp_work_share_end_cancel): New prototype.
17185 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17186 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17188 (struct gomp_taskgroup): New type.
17189 (struct gomp_task_depend_entry,
17190 struct gomp_dependers_vec): New types.
17191 (gomp_finish_task): Free depend_hash if non-NULL.
17192 (struct gomp_team_state): Add place_partition_off
17193 and place_partition_len fields.
17194 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17195 gomp_places_list_len): New extern decls.
17196 (struct gomp_thread): Add place field.
17197 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17198 (gomp_init_thread_affinity): Add place argument.
17199 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17200 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17201 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17202 gomp_affinity_init_level, gomp_affinity_print_place): New
17204 (gomp_team_start): Add flags argument.
17205 (gomp_thread_limit_var, gomp_remaining_threads_count,
17206 gomp_remaining_threads_lock): Remove.
17207 (gomp_managed_threads_lock): New variable.
17208 (struct gomp_thread_pool): Add threads_busy field.
17209 (gomp_free_thread): New prototype.
17210 * task.c: Include hashtab.h.
17211 (hash_entry_type): New typedef.
17212 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17213 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17214 copy_ctors_done and taskgroup fields.
17215 (GOMP_task): Add depend argument, handle depend clauses. If
17216 gomp_team_barrier_cancelled or if it's taskgroup has been
17217 cancelled, don't queue or start new tasks. Set copy_ctors_done
17218 field if needed. Initialize taskgroup field. If copy_ctors_done
17219 and already cancelled, don't discard the task. If taskgroup is
17220 non-NULL, enqueue the task into taskgroup queue. Increment
17221 num_children field in taskgroup. Increment task_queued_count.
17222 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17223 gomp_task_run_post_remove_taskgroup): New inline functions.
17224 (gomp_task_run_post_handle_depend_hash,
17225 gomp_task_run_post_handle_dependers,
17226 gomp_task_run_post_handle_depend): New functions.
17227 (GOMP_taskwait): Use them. If more than one new tasks
17228 have been queued, wake other threads if needed.
17229 (gomp_barrier_handle_tasks): Likewise. If
17230 gomp_team_barrier_cancelled, don't start any new tasks, just free
17232 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17234 (omp_proc_bind_kind, omp_proc_bind_false,
17235 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17236 omp_proc_bind_spread): New params.
17237 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17238 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17239 omp_get_team_num, omp_is_initial_device): New interfaces.
17240 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17241 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17242 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17243 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17244 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17245 useless use omp_lib_kinds.
17246 * omp.h.in (omp_proc_bind_t): New typedef.
17247 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17248 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17249 omp_get_team_num, omp_is_initial_device): New prototypes.
17250 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17251 through to gomp_team_start.
17252 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17253 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17254 Adjust gomp_parallel_loop_start callers.
17255 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17256 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17257 GOMP_loop_end_cancel): New functions.
17258 (GOMP_parallel_end): Add ialias_redirect.
17259 * hashtab.h: New file.
17260 * libgomp.texi (Environment Variables): Minor cleanup,
17261 update section refs to OpenMP 4.0rc2.
17262 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17263 environment variables.
17264 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17265 team->work_shares_to_free to thr->ts.work_share before calling
17267 (gomp_work_share_end_cancel): New function.
17268 * config/linux/proc.c: Include errno.h.
17269 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17270 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17271 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17272 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17273 gomp_cpuset_size is sizeof (cpu_set_t).
17274 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17275 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17276 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17277 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17278 contain any logical CPUs.
17279 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17280 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17281 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17282 pthread_getaffinity_np. Check gomp_places_list instead of
17283 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17284 * config/linux/bar.c (gomp_barrier_wait_end,
17285 gomp_barrier_wait_last): Use BAR_* defines.
17286 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17287 from state where needed. Set work_share_cancelled to 0 on last
17289 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17290 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17292 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17293 Add cpusetsize argument.
17294 (gomp_cpuset_size, gomp_cpusetp): Declare.
17295 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17296 (affinity_counter): Remove.
17297 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17298 if CPU_ALLOC_SIZE isn't defined.
17299 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17300 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17301 bind current thread to the first place.
17302 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17303 pthread_setaffinity_np to gomp_places_list[place].
17304 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17305 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17306 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17307 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17308 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17309 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17310 (gomp_barrier_t): Add awaited_final field.
17311 (gomp_barrier_init): Initialize awaited_final field.
17312 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17313 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17315 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17317 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17318 gomp_team_barrier_cancelled): New inline functions.
17319 (gomp_barrier_last_thread,
17320 gomp_team_barrier_set_task_pending,
17321 gomp_team_barrier_clear_task_pending,
17322 gomp_team_barrier_set_waiting_for_tasks,
17323 gomp_team_barrier_waiting_for_tasks,
17324 gomp_team_barrier_done): Use BAR_* defines.
17325 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17326 (gomp_barrier_wait_end): Use BAR_* defines.
17327 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17328 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17330 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17331 gomp_team_barrier_cancel): New functions.
17332 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17334 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17335 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17336 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17337 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17338 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17339 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17340 (gomp_barrier_t): Add cancellable field.
17341 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17342 gomp_team_barrier_cancel): New prototypes.
17343 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17344 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17345 gomp_team_barrier_cancelled): New inline functions.
17346 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17347 gomp_team_barrier_set_task_pending,
17348 gomp_team_barrier_clear_task_pending,
17349 gomp_team_barrier_set_waiting_for_tasks,
17350 gomp_team_barrier_waiting_for_tasks,
17351 gomp_team_barrier_done): Use BAR_* defines.
17352 * barrier.c (GOMP_barrier_cancel): New function.
17353 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17354 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17355 omp_proc_bind_spread): New params.
17356 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17357 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17358 omp_get_team_num, omp_is_initial_device): New externals.
17359 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17361 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17362 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17363 infinity. If not nested, just return minimum of max_num_threads
17364 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17365 to the returned value. Otherwise, don't update atomically
17366 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17367 (GOMP_parallel_end): Adjust for thread_limit now being in
17368 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17369 infinity. Adjust threads_busy in the pool rather than
17370 gomp_remaining_threads_count. Remember team->nthreads and call
17371 gomp_team_end before adjusting threads_busy, if not nested
17372 afterwards, just set it to 1 non-atomically. Add ialias.
17373 (GOMP_parallel_start): Adjust gomp_team_start caller.
17374 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17375 * testsuite/libgomp.c/affinity-1.c: New test.
17376 * testsuite/libgomp.c/atomic-15.c: New test.
17377 * testsuite/libgomp.c/atomic-16.c: New test.
17378 * testsuite/libgomp.c/atomic-17.c: New test.
17379 * testsuite/libgomp.c/cancel-for-1.c: New test.
17380 * testsuite/libgomp.c/cancel-for-2.c: New test.
17381 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17382 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17383 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17384 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17385 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17386 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17387 * testsuite/libgomp.c/depend-1.c: New test.
17388 * testsuite/libgomp.c/depend-2.c: New test.
17389 * testsuite/libgomp.c/depend-3.c: New test.
17390 * testsuite/libgomp.c/depend-4.c: New test.
17391 * testsuite/libgomp.c/for-1.c: New test.
17392 * testsuite/libgomp.c/for-1.h: New file.
17393 * testsuite/libgomp.c/for-2.c: New test.
17394 * testsuite/libgomp.c/for-2.h: New file.
17395 * testsuite/libgomp.c/for-3.c: New test.
17396 * testsuite/libgomp.c/pr58392.c: New test.
17397 * testsuite/libgomp.c/simd-1.c: New test.
17398 * testsuite/libgomp.c/simd-2.c: New test.
17399 * testsuite/libgomp.c/simd-3.c: New test.
17400 * testsuite/libgomp.c/simd-4.c: New test.
17401 * testsuite/libgomp.c/simd-5.c: New test.
17402 * testsuite/libgomp.c/simd-6.c: New test.
17403 * testsuite/libgomp.c/target-1.c: New test.
17404 * testsuite/libgomp.c/target-2.c: New test.
17405 * testsuite/libgomp.c/target-3.c: New test.
17406 * testsuite/libgomp.c/target-4.c: New test.
17407 * testsuite/libgomp.c/target-5.c: New test.
17408 * testsuite/libgomp.c/target-6.c: New test.
17409 * testsuite/libgomp.c/target-7.c: New test.
17410 * testsuite/libgomp.c/taskgroup-1.c: New test.
17411 * testsuite/libgomp.c/thread-limit-1.c: New test.
17412 * testsuite/libgomp.c/thread-limit-2.c: New test.
17413 * testsuite/libgomp.c/thread-limit-3.c: New test.
17414 * testsuite/libgomp.c/udr-1.c: New test.
17415 * testsuite/libgomp.c/udr-2.c: New test.
17416 * testsuite/libgomp.c/udr-3.c: New test.
17417 * testsuite/libgomp.c++/affinity-1.C: New test.
17418 * testsuite/libgomp.c++/atomic-10.C: New test.
17419 * testsuite/libgomp.c++/atomic-11.C: New test.
17420 * testsuite/libgomp.c++/atomic-12.C: New test.
17421 * testsuite/libgomp.c++/atomic-13.C: New test.
17422 * testsuite/libgomp.c++/atomic-14.C: New test.
17423 * testsuite/libgomp.c++/atomic-15.C: New test.
17424 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17425 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17426 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17427 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17428 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17429 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17430 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17431 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17432 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17433 * testsuite/libgomp.c++/cancel-test.h: New file.
17434 * testsuite/libgomp.c++/for-9.C: New test.
17435 * testsuite/libgomp.c++/for-10.C: New test.
17436 * testsuite/libgomp.c++/for-11.C: New test.
17437 * testsuite/libgomp.c++/simd-1.C: New test.
17438 * testsuite/libgomp.c++/simd-2.C: New test.
17439 * testsuite/libgomp.c++/simd-3.C: New test.
17440 * testsuite/libgomp.c++/simd-4.C: New test.
17441 * testsuite/libgomp.c++/simd-5.C: New test.
17442 * testsuite/libgomp.c++/simd-6.C: New test.
17443 * testsuite/libgomp.c++/simd-7.C: New test.
17444 * testsuite/libgomp.c++/simd-8.C: New test.
17445 * testsuite/libgomp.c++/target-1.C: New test.
17446 * testsuite/libgomp.c++/target-2.C: New test.
17447 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17448 * testsuite/libgomp.c++/target-3.C: New test.
17449 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17450 * testsuite/libgomp.c++/udr-1.C: New test.
17451 * testsuite/libgomp.c++/udr-2.C: New test.
17452 * testsuite/libgomp.c++/udr-3.C: New test.
17453 * testsuite/libgomp.c++/udr-4.C: New test.
17454 * testsuite/libgomp.c++/udr-5.C: New test.
17455 * testsuite/libgomp.c++/udr-6.C: New test.
17456 * testsuite/libgomp.c++/udr-7.C: New test.
17457 * testsuite/libgomp.c++/udr-8.C: New test.
17458 * testsuite/libgomp.c++/udr-9.C: New test.
17460 2013-09-20 Jakub Jelinek <jakub@redhat.com>
17463 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17466 2013-09-20 Alan Modra <amodra@gmail.com>
17468 * configure: Regenerate.
17470 2013-09-19 Jakub Jelinek <jakub@redhat.com>
17472 * testsuite/libgomp.c/sections-2.c: New test.
17474 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17476 * testsuite/libgomp.fortran/strassen.f90:
17477 Add dg-skip-if aarch64_tiny.
17479 2013-06-20 Iain Sandoe <iain@codesourcery.com>
17480 Cesar Philippidis <cesar@codesourcery.com>
17482 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17483 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17484 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17485 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17486 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17487 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17488 Use dg-runtest rather than gfortran-dg-runtest.
17490 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17492 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17493 Linux-based x86 systems to cover all GNU systems.
17494 * testsuite/libgomp.c/lock-3.c: Likewise.
17495 * testsuite/libgomp.c/pr48591.c: Likewise.
17497 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17499 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17500 GNU/Hurd, as done for Linux-based systems.
17502 * config/posix/ptrlock.h: Fix comment.
17504 2013-05-27 Tobias Burnus <burnus@net-b.de>
17507 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17508 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17509 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17510 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17511 omp_destroy_nest_lock): Correct arguments to match the one in
17513 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17514 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17515 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17516 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17518 2013-05-16 Jakub Jelinek <jakub@redhat.com>
17520 * testsuite/libgomp.c/loop-13.c: New test.
17521 * testsuite/libgomp.c/loop-14.c: New test.
17522 * testsuite/libgomp.c/loop-15.c: New test.
17523 * testsuite/libgomp.c++/loop-13.C: New test.
17524 * testsuite/libgomp.c++/loop-14.C: New test.
17525 * testsuite/libgomp.c++/loop-15.C: New test.
17527 2013-02-06 Jakub Jelinek <jakub@redhat.com>
17529 PR middle-end/56217
17530 * testsuite/libgomp.c++/pr56217.C: New test.
17532 2013-02-01 Alan Modra <amodra@gmail.com>
17534 * task.c (GOMP_task, GOMP_taskwait): Comment.
17536 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17537 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17540 * config/linux/wait.h (do_spin): Use atomic load for addr.
17541 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17542 for intptr and ptrlock.
17543 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17546 2013-01-22 Alan Modra <amodra@gmail.com>
17550 * task.c (GOMP_task): Revert 2011-12-09 change.
17551 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17552 barrier to read task->children..
17553 (gomp_barrier_handle_tasks): ..and matching atomic store with
17554 release barrier here when setting parent->children to NULL.
17556 2013-01-16 Jakub Jelinek <jakub@redhat.com>
17557 Tobias Burnus <burnus@net-b.de>
17560 * testsuite/libgomp.fortran/fortran.exp: Use
17561 -fintrinsic-modules-path= instead of
17562 -fintrinsic-modules-path.
17564 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17566 Update copyright years.
17568 2012-12-19 Tobias Burnus <burnus@net-b.de>
17570 * testsuite/libgomp.fortran/fortran.exp: Set
17571 -fintrinsic-modules-path.
17573 2012-12-19 Tobias Burnus <burnus@net-b.de>
17575 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17576 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17578 2012-11-21 Jakub Jelinek <jakub@redhat.com>
17581 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17582 if pool had any threads_used.
17584 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17586 * testsuite/libgomp.c++/pr24455.C: Use
17587 -Wl,-undefined,dynamic_lookup on darwin.
17589 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
17591 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17593 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17595 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17597 2012-10-23 Ian Bolton <ian.bolton@arm.com>
17598 Jim MacArthur <jim.macarthur@arm.com>
17599 Marcus Shawcroft <marcus.shawcroft@arm.com>
17600 Nigel Stephens <nigel.stephens@arm.com>
17601 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17602 Richard Earnshaw <rearnsha@arm.com>
17603 Sofiane Naci <sofiane.naci@arm.com>
17604 Stephen Thomas <stephen.thomas@arm.com>
17605 Tejas Belagod <tejas.belagod@arm.com>
17606 Yufeng Zhang <yufeng.zhang@arm.com>
17608 * configure.tgt: Add AArch64.
17610 2012-10-04 Jason Merrill <jason@redhat.com>
17612 * testsuite/libgomp.c++/tls-init1.C: New.
17614 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
17616 * configure: Regenerated.
17618 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17620 * config/linux/mips/futex.h (sys_futex0): Change to static
17621 function with noinline, nomips16 attributes under MIPS16. Adjust
17622 asm statement to place 'li v0,SYS_futex' immediately before
17625 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17627 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17628 conflict with index.html on case-insensitive file systems.
17630 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
17632 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17633 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17635 2012-07-02 Richard Guenther <rguenther@suse.de>
17636 Michael Matz <matz@suse.de>
17637 Tobias Grosser <tobias@grosser.es>
17638 Sebastian Pop <sebpop@gmail.com>
17640 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17641 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17642 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17643 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17645 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17647 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17649 2012-06-22 Richard Guenther <rguenther@suse.de>
17651 Merge from graphite branch
17652 2012-01-13 Tobias Grosser <tobias@grosser.es>
17654 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17655 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17657 2012-06-07 Jakub Jelinek <jakub@redhat.com>
17659 PR middle-end/53580
17660 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17661 use GOMP_barrier () call instead.
17662 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17663 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17664 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17665 call GOMP_barrier instead.
17666 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17668 2012-06-06 Jakub Jelinek <jakub@redhat.com>
17671 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17672 argument to memset call.
17674 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17676 * configure: Regenerated.
17678 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17680 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17682 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17685 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17687 2012-03-22 Jakub Jelinek <jakub@redhat.com>
17689 PR middle-end/52547
17690 * testsuite/libgomp.c/pr52547.c: New test.
17692 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17694 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17696 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17698 * configure.tgt (mips-sgi-irix6*): Remove.
17700 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17702 * configure.tgt (alpha*-dec-osf*): Remove.
17704 * config/osf/sem.h: Remove.
17705 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17707 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17709 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17711 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17714 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17715 Remove ENABLE_SYMVERS_SOL2.
17716 * configure: Regenerate.
17717 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17718 (PREPROCESS): New variable.
17719 (libgomp.ver): New target.
17720 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17721 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17722 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17724 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17725 * Makefile.in: Regenerate.
17727 2012-02-14 Walter Lee <walt@tilera.com>
17729 * configure.tgt: Handle tilegx and tilepro.
17730 * config/linux/tile/futex.h: New file.
17732 2012-02-08 Richard Guenther <rguenther@suse.de>
17734 PR tree-optimization/46886
17735 * testsuite/libgomp.c/pr46886.c: New testcase.
17737 2012-01-25 Matthias Klose <doko@ubuntu.com>
17739 * config/linux/arm: Remove empty directory.
17740 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17742 2011-12-09 Alan Modra <amodra@gmail.com>
17745 * task.c (GOMP_taskwait): Don't access task->children outside of
17746 task_lock mutex region.
17747 (GOMP_task): Likewise.
17749 2011-12-06 Jakub Jelinek <jakub@redhat.com>
17752 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17754 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17755 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17756 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17757 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17758 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17760 2011-12-02 Alan Modra <amodra@gmail.com>
17762 * config/linux/affinity.c: Use atomic rather than sync builtin.
17763 * config/linux/lock.c: Likewise.
17764 * config/linux/ptrlock.h: Likewise.
17765 * config/linux/ptrlock.c: Likewise.
17766 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17767 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17768 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17769 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17770 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17771 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17772 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17773 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17774 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17775 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17777 2011-11-30 Alan Modra <amodra@gmail.com>
17780 * config/linux/bar.h: Use atomic rather than sync builtins.
17781 * config/linux/bar.c: Likewise. Add missing acquire
17782 synchronisation on generation field.
17783 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17786 2011-11-30 Alan Modra <amodra@gmail.com>
17788 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17789 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17790 * config/linux/mutex.h: Use atomic rather than sync builtins.
17791 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
17792 * config/linux/omp-lock.h: Comment fix.
17793 * config/linux/arm/mutex.h: Delete.
17794 * config/linux/powerpc/mutex.h: Delete.
17795 * config/linux/ia64/mutex.h: Delete.
17796 * config/linux/mips/mutex.h: Delete.
17798 2011-11-30 Alan Modra <amodra@gmail.com>
17801 * config/linux/sem.h: Rewrite.
17802 * config/linux/sem.c: Rewrite.
17804 2011-11-28 Richard Henderson <rth@redhat.com>
17806 * libgomp.h (enum memmodel): New.
17808 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
17810 * configure: Regenerate.
17812 2011-10-10 Matthias Klose <doko@ubuntu.com>
17814 * config/posix95: Remove empty directory.
17816 2011-08-26 Jakub Jelinek <jakub@redhat.com>
17818 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17820 2011-08-19 Jakub Jelinek <jakub@redhat.com>
17823 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17824 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17826 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17828 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17830 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17833 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17835 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
17837 * config/linux/proc.h: New.
17838 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
17839 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
17840 (gomp_init_num_threads): Update call to cpuset_popcount.
17841 (get_num_procs): Ditto.
17842 * config/linux/affinity.c (gomp_init_affinity): Call
17843 gomp_cpuset_popcount.
17845 2011-08-02 Jakub Jelinek <jakub@redhat.com>
17849 * omp.h.in (omp_in_final): New prototype.
17850 * omp_lib.f90.in (omp_in_final): New interface.
17851 (omp_integer_kind, omp_logical_kind): Remove
17852 and replace all its uses in the module with 4.
17853 (openmp_version): Change to 201107.
17854 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17855 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17856 kind for the parameters.
17857 (omp_in_final): New external.
17858 (openmp_version): Change to 201107.
17859 * task.c (omp_in_final): New function.
17860 (gomp_init_task): Initialize final_task.
17861 (GOMP_task): Remove unused attribute from flags. Handle final
17863 (GOMP_taskyield): New function.
17864 (omp_in_final): Return true if if (false) or final (true) task
17865 or descendant of final (true).
17866 * fortran.c (omp_in_final_): New function.
17867 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17868 (GOMP_3.0): Export GOMP_taskyield.
17869 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17871 (parse_unsigned_long_list): New function.
17872 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
17873 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
17874 even if parse_affinity returned false.
17875 * config/linux/affinity.c (gomp_init_affinity): Handle
17876 gomp_cpu_affinity_len == 0.
17877 * libgomp_g.h (GOMP_taskyield): New prototype.
17878 * libgomp.h (struct gomp_task): Add final_task field.
17879 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17880 * team.c (gomp_team_start): Override new task's nthreads_var icv
17881 if list form OMP_NUM_THREADS has been used and it has value for
17882 the new nesting level.
17884 * testsuite/libgomp.c/atomic-11.c: New test.
17885 * testsuite/libgomp.c/atomic-12.c: New test.
17886 * testsuite/libgomp.c/atomic-13.c: New test.
17887 * testsuite/libgomp.c/atomic-14.c: New test.
17888 * testsuite/libgomp.c/reduction-6.c: New test.
17889 * testsuite/libgomp.c/task-5.c: New test.
17890 * testsuite/libgomp.c++/atomic-2.C: New test.
17891 * testsuite/libgomp.c++/atomic-3.C: New test.
17892 * testsuite/libgomp.c++/atomic-4.C: New test.
17893 * testsuite/libgomp.c++/atomic-5.C: New test.
17894 * testsuite/libgomp.c++/atomic-6.C: New test.
17895 * testsuite/libgomp.c++/atomic-7.C: New test.
17896 * testsuite/libgomp.c++/atomic-8.C: New test.
17897 * testsuite/libgomp.c++/atomic-9.C: New test.
17898 * testsuite/libgomp.c++/task-8.C: New test.
17899 * testsuite/libgomp.c++/reduction-4.C: New test.
17900 * testsuite/libgomp.fortran/allocatable7.f90: New test.
17901 * testsuite/libgomp.fortran/allocatable8.f90: New test.
17902 * testsuite/libgomp.fortran/crayptr3.f90: New test.
17903 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17904 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17905 * testsuite/libgomp.fortran/pointer1.f90: New test.
17906 * testsuite/libgomp.fortran/pointer2.f90: New test.
17907 * testsuite/libgomp.fortran/task4.f90: New test.
17909 2011-08-02 Tobias Burnus <burnus@net-b.de>
17911 * libgomp.texi: Update OpenMP spec references to 3.1.
17912 (omp_in_final,OMP_PROC_BIND): New sections.
17913 (OMP_NUM_THREADS): Document that the value can be now a list.
17914 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
17916 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
17918 * config/linux/x86/futex.h: Check __x86_64__ instead of
17921 2011-07-29 Jakub Jelinek <jakub@redhat.com>
17923 PR middle-end/49897
17924 PR middle-end/49898
17925 * testsuite/libgomp.c/pr49897-1.c: New test.
17926 * testsuite/libgomp.c/pr49897-2.c: New test.
17927 * testsuite/libgomp.c/pr49898-1.c: New test.
17928 * testsuite/libgomp.c/pr49898-2.c: New test.
17930 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
17932 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
17933 for ia32 instead of ilp32.
17935 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
17936 * testsuite/libgomp.c/atomic-6.c: Likewise.
17938 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
17940 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
17941 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
17943 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17946 * config/osf/sem.h: New file.
17947 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
17949 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17952 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
17955 2011-07-15 Jakub Jelinek <jakub@redhat.com>
17957 * config/linux/wait.h (do_spin): New inline, largely copied
17958 from do_wait, just don't do futex_wait here, instead return true if
17960 (do_wait): Implement using do_spin.
17961 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
17963 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17964 __sync_bool_compare_and_swap, pass the oldval to
17965 gomp_mutex_lock_slow.
17966 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
17967 If all mutex contenders are just spinning and not sleeping, don't
17968 change state to 2 unnecessarily. Optimize the loop when state has
17969 already become 2 to use just one atomic operation per loop instead
17971 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
17973 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17974 __sync_bool_compare_and_swap, pass the oldval to
17975 gomp_mutex_lock_slow.
17977 2011-06-22 Jakub Jelinek <jakub@redhat.com>
17980 * iter.c (gomp_iter_static_next): For chunk size 0
17981 only use n ceil/ nthreads size for the first
17982 n % nthreads threads in the team instead of
17983 all threads except for the last few ones which
17984 get less work or none at all.
17985 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
17986 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
17987 chunk argument, set run_sched_modifier to 0 for static
17988 resp. 1 for other kinds. If chunk argument is 0
17989 and not static, set value to 1.
17991 2011-05-19 Jakub Jelinek <jakub@redhat.com>
17994 * testsuite/libgomp.c++/pr49043.C: New test.
17997 * testsuite/libgomp.c++/pr48869.C: New test.
17999 2011-05-06 Jakub Jelinek <jakub@redhat.com>
18002 * fortran.c: Include limits.h.
18004 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
18006 (omp_set_num_threads_8_, omp_set_schedule_8_,
18007 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18008 omp_get_team_size_8_): Use TO_INT macro.
18009 * testsuite/libgomp.fortran/pr48894.f90: New test.
18011 2011-04-13 Jakub Jelinek <jakub@redhat.com>
18013 PR middle-end/48591
18014 * testsuite/libgomp.c/pr48591.c: New test.
18016 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18019 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18020 * configure: Regenerate.
18022 2011-02-27 Jakub Jelinek <jakub@redhat.com>
18025 * testsuite/libgomp.fortran/task3.f90: New test.
18027 2011-02-24 Tobias Burnus <burnus@net-b.de>
18029 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18031 2011-02-23 Jakub Jelinek <jakub@redhat.com>
18034 * libgomp.texi (omp_get_wtime): Don't say time in the past
18035 must be Unix Epoch.
18037 2011-02-18 Jakub Jelinek <jakub@redhat.com>
18040 * testsuite/libgomp.fortran/fortran.exp: Check for both
18041 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
18042 but $blddir != "", still append ${blddir}/${lang_library_path}
18043 to ld_library_path.
18045 2011-02-16 Tobias Burnus <burnus@net-b.de>
18048 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18049 of libquadmath.a before adding its libpath to ldflags.
18051 2011-02-14 Jakub Jelinek <jakub@redhat.com>
18054 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18055 to FUTEX_WAIT futex syscall.
18056 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18058 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18060 * configure: Regenerate.
18062 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
18065 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18067 2011-01-16 Gerald Pfeifer
18069 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18071 2010-12-14 Jakub Jelinek <jakub@redhat.com>
18074 * libgomp.fortran/allocatable6.f90: New test.
18076 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18078 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18079 * configure: Regenerate.
18081 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
18085 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18086 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18087 * aclocal.m4: Regenerate.
18088 * configure: Regenerate.
18089 * Makefile.in: Regenerate.
18090 * testsuite/Makefile.in: Regenerate.
18092 2010-12-02 Jakub Jelinek <jakub@redhat.com>
18095 * libgomp.fortran/pr46753.f90: New test.
18098 * env.c (initialize_env): Default to spin count 300000
18099 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18103 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18104 at the end if sync builtins aren't supported.
18106 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18108 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18110 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18112 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18114 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18116 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18118 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18119 Tobias Burnus <burnus@net-b.de>
18123 * configure: Regenerate.
18125 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18127 * config/linux/futex.h: New.
18128 * config/linux/arm/mutex.h: New.
18129 * configure.tgt (arm*-*-linux*): Add config path.
18131 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18133 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18135 2010-09-23 Tobias Burnus <burnus@net-b.de>
18137 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18138 Change Fortran datatype to LOGICAL.
18139 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18140 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18142 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18144 * configure: Regenerate.
18146 2010-07-26 Jakub Jelinek <jakub@redhat.com>
18148 * libgomp.texi: Add function keyword to a couple of Fortran
18149 interfaces, use integer instead of int for Fortran.
18151 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
18153 * libgomp.texi: Fix spelling and pasto problems throughout.
18154 Adjust prototypes to match code.
18156 2010-07-24 Tobias Burnus <burnus@net-b.de>
18158 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18159 silence -fwhole-file warning.
18161 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18163 * configure.tgt (*-*-solaris2.[56]*): Removed.
18165 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18167 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18168 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18169 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18170 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18171 targetting solaris2*.
18172 * configure: Regenerate.
18173 * config.h.in: Regenerate.
18175 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18176 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18177 Add libgomp_version_dep.
18178 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18180 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18181 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18182 * Makefile.in: Regenerate.
18184 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18185 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18186 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18187 to common block, protected by
18188 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18190 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18192 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18194 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18197 * configure: Regenerate.
18199 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18202 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18203 * configure: Regenerate.
18204 * Makefile.in: Regenerate.
18205 * testsuite/Makefile.in: Regenerate.
18207 2010-04-26 Jakub Jelinek <jakub@redhat.com>
18210 * testsuite/libgomp.c/pr43893.c: New test.
18211 * testsuite/libgomp.c++/pr43893.C: New test.
18213 2010-04-21 Jakub Jelinek <jakub@redhat.com>
18215 PR middle-end/43570
18216 * testsuite/libgomp.fortran/vla8.f90: New test.
18218 2010-04-20 Jakub Jelinek <jakub@redhat.com>
18221 * config/linux/affinity.c (gomp_init_affinity): Decrease
18222 gomp_available_cpus if affinity mask confines the process to fewer
18224 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18225 non-NULL, just return gomp_available_cpus.
18228 * sections.c (gomp_sections_init): Initialize ws->mode.
18230 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
18232 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18233 not unused bar variable.
18234 * configure: Regenerate.
18236 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18238 * Makefile.in: Regenerate.
18239 * aclocal.m4: Regenerate.
18240 * testsuite/Makefile.in: Regenerate.
18242 2010-03-22 Jakub Jelinek <jakub@redhat.com>
18245 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18246 (initialize_env): Adjust callers.
18247 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18248 when the argument is 0.
18250 * testsuite/libgomp.c/pr42942.c: New test.
18252 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18254 PR middle-end/42644
18255 PR middle-end/42130
18256 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18257 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18259 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18261 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18262 * testsuite/libgomp.c++/task-6.C: Likewise.
18264 2010-01-28 Steve Ellcey <sje@cup.hp.com>
18266 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18268 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
18270 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18271 * configure: Regenerate.
18273 2010-01-26 Jakub Jelinek <jakub@redhat.com>
18276 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18278 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
18280 * configure.ac: Test for executability of GFORTRAN.
18281 * configure: Regenerate.
18283 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18285 * configure: Regenerate.
18287 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18290 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18292 2010-01-03 Richard Guenther <rguenther@suse.de>
18294 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18296 2009-12-23 Sebastian Pop <sebpop@gmail.com>
18298 * testsuite/libgomp.graphite/pr4118.c: New.
18300 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18302 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18303 for darwin, protect the test with require-effective-target tls_runtime.
18304 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18306 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18309 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18310 link spec %s substitutions for static libraries.
18312 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18315 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18317 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18319 * Makefile.in: Regenerate.
18320 * configure: Regenerate.
18321 * testsuite/Makefile.in: Regenerate.
18323 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18325 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18326 settings for LC_ALL and LANG.
18328 2009-11-25 Jakub Jelinek <jakub@redhat.com>
18331 * testsuite/libgomp.fortran/pr42162.f90: New test.
18333 2009-11-13 Jakub Jelinek <jakub@redhat.com>
18335 PR middle-end/42029
18336 * testsuite/libgomp.c/pr42029.c: New test.
18338 2009-10-26 Jakub Jelinek <jakub@redhat.com>
18340 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18341 *s. Accept ld version without text in ()s.
18342 * configure: Regenerated.
18344 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
18346 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18348 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18351 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18352 or a hyphen (happens with fortran language disabled).
18353 * configure: Regenerate.
18355 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18357 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18358 use sed script portable to Solaris /bin/sed for extracting ld
18360 * configure: Regenerate.
18362 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
18364 * testsuite/libgomp.graphite/bounds.c: New test.
18366 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18368 * Makefile.am (libgomp_la_LINK): New.
18369 * Makefile.in: Regenerate.
18371 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18373 * configure.ac (AC_PREREQ): Bump to 2.64.
18375 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18377 * Makefile.am (install-html, install-pdf): Remove.
18378 * Makefile.in: Regenerate.
18380 * Makefile.in: Regenerate.
18381 * aclocal.m4: Regenerate.
18382 * config.h.in: Regenerate.
18383 * configure: Regenerate.
18384 * testsuite/Makefile.in: Regenerate.
18386 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18388 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18389 * Makefile.in: Regenerate.
18391 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18393 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18394 * Makefile.in: Regenerate.
18396 2009-08-19 Tobias Burnus <burnus@net-b.de>
18399 omp_lib.h.in: Fix -std=f95 errors.
18401 2009-08-14 David Edelsohn <edelsohn@gnu.org>
18403 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18404 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18405 * testsuite/libgomp.graphite/graphite.exp: New.
18407 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18409 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18412 2009-08-04 David Daney <ddaney@caviumnetworks.com>
18414 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18415 needed memory barrier semantics.
18416 * config/linux/mips/mutex.h: New file.
18418 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18420 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18422 2009-07-16 Joseph Myers <joseph@codesourcery.com>
18424 * configure: Regenerate.
18426 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18431 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18432 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18433 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18435 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18437 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18438 options when choosing a multilib.
18440 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18442 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18443 ld_library_path. Use add_path. Add just find_libgcc_s to
18444 ld_library_path, not every libgcc multilib directory.
18445 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18446 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18447 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18449 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18451 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
18453 * Makefile.am (LTLDFLAGS): Define.
18455 * Makefile.in: Regenerate.
18457 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
18460 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18461 libgfortranbegin, check existence of libgfortran.a instead of
18462 libgfortranbegin.a.
18464 2009-05-20 Jakub Jelinek <jakub@redhat.com>
18467 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18468 (gomp_free_pool_helper): Likewise.
18470 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18471 Jakub Jelinek <jakub@redhat.com>
18474 * testsuite/libgomp.fortran/workshare2.f90: New test.
18476 2009-04-09 Nick Clifton <nickc@redhat.com>
18478 * iter.c: Change copyright header to refer to version 3 of the
18479 GNU General Public License with version 3.1 of the GCC Runtime
18480 Library Exception and to point readers at the COPYING3 and
18481 COPYING3.RUNTIME files and the FSF's license web page.
18482 * alloc.c: Likewise.
18483 * barrier.c: Likewise.
18484 * config/bsd/proc.c: Likewise.
18485 * config/linux/affinity.c: Likewise.
18486 * config/linux/alpha/futex.h: Likewise.
18487 * config/linux/bar.c: Likewise.
18488 * config/linux/bar.h: Likewise.
18489 * config/linux/ia64/futex.h: Likewise.
18490 * config/linux/ia64/mutex.h: Likewise.
18491 * config/linux/lock.c: Likewise.
18492 * config/linux/mips/futex.h: Likewise.
18493 * config/linux/mutex.c: Likewise.
18494 * config/linux/mutex.h: Likewise.
18495 * config/linux/powerpc/futex.h: Likewise.
18496 * config/linux/proc.c: Likewise.
18497 * config/linux/ptrlock.c: Likewise.
18498 * config/linux/ptrlock.h: Likewise.
18499 * config/linux/s390/futex.h: Likewise.
18500 * config/linux/sem.c: Likewise.
18501 * config/linux/sem.h: Likewise.
18502 * config/linux/sparc/futex.h: Likewise.
18503 * config/linux/wait.h: Likewise.
18504 * config/linux/x86/futex.h: Likewise.
18505 * config/mingw32/proc.c: Likewise.
18506 * config/mingw32/time.c: Likewise.
18507 * config/posix/affinity.c: Likewise.
18508 * config/posix/bar.c: Likewise.
18509 * config/posix/bar.h: Likewise.
18510 * config/posix/lock.c: Likewise.
18511 * config/posix/mutex.h: Likewise.
18512 * config/posix/proc.c: Likewise.
18513 * config/posix/ptrlock.h: Likewise.
18514 * config/posix/sem.c: Likewise.
18515 * config/posix/sem.h: Likewise.
18516 * config/posix/time.c: Likewise.
18517 * config/posix95/lock.c: Likewise.
18518 * critical.c: Likewise.
18520 * error.c: Likewise.
18521 * fortran.c: Likewise.
18522 * iter_ull.c: Likewise.
18523 * libgomp.h: Likewise.
18524 * libgomp_f.h.in: Likewise.
18525 * libgomp_g.h: Likewise.
18526 * loop.c: Likewise.
18527 * loop_ull.c: Likewise.
18528 * omp.h.in: Likewise.
18529 * omp_lib.f90.in: Likewise.
18530 * omp_lib.h.in: Likewise.
18531 * ordered.c: Likewise.
18532 * parallel.c: Likewise.
18533 * sections.c: Likewise.
18534 * single.c: Likewise.
18535 * task.c: Likewise.
18536 * team.c: Likewise.
18537 * work.c: Likewise.
18539 2009-04-09 Jakub Jelinek <jakub@redhat.com>
18541 * testsuite/config/default.exp: Change copyright header to refer to
18542 version 3 of the GNU General Public License and to point readers
18543 at the COPYING3 file and the FSF's license web page.
18545 2009-04-08 Jakub Jelinek <jakub@redhat.com>
18547 PR middle-end/39573
18548 * libgomp.c++/pr39573.C: New test.
18550 2009-04-01 Jakub Jelinek <jakub@redhat.com>
18553 * testsuite/libgomp.c/pr39591-1.c: New test.
18554 * testsuite/libgomp.c/pr39591-2.c: New test.
18555 * testsuite/libgomp.c/pr39591-3.c: New test.
18557 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
18559 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18560 * testsuite/libgomp.c/atomic-6.c: Ditto.
18562 2009-03-23 Jakub Jelinek <jakub@redhat.com>
18565 * testsuite/libgomp.c/loop-12.c: New test.
18566 * testsuite/libgomp.c/loop-11.c: New test.
18567 * testsuite/libgomp.c++/loop-11.C: New test.
18568 * testsuite/libgomp.c++/loop-12.C: New test.
18569 * testsuite/libgomp.c++/for-8.C: New test.
18571 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18573 * configure: Regenerate.
18575 2009-02-11 Jakub Jelinek <jakub@redhat.com>
18577 PR middle-end/39154
18578 * testsuite/libgomp.c/pr39154.c: New test.
18580 2009-01-30 Ian Lance Taylor <iant@google.com>
18582 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18583 libgomp_ld_is_gold. Get gold version number.
18584 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18585 * configure: Rebuild.
18587 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18589 * testsuite/lib/libgomp.exp: Add -B option for targets that
18590 use libgfortran.a%s in their specs.
18592 2009-01-07 Jakub Jelinek <jakub@redhat.com>
18595 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18596 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18597 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18598 * configure: Regenerated.
18599 * config.h.in: Likewise.
18601 2008-12-28 Jakub Jelinek <jakub@redhat.com>
18604 * testsuite/libgomp.c/pr38650.c: New test.
18605 * testsuite/libgomp.c++/pr38650.C: New test.
18607 2008-12-27 Jakub Jelinek <jakub@redhat.com>
18609 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18611 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
18613 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18615 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18617 * configure: Regenerate.
18619 2008-12-08 Jakub Jelinek <jakub@redhat.com>
18621 PR middle-end/36802
18622 * testsuite/libgomp.c/pr36802-1.c: New test.
18623 * testsuite/libgomp.c/pr36802-2.c: New test.
18624 * testsuite/libgomp.c/pr36802-3.c: New test.
18626 2008-12-01 Janis Johnson <janis187@us.ibm.com>
18629 * config/linux/powerpc/mutex.h: New.
18631 2008-12-01 Jakub Jelinek <jakub@redhat.com>
18634 * testsuite/libgomp.c++/for-7.C: New test.
18637 * testsuite/libgomp.c++/for-6.C: New test.
18639 2008-11-26 Janis Johnson <janis187@us.ibm.com>
18642 * testsuite/lib/libgomp.exp: Include new timeout library files.
18643 (libgomp_target_compile): Set timeout value from new proc.
18645 2008-11-13 Steve Ellcey <sje@cup.hp.com>
18648 * config/linux/ia64/mutex.h: New.
18650 2008-11-04 Tobias Burnus <burnus@net-b.de>
18653 * libgomp.texi (Runtime library routines, environment variables):
18654 Update for OpenMP version 3.0.
18656 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18657 Steve Ellcey <sje@cup.hp.com>
18659 * configure: Regenerate for new libtool.
18660 * Makefile.in: Ditto.
18661 * testsuite/Makefile.in: Ditto.
18663 2008-09-19 Jakub Jelinek <jakub@redhat.com>
18664 Andreas Tobler <a.tobler@schweiz.org>
18666 * config/bsd/proc.c: New file.
18667 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
18668 * configure.ac: Check for header <sys/sysctl.h>
18669 * configure: Regenerate.
18670 * config.h.in: Likewise.
18672 2008-09-05 Janis Johnson <janis187@us.ibm.com>
18674 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18676 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18678 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18679 * Makefile.in: Regenerated.
18680 * testsuite/Makefile.in: Regenerated.
18682 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
18684 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
18685 depend on blddir if blddir exists.
18686 (libgomp_target_compile): Likewise.
18687 * testsuite/libgomp.c++/c++.exp: Likewise.
18688 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18690 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18692 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18693 Do not list GPL as Invariant Section.
18695 2008-07-28 Ilie Garbacea <ilie@mips.com>
18696 Chao-ying Fu <fu@mips.com>
18698 * configure.tgt: Enable futex for MIPS.
18699 * config/linux/mips/futex.h: New file.
18701 2008-07-16 Jakub Jelinek <jakub@redhat.com>
18703 * team.c (gomp_team_end): Free team immediately if it has
18706 2008-07-08 David Edelsohn <edelsohn@gnu.org>
18708 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18709 * testsuite/libgomp.fortran/fortran.exp: Same.
18710 * testsuite/libgomp.c/c.exp: Same.
18711 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18712 directory to library path first.
18714 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18716 * env.c (parse_stacksize): Add cast to avoid warning.
18717 (parse_spincount): Likewise.
18719 2008-06-27 Jakub Jelinek <jakub@redhat.com>
18721 * testsuite/libgomp.c/loop-10.c: New test.
18722 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18723 * libgomp.c++/loop-6.C (main): Likewise.
18726 * testsuite/libgomp.c/debug-1.c: New test.
18728 2008-06-19 Jakub Jelinek <jakub@redhat.com>
18730 * testsuite/libgomp.c/nqueens-1.c: New test.
18733 * testsuite/libgomp.c++/task-7.C: New function.
18735 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18737 * configure: Regenerate.
18739 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18741 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18742 mutex when HAVE_SYNC_BUILTINS isn't defined.
18744 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18746 * libgomp.texi (omp_test_lock): Fix typo.
18748 2008-06-12 Tobias Burnus <burnus@net-b.de>
18750 * omp_lib.f90.in: Add "implicit none".
18752 2008-06-12 Jakub Jelinek <jakub@redhat.com>
18754 PR middle-end/36506
18755 * testsuite/libgomp.c/reduction-5.c: New test.
18757 2008-06-11 Jakub Jelinek <jakub@redhat.com>
18759 * libgomp.h (struct gomp_task): Add in_tied_task field.
18760 * task.c (gomp_init_task): Initialize it.
18761 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
18762 unconditionally. Don't call gomp_team_barrier_wake if
18763 current task is implicit or if(0) from implicit and number of
18764 running tasks is equal to nthreads - 1.
18767 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18768 omp_get_team_size_8): Fix pastos.
18771 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18772 * configure: Regenerated.
18773 * config.h.in: Regenerated.
18774 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18777 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
18780 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18781 (GOMP_loop_ull_dynamic_start): Likewise.
18782 (GOMP_loop_ull_guided_start): Likewise.
18783 (GOMP_loop_ull_ordered_static_start): Likewise.
18784 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18785 (GOMP_loop_ull_ordered_guided_start): Likewise.
18787 2008-06-06 Jakub Jelinek <jakub@redhat.com>
18788 Richard Henderson <rth@redhat.com>
18789 Ulrich Drepper <drepper@redhat.com>
18790 Jakob Blomer <jakob.blomer@ira.uka.de>
18792 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18793 Substitute also OMP_*LOCK_25*.
18794 * configure: Regenerated.
18795 * config.h.in: Regenerated.
18796 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18797 ptrlock.c and task.c.
18798 * Makefile.in: Regenerated.
18799 * testsuite/Makefile.in: Regenerated.
18800 * task.c: New file.
18801 * loop_ull.c: New file.
18802 * iter_ull.c: New file.
18803 * libgomp.h: Include ptrlock.h.
18804 (enum gomp_task_kind): New type.
18805 (struct gomp_team): Add task_lock, task_queue, task_count,
18806 task_running_count, single_count fields. Add
18807 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18808 Remove work_share_lock, generation_mask,
18809 oldest_live_gen, num_live_gen and init_work_shares fields, add
18810 work work_share_list_alloc, work_share_list_free and work_share_chunk
18811 fields. Change work_shares from pointer to pointers into an array.
18812 Change ordered_release field into gomp_sem_t ** from flexible array
18813 member. Add implicit_task and initial_work_shares fields.
18814 Move close to the end of the struct.
18815 (struct gomp_team_state): Add single_count, last_work_share,
18816 active_level and level fields, remove work_share_generation.
18817 (gomp_barrier_handle_tasks): New prototype.
18818 (gomp_finish_task): New inline function.
18819 (struct gomp_work_share): Move chunk_size, end, incr into
18820 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18821 next_ll fields. Reshuffle fields. Add next_alloc,
18822 next_ws, next_free and inline_ordered_team_ids fields, change
18823 ordered_team_ids into pointer from flexible array member.
18824 Add mode field. Put lock and next into a different cache line
18825 from most of the write-once fields.
18826 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18827 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18828 gomp_iter_ull_guided_next): New prototypes.
18829 (gomp_new_icv): New prototype.
18830 (struct gomp_thread): Add thread_pool and task fields.
18831 (struct gomp_thread_pool): New type.
18832 (gomp_new_team): New prototype.
18833 (gomp_team_start): Change type of last argument.
18834 (gomp_new_work_share): Removed.
18835 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18836 (gomp_work_share_init_done): New static inline.
18837 (gomp_throttled_spin_count_var, gomp_available_cpus,
18838 gomp_managed_threads): New extern decls.
18839 (gomp_init_task): New prototype.
18840 (gomp_spin_count_var): New extern var decl.
18841 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18842 or no alias support, or if not PIC.
18843 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18844 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18845 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18846 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18847 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18848 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18849 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18850 gomp_test_nest_lock_25): New prototypes.
18851 (omp_lock_symver, strong_alias): Define.
18852 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18854 (gomp_end_task): New.
18855 (struct gomp_task_icv, gomp_global_icv): New.
18856 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18857 (struct gomp_task): New.
18858 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18859 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18861 (gomp_schedule_type): Reorder enum to match
18863 * team.c (struct gomp_thread_start_data): Add thread_pool and task
18865 (gomp_thread_start): Add gomp_team_barrier_wait call.
18866 For non-nested case remove clearing of docked thread thr fields.
18867 Use pool fields instead of global gomp_* variables. Use
18868 gomp_barrier_wait_last when needed. Initialize ts.active_level.
18869 Create tasks for each member thread.
18870 (free_team): Only destroy team barrier, task_lock here and free it.
18871 (gomp_free_thread): Free last_team if non-NULL.
18872 (gomp_team_end): Call gomp_team_barrier_wait instead of
18873 gomp_barrier_wait. For nested case call one extra
18874 gomp_barrier_wait. Move here some destruction from free_team.
18875 Call free_team on pool->last_team if any, rather than freeing
18876 current team. Destroy work_share_list_free_lock ifndef
18877 HAVE_SYNC_BUILTINS.
18878 (gomp_new_icv): New function.
18879 (gomp_threads, gomp_threads_size, gomp_threads_used,
18880 gomp_threads_dock): Removed.
18881 (gomp_thread_destructor): New variable.
18882 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18884 (gomp_team_start): Create new pool if current thread doesn't have
18885 one. Use pool fields instead of global gomp_* variables.
18886 Initialize thread_pool field for new threads. Clear single_count.
18887 Change last argument from ws to team, don't create
18888 new team, set ts.work_share to &team->work_shares[0] and clear
18889 ts.last_work_share. Don't clear ts.work_share_generation.
18890 If number of threads changed, adjust atomically gomp_managed_threads.
18891 Use gomp_init_task instead of gomp_new_task,
18892 set thr->task to the corresponding implicit_task array entry.
18893 Create tasks for each member thread. Initialize ts.level.
18894 (initialize_team): Call pthread_key_create on
18895 gomp_thread_destructor.
18896 (team_destructor): New function.
18897 (new_team): Removed.
18898 (gomp_new_team): New function.
18899 (free_team): Free gomp_work_share blocks chained through next_alloc,
18900 instead of freeing work_shares and destroying work_share_lock.
18901 (gomp_team_end): Call gomp_fini_work_share. If number of threads
18902 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
18903 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18904 of gomp_barrier_wait.
18905 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18906 instead of gomp_barrier_wait. Call gomp_work_share_init_done
18907 if gomp_work_share_start returned true. Don't unlock ws->lock.
18908 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
18909 of gomp_barrier_wait.
18910 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
18911 gomp_work_share_init_done if gomp_work_share_start returned true.
18912 Don't unlock ws->lock.
18913 * work.c: Include stddef.h.
18914 (free_work_share): Use work_share_list_free_lock instead
18915 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
18916 Call gomp_fini_work_share and then either free ws if orphaned, or
18917 put it into work_share_list_free list of the current team.
18918 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
18920 (gomp_work_share_start, gomp_work_share_end,
18921 gomp_work_share_end_nowait): Rewritten.
18922 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
18923 (openmp_version): Set to 200805.
18924 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18925 omp_sched_guided, omp_sched_auto): New parameters.
18926 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18927 omp_set_max_active_levels, omp_get_max_active_levels,
18928 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18929 omp_get_active_level): New interfaces.
18930 * omp_lib.h.in (openmp_version): Set to 200805.
18931 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18932 omp_sched_guided, omp_sched_auto): New parameters.
18933 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18934 omp_set_max_active_levels, omp_get_max_active_levels,
18935 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18936 omp_get_active_level): New externals.
18937 * loop.c: Include limits.h.
18938 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
18940 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
18941 Likewise. Use gomp_icv.
18942 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
18943 ts.static_trip here.
18944 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
18945 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
18946 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
18947 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
18948 don't unlock ws->lock, otherwise lock it.
18949 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
18950 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
18951 (gomp_parallel_loop_start): Call gomp_new_team instead of
18952 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
18953 Adjust gomp_team_start caller. Pass 0 as second argument to
18954 gomp_resolve_num_threads.
18955 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
18956 If adding ws->chunk_size nthreads + 1 times after end won't
18957 overflow, set ws->mode to 1.
18958 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
18959 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
18960 GOMP_loop_ull_ordered_static_start,
18961 GOMP_loop_ull_ordered_dynamic_start,
18962 GOMP_loop_ull_ordered_guided_start,
18963 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
18964 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
18965 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
18966 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
18967 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
18969 * libgomp.map: Export lock routines also @@OMP_2.0.
18970 (GOMP_loop_ordered_dynamic_first,
18971 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
18972 GOMP_loop_ordered_static_first): Remove.
18973 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
18974 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
18975 GOMP_loop_ull_ordered_dynamic_next,
18976 GOMP_loop_ull_ordered_dynamic_start,
18977 GOMP_loop_ull_ordered_guided_next,
18978 GOMP_loop_ull_ordered_guided_start,
18979 GOMP_loop_ull_ordered_runtime_next,
18980 GOMP_loop_ull_ordered_runtime_start,
18981 GOMP_loop_ull_ordered_static_next,
18982 GOMP_loop_ull_ordered_static_start,
18983 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
18984 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
18985 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
18986 (omp_set_schedule, omp_get_schedule,
18987 omp_get_thread_limit, omp_set_max_active_levels,
18988 omp_get_max_active_levels, omp_get_level,
18989 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
18990 omp_set_schedule_, omp_set_schedule_8_,
18991 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18992 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18993 omp_get_max_active_levels_, omp_get_level_,
18994 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18995 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18996 New exports @@OMP_3.0.
18997 * omp.h.in (omp_sched_t): New type.
18998 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18999 omp_set_max_active_levels, omp_get_max_active_levels,
19000 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
19001 omp_get_active_level): New prototypes.
19002 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
19003 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
19004 gomp_thread_limit_var, gomp_remaining_threads_count,
19005 gomp_remaining_threads_lock): New variables.
19006 (parse_spincount): New function.
19007 (initialize_env): Call gomp_init_num_threads unconditionally.
19008 Initialize gomp_available_cpus. Call parse_spincount,
19009 initialize gomp_{,throttled_}spin_count_var
19010 depending on presence and value of OMP_WAIT_POLICY and
19011 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
19012 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19013 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
19014 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
19015 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
19016 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19017 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19018 (gomp_global_icv): New.
19019 (parse_schedule): Use it. Parse "auto".
19020 (omp_set_num_threads): Use gomp_icv.
19021 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19023 (omp_get_max_threads): Move from parallel.c.
19024 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19025 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19027 (parse_stacksize, parse_wait_policy): New functions.
19028 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19029 both wrappers for compatibility and new locks.
19030 (omp_set_schedule, omp_get_schedule,
19031 omp_get_thread_limit, omp_set_max_active_levels,
19032 omp_get_max_active_levels, omp_get_level,
19033 omp_get_ancestor_thread_num, omp_get_team_size,
19034 omp_get_active_level): New ialias_redirect.
19035 (omp_set_schedule_, omp_set_schedule_8_,
19036 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19037 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19038 omp_get_max_active_levels_, omp_get_level_,
19039 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19040 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19042 * parallel.c: Include limits.h.
19043 (gomp_resolve_num_threads): Add count argument. Rewritten.
19044 (GOMP_parallel_start): Call gomp_new_team and pass that as last
19045 argument to gomp_team_start. Pass 0 as second argument to
19046 gomp_resolve_num_threads.
19047 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19048 if gomp_thread_limit_var != ULONG_MAX.
19049 (omp_in_parallel): Implement using ts.active_level.
19050 (omp_get_max_threads): Move to env.c.
19051 (omp_get_level, omp_get_ancestor_thread_num,
19052 omp_get_team_size, omp_get_active_level): New functions,
19054 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19055 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
19056 gomp_iter_dynamic_next instead of the _locked variant and don't take
19057 lock around it, otherwise acquire it before calling
19058 gomp_iter_dynamic_next_locked.
19059 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19060 gomp_iter_dynamic_next instead of the _locked variant and don't take
19062 (GOMP_parallel_sections_start): Call gomp_new_team instead of
19063 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
19064 Adjust gomp_team_start caller. Pass count as second argument to
19065 gomp_resolve_num_threads, don't adjust num_threads after the call.
19067 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19068 ws->chunk_size by incr.
19069 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
19071 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19073 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19074 (omp_check_defines): Check even the compat defines.
19075 * config/linux/ptrlock.c: New file.
19076 * config/linux/ptrlock.h: New file.
19077 * config/linux/wait.h: New file.
19078 * config/posix/ptrlock.c: New file.
19079 * config/posix/ptrlock.h: New file.
19080 * config/linux/bar.h (gomp_team_barrier_wait,
19081 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19082 (gomp_team_barrier_set_task_pending,
19083 gomp_team_barrier_clear_task_pending,
19084 gomp_team_barrier_set_waiting_for_tasks,
19085 gomp_team_barrier_waiting_for_tasks,
19086 gomp_team_barrier_done): New inlines.
19087 (gomp_barrier_t): Rewritten.
19088 (gomp_barrier_state_t): New typedef.
19089 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19090 gomp_barrier_wait_start): Rewritten.
19091 (gomp_barrier_wait_end): Change second argument to
19092 gomp_barrier_state_t.
19093 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19095 * config/linux/bar.c: Include wait.h instead of libgomp.h and
19097 (gomp_barrier_wait_end): Rewritten.
19098 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19099 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19100 * config/posix/bar.h (gomp_barrier_t): Add generation field.
19101 (gomp_barrier_state_t): New typedef.
19102 (gomp_team_barrier_wait,
19103 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19104 (gomp_barrier_wait_start): Or all but low 2 bits from generation
19105 into the return value. Return gomp_barrier_state_t.
19106 (gomp_team_barrier_set_task_pending,
19107 gomp_team_barrier_clear_task_pending,
19108 gomp_team_barrier_set_waiting_for_tasks,
19109 gomp_team_barrier_waiting_for_tasks,
19110 gomp_team_barrier_done): New inlines.
19111 (gomp_barrier_wait_end): Change second argument to
19112 gomp_barrier_state_t.
19113 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19115 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19116 (gomp_barrier_wait_end): Change second argument to
19117 gomp_barrier_state_t.
19118 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19119 gomp_team_barrier_wake): New functions.
19120 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19122 (gomp_futex_wake, gomp_futex_wait): New variables.
19123 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19124 * config/linux/lock.c: Rewrite to make locks task owned,
19125 for backwards compatibility provide the old entrypoints
19126 if symbol versioning. Include wait.h instead of libgomp.h and
19128 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19129 * config/posix95/lock.c: Rewrite to make locks task owned,
19130 for backwards compatibility provide the old entrypoints
19131 if symbol versioning.
19132 * config/posix/lock.c: Rewrite to make locks task owned,
19133 for backwards compatibility provide the old entrypoints
19134 if symbol versioning.
19135 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19136 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19137 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19138 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19139 (sys_futex0): Return error code.
19140 (futex_wake, futex_wait): If ENOSYS was returned, clear
19141 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19142 (cpu_relax, atomic_write_barrier): New static inlines.
19143 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19144 (futex_wake, futex_wait): If ENOSYS was returned, clear
19145 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19146 (cpu_relax, atomic_write_barrier): New static inlines.
19147 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19148 (sys_futex0): Return error code.
19149 (futex_wake, futex_wait): If ENOSYS was returned, clear
19150 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19151 (cpu_relax, atomic_write_barrier): New static inlines.
19152 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19153 (sys_futex0): Return error code.
19154 (futex_wake, futex_wait): If ENOSYS was returned, clear
19155 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19156 (cpu_relax, atomic_write_barrier): New static inlines.
19157 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19158 (sys_futex0): Return error code.
19159 (futex_wake, futex_wait): If ENOSYS was returned, clear
19160 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19161 (cpu_relax, atomic_write_barrier): New static inlines.
19162 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19163 (sys_futex0): Return error code.
19164 (futex_wake, futex_wait): If ENOSYS was returned, clear
19165 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19166 (cpu_relax, atomic_write_barrier): New static inlines.
19167 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19169 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19170 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19171 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19173 (omp_nest_lock_t): Change owner into void *, add lock field.
19174 * config/posix95/omp-lock.h: Include semaphore.h.
19175 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19176 (omp_lock_t): Use sem_t instead of mutex if semaphores
19178 (omp_nest_lock_t): Likewise. Change owner to void *.
19179 * config/posix/omp-lock.h: Include semaphore.h.
19180 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19181 (omp_lock_t): Use sem_t instead of mutex if semaphores
19183 (omp_nest_lock_t): Likewise. Add owner field.
19185 2008-06-06 Jakub Jelinek <jakub@redhat.com>
19187 * testsuite/libgomp.c/collapse-1.c: New test.
19188 * testsuite/libgomp.c/collapse-2.c: New test.
19189 * testsuite/libgomp.c/collapse-3.c: New test.
19190 * testsuite/libgomp.c/icv-1.c: New test.
19191 * testsuite/libgomp.c/icv-2.c: New test.
19192 * testsuite/libgomp.c/lib-2.c: New test.
19193 * testsuite/libgomp.c/lock-1.c: New test.
19194 * testsuite/libgomp.c/lock-2.c: New test.
19195 * testsuite/libgomp.c/lock-3.c: New test.
19196 * testsuite/libgomp.c/loop-4.c: New test.
19197 * testsuite/libgomp.c/loop-5.c: New test.
19198 * testsuite/libgomp.c/loop-6.c: New test.
19199 * testsuite/libgomp.c/loop-7.c: New test.
19200 * testsuite/libgomp.c/loop-8.c: New test.
19201 * testsuite/libgomp.c/loop-9.c: New test.
19202 * testsuite/libgomp.c/nested-3.c: New test.
19203 * testsuite/libgomp.c/nestedfn-6.c: New test.
19204 * testsuite/libgomp.c/sort-1.c: New test.
19205 * testsuite/libgomp.c/task-1.c: New test.
19206 * testsuite/libgomp.c/task-2.c: New test.
19207 * testsuite/libgomp.c/task-3.c: New test.
19208 * testsuite/libgomp.c/task-4.c: New test.
19209 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19210 to C++ testsuite default compiler options.
19211 * testsuite/libgomp.c++/collapse-1.C: New test.
19212 * testsuite/libgomp.c++/collapse-2.C: New test.
19213 * testsuite/libgomp.c++/ctor-10.C: New test.
19214 * testsuite/libgomp.c++/for-1.C: New test.
19215 * testsuite/libgomp.c++/for-2.C: New test.
19216 * testsuite/libgomp.c++/for-3.C: New test.
19217 * testsuite/libgomp.c++/for-4.C: New test.
19218 * testsuite/libgomp.c++/for-5.C: New test.
19219 * testsuite/libgomp.c++/loop-8.C: New test.
19220 * testsuite/libgomp.c++/loop-9.C: New test.
19221 * testsuite/libgomp.c++/loop-10.C: New test.
19222 * testsuite/libgomp.c++/task-1.C: New test.
19223 * testsuite/libgomp.c++/task-2.C: New test.
19224 * testsuite/libgomp.c++/task-3.C: New test.
19225 * testsuite/libgomp.c++/task-4.C: New test.
19226 * testsuite/libgomp.c++/task-5.C: New test.
19227 * testsuite/libgomp.c++/task-6.C: New test.
19228 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19229 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19230 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19231 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19232 * testsuite/libgomp.fortran/collapse1.f90: New test.
19233 * testsuite/libgomp.fortran/collapse2.f90: New test.
19234 * testsuite/libgomp.fortran/collapse3.f90: New test.
19235 * testsuite/libgomp.fortran/collapse4.f90: New test.
19236 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19237 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19238 * testsuite/libgomp.fortran/lib4.f90: New test.
19239 * testsuite/libgomp.fortran/lock-1.f90: New test.
19240 * testsuite/libgomp.fortran/lock-2.f90: New test.
19241 * testsuite/libgomp.fortran/nested1.f90: New test.
19242 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19243 * testsuite/libgomp.fortran/strassen.f90: New test.
19244 * testsuite/libgomp.fortran/tabs1.f90: New test.
19245 * testsuite/libgomp.fortran/tabs2.f: New test.
19246 * testsuite/libgomp.fortran/task1.f90: New test.
19247 * testsuite/libgomp.fortran/task2.f90: New test.
19248 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19249 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19250 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19251 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19252 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19254 2008-05-23 Jakub Jelinek <jakub@redhat.com>
19257 * testsuite/libgomp.c++/ctor-11.C: New test.
19258 * testsuite/libgomp.c++/ctor-12.C: New test.
19260 2008-05-15 Janis Johnson <janis187@us.ibm.com>
19262 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19264 2008-05-07 Jakub Jelinek <jakub@redhat.com>
19266 PR middle-end/36106
19267 * testsuite/libgomp.c/atomic-5.c: New test.
19268 * testsuite/libgomp.c/atomic-6.c: New test.
19269 * testsuite/libgomp.c/autopar-1.c: New test.
19271 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19273 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19274 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19275 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19276 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19277 * configure: Regenerate.
19278 * Makefile.in, testsuite/Makefile.in: Likewise.
19280 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
19283 * aclocal.m4: Regenerate.
19284 * configure: Regenerate.
19286 2008-03-18 Jakub Jelinek <jakub@redhat.com>
19288 PR middle-end/35611
19289 * testsuite/libgomp.c/atomic-4.c: New test.
19292 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19293 (gomp_iter_guided_next): Likewise.
19294 * testsuite/libgomp.c/pr35625.c: New test.
19296 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19298 * aclocal.m4: Regenerate.
19299 * configure: Likewise.
19300 * Makefile.in: Likewise.
19301 * testsuite/Makefile.in: Likewise.
19303 2008-03-13 Jakub Jelinek <jakub@redhat.com>
19305 PR middle-end/35185
19306 * testsuite/libgomp.c++/pr35185.C: New test.
19308 2008-03-12 Jakub Jelinek <jakub@redhat.com>
19310 PR middle-end/35549
19311 * testsuite/libgomp.c/pr35549.c: New test.
19313 2008-03-06 Jakub Jelinek <jakub@redhat.com>
19315 * testsuite/libgomp.c/atomic-3.c: New test.
19317 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19320 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
19321 .F08 file suffixes.
19323 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19326 * configure.ac: Add ACX_HEADER_STRING.
19327 * env.c: Include strings.h.
19328 * aclocal.m4: Regenerate.
19329 * config.h.in: Regenerate.
19330 * configure: Regenerate.
19331 * Makefile.in: Regenerate.
19332 * testsuite/Makefile.in: Regenerate.
19334 2008-02-15 Jakub Jelinek <jakub@redhat.com>
19336 PR middle-end/35196
19337 * testsuite/libgomp.c/pr35196.c: New test.
19339 PR middle-end/35130
19340 * testsuite/libgomp.fortran/pr35130.f90: New test.
19341 * testsuite/libgomp.c/pr35130.c: New test.
19343 2008-01-25 Jakub Jelinek <jakub@redhat.com>
19345 PR middle-end/33880
19346 * testsuite/libgomp.c/pr33880.c: New test.
19347 * testsuite/libgomp.fortran/pr33880.f90: New test.
19349 2008-01-24 David Edelsohn <edelsohn@gnu.org>
19351 * configure: Regenerate.
19353 2008-01-08 Jakub Jelinek <jakub@redhat.com>
19355 * configure.ac: Move futex checking into ../config/futex.m4.
19356 * configure: Rebuilt.
19357 * aclocal.m4: Rebuilt.
19358 * Makefile.in: Rebuilt.
19360 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19361 2007-10-15 ../config/tls.m4 change.
19363 2007-12-19 Jakub Jelinek <jakub@redhat.com>
19366 * testsuite/libgomp.c/pr34513.c: New test.
19367 * testsuite/libgomp.c++/pr34513.C: New test.
19369 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19372 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19374 2007-12-04 Jakub Jelinek <jakub@redhat.com>
19376 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19378 2007-12-03 Jakub Jelinek <jakub@redhat.com>
19380 * testsuite/libgomp.c/private-1.c: New test.
19382 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19383 Paolo Bonzini <bonzini@gnu.org>
19385 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19386 instead of 'VPATH ='.
19387 * Makefile.in: Regenerate.
19389 2007-11-23 Matthias Klose <doko@ubuntu.com>
19391 * configure.ac: Adjust makeinfo version check.
19392 * configure: Regenerate.
19394 2007-11-10 Jakub Jelinek <jakub@redhat.com>
19397 * testsuite/libgomp.fortran/pr34020.f90: New test.
19399 2007-11-06 Jakub Jelinek <jakub@redhat.com>
19402 * testsuite/libgomp.c++/atomic-1.C: New test.
19404 2007-10-25 Jakub Jelinek <jakub@redhat.com>
19407 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19408 Make x and y integers rather than (implicit) reals. Add private (j)
19409 clause to the last omp parallel.
19411 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19413 * configure: Regenerate following changes to ../config/tls.m4.
19415 2007-09-28 Jakub Jelinek <jakub@redhat.com>
19417 * testsuite/libgomp.fortran/stack.f90: New test.
19419 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19421 * config/mingw32/proc.c: New file.
19423 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
19425 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19426 (main): Use __get_cpuid to get i386 target fetaures.
19427 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19428 (main): Use __get_cpuid to get x86_64 target fetaures.
19430 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19433 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19434 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19436 2007-07-12 Jakub Jelinek <jakub@redhat.com>
19439 * testsuite/libgomp.fortran/pr32550.f90: New test.
19440 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19442 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19444 * aclocal.m4: Regenerated.
19446 2007-07-05 Tobias Burnus <burnus@net-b.de>
19449 * testsuite/libgomp.fortran/pr32359.f90: New.
19451 2007-07-02 Jakub Jelinek <jakub@redhat.com>
19454 * sections.c (GOMP_parallel_sections_start): Only decrease
19455 number of threads to COUNT if dyn_var is true.
19456 * testsuite/libgomp.c/pr32468.c: New test.
19458 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19461 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19463 2007-06-21 Jakub Jelinek <jakub@redhat.com>
19465 PR middle-end/32362
19466 * testsuite/libgomp.c/pr32362-1.c: New test.
19467 * testsuite/libgomp.c/pr32362-2.c: New test.
19468 * testsuite/libgomp.c/pr32362-3.c: New test.
19470 2007-06-07 Jakub Jelinek <jakub@redhat.com>
19472 * team.c (gomp_team_start): Fix setting up thread_attr
19475 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
19477 * configure: Regenerate.
19479 2007-05-23 Steve Ellcey <sje@cup.hp.com>
19481 * Makefile.in: Regenerate.
19482 * configure: Regenerate.
19483 * aclocal.m4: Regenerate.
19484 * testsuite/Makefile.in: Regenerate.
19486 2007-05-04 Jakub Jelinek <jakub@redhat.com>
19488 * config/linux/proc.c: New file.
19491 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19493 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
19495 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19497 2007-04-16 Matthias Klose <doko@debian.org>
19499 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19500 flags if not building with -m64.
19501 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19502 flag for i?86-*-* targets, if current target matches -m64.
19504 2007-04-14 Steve Ellcey <sje@cup.hp.com>
19506 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19507 * Makefile.in: Regenerate.
19509 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19512 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19514 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19516 2007-04-04 Jakub Jelinek <jakub@redhat.com>
19518 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19520 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19521 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19522 (parse_affinity): New function.
19523 (initialize_env): Call it and gomp_init_affinity.
19524 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19525 create new pthread_attr_t and call gomp_init_thread_affinity
19526 on it for each thread before passing the attribute to pthread_create.
19527 * config/linux/affinity.c: New file.
19528 * config/posix/affinity.c: New file.
19529 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19530 * configure: Rebuilt.
19531 * config.h.in: Rebuilt.
19532 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19533 * Makefile.in: Rebuilt.
19535 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19537 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19539 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19540 and use it if found.
19542 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
19544 * testsuite/config/default.exp: New file.
19545 * testsuite/lib/libgomp.exp: New file.
19546 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19547 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19548 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19549 (libgomp_load): Remove.
19550 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19551 always_ld_library_path, not ld_library_path. Set additional_flags
19552 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19553 (target_compile): Do not call libgomp_init. Append lang_library_path
19554 and lang_link_flags to options.
19555 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19556 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19558 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19559 always_ld_library_path. Set LD_LIBRARY_PATH here.
19560 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19561 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19562 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19564 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19565 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19566 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19567 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19568 * testsuite/libgomp.c/atomic-10.c: Ditto.
19570 2007-03-21 Jakub Jelinek <jakub@redhat.com>
19572 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19573 dg-final cleanup-modules line.
19574 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19575 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19576 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19577 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19578 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19579 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19580 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19582 2007-03-18 Andreas Schwab <schwab@suse.de>
19584 * acinclude.m4: Adjust regular expression for ld version
19586 * configure: Regenerate.
19588 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19590 * Makefile.am: Add install-pdf target as copied from
19591 automake v1.10 rules.
19592 * Makefile.in: Regenerate
19594 2007-02-07 Jakub Jelinek <jakub@redhat.com>
19597 * configure: Regenerate.
19600 * testsuite/libgomp.c++/pr30703.C: New test.
19602 2007-02-02 Jakub Jelinek <jakub@redhat.com>
19605 2006-07-05 Eric Christopher <echristo@apple.com>
19606 * configure.ac: Depend addition of -pthread on host OS.
19607 * configure: Regenerate.
19609 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19611 * libgomp.texi: Fix spacing after abbreviations.
19613 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
19616 * configure.ac: Add check for makeinfo
19617 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
19618 if an appropriate version of makeinfo is found.
19619 * aclocal.m4: Regenerated.
19620 * configure: Regenerated.
19621 * Makefile.in: Regenerated.
19622 * testsuite/Makefile.in: Regenerated.
19624 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
19627 * libgomp.texi: More about implementation-dependent settings.
19629 2007-01-26 Tobias Burnus <burnus@net-b.de>
19631 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19633 2007-01-24 Jakub Jelinek <jakub@redhat.com>
19635 PR middle-end/30494
19636 * testsuite/libgomp.c/pr30494.c: New test.
19638 2007-01-15 Tom Tromey <tromey@redhat.com>
19640 * configure: Rebuilt.
19641 * configure.ac: Fixed comment.
19643 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
19645 * libgomp.texi: Document implementation specific default values of
19646 environment variables.
19648 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
19651 * libgomp.texi: New file.
19652 * configure.ac: Add --enable-generated-files-in-srcdir option.
19653 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19655 * Makefile.in: Regenerated.
19656 * config.h.in: Regenerated.
19657 * testsuite/Makefile.in: Regenerated.
19660 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
19663 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19665 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19667 * configure: Regenerate.
19669 2006-12-04 Jakub Jelinek <jakub@redhat.com>
19672 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19673 start if there shouldn't be any loop iterations.
19674 (gomp_loop_ordered_static_start): Remove start == end test.
19675 * testsuite/libgomp.c/pr29947-1.c: New test.
19676 * testsuite/libgomp.c/pr29947-2.c: New test.
19678 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19680 * configure.tgt: Force initial-exec TLS model on Linux only.
19682 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19684 * configure: Regenerated.
19686 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
19688 * env.c (parse_schedule): Reject out of range values.
19689 (parse_unsigned_long): Reject out of range, negative or zero values.
19691 2006-10-29 Jakub Jelinek <jakub@redhat.com>
19694 * testsuite/libgomp.fortran/pr29629.f90: New test.
19696 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19699 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19700 * config/posix95: New directory.
19701 * config/posix95/omp-lock.h: New file.
19702 * config/posix95/lock.c: Likewise.
19704 2006-10-14 Geoffrey Keating <geoffk@apple.com>
19706 * aclocal.m4: Regenerate.
19707 * configure: Regenerate.
19709 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19711 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19714 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19716 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19718 * configure: Regenerate.
19719 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19721 2006-09-26 Jakub Jelinek <jakub@redhat.com>
19723 PR middle-end/25261
19724 PR middle-end/28790
19725 * testsuite/libgomp.c/nestedfn-4.c: New test.
19726 * testsuite/libgomp.c/nestedfn-5.c: New test.
19727 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19730 * testsuite/libgomp.fortran/condinc1.f: New test.
19731 * testsuite/libgomp.fortran/condinc2.f: New test.
19732 * testsuite/libgomp.fortran/condinc3.f90: New test.
19733 * testsuite/libgomp.fortran/condinc4.f90: New test.
19734 * testsuite/libgomp.fortran/condinc1.inc: New file.
19736 2006-09-18 Tom Tromey <tromey@redhat.com>
19738 * configure: Rebuilt.
19740 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19743 PR preprocessor/14634
19744 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19746 * configure: Regenerate.
19748 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19750 * testsuite/libgomp.fortran/reduction3.f90: Change
19751 -2147483648 to -huge(i)-1 to avoid overflow.
19752 * testsuite/libgomp.fortran/reduction4.f90: Change
19753 Z'ffffffff' to not(0) to avoid overflow.
19755 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
19758 * Makefile.am (libsubincludedir): New.
19759 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19760 * Makefile.in: Regenerate.
19762 2006-08-17 Jakub Jelinek <jakub@redhat.com>
19765 * env.c: Include ctype.h.
19766 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19767 leading and/or trailing whitespace and compare strings case
19770 2006-07-16 Jakub Jelinek <jakub@redhat.com>
19773 * testsuite/libgomp.fortran/pr28390.f: New test.
19775 2006-07-05 Eric Christopher <echristo@apple.com>
19777 * configure.ac: Depend addition of -pthread on host OS.
19778 * configure: Regenerate.
19780 2006-06-21 Jakub Jelinek <jakub@redhat.com>
19782 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19783 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19786 2006-06-20 Jakub Jelinek <jakub@redhat.com>
19790 * configure.ac: If neither --enable-linux-futex nor
19791 --disable-linux-futex is passed, determine the default by checking
19792 for compiling and/or running against NPTL. With --enable-linux-futex,
19793 check if SYS_gettid and SYS_futex are defined.
19794 * configure: Rebuilt.
19796 2006-06-14 Richard Henderson <rth@redhat.com>
19799 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19800 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19802 2006-06-09 Richard Henderson <rth@redhat.com>
19804 * env.c (gomp_nthreads_var): Change to unsigned long.
19805 (gomp_run_sched_chunk): Likewise.
19806 (parse_unsigned_long): Rename from parse_num_threads and generalize.
19807 (initialize_env): Initialize gomp_thread_attr.
19808 * libgomp.h (gomp_nthreads_var): Update decl.
19809 (gomp_run_sched_chunk): Likewise.
19810 (gomp_thread_attr): Declare.
19811 * team.c (gomp_thread_attr): Export.
19812 (initialize_team): Don't initialize it.
19814 2006-06-09 Jakub Jelinek <jakub@redhat.com>
19817 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19818 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19820 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19822 * config/mingw32/time.c: New file.
19823 * configure.tgt: Use it.
19825 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
19827 * Makefile.am: Add install-html target. Add install-html to .PHONY
19828 * Makefile.in: Regenerate.
19830 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19833 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19834 * testsuite/libgomp.c/critical-1.c: Likewise.
19835 * testsuite/libgomp.c/loop-1.c: Likewise.
19836 * testsuite/libgomp.c/loop-2.c: Likewise.
19837 * testsuite/libgomp.c/single-1.c: Likewise.
19838 * testsuite/libgomp.c/ordered-1.c: Likewise.
19839 * testsuite/libgomp.c/ordered-2.c: Likewise.
19841 2006-05-15 Jakub Jelinek <jakub@redhat.com>
19843 PR middle-end/27416
19844 * libgomp.fortran/pr27416-1.f90: New test.
19846 2006-05-03 Jakub Jelinek <jakub@redhat.com>
19849 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19850 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19852 2006-05-02 Jakub Jelinek <jakub@redhat.com>
19855 * testsuite/libgomp.c/pr26943-1.c: New test.
19856 * testsuite/libgomp.c/pr26943-2.c: New test.
19857 * testsuite/libgomp.c/pr26943-3.c: New test.
19858 * testsuite/libgomp.c/pr26943-4.c: New test.
19859 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19860 * testsuite/libgomp.c++/pr26943.C: New test.
19862 2006-05-02 Jakub Jelinek <jakub@redhat.com>
19864 PR middle-end/27337
19865 * testsuite/libgomp.c++/pr27337.C: New test.
19867 2006-04-26 Jakub Jelinek <jakub@redhat.com>
19870 * testsuite/libgomp.c/pr26171.c: New test.
19872 2006-04-25 Richard Henderson <rth@redhat.com>
19875 * configure.ac: Use GCC_CHECK_TLS.
19876 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19877 * Makefile.in, aclocal.m4, configure: Regenerate.
19879 2006-04-10 Matthias Klose <doko@debian.org>
19881 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19882 directory names containing underscores.
19884 2006-03-21 Jakub Jelinek <jakub@redhat.com>
19887 * testsuite/libgomp.c++/pr26691.C: New test.
19889 2006-03-13 Jakub Jelinek <jakub@redhat.com>
19891 * testsuite/libgomp.fortran/retval2.f90: New test.
19893 2006-03-09 Diego Novillo <dnovillo@redhat.com>
19895 * testsuite/libgomp.c++: New directory.
19897 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
19899 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19900 * config/posix/sem.c: Implement the above.
19902 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
19904 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19905 define HAVE_BROKEN_POSIX_SEMAPHORES.
19906 * configure: Rebuilt.
19907 * config.h.in: Rebuilt.
19909 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19912 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
19913 for the other pthread check.
19914 * configure: Regenerate.
19915 * config.h.in: Regenerate.
19917 2006-02-15 Jakub Jelinek <jakub@redhat.com>
19921 * Makefile.am (fincludedir): New variable.
19922 (nodist_include_HEADERS): Remove Fortran files.
19923 (nodist_finclude_HEADERS): New variable.
19924 * Makefile.in: Regenerated.
19926 2006-02-13 Jakub Jelinek <jakub@redhat.com>
19928 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
19929 Remove tests for returning assumed character length arrays.
19931 2006-02-12 Roger Sayle <roger@eyesopen.com>
19932 John David Anglin <dave@hiauly1.hia.nrc.ca>
19935 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
19937 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
19939 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
19941 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
19943 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
19944 part of LD_LIBRARY_PATH manually.
19946 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
19949 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
19952 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
19955 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
19956 * configure.ac (PERL): Don't set.
19957 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
19958 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
19959 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
19960 * omp.h.in: Wrap the new configure substitutions with @ characters.
19961 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
19962 * aclocal.m4, configure, Makefile.in: Regenerate.
19963 * mkomp_h.pl: Delete.
19965 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
19968 * configure.ac: Use GCC_HEADER_STDINT.
19969 * libgomp.h: Include gstdint.h.
19970 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
19971 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
19973 2006-01-24 Richard Henderson <rth@redhat.com>
19976 * configure.ac: Add AM_MAINTAINER_MODE.
19977 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
19979 2006-01-24 Diego Novillo <dnovillo@redhat.com>
19981 * Makefile.in: Regenerate.
19982 * testsuite/Makefile.in: Regenerate.
19983 * aclocal.m4: Regenerate.
19985 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
19987 * config/posix/proc.c: Conditional include of sys/loadavg.h for
19989 * configure.ac: Add check for loadavg.h.
19990 (link_gomp): Adjust comment.
19991 * configure: Regenerate.
19992 * config.h.in: Regenerate.
19994 2006-01-21 Steve Ellcey <sje@cup.hp.com>
19997 * configure.ac: Remove check for alloca.h.
19998 * configure: Regenerate.
19999 * config.h.in: Regenerate.
20000 * libgomp.h: define gomp_alloca to be __builtin_alloca.
20001 * team.c: Remove use of alloca.h.
20002 Call gomp_alloca instead of alloca.
20004 2006-01-20 Steve Ellcey <sje@cup.hp.com>
20007 * team.c: Add include of alloca.h.
20008 * configure.ac: Add check for alloca.h.
20009 * configure: Regenerate.
20010 * config.h.in: Regenerate.
20012 2006-01-17 Jakub Jelinek <jakub@redhat.com>
20015 * testsuite/libgomp.fortran/pr25219.f90: New test.
20017 2005-12-05 Uros Bizjak <uros@kss-loka.si>
20019 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20020 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20021 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20022 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20023 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20024 testsuite/libgomp.fortran/threadprivate1.f90,
20025 testsuite/libgomp.fortran/threadprivate2.f90,
20026 testsuite/libgomp.fortran/threadprivate3.f90,
20027 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20028 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20029 testsuite/libgomp.fortran/omp_parse3.f90: Change required
20030 effective-target to TLS runtime.
20032 * testsuite/libgomp.fortran/pr25162.f: Require
20033 effective-target TLS runtime.
20035 2005-12-01 Jakub Jelinek <jakub@redhat.com>
20037 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20038 * testsuite/libgomp.c/nestedfn-3.c: New test.
20040 2005-11-30 Jakub Jelinek <jakub@redhat.com>
20043 * testsuite/libgomp.fortran/pr25162.f: New test.
20045 2005-11-28 Jakub Jelinek <jakub@redhat.com>
20047 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20048 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20050 2005-11-25 Jakub Jelinek <jakub@redhat.com>
20052 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20053 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20054 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20055 single.c, team.c, work.c, config/linux/alpha/futex.h,
20056 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20057 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20058 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20059 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20060 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20061 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20062 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20065 2005-11-18 Jakub Jelinek <jakub@redhat.com>
20067 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20068 to nodist_noinst_HEADERS.
20069 * Makefile.in: Rebuilt.
20071 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20072 add integer count field.
20073 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20074 omp_nest_lock_t type change.
20075 (omp_init_nest_lock): Likewise. Initialize count to 0.
20076 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20078 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20080 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20081 Increment count if successful and return the new nesting level.
20082 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20083 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20084 * testsuite/libgomp.c/lib-1.c: New test.
20085 * testsuite/libgomp.fortran/lib1.f90: New test.
20086 * testsuite/libgomp.fortran/lib2.f: New test.
20087 * testsuite/libgomp.fortran/lib3.f: New test.
20089 2005-11-17 Richard Henderson <rth@redhat.com>
20092 * Makefile.am (nodist_toolexeclib_HEADERS): New.
20093 * configure.ac (link_gomp): New. Substitute it.
20094 (AC_CONFIG_FILES): Add libgomp.spec.
20095 * libgomp.spec.in: New file.
20096 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20097 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20099 2005-11-18 Jakub Jelinek <jakub@redhat.com>
20101 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20102 reduction(-:var) behaving the same as reduction(+:var).
20103 * testsuite/libgomp.c/reduction-4.c: New test.
20105 2005-11-15 Uros Bizjak <uros@kss-loka.si>
20107 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20108 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20109 testsuite/libgomp.c/copyin-3.c,
20110 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20111 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20112 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20113 testsuite/libgomp.c++/pr24455.C,
20114 testsuite/libgomp.fortran/threadprivate1.f90,
20115 testsuite/libgomp.fortran/threadprivate2.f90,
20116 testsuite/libgomp.fortran/threadprivate3.f90,
20117 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20118 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20119 testsuite/libgomp.fortran/omp_parse3.f90: Require
20120 effective-target TLS.
20122 2005-11-14 Diego Novillo <dnovillo@redhat.com>
20126 2005-11-13 Jakub Jelinek <jakub@redhat.com>
20129 * team.c (initialize_team): Pass NULL rather than free as
20130 pthread_key_create destructor. Initialize thread specific data
20131 pointer in initial thread to a static local variable rather than
20134 2005-11-11 Uros Bizjak <uros@kss-loka.si>
20136 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20137 its location to ld_library_path.
20139 2005-11-10 Diego Novillo <dnovillo@redhat.com>
20141 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20143 2005-11-10 Diego Novillo <dnovillo@redhat.com>
20145 * testsuite/libgomp.c: Rename from libgomp.dg.
20147 2005-11-09 Diego Novillo <dnovillo@redhat.com>
20149 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20150 threadprivate variable 'i'.
20152 2005-11-09 Jakub Jelinek <jakub@redhat.com>
20154 * config/linux/s390/futex.h: New file.
20155 * configure.tgt: Use it.
20157 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20158 before the parallel.
20160 2005-11-08 Jakub Jelinek <jakub@redhat.com>
20163 * testsuite/libgomp.c++/master-1.C: New test.
20165 2005-11-07 Jakub Jelinek <jakub@redhat.com>
20167 * testsuite/libgomp.dg/copyin-3.c: New test.
20169 2005-11-07 Jakub Jelinek <jakub@redhat.com>
20171 * testsuite/libgomp.fortran/retval1.f90: New test.
20172 * testsuite/libgomp.fortran/vla7.f90: New test.
20174 2005-11-06 Jakub Jelinek <jakub@redhat.com>
20176 * testsuite/libgomp.fortran/vla2.f90: New test.
20177 * testsuite/libgomp.fortran/vla3.f90: New test.
20178 * testsuite/libgomp.fortran/vla4.f90: New test.
20179 * testsuite/libgomp.fortran/vla5.f90: New test.
20180 * testsuite/libgomp.fortran/vla6.f90: New test.
20182 2005-11-01 Jakub Jelinek <jakub@redhat.com>
20184 * config/linux/sparc/futex.h: New file.
20185 * configure.tgt: Use it.
20186 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20188 * critical.c: Include stdlib.h.
20189 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20190 ignoring return value.
20191 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20192 LIBGOMP_CHECK_SYNC_BUILTINS check.
20193 * configure: Rebuilt.
20195 2005-10-31 Jakub Jelinek <jakub@redhat.com>
20197 * testsuite/libgomp.fortran/vla1.f90: New test.
20199 2005-10-31 Richard Henderson <rth@redhat.com>
20201 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20202 setting 's' in different threads.
20204 2005-10-31 Jakub Jelinek <jakub@redhat.com>
20206 * libgomp.h (attribute_hidden, ialias): Define.
20207 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20208 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20209 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20210 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20211 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20212 omp_test_lock, omp_test_nest_lock): Likewise.
20213 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20214 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20215 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20216 omp_test_lock, omp_test_nest_lock): Likewise.
20217 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20218 omp_get_dynamic, omp_get_nested): Likewise.
20219 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20220 omp_get_thread_num, omp_in_parallel): Likewise.
20221 * fortran.c (ialias_redirect): Define.
20222 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20223 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20224 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20225 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20226 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20227 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20228 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20229 omp_get_wtime): Add ialias_redirect.
20231 2005-10-30 Jakub Jelinek <jakub@redhat.com>
20233 * fortran.c: Include stdlib.h.
20235 2005-10-29 Jakub Jelinek <jakub@redhat.com>
20237 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20238 * Makefile.in: Regenerated.
20240 2005-10-28 Jakub Jelinek <jakub@redhat.com>
20242 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20243 * libgomp_f.h.in (omp_check_defines): New function.
20244 * env.c: Include libgomp_f.h.
20245 (initialize_env): Call omp_check_defines.
20247 * testsuite/libgomp.dg/copyin-2.c: New test.
20248 * testsuite/libgomp.c++/copyin-2.C: New test.
20249 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20251 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20252 * testsuite/libgomp.fortran/sharing2.f90: New test.
20254 * testsuite/libgomp.dg/copyin-1.c: New test.
20255 * testsuite/libgomp.c++/copyin-1.C: New test.
20257 2005-10-26 Jakub Jelinek <jakub@redhat.com>
20259 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20261 * testsuite/libgomp.fortran/workshare1.f90: New test.
20263 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20265 * libgomp.fortran/sharing1.f90: New test.
20267 2005-10-24 Jakub Jelinek <jakub@redhat.com>
20270 * testsuite/libgomp.c++/loop-7.C: New test.
20272 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20274 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20275 * testsuite/libgomp.fortran/reduction6.f90: New test.
20276 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20278 2005-10-23 Richard Henderson <rth@redhat.com>
20280 * testsuite/libgomp.c++/ctor-1.C: New.
20281 * testsuite/libgomp.c++/ctor-2.C: New.
20282 * testsuite/libgomp.c++/ctor-3.C: New.
20283 * testsuite/libgomp.c++/ctor-4.C: New.
20284 * testsuite/libgomp.c++/ctor-5.C: New.
20285 * testsuite/libgomp.c++/ctor-6.C: New.
20286 * testsuite/libgomp.c++/ctor-7.C: New.
20287 * testsuite/libgomp.c++/ctor-8.C: New.
20288 * testsuite/libgomp.c++/ctor-9.C: New.
20290 2005-10-21 Diego Novillo <dnovillo@redhat.com>
20293 * testsuite/libgomp.c++/pr24455-1.C: New test.
20294 * testsuite/libgomp.c++/pr24455.C: New test.
20295 * testsuite/libgomp.dg/pr24455-1.c: New test.
20296 * testsuite/libgomp.dg/pr24455.c: New test.
20298 2005-10-20 Richard Henderson <rth@redhat.com>
20300 * testsuite/libgomp.c++/loop-6.C: New.
20301 * testsuite/libgomp.dg/loop-3.c: New.
20303 2005-10-20 Jakub Jelinek <jakub@redhat.com>
20305 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20306 explicitly private.
20307 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20310 2005-10-19 Diego Novillo <dnovillo@redhat.com>
20312 * testsuite/libgomp.fortran/jacobi.f: New test.
20314 2005-10-19 Richard Henderson <rth@redhat.com>
20316 * configure.tgt (i?86-linux): Default to with_arch instead of
20317 CFLAGS. Add -mtune to match target_cpu.
20318 (x86_64-linux): Tune to i686.
20320 * fortran.c (omp_test_nest_lock_): Fix typo.
20322 2005-10-19 Jakub Jelinek <jakub@redhat.com>
20324 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20325 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20326 * testsuite/libgomp.dg/ordered-3.c: New test.
20328 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20329 Remove volatile keyword.
20331 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20332 in COMMON block to avoid warnings on 64-bit targets.
20334 2005-10-18 Diego Novillo <dnovillo@redhat.com>
20336 * testsuite/libgomp.dg/shared-3.c: New test.
20338 2005-10-18 Jakub Jelinek <jakub@redhat.com>
20340 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20341 * testsuite/libgomp.fortran/reduction5.f90: New test.
20343 2005-10-18 Jakub Jelinek <jakub@redhat.com>
20345 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20347 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20348 flush loop now that __sync_synchronize has proper memory barrier.
20349 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20350 Add -ffixed-form to dg-options.
20352 2005-10-17 Diego Novillo <dnovillo@redhat.com>
20354 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20355 from subdirectories.
20356 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20357 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20358 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20359 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20360 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20361 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20362 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20363 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20364 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20365 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20366 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20367 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20368 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20369 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20370 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20371 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20372 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20373 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20374 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20375 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20376 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20377 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20378 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20379 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20380 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20382 2005-10-17 Jakub Jelinek <jakub@redhat.com>
20384 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20385 lang_library_path exists. Use find instead of glob to gather tests.
20386 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20388 2005-10-17 Diego Novillo <dnovillo@redhat.com>
20390 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20391 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20392 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20393 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20394 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20395 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20396 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20397 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20398 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20399 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20400 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20401 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20402 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20404 2005-10-15 Jakub Jelinek <jakub@redhat.com>
20406 * testsuite/libgomp.dg/vla-1.c: New test.
20408 * testsuite/libgomp.fortran/reference2.f90: New test.
20410 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20411 declaration of omp_get_thread_num.
20412 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20415 * testsuite/libgomp.fortran/reduction1.f90: New test.
20416 * testsuite/libgomp.fortran/reduction2.f90: New test.
20417 * testsuite/libgomp.fortran/reduction3.f90: New test.
20418 * testsuite/libgomp.fortran/reduction4.f90: New test.
20420 2005-10-13 Richard Henderson <rth@redhat.com>
20422 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20423 * Makefile.in: Regenerate.
20424 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20425 * libgomp.h: Include bar.h.
20426 (struct gomp_barrier): Remove.
20427 (struct gomp_team): Add barrier. Replace master_barrier with
20428 master_release. Replace threads with ordered_release.
20429 (struct gomp_thread): Replace barrier with release.
20430 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20431 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20432 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20433 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20434 (GOMP_single_copy_end): Likewise.
20435 * team.c (gomp_threads_dock): New.
20436 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20437 (gomp_thread_start): Use gomp_barrier_wait.
20438 (new_team, free_team): Update for gomp_team changes.
20439 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20440 (gomp_team_end): Use gomp_barrier_wait.
20441 (initialize_team): Update for gomp_thread changes.
20442 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20443 (gomp_work_share_end_nowait): Use atomic ops when available.
20444 * config/linux/bar.c, config/linux/bar.h: New files.
20445 * config/posix/bar.c, config/posix/bar.h: New files.
20447 2005-10-13 Jakub Jelinek <jakub@redhat.com>
20449 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20450 * testsuite/libgomp.dg/single-2.c: New test.
20452 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20453 lang_link_flags): Unset, so that they aren't inherited from previously
20456 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20458 2005-10-12 Richard Henderson <rth@redhat.com>
20460 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20461 (libgomp_init): Use lang_test_file, lang_library_path, and
20462 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20464 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20465 (lang_test_file, lang_link_flags): New.
20466 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20468 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20469 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20470 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20471 testsuite/libgomp.c++/parallel-1.C,
20472 testsuite/libgomp.c++/reduction-1.C,
20473 testsuite/libgomp.c++/reduction-2.C,
20474 testsuite/libgomp.c++/reduction-3.C,
20475 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20476 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20477 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20478 New files, largely cribbed from the C testsuite.
20480 2005-10-12 Jakub Jelinek <jakub@redhat.com>
20482 * testsuite/libgomp.fortran/character1.f90: New test.
20483 * testsuite/libgomp.fortran/character2.f90: New test.
20485 * testsuite/libgomp.dg/nested-1.c: New test.
20486 * testsuite/libgomp.dg/nested-2.c: New test.
20487 * testsuite/libgomp.fortran/do1.f90: New test.
20488 * testsuite/libgomp.fortran/do2.f90: New test.
20490 * testsuite/libgomp.fortran/reference1.f90: New test.
20492 2005-10-11 Jakub Jelinek <jakub@redhat.com>
20494 * testsuite/libgomp.dg/reduction-1.c: New test.
20495 * testsuite/libgomp.dg/reduction-2.c: New test.
20496 * testsuite/libgomp.dg/reduction-3.c: New test.
20498 2005-10-10 Jakub Jelinek <jakub@redhat.com>
20500 * testsuite/libgomp.dg/atomic-1.c: New test.
20501 * testsuite/libgomp.dg/atomic-2.c: New test.
20503 2005-10-09 Richard Henderson <rth@redhat.com>
20505 * critical.c (atomic_lock): New.
20506 (initialize_critical): Initialize it.
20507 (GOMP_atomic_start, GOMP_atomic_end): New.
20508 * libgomp.map: Export them.
20509 * libgomp_g.h: Declare them.
20511 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20513 2005-10-02 Richard Henderson <rth@redhat.com>
20515 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20516 to XCFLAGS instead of CFLAGS.
20518 2005-09-30 Richard Henderson <rth@redhat.com>
20520 * configure.ac: Determine whether -pthread or -lpthread is needed.
20521 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
20522 * Makefile.in, configure: Rebuild.
20524 2005-09-28 Richard Henderson <rth@redhat.com>
20526 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20527 * testsuite/libgomp.dg/omp-single-3.c: New test.
20529 2005-09-28 Diego Novillo <dnovillo@redhat.com>
20531 * testsuite/libgomp.dg/omp-single-2.c: New test.
20532 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20534 2005-09-27 Richard Henderson <rth@redhat.com>
20536 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20537 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20539 2005-09-27 Jakub Jelinek <jakub@redhat.com>
20541 * testsuite/libgomp.dg/omp-loop03.c: New test.
20543 2005-09-27 Diego Novillo <dnovillo@redhat.com>
20545 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20547 2005-09-27 Diego Novillo <dnovillo@redhat.com>
20549 * testsuite/libgomp.dg/omp-single-1.c: New test.
20550 * testsuite/libgomp.dg/shared-1.c: Return 0.
20551 Add prototype for abort.
20552 * testsuite/libgomp.dg/shared-2.c: Likewise.
20554 2005-09-26 Jakub Jelinek <jakub@redhat.com>
20556 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20559 2005-09-26 Diego Novillo <dnovillo@redhat.com>
20561 * testsuite/libgomp.dg/shared-1.c: New test.
20562 * testsuite/libgomp.dg/shared-2.c: New test.
20564 2005-09-24 Richard Henderson <rth@redhat.com>
20566 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20568 2005-09-24 Richard Henderson <rth@redhat.com>
20570 * iter.c (gomp_iter_static_next): Round up when computing number
20571 of iterations. Don't bother distributing a remainder equally.
20573 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20574 Don't call srand. Zero b before testing.
20577 2005-09-24 Jakub Jelinek <jakub@redhat.com>
20579 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20580 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20582 2005-09-23 Jakub Jelinek <jakub@redhat.com>
20584 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20585 without !$omp end do, followed immediately by subroutine end.
20587 2005-09-23 Diego Novillo <dnovillo@redhat.com>
20589 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20591 2005-09-22 Richard Henderson <rth@redhat.com>
20593 * critical.c (GOMP_critical_name_start): Change argument to void**.
20594 Reuse the pointer space if the mutex fits.
20595 (GOMP_critical_name_end): Likewise.
20596 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20597 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20598 (GOMP_critical_name_end): Likewise.
20599 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20600 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20602 2005-09-20 Richard Henderson <rth@redhat.com>
20604 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20605 (create_lock_lock): New.
20606 (initialize_critical): Initialize it.
20607 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20608 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20610 2005-09-20 Diego Novillo <dnovillo@redhat.com>
20612 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20614 2005-09-20 Diego Novillo <dnovillo@redhat.com>
20616 * testsuite/libgomp.dg/omp-loop01.c: New test.
20617 * testsuite/libgomp.dg/omp-loop02.c: New test.
20619 2005-09-20 Jakub Jelinek <jakub@redhat.com>
20621 * configure.ac (AC_PROG_FC): Add.
20622 (USE_FORTRAN): New automake conditional.
20623 * configure: Rebuilt.
20624 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20625 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20626 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20627 Add rules to build them.
20628 * Makefile.in: Rebuilt.
20629 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20630 OMP_NEST_LOCK_KIND.
20631 * libgomp.map: Add Fortran wrappers.
20632 * libgomp_f.h.in: New file.
20633 * omp_lib.h.in: New file.
20634 * omp_lib.f90.in: New file.
20635 * fortran.c: New file.
20636 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20637 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20638 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20639 libgfortran has been built.
20640 * testsuite/libgomp.fortran/fortran.exp: New file.
20641 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20642 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20643 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20644 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20645 * testsuite/libgomp.fortran/omp_hello.f: New test.
20646 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20647 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20648 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20649 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20650 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20651 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20652 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20653 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20655 2005-08-30 Richard Henderson <rth@redhat.com>
20657 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20658 function for when aliases are not usable.
20659 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20660 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20661 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20662 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20663 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20664 GOMP_loop_ordered_guided_next): Likewise.
20665 * ordered.c (GOMP_ordered_start): Likewise.
20667 2005-08-01 Diego Novillo <dnovillo@redhat.com>
20669 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20670 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20671 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20672 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20673 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20674 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20675 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20676 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20677 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20679 2005-07-07 Eric Christopher <echristo@redhat.com>
20680 Diego Novillo <dnovillo@redhat.com>
20682 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20683 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20685 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20686 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20687 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20688 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20689 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20690 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20691 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20693 2005-06-13 Diego Novillo <dnovillo@redhat.com>
20695 * TOPLEVEL.patch: Remove.
20697 2005-05-16 Richard Henderson <rth@redhat.com>
20699 * configure.ac: Test for clock_gettime.
20700 * config.h.in, configure: Rebuild.
20701 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20702 (omp_get_wtime): Use clock_gettime if available.
20703 (omp_get_wtick): Use clock_getres if available.
20705 2005-05-11 Richard Henderson <rth@redhat.com>
20707 * config/linux/ia64/futex.h: New file.
20708 * configure.tgt: Use it.
20710 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20712 2005-05-07 Richard Henderson <rth@redhat.com>
20714 * config/linux/powerpc/futex.h: New file.
20715 * configure.tgt: Use it.
20717 * config/linux/i486/futex.h: Merge ...
20718 * config/linux/x86_64/futex.h: ... into ...
20719 * config/linux/x86/futex.h: ... here.
20720 * configure.tgt: Update to match.
20722 2005-05-06 Richard Henderson <rth@redhat.com>
20724 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20725 * config/linux/i486/futex.h: Likewise.
20726 * config/linux/x86_64/futex.h: Likewise.
20728 * config/linux/lock.c: New file.
20729 * config/linux/omp-lock.h: New file.
20731 * critical.c, env.h: Don't include omp.h
20732 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20733 * config/posix/time.c: Likewise.
20734 * config/posix/omp-lock.h: New file.
20735 * libgomp.h: Include omp-lock.h and omp.h.
20736 * Makefile.am (nodist_include_HEADERS): New.
20738 * configure.ac (PERL): New.
20739 * mkomp_h.pl: New file.
20740 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20742 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20744 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20745 build directory. Re-add -march=i486 hack.
20747 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20748 (libgomp_link_flags): Remove.
20749 (libgomp_initialized): Remove.
20750 (libgomp_init): Don't protect from reinitialization. Copy code
20751 from libstdc++ for getting the multilib set correctly.
20753 2005-05-05 Richard Henderson <rth@redhat.com>
20755 * config/linux/alpha/futex.h: New file.
20756 * configure.tgt (alpha*-*-linux*): Use it.
20758 * config/posix/mutex.c: New file.
20759 * config/posix/sem.c: Use libgomp.h.
20761 * configure.tgt (x86_64-linux): Also test CC for -m32.
20762 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20764 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
20767 * Makefile.am (SUBDIRS): New.
20768 (libgomp_la_LDFLAGS): Add -lpthread.
20769 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20770 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20772 * libgomp_g.h: New file.
20773 * libgomp.h: Split out all public declarations to libgomp_g.h.
20774 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20775 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20776 * config/linux/sem.h: Likewise.
20777 * config/posix/sem.h: Likewise.
20779 * Makefile.am (AM_LDFLAGS): New.
20780 (libgomp_version_script): Split out from ...
20781 (libgomp_la_LDFLAGS): ... here.
20782 (libgomp_version_info): New.
20783 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20784 (LIBGOMP_ENABLE): New.
20785 (LIBGOMP_CHECK_LINKER_FEATURES): New.
20786 (LIBGOMP_ENABLE_SYMVERS): New.
20787 * configure.ac (AC_INIT): Version 1.0.
20788 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20789 (enable-linux-futex): Likewise. Rename from enable-futex.
20790 (libtool_VERSION): New.
20791 (LIBGOMP_ENABLE_SYMVERS): Use it.
20792 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20793 * Makefile.in, aclocal.m4, configure: Rebuild.
20795 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20796 (gomp_mutex_unlock_slow): Fix typo.
20797 * config/linux/sem.c: Similarly.
20798 (gomp_sem_post_slow): Fix typo.
20799 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20800 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20801 [__PIC__] (sys_futex0): Don't use tmp output in asm.
20803 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20804 (libgomp_la_LDFLAGS): Add top_srcdir to path.
20805 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20806 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
20807 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20808 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20809 LDFLAGS. Pull enable_futex check to top-level.
20810 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
20811 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20813 First attempt at real configury.
20814 * Makefile, config.h: Remove file.
20815 * Makefile.am, Makefile.in: New file.
20816 * acinclude.m4 aclocal.m4: New file.
20817 * configure.ac, configure.tgt, configure: New file.
20819 * config/posix/lock.c: Rename from sys-lock.c.
20820 * config/posix/mutex.h: Rename from sys-mutex.h.
20821 * config/posix/sem.c: Rename from sys-sem.c.
20822 * config/posix/sem.h: Rename from sys-sem.h.
20823 * config/posix/proc.c: Rename from sys-proc.c.
20824 * config/posix/time.c: Rename from sys-proc.c.
20826 * config/linux/mutex.c: New file.
20827 * config/linux/mutex.h: New file.
20828 * config/linux/sem.c: New file.
20829 * config/linux/sem.h: New file.
20830 * config/linux/i486/futex.h: New file.
20831 * config/linux/x86_64/futex.h: New file.
20833 2005-05-04 Richard Henderson <rth@redhat.com>
20835 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20836 * libgomp.h: Declare them.
20837 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20838 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20840 2005-05-04 Richard Henderson <rth@redhat.com>
20842 * libgomp-1 code drop
20844 2005-05-04 Richard Henderson <rth@redhat.com>
20846 * iter.c (gomp_iter_static_next): Return tri-state on 0.
20847 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20848 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20849 (gomp_iter_static_next): Update.
20850 (gomp_ordered_static_next): Update.
20851 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20852 (gomp_loop_ordered_static_start): Likewise. Exit early for a
20853 totally empty range.
20854 (gomp_loop_ordered_static_next): Refine test for calling
20855 gomp_ordered_static_next.
20856 * testsuite/ordered-1.c: Add case for more threads than iterations.
20858 * iter.c (gomp_iter_runtime_next_locked): Remove.
20859 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
20860 gomp_loop_guided_start, gomp_loop_ordered_static_start,
20861 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20862 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20863 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20864 gomp_loop_ordered_guided_next): Downcase name, make static, add
20865 an external alias with the old name.
20866 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20867 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20868 switch and call one of the above static functions.
20869 * libgomp.h: Update.
20871 * work.c (gomp_work_share_start): Lock the mutex for !first too.
20872 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20873 GOMP_loop_guided_start, GOMP_loop_runtime_start,
20874 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20875 GOMP_loop_ordered_guided_start): Update to match.
20876 * sections.c (GOMP_sections_start): Likewise.
20877 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20879 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20880 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20881 Use bounds check instead of modulus.
20882 (gomp_ordered_sync): Split out of GOMP_ordered_start.
20883 (gomp_ordered_last): Don't sync with ordered_owner here.
20884 (gomp_ordered_next): Likewise.
20885 (gomp_ordered_static_loop_next): Likewise.
20886 * loop.c, libgomp.h: Update to match.
20888 * libgomp.h (GOMP_barrier): Declare.
20890 * testsuite/barrier-1.c: New file.
20891 * testsuite/critical-1.c: New file.
20892 * testsuite/ordered-2.c: New file.
20893 * testsuite/ordered-1.c: New file.
20894 * testsuite/sections-1.c: New file.
20895 * testsuite/single-1.c: New file.
20896 * testsuite/Makefile (TESTS): Add them.
20898 2005-05-04 Richard Henderson <rth@redhat.com>
20900 * libgomp.h (struct gomp_work_share): Add ordered_owner.
20901 * loop.c (GOMP_loop_static_start): If not the startup thread,
20902 acquire the mutex to wait for initialization complete.
20903 (GOMP_loop_ordered_static_start): Likewise.
20904 (GOMP_loop_ordered_runtime_start): Likewise.
20905 (GOMP_loop_ordered_static_first): Remove.
20906 (GOMP_loop_ordered_dynamic_first): Remove.
20907 (GOMP_loop_ordered_guided_first): Remove.
20908 (GOMP_loop_ordered_runtime_first): Remove.
20909 * ordered.c (gomp_ordered_loop_first): Post to own release when
20910 we're the first thread.
20911 (gomp_ordered_loop_last): Wait on release if not owner.
20912 (gomp_ordered_loop_next): Likewise.
20913 (gomp_ordered_static_loop_init): New.
20914 (gomp_ordered_static_loop_next): Use ordered_owner.
20915 (GOMP_ordered_start): Likewise.
20916 * work.c (gomp_new_work_share): Initialize ordered_owner.
20918 2005-05-03 Richard Henderson <rth@redhat.com>
20920 * Makefile (OPT): New.
20923 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
20924 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
20925 * libgomp.h, libgomp.map, NOTES: Update to match.
20927 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
20928 Add initialized and thr members.
20929 (gomp_thread_start): Pause when initially spawned to wait for
20930 the whole team to be created.
20931 (gomp_team_start): Release team members at the end.
20933 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
20934 (f_foo_1): Use GOMP_loop_end.
20935 (f_foo_2): Use GOMP_loop_end_nowait.
20937 * testsuite/loop-2.c: New file.
20938 * testsuite/Makefile (TESTS): Add it.
20940 2005-05-03 Richard Henderson <rth@redhat.com>
20942 * iter.c (gomp_iter_static_next): Fix overflow check typo.
20943 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
20944 * team.c (new_team): Initialize oldest_live_gen to 1 if no
20945 initial work_share.
20947 * testsuite/Makefile: New file.
20948 * testsuite/loop-1.c: New file.
20950 2005-05-03 Richard Henderson <rth@redhat.com>
20952 Initial implementation and checkin.
20954 Copyright (C) 2005-2024 Free Software Foundation, Inc.
20956 Copying and distribution of this file, with or without modification,
20957 are permitted in any medium without royalty provided the copyright
20958 notice and this notice are preserved.