]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
libgomp.texi: Document omp_pause_resource{,_all} and omp_target_memcpy*
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
e2d1f858
GA
12024-01-22 Tobias Burnus <tburnus@baylibre.com>
2
3 * testsuite/libgomp.c/declare-variant-4-fiji.c: Xfail as fiji
4 support is no longer enabled by default.
5 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
6
11a5f26c
GA
72024-01-20 John David Anglin <danglin@gcc.gnu.org>
8
9 * testsuite/libgomp.fortran/alloc-comp-3.f90: Increase
10 timeout by 2 on hppa*-*-*.
11
122024-01-20 John David Anglin <danglin@gcc.gnu.org>
13
14 * testsuite/libgomp.c/simd-math-1.c: Don't run on
15 hppa*-*-hpux*.
16
2c213ac9
GA
172024-01-17 Jakub Jelinek <jakub@redhat.com>
18
19 PR middle-end/113409
20 * testsuite/libgomp.c/bitint-1.c: New test.
21
1a80e955
GA
222024-01-11 Julian Brown <julian@codesourcery.com>
23
24 * libgomp.texi: C/C++ lvalues are supported now for map/to/from.
25 * testsuite/libgomp.c-c++-common/ind-base-4.c: New test.
26 * testsuite/libgomp.c-c++-common/unary-ptr-1.c: New test.
27
45af8962
GA
282024-01-10 Jakub Jelinek <jakub@redhat.com>
29
30 PR libgomp/113192
31 * configure.ac (FLOCK): Use $libgomp_abs_srcdir/testsuite/flock
32 instead of \$(abs_top_srcdir)/testsuite/flock.
33 * configure: Regenerated.
34
73ce73fc
GA
352024-01-09 Julian Brown <julian@codesourcery.com>
36
37 * testsuite/libgomp.c++/baseptrs-4.C: Remove commented-out cases that
38 now work.
39 * testsuite/libgomp.c++/baseptrs-6.C: New test.
40 * testsuite/libgomp.c++/ind-base-1.C: New test.
41 * testsuite/libgomp.c++/ind-base-2.C: New test.
42 * testsuite/libgomp.c++/lvalue-tofrom-1.C: New test.
43 * testsuite/libgomp.c++/lvalue-tofrom-2.C: New test.
44 * testsuite/libgomp.c++/map-comma-1.C: New test.
45 * testsuite/libgomp.c++/map-rvalue-ref-1.C: New test.
46 * testsuite/libgomp.c++/struct-ref-1.C: New test.
47 * testsuite/libgomp.c-c++-common/array-field-1.c: New test.
48 * testsuite/libgomp.c-c++-common/array-of-struct-1.c: New test.
49 * testsuite/libgomp.c-c++-common/array-of-struct-2.c: New test.
50
512024-01-09 Jakub Jelinek <jakub@redhat.com>
52
53 PR libgomp/113192
54 * configure.ac (FLOCK): Use \$(abs_top_srcdir)/testsuite/flock
55 rather than $srcdir/testsuite/flock.
56 * configure: Regenerated.
57
6b1d6a2d
GA
582024-01-08 Thomas Schwinge <thomas@codesourcery.com>
59
60 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
61 'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
62
632024-01-08 Julian Brown <julian@codesourcery.com>
64
65 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
66 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
67 hsa_amd_memory_async_copy_rect_fn function pointers.
68 (init_hsa_runtime_functions): Add above functions, with
69 DLSYM_OPT_FN.
70 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
71
722024-01-08 Tobias Burnus <tobias@codesourcery.com>
73
74 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
75 (gcn_isa_name_len): Fix length.
76 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
77
b368d799
GA
782024-01-06 Tobias Burnus <tobias@codesourcery.com>
79
80 * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
81 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
82 omp_target_is_accessible.
83 (Environment Display Routine): Uncomment and add
84 omp_display_env description.
85 (OMP_DISPLAY_ENV): Update wording, add 'see also'.
86
872024-01-06 Mark Wielaard <mark@klomp.org>
88
89 * configure: Regenerate.
90
eb84e8d3
GA
912024-01-03 Jakub Jelinek <jakub@redhat.com>
92
93 * libgomp.texi: Bump @copying's copyright year.
94
cdfaa4aa
GA
952023-12-21 Julian Brown <julian@codesourcery.com>
96
97 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
98
7ad9058c
GA
992023-12-20 Julian Brown <julian@codesourcery.com>
100
101 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
102 avoid out-of-bounds array checks in CUDA runtime.
103 (GOMP_OFFLOAD_memcpy3d): Likewise.
104 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
105
08c5d26a
GA
1062023-12-18 Jakub Jelinek <jakub@redhat.com>
107
108 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
109 drop because of that unneeded target selector from other directives
110 and remove the aarch64 specific ones.
111
ea54b390
GA
1122023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
113
114 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
115 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
116
1172023-12-15 Thomas Schwinge <thomas@codesourcery.com>
118
119 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
120 'dg-output's to 'target offload_device_nonshared_as'.
121
1222023-12-15 Julian Brown <julian@codesourcery.com>
123
124 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
125 goacc_exit_data_internal, GOACC_enter_exit_data): Add
126 GOMP_MAP_STRUCT_UNORD support.
127 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
128 Detect incorrect use of variable indexing of arrays of structs.
129 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
130 GOMP_MAP_STRUCT_UNORD support.
131 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
132 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
133 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
134 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
135
e8018ccf
GA
1362023-12-13 Julian Brown <julian@codesourcery.com>
137
138 * testsuite/libgomp.fortran/map-subarray.f90: New test.
139 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
140 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
141 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
142 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
143 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
144 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
145 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
146 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
147 descriptor-mapping changes. Remove XFAIL.
148
1492023-12-13 Julian Brown <julian@codesourcery.com>
150
151 * target.c (gomp_map_pointer): Modify zero-length array section
152 pointer handling.
153 (gomp_attach_pointer): Likewise.
154 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
155 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
156 "unassociated" pointers).
157 (gomp_map_vars_internal): Handle zero-sized struct members. Add
158 diagnostic for unmapped struct pointer members.
159 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
160 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
161 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
162 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
163 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
164 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
165 "free".
166 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
167 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
168 * testsuite/libgomp.c++/class-array-1.C: New test.
169 * testsuite/libgomp.c++/baseptrs-3.C: New test.
170 * testsuite/libgomp.c++/baseptrs-4.C: New test.
171 * testsuite/libgomp.c++/baseptrs-5.C: New test.
172 * testsuite/libgomp.c++/baseptrs-8.C: New test.
173 * testsuite/libgomp.c++/baseptrs-9.C: New test.
174 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
175 * testsuite/libgomp.c++/target-48.C: New test.
176 * testsuite/libgomp.c++/target-49.C: New test.
177 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
178 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
179 semantics.
180 * testsuite/libgomp.c++/target-this-3.C: Likewise.
181 * testsuite/libgomp.c++/target-this-4.C: Likewise.
182 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
183 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
184
1852023-12-13 Thomas Schwinge <thomas@codesourcery.com>
186
187 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
188 vs. '%ld' format string mismatch.
189
1902023-12-13 Andrew Stubbs <ams@codesourcery.com>
191 Thomas Schwinge <thomas@codesourcery.com>
192
193 * allocator.c (MEMSPACE_ALLOC): Add PIN.
194 (MEMSPACE_CALLOC): Add PIN.
195 (MEMSPACE_REALLOC): Add PIN.
196 (MEMSPACE_FREE): Add PIN.
197 (MEMSPACE_VALIDATE): Add PIN.
198 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
199 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
200 (omp_aligned_calloc): Likewise.
201 (omp_realloc): Likewise.
202 (omp_free): Likewise.
203 * config/linux/allocator.c: New file.
204 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
205 (MEMSPACE_CALLOC): Add PIN.
206 (MEMSPACE_REALLOC): Add PIN.
207 (MEMSPACE_FREE): Add PIN.
208 (MEMSPACE_VALIDATE): Add PIN.
209 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
210 (MEMSPACE_CALLOC): Add PIN.
211 (MEMSPACE_REALLOC): Add PIN.
212 (MEMSPACE_FREE): Add PIN.
213 * libgomp.texi: Switch pinned trait to supported.
214 (MEMSPACE_VALIDATE): Add PIN.
215 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
216 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
217 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
218 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
219
d5c96225
GA
2202023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
221
222 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
223 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
224 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
225
2262023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
227
228 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
229 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
230
2312023-12-11 Tobias Burnus <tobias@codesourcery.com>
232
233 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
234
dd3b75d8
GA
2352023-12-08 Tobias Burnus <tobias@codesourcery.com>
236
237 * allocator.c (struct fort_alloc_splay_tree_key_s,
238 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
239 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
240 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
241 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
242 (GOMP_5.1.1): ... here.
243 * libgomp.texi (Impl. Status, Memory management): Update for
244 allocators/allocate directives.
245 * splay-tree.c: Handle splay_tree_static define to declare all
246 functions as static.
247 (splay_tree_lookup_node): New.
248 * splay-tree.h: Handle splay_tree_decl_only define.
249 (splay_tree_lookup_node): New prototype.
250 * target.c: Define splay_tree_static for 'reverse'.
251 * testsuite/libgomp.fortran/allocators-1.f90: New test.
252 * testsuite/libgomp.fortran/allocators-2.f90: New test.
253 * testsuite/libgomp.fortran/allocators-3.f90: New test.
254 * testsuite/libgomp.fortran/allocators-4.f90: New test.
255 * testsuite/libgomp.fortran/allocators-5.f90: New test.
256
ae9e48e5
GA
2572023-12-06 Andrew Stubbs <ams@codesourcery.com>
258
259 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
260 (TEAM_ARENA_FREE): Likewise.
261 (TEAM_ARENA_END): Likewise.
262 (GCN_LOWLAT_HEAP): New.
263 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
264 (__gcn_lowlat_init): New prototype.
265 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
266 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
267 (TEAM_ARENA_FREE): Likewise.
268 (TEAM_ARENA_END): Likewise.
269 * plugin/plugin-gcn.c (lowlat_size): New variable.
270 (print_kernel_dispatch): Label the group_segment_size purpose.
271 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
272 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
273 (run_kernel): Use shadow; don't assume values.
274 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
275 * config/gcn/allocator.c: New file.
276 * libgomp.texi: Document low-latency implementation details.
277
2782023-12-06 Andrew Stubbs <ams@codesourcery.com>
279
280 * allocator.c (MEMSPACE_VALIDATE): New macro.
281 (omp_init_allocator): Use MEMSPACE_VALIDATE.
282 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
283 (omp_aligned_calloc): Likewise.
284 (omp_realloc): Likewise.
285 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
286 (MEMSPACE_VALIDATE): New macro.
287 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
288 * libgomp.texi: Document low-latency implementation details.
289 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
290 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
291 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
292 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
293 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
294 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
295 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
296
2972023-12-06 Andrew Stubbs <ams@codesourcery.com>
298 Kwok Cheung Yeung <kcy@codesourcery.com>
299 Thomas Schwinge <thomas@codesourcery.com>
300
301 * allocator.c (MEMSPACE_ALLOC): New macro.
302 (MEMSPACE_CALLOC): New macro.
303 (MEMSPACE_REALLOC): New macro.
304 (MEMSPACE_FREE): New macro.
305 (predefined_alloc_mapping): New array. Add _Static_assert to match.
306 (ARRAY_SIZE): New macro.
307 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
308 Implement fall-backs for predefined allocators. Simplify existing
309 fall-backs.
310 (omp_free): Use MEMSPACE_FREE.
311 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
312 predefined allocators. Simplify existing fall-backs.
313 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
314 Implement fall-backs for predefined allocators. Simplify existing
315 fall-backs.
316 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
317 (__nvptx_lowlat_init): New prototype.
318 (gomp_nvptx_main): Call __nvptx_lowlat_init.
319 * libgomp.texi: Update memory space table.
320 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
321 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
322 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
323 * basic-allocator.c: New file.
324 * config/nvptx/allocator.c: New file.
325 * testsuite/libgomp.c/omp_alloc-1.c: New test.
326 * testsuite/libgomp.c/omp_alloc-2.c: New test.
327 * testsuite/libgomp.c/omp_alloc-3.c: New test.
328 * testsuite/libgomp.c/omp_alloc-4.c: New test.
329 * testsuite/libgomp.c/omp_alloc-5.c: New test.
330 * testsuite/libgomp.c/omp_alloc-6.c: New test.
331
8428bcd7
GA
3322023-11-30 Thomas Schwinge <thomas@codesourcery.com>
333
334 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
335 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
336 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
337 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
338 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
339 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
340 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
341 * testsuite/libgomp.c/declare-variant-4.c: New.
342
3432023-11-30 Thomas Schwinge <thomas@codesourcery.com>
344
345 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
346 into 'dg-do link'.
347 * testsuite/libgomp.c/declare-variant-3.c: New.
348 * testsuite/libgomp.c/declare-variant-3.h: Extend.
349
3502023-11-30 Thomas Schwinge <thomas@codesourcery.com>
351
352 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
353 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
354 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
355 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
356 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
357 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
358 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
359 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
360 'scan-offload-tree-dump' to
361 'only_for_offload_target amdgcn-amdhsa'.
362 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
363 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
364 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
365 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
366 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
367
3682023-11-30 Thomas Schwinge <thomas@codesourcery.com>
369
370 * testsuite/libgomp.c/declare-variant-3-sm30.c:
371 'dg-additional-options -foffload=nvptx-none'.
372 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
373 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
374 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
375 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
376 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
377
31d8cf17
GA
3782023-11-29 Thomas Schwinge <thomas@codesourcery.com>
379
380 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
381 'scan-offload-ipa-dump's to
382 'only_for_offload_target amdgcn-amdhsa'.
383 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
384 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
385
77cf1dba
GA
3862023-11-24 Tobias Burnus <tobias@codesourcery.com>
387
388 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
389 is now supported.
390
26a7e775
GA
3912023-11-22 Thomas Schwinge <thomas@codesourcery.com>
392
393 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
394 (f75, f80, f): Add '__attribute__ ((noipa))'.
395 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
396 (gfx908, gfx90a, f): Likewise.
397
17cc2e57
GA
3982023-11-15 Andrew Stubbs <ams@codesourcery.com>
399 Andrew Jenner <andrew@codesourcery.com>
400
401 * plugin/plugin-gcn.c (max_isa_vgprs): New.
402 (run_kernel): CDNA2 devices have more VGPRs.
403
b9fd8399
GA
4042023-11-10 Tobias Burnus <tobias@codesourcery.com>
405
406 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
407 renamed section from TR11.
408
c48f1056
GA
4092023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
410
411 * config/linux/target-indirect.c: Move to...
412 * target-indirect.c: ...here.
413
4142023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
415
416 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
417 * Makefile.in: Regenerate.
418 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
419 (GOMP_OFFLOAD_load_image): Add extra argument.
420 * libgomp.h (struct indirect_splay_tree_key_s): New.
421 (indirect_splay_tree_node, indirect_splay_tree,
422 indirect_splay_tree_key): New.
423 (indirect_splay_compare): New.
424 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
425 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
426 calls in target region and on indirect clause.
427 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
428 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
429 * oacc-host.c (host_load_image): Add extra argument.
430 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
431 enough, read host indirect functions table and pass to
432 load_image_func.
433 * config/accel/target-indirect.c: New.
434 * config/linux/target-indirect.c: New.
435 * config/gcn/team.c (build_indirect_map): Add prototype.
436 (gomp_gcn_enter_kernel): Initialize support for indirect
437 function calls on GCN target.
438 * config/nvptx/team.c (build_indirect_map): Add prototype.
439 (gomp_nvptx_main): Initialize support for indirect function
440 calls on NVPTX target.
441 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
442 indirect functions count.
443 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
444 is high enough, build address translation table and copy it to target
445 memory.
446 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
447 functions count.
448 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
449 is high enough, Build address translation table and copy it to target
450 memory.
451 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
452 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
453 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
454
459866ea
GA
4552023-11-05 Jakub Jelinek <jakub@redhat.com>
456
457 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
458 supported also in C.
459
eac0917b
GA
4602023-10-31 Thomas Schwinge <thomas@codesourcery.com>
461
462 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
463 'acc_map_data' variant.
464
f75fc1f0
GA
4652023-10-25 Thomas Schwinge <thomas@codesourcery.com>
466
467 * oacc-parallel.c (GOACC_data_start): Handle
468 'GOACC_FLAG_LOCAL_DEVICE'.
469 (GOACC_parallel_keyed): Simplify accordingly.
470 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
471
4722023-10-25 Thomas Schwinge <thomas@codesourcery.com>
473
474 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
475 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
476 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
477 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
478 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
479
4802023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
481
482 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
483 GOACC_FLAG_LOCAL_DEVICE case.
484 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
485
3b632746
GA
4862023-10-22 Iain Sandoe <iain@sandoe.co.uk>
487
488 * Makefile.am: Handle Darwin rpaths.
489 * Makefile.in: Regenerate.
490 * configure: Regenerate.
491 * configure.ac: Handle Darwin rpaths
492
6f684dd2
GA
4932023-10-20 Andrew Stubbs <ams@codesourcery.com>
494
495 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
496 (isa_hsa_name): Recognise gfx1030.
497 (isa_code): Likewise.
498 * team.c (defined): Remove s_endpgm.
499
5002023-10-20 Tobias Burnus <tobias@codesourcery.com>
501
502 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
503 _OPENMP >= 201811.
504
d5cfabc6
GA
5052023-10-15 Tobias Burnus <tobias@codesourcery.com>
506
507 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
508 improve wording especially for Fortran; mention -fopenmp-simd.
509 (Enabling OpenACC): Minor cleanup; remove conditional compilation
510 sentinel.
511
5122023-10-15 Tobias Burnus <tobias@codesourcery.com>
513
514 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
515 Actually document what the function does.
516 (GCC_ACC_NOTIFY): Remove unused env var.
517
5182023-10-15 Tobias Burnus <tobias@codesourcery.com>
519
520 * libgomp.texi: Replace most future tense by present tense.
521
b3cb98d7
GA
5222023-10-14 Tobias Burnus <tobias@codesourcery.com>
523
524 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
525 dg-additional-options "-fdump-tree-gimple"; fix scan.
526
5272023-10-14 Tobias Burnus <tobias@codesourcery.com>
528
529 * libgomp.texi: Fix some typos.
530 (Memory Management Routines): Document remaining 5.x routines.
531 (Memory allocation): Make clear when the section applies.
532
5332023-10-14 Tobias Burnus <tobias@codesourcery.com>
534
535 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
536 supports the allocate directive for stack variables.
537 * testsuite/libgomp.fortran/allocate-5.f90: New test.
538 * testsuite/libgomp.fortran/allocate-6.f90: New test.
539 * testsuite/libgomp.fortran/allocate-7.f90: New test.
540 * testsuite/libgomp.fortran/allocate-8.f90: New test.
541
f9ef2e6d
GA
5422023-10-12 Tobias Burnus <tobias@codesourcery.com>
543
544 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
545 OMP_TARGET_OFFLOAD.
546 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
547 clarify MANDATORY behavior.
548
5492023-10-12 Zhang, Jun <jun.zhang@intel.com>
550
551 * env.c (initialize_env): Use do_adjust_default_spincount.
552 * config/linux/x86/spincount.h: New file.
553
00c67d62
GA
5542023-10-08 Tobias Burnus <tobias@codesourcery.com>
555
556 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
557
0defa2a0
GA
5582023-10-06 Tobias Burnus <tobias@codesourcery.com>
559
560 * libgomp.texi (Device Memory Routines): New.
561
bf2e66e3
GA
5622023-10-04 Tobias Burnus <tobias@codesourcery.com>
563
564 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
565 and that other target archs have no 'arch'/'isa' traits implemented.
566
4907d220
GA
5672023-09-20 Tobias Burnus <tobias@codesourcery.com>
568
569 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
570 implemented for C only.
571 * testsuite/libgomp.c/allocate-4.c: New test.
572 * testsuite/libgomp.c/allocate-5.c: New test.
573 * testsuite/libgomp.c/allocate-6.c: New test.
574
5752023-09-20 Jakub Jelinek <jakub@redhat.com>
576
577 PR c++/111392
578 * libgomp.texi: Mark decl attribute was added to the C++ attribute
579 syntax as implemented.
580
590a8bec
GA
5812023-09-19 Jakub Jelinek <jakub@redhat.com>
582
583 PR libgomp/111413
584 * env.c (initialize_env): Don't dereference environ if it is NULL.
585 Reindent.
586
6b78e9a5
GA
5872023-09-18 Richard Biener <rguenther@suse.de>
588
589 PR tree-optimization/111294
590 * team.c (gomp_team_start): Assert alloca size to avoid false
591 positive alloc-size diagnostic.
592
a1c20158
GA
5932023-09-12 Thomas Schwinge <thomas@codesourcery.com>
594 Chung-Lin Tang <cltang@codesourcery.com>
595
596 PR testsuite/91884
597 PR testsuite/109951
598 * configure.ac: Revert earlier changes, instead
599 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
600 * Makefile.in: Regenerate.
601 * configure: Likewise.
602 * testsuite/Makefile.in: Likewise.
603 * testsuite/lib/libgomp.exp (libgomp_init): Remove
604 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
605 If '--with-build-sysroot=[...]' was specified, use it for
606 build-tree testing.
607 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
608 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
609 (SYSROOT_CFLAGS_FOR_TARGET): Set.
610 * testsuite/libgomp.c++/c++.exp (lang_source_re)
611 (lang_include_flags): Set for build-tree testing.
612 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
613 (lang_include_flags): Likewise.
614
109c11f6
GA
6152023-09-07 Tobias Burnus <tobias@codesourcery.com>
616
617 * libgomp.texi (Memory Management Routines): New; add documentation for
618 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
619 omp_get_default_allocator.
620 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
621
478c37e7
TB
6222023-09-07 Tobias Burnus <tobias@codesourcery.com>
623
624 * target.c (gomp_unload_device): Remove tailing whitespace.
625
d820cd78
GA
6262023-09-04 Tobias Burnus <tobias@codesourcery.com>
627 Thomas Schwinge <thomas@codesourcery.com>
628
629 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
630
b8863640
GA
6312023-08-25 Sandra Loosemore <sandra@codesourcery.com>
632
633 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
634
6352023-08-25 Sandra Loosemore <sandra@codesourcery.com>
636
637 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
638 * testsuite/libgomp.fortran/imperfect1.f90: New.
639 * testsuite/libgomp.fortran/imperfect2.f90: New.
640 * testsuite/libgomp.fortran/imperfect3.f90: New.
641 * testsuite/libgomp.fortran/imperfect4.f90: New.
642 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
643 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
644 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
645 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
646
6472023-08-25 Sandra Loosemore <sandra@codesourcery.com>
648
649 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
650 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
651 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
652 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
653 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
654 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
655 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
656 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
657 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
658 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
659
6602023-08-25 Sandra Loosemore <sandra@codesourcery.com>
661
662 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
663 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
664 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
665 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
666 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
667 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
668 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
669 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
670 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
671 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
672 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
673 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
674 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
675
6cd85273
GA
6762023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
677
678 * testsuite/lib/libgomp.exp: Add effective target.
679 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
680 functions.
681
6822023-08-22 Tobias Burnus <tobias@codesourcery.com>
683
684 * libgomp.texi (OpenMP 5.2 status): Add depobj with
685 destroy-var argument as 'N'. Mark defaultmap with
686 'all' category as 'Y'.
687
1ba33636
GA
6882023-08-19 Tobias Burnus <tobias@codesourcery.com>
689
690 PR middle-end/111017
691 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
692
1eb2433f
GA
6932023-08-17 Tobias Burnus <tobias@codesourcery.com>
694
695 PR libgomp/111024
696 * allocator.c (gomp_init_libnuma): Call numa_available; if
697 not available or not returning 0, disable libnuma usage.
698
4b92dba7
GA
6992023-08-07 Nick Alcock <nick.alcock@oracle.com>
700
701 * configure: Regenerate.
702
7032023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
704
705 * configure: Regenerate.
706
7072023-08-07 Nick Alcock <nick.alcock@oracle.com>
708
709 * configure: Regenerate.
710
7112023-08-07 Nick Alcock <nick.alcock@oracle.com>
712
713 * configure: Regenerate.
714
7152023-08-07 H.J. Lu <hjl.tools@gmail.com>
716
717 * configure: Regenerate.
718
7192023-08-07 H.J. Lu <hjl.tools@gmail.com>
720
721 * configure: Regenerate.
722
861962ee
GA
7232023-07-29 Tobias Burnus <tobias@codesourcery.com>
724
725 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
726 GOMP_OFFLOAD_CAP_SHARED_MEM.
727 (omp_target_memcpy_rect_copy): Likewise for lock condition.
728 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
729 memcpy3d/memcpy2d.
730 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
731 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
732 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
733
5278cd6a
GA
7342023-07-26 Tobias Burnus <tobias@codesourcery.com>
735
736 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
737 GOMP_OFFLOAD_memcpy3d): New prototypes.
738 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
739 and memcpy3d_func.
740 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
741 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
742 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
743 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
744 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
745 GOMP_OFFLOAD_memcpy3d): New.
746 * target.c (omp_target_memcpy_rect_worker):
747 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
748 Permit all device-to-device copyies; invoke new plugins for
749 2D and 3D copying when available.
750 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
751 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
752 * testsuite/libgomp.fortran/target-12.f90: Likewise.
753 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
754
7552023-07-26 Tobias Burnus <tobias@codesourcery.com>
756
757 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
758 (Tasking Routines): Document omp_in_explicit_task.
759 (Implementation-defined ICV Initialization): Use @ref not @code.
760
e2bf82d5
GA
7612023-07-20 Tobias Burnus <tobias@codesourcery.com>
762
763 * libgomp.texi (OpenMP Runtime Library Routines):
764 Split long list by adding sections and moving routines there.
765 (OMP_ALLOCATORS): Fix typo.
766
49bed11d
GA
7672023-07-19 Tobias Burnus <tobias@codesourcery.com>
768
769 PR fortran/107424
770 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
771 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
772 commented tests.
773 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
774 test file; tests are in non-rectangular-loop-1.f90.
775 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
776 testcase to use a non-constant step to retain the 'sorry' test.
777 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
778
473c1b58
GA
7792023-07-17 Tobias Burnus <tobias@codesoucery.com>
780 Chung-Lin Tang <cltang@codesourcery.com>
781
782 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
783 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
784
18dac101
GA
7852023-07-14 Tobias Burnus <tobias@codesourcery.com>
786
787 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
788 the traits. Add crossref to 'Memory allocation'.
789 (Memory allocation): Refer to OMP_ALLOCATOR for the available
790 traits and allocators/mem spaces; document the default value
791 for the pool_size trait.
792
7932023-07-14 Tobias Burnus <tobias@codesourcery.com>
794
795 * allocator.c (omp_init_allocator): Check whether symbol from
796 dlopened libnuma is available before using libnuma for
797 allocations.
798
3d0ca8b5
GA
7992023-07-13 David Edelsohn <dje.gcc@gmail.com>
800
801 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
802 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
803 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
804
15939bae
GA
8052023-07-12 Tobias Burnus <tobias@codesourcery.com>
806
807 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
808 'Memory allocation' section which contains the full status.
809 (TR11): Remove differently worded duplicated entry.
810
8112023-07-12 Tobias Burnus <tobias@codesourcery.com>
812
813 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
814 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
815 add GOMP_MEMKIND_LIBNUMA.
816 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
817 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
818 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
819 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
820 needed.
821 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
822 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
823 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
824 updated for libnuma usage.
825 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
826 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
827
af3d3ce3
GA
8282023-07-11 Tobias Burnus <tobias@codesourcery.com>
829
830 * allocator.c (omp_init_allocator): Use malloc for
831 omp_high_bw_mem_space when the memkind lib is unavailable
832 instead of returning omp_null_allocator.
833 * libgomp.texi (OpenMP 5.0): Fix typo.
834 (Memory allocation with libmemkind): Document implementation
835 in more detail.
836
270742ce
GA
8372023-06-22 Tobias Burnus <tobias@codesourcery.com>
838
839 * libgomp.texi: Use @var for ICV vars.
840 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
841 document which ICV is set and which scope the ICV has; extend/cleanup
842 some @ref.
843 (Implementation-defined ICV Initialization): New.
844 (nvptx): Document the implementation-defined used per-warp stack size.
845
e517d3f5
GA
8462023-06-19 Thomas Schwinge <thomas@codesourcery.com>
847
848 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
849 error.
850
8512023-06-19 Tobias Burnus <tobias@codesourcery.com>
852
853 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
854 as expected dg-output.
855
8562023-06-19 Tobias Burnus <tobias@codesourcery.com>
857
858 PR middle-end/110270
859 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
860 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
861 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
862 * testsuite/libgomp.c/target-19.c: Update expected value.
863 * testsuite/libgomp.c++/target-18.C: Likewise.
864 * testsuite/libgomp.c++/target-19.C: Likewise.
865 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
866 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
867 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
868
f10a4ce0
GA
8692023-06-16 Tobias Burnus <tobias@codesourcery.com>
870
871 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
872 gomp_init_targets_once was called before using default-device-var.
873 * testsuite/libgomp.c/target-55.c: New test.
874 * testsuite/libgomp.c/target-55a.c: New test.
875
7ff79341
GA
8762023-06-15 Tobias Burnus <tobias@codesourcery.com>
877
878 * env.c (gomp_def_allocator_envvar): New var.
879 (parse_allocator): Handle OpenMP 5.1 syntax.
880 (cleanup_env): New.
881 (omp_display_env): Output gomp_def_allocator_envvar
882 for an allocator with traits.
883 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
884 OMP_DISPLAY_AFFINITY): New.
885 * testsuite/libgomp.c/allocator-1.c: New test.
886 * testsuite/libgomp.c/allocator-2.c: New test.
887 * testsuite/libgomp.c/allocator-3.c: New test.
888 * testsuite/libgomp.c/allocator-4.c: New test.
889 * testsuite/libgomp.c/allocator-5.c: New test.
890 * testsuite/libgomp.c/allocator-6.c: New test.
891
c1c5edef
GA
8922023-06-14 Thomas Schwinge <thomas@codesourcery.com>
893
894 * target.c (resolve_device): Align a
895 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
896 * testsuite/libgomp.c/target-51.c: Adjust.
897
8982023-06-14 Thomas Schwinge <thomas@codesourcery.com>
899
900 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
901 set.
902 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
903 Likewise.
904 * testsuite/libgomp.c/simd-math-1.c: Remove
905 '-foffload-options=-lm'.
906 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
907 Likewise.
908 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
909 Likewise.
910
9112023-06-14 Thomas Schwinge <thomas@codesourcery.com>
912
913 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
914 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
915 Likewise.
916
9172023-06-14 Thomas Schwinge <thomas@codesourcery.com>
918
919 * testsuite/libgomp.c/target-51.c: Fix typo.
920
9212023-06-14 Tobias Burnus <tobias@codesourcery.com>
922
923 * env.c (gomp_default_icv_values): Init default_device_var to
924 an nonconforming value - INT_MIN.
925 (initialize_env): After env-var parsing, set default_device_var to
926 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
927 (omp_display_env): If default_device_var is INT_MIN, call
928 gomp_init_targets_once.
929 * icv-device.c (omp_get_default_device): Likewise.
930 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
931 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
932 * target.c (resolve_device): Improve error message device-num < 0
933 with 'mandatory' and no no-host devices available.
934 (gomp_target_init): Set default-device-var if INT_MIN.
935 * testsuite/libgomp.c/target-48.c: New test.
936 * testsuite/libgomp.c/target-49.c: New test.
937 * testsuite/libgomp.c/target-50.c: New test.
938 * testsuite/libgomp.c/target-50a.c: New test.
939 * testsuite/libgomp.c/target-51.c: New test.
940 * testsuite/libgomp.c/target-52.c: New test.
941 * testsuite/libgomp.c/target-53.c: New test.
942 * testsuite/libgomp.c/target-54.c: New test.
943
532fb120
GA
9442023-06-13 Tobias Burnus <tobias@codesourcery.com>
945
946 PR libgomp/109837
947 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
948 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
949
9d250bdb
GA
9502023-06-12 Tobias Burnus <tobias@codesourcery.com>
951
952 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
953 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
954 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
955 error message.
956 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
957 changed error message.
958 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
959 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
960 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
961 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
962 extend testcase to check that data is copied when needed.
963 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
964 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
965
8c5b1365
GA
9662023-06-07 Thomas Schwinge <thomas@codesourcery.com>
967 Tobias Burnus <tobias@codesourcery.com>
968
969 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
970 also for non-offload_device targets; check that it runs
971 successfully for those and for all until a checkpoint for all
972 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
973 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
974 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
975 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
976 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
977 add missing vars to map clause.
978
4f0d4825
GA
9792023-06-06 Tobias Burnus <tobias@codesourcery.com>
980
981 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
982 unified_address requirement as supported.
983 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
984 'unified_address' from the not-supported requirements.
985
9862023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
987 Tobias Burnus <tobias@codesourcery.com>
988
989 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
990 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
991 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
992 modifier.
993 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
994 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
995 Emit runtime error if memory region not present.
996 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
997 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
998 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
999 * testsuite/libgomp.fortran/target-present-1.f90: New test.
1000 * testsuite/libgomp.fortran/target-present-2.f90: New test.
1001 * testsuite/libgomp.fortran/target-present-3.f90: New test.
1002
829d5975
GA
10032023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1004
1005 PR testsuite/66005
1006 * testsuite/lib/libgomp.exp: 'flock' through stdout.
1007 * testsuite/flock: New.
1008 * configure.ac (FLOCK): Point to that if no 'flock' available, but
1009 'perl' is.
1010 * configure: Regenerate.
1011
10122023-06-02 Thomas Schwinge <thomas@codesourcery.com>
1013
1014 * configure.ac (PERL): Remove.
1015 * configure: Regenerate.
1016 * Makefile.in: Likewise.
1017 * testsuite/Makefile.in: Likewise.
1018
84749914
GA
10192023-06-01 Tobias Burnus <tobias@codesourcery.com>
1020
1021 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
1022
6e6bb373
GA
10232023-05-26 Tobias Burnus <tobias@codesourcery.com>
1024
1025 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
1026
4579954f
GA
10272023-05-21 Tobias Burnus <tobias@codesourcery.com>
1028
1029 PR libgomp/109875
1030 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
1031 * config/nvptx/target.c (GOMP_teams4): Likewise.
1032 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
1033 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
1034 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
1035 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
1036
5df01f89
GA
10372023-05-19 Jakub Jelinek <jakub@redhat.com>
1038
1039 PR libgomp/109904
1040 * configure.ac (link_gomp): Include also $DL_LIBS.
1041 * configure: Regenerated.
1042
ff2dcddf
GA
10432023-05-17 Tobias Burnus <tobias@codesourcery.com>
1044
1045 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
1046 'target exit data'.
1047 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
1048 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
1049 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
1050 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
1051
3427b51b
GA
10522023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1053
1054 PR testsuite/66005
1055 * configure.ac: Look for 'flock'.
1056 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1057 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1058 * testsuite/lib/libgomp.exp: ... but here, instead.
1059 (libgomp_load): Override for parallel testing.
1060 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1061 * configure: Regenerate.
1062 * Makefile.in: Regenerate.
1063 * testsuite/Makefile.in: Regenerate.
1064
10652023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1066 Thomas Schwinge <thomas@codesourcery.com>
1067
1068 PR testsuite/66005
1069 * testsuite/Makefile.am (PWD_COMMAND): New variable.
1070 (%/site.exp): New target.
1071 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1072 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1073 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1074 (check_p_subdirs)
1075 (check_DEJAGNU_libgomp_targets): New variables.
1076 ($(check_DEJAGNU_libgomp_targets)): New target.
1077 ($(check_DEJAGNU_libgomp_targets)): New dependency.
1078 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1079 * testsuite/Makefile.in: Regenerate.
1080 * testsuite/lib/libgomp.exp: For parallel testing,
1081 'load_file ../libgomp-test-support.exp'.
1082
10832023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1084
1085 PR testsuite/91884
1086 * configure.ac: 'AC_SUBST(CXX)'.
1087 * configure: Regenerate.
1088 * Makefile.in: Likewise.
1089 * testsuite/Makefile.in: Likewise.
1090 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1091 (GFORTRAN_UNDER_TEST): Set.
1092 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1093 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1094 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1095 * testsuite/libgomp.fortran/fortran.exp: Use
1096 'GFORTRAN_UNDER_TEST'.
1097 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1098
10992023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1100
1101 PR testsuite/91884
1102 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1103 specify compiler.
1104 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1105 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1106 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1107 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1108 Likewise.
1109 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1110 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1111 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1112 Likewise.
1113
20ca33db
GA
11142023-05-12 Tobias Burnus <tobias@codesourcery.com>
1115
1116 PR libstdc++/109816
1117 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1118 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1119
11202023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1121
1122 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1123 'lang_library_path' into a list of 'lang_library_paths'.
1124 * testsuite/libgomp.c++/c++.exp: Adjust.
1125 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1126 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1127 libquadmath, too.
1128 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1129
11302023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1131
1132 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1133 at 'lang_test_file_found'.
1134 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1135 'return' early if not able to test. Simplify 'ld_library_path' setup.
1136 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1137 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1138 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1139
11402023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1141
1142 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1143 first.
1144 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1145 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1146 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1147
11482023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1149
1150 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1151 * testsuite/libgomp.c/c.exp: Likewise.
1152 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1153 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1154 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1155 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1156 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1157
35e324da
GA
11582023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1159
1160 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1161 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1162 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1163 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1164 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1165 'lang_test_file'.
1166 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1167 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1168 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1169 'lang_test_file_found' instead of 'lang_test_file'.
1170
11712023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1172
1173 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1174 set.
1175 * testsuite/libgomp.c++/c++.exp: Likewise.
1176 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1177
11782023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1179
1180 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1181 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1182
212905a4
GA
11832023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1184
1185 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1186 of 'libstdcxx_includes'.
1187 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1188
11892023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1190
1191 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1192 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1193 * libgomp.h (gomp_target_rev): Adjust.
1194 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1195 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1196 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1197 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1198 (rev_off_host_to_dev_cpy): Remove.
1199 (GOMP_OFFLOAD_run): Adjust.
1200
fde093b7
GA
12012023-05-04 Julian Brown <julian@codesourcery.com>
1202
1203 PR fortran/109622
1204 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1205 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1206 vector length warning.
1207 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1208 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1209 missing copyin/copyout variable. Ignore vector length warnings.
1210 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1211 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1212 vector length warnings.
1213 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1214
50205195
GA
12152023-04-28 Julian Brown <julian@codesourcery.com>
1216
1217 PR fortran/109622
1218 * testsuite/libgomp.fortran/pr109622.f90: New test.
1219 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1220 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1221
49cea02d
GA
12222023-04-25 Tobias Burnus <tobias@codesourcery.com>
1223
1224 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1225 * testsuite/libgomp.c/scan-23.c: New test.
1226 * testsuite/libgomp.fortran/scan-2.f90: New test.
1227
579cdc1e
GA
12282023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1229
1230 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1231 weak_undefined options.
1232
13ec81eb
GA
12332023-03-24 Tobias Burnus <tobias@codesourcery.com>
1234
1235 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1236
12372023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1238
1239 PR fortran/104949
1240 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1241 caveat/safeguard.
1242
c8065441
GA
12432023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1244
1245 PR libgomp/90596
1246 * target.c (gomp_map_vars_internal): Allow for
1247 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1248 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1249 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1250 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1251 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1252 Adjust, simplify.
1253 (gomp_offload_free): Remove.
1254 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1255 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1256 (cuda_free_argmem): Remove.
1257 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1258 Adjust.
1259
12602023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1261
1262 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1263 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1264 data.
1265
12662023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1267
1268 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1269 'GOMP_MAP_IF_PRESENT'.
1270 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1271 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1272 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1273 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1274 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1275 testing.
1276 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1277
12782023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1279
1280 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1281 shortcut.
1282
12832023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1284
1285 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1286 another aspect of OpenACC 'async' semantics.
1287
12882023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1289
1290 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1291 position.
1292 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1293 Verify 'acc_ev_alloc', 'acc_ev_free'.
1294
da2b9c6e
GA
12952023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1296
1297 PR libgomp/109062
1298 * env.c (wait_policy): Initialize to -1.
1299 (initialize_icvs): Initialize icvs->wait_policy to -1.
1300 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1301
6a87fdd3
GA
13022023-03-08 Tobias Burnus <tobias@codesourcery.com>
1303
1304 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1305
14db9ed5
GA
13062023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1307 Paul-Antoine Arras <pa@codesourcery.com>
1308
1309 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1310
c88a7c63
GA
13112023-03-01 Tobias Burnus <tobias@codesourcery.com>
1312
1313 PR middle-end/108546
1314 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1315 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1316
b6f98991
GA
13172023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1318
1319 * testsuite/libgomp.fortran/alloc-10.f90: Use
1320 '-Wno-complain-wrong-lang'.
1321 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1322 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1323 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1324 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1325 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1326 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1327 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1328 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1329 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1330 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1331 Likewise.
1332 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1333 Likewise.
1334 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1335 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1336 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1337 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1338 'dg-prune-output'.
1339
88cc4495
GA
13402023-02-16 Jakub Jelinek <jakub@redhat.com>
1341
1342 * libgomp.texi: Fix typos - theads -> threads.
1343
13442023-02-16 Jakub Jelinek <jakub@redhat.com>
1345
1346 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1347 comment typo and improve its wording.
1348
29a35391
GA
13492023-02-15 Tobias Burnus <tobias@codesourcery.com>
1350
1351 * target.c (gomp_target_rev): Dereference ptr
1352 to get device address.
1353 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1354 for unallocated allocatable.
1355
13562023-02-15 Tobias Burnus <tobias@codesourcery.com>
1357
1358 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1359 kind check.
1360 (GOMP_target_enter_exit_data): If the next map item is
1361 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1362 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1363
e92e2c96
GA
13642023-02-09 Tobias Burnus <tobias@codesourcery.com>
1365
1366 PR fortran/107424
1367 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1368 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1369 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1370 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1371 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1372 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1373
8f3b85ef
GA
13742023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1375
1376 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1377 offloading compilation.
1378
49e52115
GA
13792023-02-03 Tobias Burnus <tobias@codesourcery.com>
1380
1381 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1382 freeing not allocated memory.
1383 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1384
13852023-02-03 Tobias Burnus <tobias@codesourcery.com>
1386
1387 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1388 reverse offload.
1389 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1390 reverse-offload requirement.
1391
a37a0cb3
GA
13922023-02-02 Andrew Stubbs <ams@codesourcery.com>
1393
1394 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1395 (DEFAULT_TEAM_ARENA_SIZE): New define.
1396 (struct heap): Move to this file.
1397 (struct kernargs_abi): Likewise.
1398 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1399 the kernargs.
1400 * libgomp.h: Include libgomp-gcn.h.
1401 (TEAM_ARENA_SIZE): Remove.
1402 (team_malloc): Update the error message.
1403 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1404 struct kernargs_abi.
1405 (struct agent_info): Rename team arenas to ephemeral memories.
1406 (struct team_arena_list): Rename ....
1407 (struct ephemeral_memories_list): to this.
1408 (struct heap): Delete.
1409 (team_arena_size): New variable.
1410 (stack_size): New variable.
1411 (print_kernel_dispatch): Update debug messages.
1412 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1413 Read GCN_STACK_SIZE.
1414 (get_team_arena): Rename ...
1415 (configure_ephemeral_memories): ... to this, and set up stacks.
1416 (release_team_arena): Rename ...
1417 (release_ephemeral_memories): ... to this.
1418 (destroy_team_arenas): Rename ...
1419 (destroy_ephemeral_memories): ... to this.
1420 (create_kernel_dispatch): Add num_threads parameter.
1421 Adjust for kernargs_abi refactor and ephemeral memories.
1422 (release_kernel_dispatch): Adjust for ephemeral memories.
1423 (run_kernel): Pass thread-count to create_kernel_dispatch.
1424 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1425 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1426
14272023-02-02 Tobias Burnus <tobias@codesourcery.com>
1428
1429 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1430
0a251e74
GA
14312023-02-01 Tobias Burnus <tobias@codesourcery.com>
1432
1433 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1434 usage, remove unused -fdump-tree-original.
1435 * testsuite/libgomp.fortran/allocate-4.f90: New.
1436
14372023-02-01 Tobias Burnus <tobias@codesourcery.com>
1438
1439 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1440 (GCN): Add item about 'omp requires'.
1441 (nvptx): Likewise; add item about reverse offload.
1442
338eb0f0
GA
14432023-01-27 Tobias Burnus <tobias@codesourcery.com>
1444
1445 PR fortran/108558
1446 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1447
607f278a
GA
14482023-01-23 Tobias Burnus <tobias@codesourcery.com>
1449
1450 * libgomp.texi (OpenMP 5.0): Set non-rectangular
1451 loop nest back to 'P' as Fortran support is incomplete.
1452
0846336d
GA
14532023-01-19 Jakub Jelinek <jakub@redhat.com>
1454
1455 PR middle-end/108459
1456 * testsuite/libgomp.c/pr108459.c: New test.
1457
8d07b193
GA
14582023-01-17 Martin Liska <mliska@suse.cz>
1459
1460 * Makefile.in: Regenerate.
1461 * configure: Regenerate.
1462
d901bf8a
GA
14632023-01-07 LIU Hao <lh_mouse@126.com>
1464
1465 PR middle-end/108300
1466 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1467 <windows.h>.
1468
53ef7c1d
GA
14692023-01-05 Jakub Jelinek <jakub@redhat.com>
1470
1471 PR c++/108286
1472 * testsuite/libgomp.c++/pr108286.C: New test.
1473
fee53a31
GA
14742023-01-02 Jakub Jelinek <jakub@redhat.com>
1475
1476 * libgomp.texi: Bump @copying's copyright year.
1477
de282a20
GA
14782022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1479
1480 PR target/99555
1481 * config/nvptx/bar.c (generation_to_barrier): Remove.
1482 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1483 (GOMP_WAIT_H): Remove.
1484 (#include "../linux/bar.c"): Remove.
1485 (gomp_barrier_wait_end): New function.
1486 (gomp_barrier_wait): Likewise.
1487 (gomp_barrier_wait_last): Likewise.
1488 (gomp_team_barrier_wait_end): Likewise.
1489 (gomp_team_barrier_wait): Likewise.
1490 (gomp_team_barrier_wait_final): Likewise.
1491 (gomp_team_barrier_wait_cancel_end): Likewise.
1492 (gomp_team_barrier_wait_cancel): Likewise.
1493 (gomp_team_barrier_cancel): Likewise.
1494 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1495 (gomp_barrier_init): Remove init of waiters, lock fields.
1496 (gomp_team_barrier_wake): Remove prototype, add new static inline
1497 function.
1498
14992022-12-21 Jakub Jelinek <jakub@redhat.com>
1500
1501 PR c++/108180
1502 * testsuite/libgomp.c++/pr108180.C: New test.
1503
5fb1e674
GA
15042022-12-16 Tobias Burnus <tobias@codesourcery.com>
1505
1506 PR libfortran/108056
1507 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1508 accidentally added file.
1509
c8f767b2
GA
15102022-12-15 Tobias Burnus <tobias@codesourcery.com>
1511
1512 PR libfortran/108056
1513 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1514
26f4aefa
GA
15152022-12-14 Julian Brown <julian@codesourcery.com>
1516
1517 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1518 test.
1519
c6b12b80
GA
15202022-12-10 Tobias Burnus <tobias@codesourcery.com>
1521
1522 * libgomp.h (struct target_mem_desc): Predeclare; move
1523 below after 'reverse_splay_tree_node' and add rev_array
1524 member.
1525 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1526 (reverse_splay_tree_node, reverse_splay_tree,
1527 reverse_splay_tree_key): New typedef.
1528 (struct gomp_device_descr): Add mem_map_rev member.
1529 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1530 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1531 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1532 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1533 splay_tree_callback but returning int not void.
1534 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1535 taking splay_tree_callback_stop as argument.
1536 * splay-tree.c (splay_tree_foreach_internal_lazy,
1537 splay_tree_foreach_lazy): New; but early exit if callback returns
1538 nonzero.
1539 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1540 (gomp_map_lookup_rev): New.
1541 (gomp_load_image_to_device): Handle reverse-offload function
1542 lookup table.
1543 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1544 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1545 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1546 gomp_map_cdata_lookup): New auxiliary structs and functions for
1547 gomp_target_rev.
1548 (gomp_target_rev): Implement reverse offloading and its mapping.
1549 (gomp_target_init): Init current_device.mem_map_rev.root.
1550 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1551 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1552 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1553 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1554 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1555 mapping of on-device allocated variables.
1556
40ce6485
GA
15572022-12-09 Tobias Burnus <tobias@codesourcery.com>
1558
1559 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1560 item about 'align'; mark clause as 'Y' and directive as 'N'.
1561 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1562 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1563
3fe66f7f
GA
15642022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1565
1566 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1567 allow processing of device-specific values.
1568 (omp_set_teams_thread_limit): Likewise.
1569 (ialias): Likewise.
1570 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1571 (omp_set_teams_thread_limit): Likewise.
1572 (ialias): Likewise.
1573 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1574 (ialias): Likewise.
1575 (omp_set_teams_thread_limit): Likewise.
1576 * icv.c (omp_set_teams_thread_limit): Removed.
1577 (omp_get_teams_thread_limit): Likewise.
1578 (ialias): Likewise.
1579 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1580 to the limitation of the number of teams.
1581 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1582 the number of teams by twice the number of compute units.
1583 (parse_target_attributes): Limit the number of teams on gcn offload
1584 devices.
1585 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1586 handling.
1587 (gomp_load_image_to_device): Added a size check for the ICVs struct
1588 variable.
1589 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1590 copy back the ICV values from device to host.
1591 (GOMP_target_ext): Update the number of teams and threads in the kernel
1592 args also considering device-specific values.
1593 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1594 of OMP_TEAMS_THREAD_LIMIT from the environment.
1595 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1596 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1597 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1598 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1599 * testsuite/libgomp.fortran/icv-5.f90: New test.
1600 * testsuite/libgomp.fortran/icv-6.f90: New test.
1601
16022022-12-06 Tobias Burnus <tobias@codesourcery.com>
1603
1604 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1605 (TR11): Add missing '@tab N @tab'.
1606
6eea85a9
GA
16072022-11-30 Tobias Burnus <tobias@codesourcery.com>
1608
1609 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1610
16112022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1612
1613 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1614 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1615 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1616 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1617 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1618 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1619 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1620
b7748535
GA
16212022-11-28 Tobias Burnus <tobias@codesourcery.com>
1622
1623 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1624
d769c504
GA
16252022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1626
1627 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1628 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1629 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1630 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1631
16322022-11-25 Tobias Burnus <tobias@codesourcery.com>
1633
1634 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1635 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1636 as valid and the code having no reverse-offload code.
1637 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1638
16392022-11-25 Tobias Burnus <tobias@codesourcery.com>
1640
1641 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1642 and status for Technical Report (TR) 11.
1643
8b7fee1d
GA
16442022-11-21 Tobias Burnus <tobias@codesourcery.com>
1645
1646 * config/gcn/libgomp-gcn.h (struct output):
1647 Remove 'msg_u64' from the union, change
1648 value_u64[2] to value_u64[6].
1649 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1650 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1651 Likewise.
1652
fb98ede8
GA
16532022-11-19 Tobias Burnus <tobias@codesourcery.com>
1654
1655 * config/gcn/libgomp-gcn.h: New file; contains
1656 struct output, declared previously in plugin-gcn.c.
1657 * config/gcn/target.c: Include it.
1658 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1659 (GOMP_target_ext): Handle reverse offload.
1660 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1661 (struct kernargs): Replace struct def by the one
1662 from libgomp-gcn.h for output_data.
1663 (process_reverse_offload): New.
1664 (console_output): Call it.
1665
80909529
GA
16662022-11-16 Tobias Burnus <tobias@codesourcery.com>
1667 Andrew Stubbs <ams@codesourcery.com>
1668
1669 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1670 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1671
83d400bd
GA
16722022-11-14 Martin Liska <mliska@suse.cz>
1673
1674 Revert:
1675 2022-11-14 Martin Liska <mliska@suse.cz>
1676
1677 * doc/amd-radeon-gcn.rst: New file.
1678 * doc/conf.py: New file.
1679 * doc/copyright.rst: New file.
1680 * doc/cuda-streams-usage.rst: New file.
1681 * doc/enabling-openacc.rst: New file.
1682 * doc/enabling-openmp.rst: New file.
1683 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1684 * doc/first-invocation-openacc-library-api.rst: New file.
1685 * doc/funding.rst: New file.
1686 * doc/general-public-license-3.rst: New file.
1687 * doc/gnu-free-documentation-license.rst: New file.
1688 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1689 * doc/index.rst: New file.
1690 * doc/indices-and-tables.rst: New file.
1691 * doc/introduction.rst: New file.
1692 * doc/memory-allocation-with-libmemkind.rst: New file.
1693 * doc/nvptx.rst: New file.
1694 * doc/offload-target-specifics.rst: New file.
1695 * doc/openacc-environment-variables.rst: New file.
1696 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1697 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1698 * doc/openacc-environment-variables/accproflib.rst: New file.
1699 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1700 * doc/openacc-introduction.rst: New file.
1701 * doc/openacc-library-and-environment-variables.rst: New file.
1702 * doc/openacc-library-interoperability.rst: New file.
1703 * doc/openacc-profiling-interface.rst: New file.
1704 * doc/openacc-runtime-library-routines.rst: New file.
1705 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1706 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1707 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1708 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1709 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1710 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1711 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1712 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1713 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1714 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1715 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1716 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1717 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1718 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1719 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1720 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1721 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1722 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1723 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1724 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1725 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1726 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1727 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1728 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1729 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1730 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1731 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1732 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1733 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1734 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1735 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1736 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1737 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1738 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1739 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1740 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1741 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1742 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1743 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1744 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1745 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1746 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1747 * doc/openmp-context-selectors.rst: New file.
1748 * doc/openmp-environment-variables.rst: New file.
1749 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1750 * doc/openmp-environment-variables/gompdebug.rst: New file.
1751 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1752 * doc/openmp-environment-variables/gompspincount.rst: New file.
1753 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1754 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1755 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1756 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1757 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1758 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1759 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1760 * doc/openmp-environment-variables/ompnested.rst: New file.
1761 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1762 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1763 * doc/openmp-environment-variables/ompplaces.rst: New file.
1764 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1765 * doc/openmp-environment-variables/ompschedule.rst: New file.
1766 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1767 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1768 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1769 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1770 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1771 * doc/openmp-implementation-specifics.rst: New file.
1772 * doc/openmp-implementation-status.rst: New file.
1773 * doc/openmp-implementation-status/openmp-45.rst: New file.
1774 * doc/openmp-implementation-status/openmp-50.rst: New file.
1775 * doc/openmp-implementation-status/openmp-51.rst: New file.
1776 * doc/openmp-implementation-status/openmp-52.rst: New file.
1777 * doc/openmp-runtime-library-routines.rst: New file.
1778 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1779 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1780 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1781 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1782 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1783 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1784 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1785 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1786 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1787 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1788 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1789 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1790 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1791 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1792 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1793 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1794 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1795 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1796 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1797 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1798 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1799 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1800 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1801 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1802 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1803 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1804 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1805 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1806 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1807 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1808 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1809 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1810 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1811 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1812 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1813 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1814 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1815 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1816 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1817 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1818 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1819 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1820 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1821 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1822 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1823 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1824 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1825 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1826 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1827 * doc/reporting-bugs.rst: New file.
1828 * doc/the-libgomp-abi.rst: New file.
1829 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1830 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1831 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1832 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1833 New file.
1834 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1835 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1836 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1837 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1838 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1839 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1840 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1841 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1842 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1843 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1844 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1845
18462022-11-14 Martin Liska <mliska@suse.cz>
1847
1848 Revert:
1849 2022-11-14 Martin Liska <mliska@suse.cz>
1850
1851 * Makefile.in: Support Sphinx based documentation.
1852
18532022-11-14 Martin Liska <mliska@suse.cz>
1854
1855 Revert:
1856 2022-11-14 Martin Liska <mliska@suse.cz>
1857
1858 * libgomp.texi: Removed.
1859
18602022-11-14 Martin Liska <mliska@suse.cz>
1861
1862 Revert:
1863 2022-11-14 Martin Liska <mliska@suse.cz>
1864
1865 * Makefile.in: Support --with-sphinx-build.
1866 * configure.ac: Likewise..
1867 * configure: Regenerate.
1868
18692022-11-14 Martin Liska <mliska@suse.cz>
1870
1871 Revert:
1872 2022-11-09 Martin Liska <mliska@suse.cz>
1873
1874 * Makefile.in: Build info pages conditionally.
1875
18762022-11-14 Martin Liska <mliska@suse.cz>
1877
1878 Revert:
1879 2022-11-14 Martin Liska <mliska@suse.cz>
1880
1881 * doc/amd-radeon-gcn.rst:
3d3b561f 1882 Add trailing newline.
83d400bd 1883 * doc/copyright.rst:
3d3b561f 1884 Add trailing newline.
83d400bd 1885 * doc/cuda-streams-usage.rst:
3d3b561f 1886 Add trailing newline.
83d400bd 1887 * doc/enabling-openacc.rst:
3d3b561f 1888 Add trailing newline.
83d400bd 1889 * doc/enabling-openmp.rst:
3d3b561f 1890 Add trailing newline.
83d400bd 1891 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 1892 Add trailing newline.
83d400bd 1893 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 1894 Add trailing newline.
83d400bd 1895 * doc/funding.rst:
3d3b561f 1896 Add trailing newline.
83d400bd 1897 * doc/general-public-license-3.rst:
3d3b561f 1898 Add trailing newline.
83d400bd 1899 * doc/gnu-free-documentation-license.rst:
3d3b561f 1900 Add trailing newline.
83d400bd 1901 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 1902 Add trailing newline.
83d400bd 1903 * doc/index.rst:
3d3b561f 1904 Add trailing newline.
83d400bd 1905 * doc/indices-and-tables.rst:
3d3b561f 1906 Add trailing newline.
83d400bd 1907 * doc/introduction.rst:
3d3b561f 1908 Add trailing newline.
83d400bd 1909 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 1910 Add trailing newline.
83d400bd 1911 * doc/nvptx.rst:
3d3b561f 1912 Add trailing newline.
83d400bd 1913 * doc/offload-target-specifics.rst:
3d3b561f 1914 Add trailing newline.
83d400bd 1915 * doc/openacc-environment-variables.rst:
3d3b561f 1916 Add trailing newline.
83d400bd 1917 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 1918 Add trailing newline.
83d400bd 1919 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 1920 Add trailing newline.
83d400bd 1921 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 1922 Add trailing newline.
83d400bd 1923 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 1924 Add trailing newline.
83d400bd 1925 * doc/openacc-introduction.rst:
3d3b561f 1926 Add trailing newline.
83d400bd 1927 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 1928 Add trailing newline.
83d400bd 1929 * doc/openacc-library-interoperability.rst:
3d3b561f 1930 Add trailing newline.
83d400bd 1931 * doc/openacc-profiling-interface.rst:
3d3b561f 1932 Add trailing newline.
83d400bd 1933 * doc/openacc-runtime-library-routines.rst:
3d3b561f 1934 Add trailing newline.
83d400bd 1935 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 1936 Add trailing newline.
83d400bd 1937 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 1938 Add trailing newline.
83d400bd 1939 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 1940 Add trailing newline.
83d400bd 1941 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 1942 Add trailing newline.
83d400bd 1943 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 1944 Add trailing newline.
83d400bd 1945 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 1946 Add trailing newline.
83d400bd 1947 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 1948 Add trailing newline.
83d400bd 1949 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 1950 Add trailing newline.
83d400bd 1951 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 1952 Add trailing newline.
83d400bd 1953 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 1954 Add trailing newline.
83d400bd 1955 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 1956 Add trailing newline.
83d400bd 1957 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 1958 Add trailing newline.
83d400bd 1959 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 1960 Add trailing newline.
83d400bd 1961 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 1962 Add trailing newline.
83d400bd 1963 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 1964 Add trailing newline.
83d400bd 1965 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 1966 Add trailing newline.
83d400bd 1967 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 1968 Add trailing newline.
83d400bd 1969 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 1970 Add trailing newline.
83d400bd 1971 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 1972 Add trailing newline.
83d400bd 1973 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 1974 Add trailing newline.
83d400bd 1975 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 1976 Add trailing newline.
83d400bd 1977 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 1978 Add trailing newline.
83d400bd 1979 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 1980 Add trailing newline.
83d400bd 1981 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 1982 Add trailing newline.
83d400bd 1983 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 1984 Add trailing newline.
83d400bd 1985 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 1986 Add trailing newline.
83d400bd 1987 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 1988 Add trailing newline.
83d400bd 1989 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 1990 Add trailing newline.
83d400bd 1991 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 1992 Add trailing newline.
83d400bd 1993 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 1994 Add trailing newline.
83d400bd 1995 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 1996 Add trailing newline.
83d400bd 1997 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 1998 Add trailing newline.
83d400bd 1999 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 2000 Add trailing newline.
83d400bd 2001 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 2002 Add trailing newline.
83d400bd 2003 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 2004 Add trailing newline.
83d400bd 2005 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 2006 Add trailing newline.
83d400bd 2007 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 2008 Add trailing newline.
83d400bd 2009 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 2010 Add trailing newline.
83d400bd 2011 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 2012 Add trailing newline.
83d400bd 2013 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 2014 Add trailing newline.
83d400bd 2015 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 2016 Add trailing newline.
83d400bd 2017 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 2018 Add trailing newline.
83d400bd 2019 * doc/openmp-context-selectors.rst:
3d3b561f 2020 Add trailing newline.
83d400bd 2021 * doc/openmp-environment-variables.rst:
3d3b561f 2022 Add trailing newline.
83d400bd 2023 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 2024 Add trailing newline.
83d400bd 2025 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 2026 Add trailing newline.
83d400bd 2027 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 2028 Add trailing newline.
83d400bd 2029 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 2030 Add trailing newline.
83d400bd 2031 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 2032 Add trailing newline.
83d400bd 2033 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 2034 Add trailing newline.
83d400bd 2035 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 2036 Add trailing newline.
83d400bd 2037 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 2038 Add trailing newline.
83d400bd 2039 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 2040 Add trailing newline.
83d400bd 2041 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 2042 Add trailing newline.
83d400bd 2043 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 2044 Add trailing newline.
83d400bd 2045 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 2046 Add trailing newline.
83d400bd 2047 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 2048 Add trailing newline.
83d400bd 2049 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 2050 Add trailing newline.
83d400bd 2051 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 2052 Add trailing newline.
83d400bd 2053 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 2054 Add trailing newline.
83d400bd 2055 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 2056 Add trailing newline.
83d400bd 2057 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 2058 Add trailing newline.
83d400bd 2059 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 2060 Add trailing newline.
83d400bd 2061 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 2062 Add trailing newline.
83d400bd 2063 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 2064 Add trailing newline.
83d400bd 2065 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 2066 Add trailing newline.
83d400bd 2067 * doc/openmp-implementation-specifics.rst:
3d3b561f 2068 Add trailing newline.
83d400bd 2069 * doc/openmp-implementation-status.rst:
3d3b561f 2070 Add trailing newline.
83d400bd 2071 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 2072 Add trailing newline.
83d400bd 2073 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 2074 Add trailing newline.
83d400bd 2075 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 2076 Add trailing newline.
83d400bd 2077 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 2078 Add trailing newline.
83d400bd 2079 * doc/openmp-runtime-library-routines.rst:
3d3b561f 2080 Add trailing newline.
83d400bd 2081 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 2082 Add trailing newline.
83d400bd 2083 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 2084 Add trailing newline.
83d400bd 2085 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 2086 Add trailing newline.
83d400bd 2087 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 2088 Add trailing newline.
83d400bd 2089 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2090 Add trailing newline.
83d400bd 2091 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2092 Add trailing newline.
83d400bd 2093 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2094 Add trailing newline.
83d400bd 2095 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2096 Add trailing newline.
83d400bd 2097 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2098 Add trailing newline.
83d400bd 2099 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2100 Add trailing newline.
83d400bd 2101 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2102 Add trailing newline.
83d400bd 2103 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2104 Add trailing newline.
83d400bd 2105 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2106 Add trailing newline.
83d400bd 2107 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2108 Add trailing newline.
83d400bd 2109 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2110 Add trailing newline.
83d400bd 2111 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2112 Add trailing newline.
83d400bd 2113 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2114 Add trailing newline.
83d400bd 2115 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2116 Add trailing newline.
83d400bd 2117 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2118 Add trailing newline.
83d400bd 2119 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2120 Add trailing newline.
83d400bd 2121 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2122 Add trailing newline.
83d400bd 2123 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2124 Add trailing newline.
83d400bd 2125 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2126 Add trailing newline.
83d400bd 2127 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2128 Add trailing newline.
83d400bd 2129 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2130 Add trailing newline.
83d400bd 2131 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2132 Add trailing newline.
83d400bd 2133 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2134 Add trailing newline.
83d400bd 2135 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2136 Add trailing newline.
83d400bd 2137 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2138 Add trailing newline.
83d400bd 2139 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2140 Add trailing newline.
83d400bd 2141 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2142 Add trailing newline.
83d400bd 2143 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2144 Add trailing newline.
83d400bd 2145 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2146 Add trailing newline.
83d400bd 2147 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2148 Add trailing newline.
83d400bd 2149 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2150 Add trailing newline.
83d400bd 2151 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2152 Add trailing newline.
83d400bd 2153 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2154 Add trailing newline.
83d400bd 2155 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2156 Add trailing newline.
83d400bd 2157 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2158 Add trailing newline.
83d400bd 2159 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2160 Add trailing newline.
83d400bd 2161 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2162 Add trailing newline.
83d400bd 2163 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2164 Add trailing newline.
83d400bd 2165 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2166 Add trailing newline.
83d400bd 2167 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2168 Add trailing newline.
83d400bd 2169 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2170 Add trailing newline.
83d400bd 2171 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2172 Add trailing newline.
83d400bd 2173 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2174 Add trailing newline.
83d400bd 2175 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2176 Add trailing newline.
83d400bd 2177 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2178 Add trailing newline.
83d400bd 2179 * doc/reporting-bugs.rst:
3d3b561f 2180 Add trailing newline.
83d400bd 2181 * doc/the-libgomp-abi.rst:
3d3b561f 2182 Add trailing newline.
83d400bd 2183 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2184 Add trailing newline.
83d400bd 2185 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2186 Add trailing newline.
83d400bd 2187 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2188 Add trailing newline.
83d400bd 2189 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2190 Add trailing newline.
83d400bd 2191 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2192 Add trailing newline.
83d400bd 2193 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2194 Add trailing newline.
83d400bd 2195 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2196 Add trailing newline.
83d400bd 2197 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2198 Add trailing newline.
83d400bd 2199 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2200 Add trailing newline.
83d400bd 2201 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2202 Add trailing newline.
83d400bd 2203 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2204 Add trailing newline.
83d400bd 2205 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2206 Add trailing newline.
83d400bd 2207 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2208 Add trailing newline.
83d400bd 2209 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2210 Add trailing newline.
83d400bd 2211 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2212 Add trailing newline.
83d400bd
GA
2213
22142022-11-14 Martin Liska <mliska@suse.cz>
2215
2216 Revert:
2217 2022-11-09 Martin Liska <mliska@suse.cz>
2218
2219 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2220
22212022-11-14 Martin Liska <mliska@suse.cz>
2222
2223 Revert:
2224 2022-11-14 Martin Liska <mliska@suse.cz>
2225
2226 * doc/conf.py: Add newline at last line.
2227
22282022-11-14 Martin Liska <mliska@suse.cz>
2229
2230 Revert:
2231 2022-11-14 Martin Liska <mliska@suse.cz>
2232
2233 PR other/107620
2234 * configure: Regenerate.
2235 * configure.ac: Always set sphinx-build.
2236
eefbfbc7
GA
22372022-11-13 Martin Liska <mliska@suse.cz>
2238
2239 PR other/107620
2240 * configure: Regenerate.
2241 * configure.ac: Always set sphinx-build.
2242
30d77d49
GA
22432022-11-12 Jakub Jelinek <jakub@redhat.com>
2244
2245 PR libgomp/107641
2246 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2247 unsigned long. Change type of upper from unsigned to unsigned long.
2248
f225b813
GA
22492022-11-10 Martin Liska <mliska@suse.cz>
2250
2251 * doc/conf.py: Add newline at last line.
2252
1cdfd0e5
GA
22532022-11-09 Martin Liska <mliska@suse.cz>
2254
2255 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2256
22572022-11-09 Martin Liska <mliska@suse.cz>
2258
2259 * doc/amd-radeon-gcn.rst:
3d3b561f 2260 Add trailing newline.
1cdfd0e5 2261 * doc/copyright.rst:
3d3b561f 2262 Add trailing newline.
1cdfd0e5 2263 * doc/cuda-streams-usage.rst:
3d3b561f 2264 Add trailing newline.
1cdfd0e5 2265 * doc/enabling-openacc.rst:
3d3b561f 2266 Add trailing newline.
1cdfd0e5 2267 * doc/enabling-openmp.rst:
3d3b561f 2268 Add trailing newline.
1cdfd0e5 2269 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 2270 Add trailing newline.
1cdfd0e5 2271 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 2272 Add trailing newline.
1cdfd0e5 2273 * doc/funding.rst:
3d3b561f 2274 Add trailing newline.
1cdfd0e5 2275 * doc/general-public-license-3.rst:
3d3b561f 2276 Add trailing newline.
1cdfd0e5 2277 * doc/gnu-free-documentation-license.rst:
3d3b561f 2278 Add trailing newline.
1cdfd0e5 2279 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 2280 Add trailing newline.
1cdfd0e5 2281 * doc/index.rst:
3d3b561f 2282 Add trailing newline.
1cdfd0e5 2283 * doc/indices-and-tables.rst:
3d3b561f 2284 Add trailing newline.
1cdfd0e5 2285 * doc/introduction.rst:
3d3b561f 2286 Add trailing newline.
1cdfd0e5 2287 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 2288 Add trailing newline.
1cdfd0e5 2289 * doc/nvptx.rst:
3d3b561f 2290 Add trailing newline.
1cdfd0e5 2291 * doc/offload-target-specifics.rst:
3d3b561f 2292 Add trailing newline.
1cdfd0e5 2293 * doc/openacc-environment-variables.rst:
3d3b561f 2294 Add trailing newline.
1cdfd0e5 2295 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 2296 Add trailing newline.
1cdfd0e5 2297 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 2298 Add trailing newline.
1cdfd0e5 2299 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 2300 Add trailing newline.
1cdfd0e5 2301 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 2302 Add trailing newline.
1cdfd0e5 2303 * doc/openacc-introduction.rst:
3d3b561f 2304 Add trailing newline.
1cdfd0e5 2305 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 2306 Add trailing newline.
1cdfd0e5 2307 * doc/openacc-library-interoperability.rst:
3d3b561f 2308 Add trailing newline.
1cdfd0e5 2309 * doc/openacc-profiling-interface.rst:
3d3b561f 2310 Add trailing newline.
1cdfd0e5 2311 * doc/openacc-runtime-library-routines.rst:
3d3b561f 2312 Add trailing newline.
1cdfd0e5 2313 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 2314 Add trailing newline.
1cdfd0e5 2315 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 2316 Add trailing newline.
1cdfd0e5 2317 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 2318 Add trailing newline.
1cdfd0e5 2319 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 2320 Add trailing newline.
1cdfd0e5 2321 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 2322 Add trailing newline.
1cdfd0e5 2323 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 2324 Add trailing newline.
1cdfd0e5 2325 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 2326 Add trailing newline.
1cdfd0e5 2327 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 2328 Add trailing newline.
1cdfd0e5 2329 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 2330 Add trailing newline.
1cdfd0e5 2331 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 2332 Add trailing newline.
1cdfd0e5 2333 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 2334 Add trailing newline.
1cdfd0e5 2335 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 2336 Add trailing newline.
1cdfd0e5 2337 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 2338 Add trailing newline.
1cdfd0e5 2339 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 2340 Add trailing newline.
1cdfd0e5 2341 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 2342 Add trailing newline.
1cdfd0e5 2343 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 2344 Add trailing newline.
1cdfd0e5 2345 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 2346 Add trailing newline.
1cdfd0e5 2347 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 2348 Add trailing newline.
1cdfd0e5 2349 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 2350 Add trailing newline.
1cdfd0e5 2351 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 2352 Add trailing newline.
1cdfd0e5 2353 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 2354 Add trailing newline.
1cdfd0e5 2355 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 2356 Add trailing newline.
1cdfd0e5 2357 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 2358 Add trailing newline.
1cdfd0e5 2359 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 2360 Add trailing newline.
1cdfd0e5 2361 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 2362 Add trailing newline.
1cdfd0e5 2363 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 2364 Add trailing newline.
1cdfd0e5 2365 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 2366 Add trailing newline.
1cdfd0e5 2367 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 2368 Add trailing newline.
1cdfd0e5 2369 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 2370 Add trailing newline.
1cdfd0e5 2371 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 2372 Add trailing newline.
1cdfd0e5 2373 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 2374 Add trailing newline.
1cdfd0e5 2375 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 2376 Add trailing newline.
1cdfd0e5 2377 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 2378 Add trailing newline.
1cdfd0e5 2379 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 2380 Add trailing newline.
1cdfd0e5 2381 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 2382 Add trailing newline.
1cdfd0e5 2383 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 2384 Add trailing newline.
1cdfd0e5 2385 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 2386 Add trailing newline.
1cdfd0e5 2387 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 2388 Add trailing newline.
1cdfd0e5 2389 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 2390 Add trailing newline.
1cdfd0e5 2391 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 2392 Add trailing newline.
1cdfd0e5 2393 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 2394 Add trailing newline.
1cdfd0e5 2395 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 2396 Add trailing newline.
1cdfd0e5 2397 * doc/openmp-context-selectors.rst:
3d3b561f 2398 Add trailing newline.
1cdfd0e5 2399 * doc/openmp-environment-variables.rst:
3d3b561f 2400 Add trailing newline.
1cdfd0e5 2401 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 2402 Add trailing newline.
1cdfd0e5 2403 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 2404 Add trailing newline.
1cdfd0e5 2405 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 2406 Add trailing newline.
1cdfd0e5 2407 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 2408 Add trailing newline.
1cdfd0e5 2409 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 2410 Add trailing newline.
1cdfd0e5 2411 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 2412 Add trailing newline.
1cdfd0e5 2413 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 2414 Add trailing newline.
1cdfd0e5 2415 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 2416 Add trailing newline.
1cdfd0e5 2417 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 2418 Add trailing newline.
1cdfd0e5 2419 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 2420 Add trailing newline.
1cdfd0e5 2421 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 2422 Add trailing newline.
1cdfd0e5 2423 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 2424 Add trailing newline.
1cdfd0e5 2425 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 2426 Add trailing newline.
1cdfd0e5 2427 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 2428 Add trailing newline.
1cdfd0e5 2429 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 2430 Add trailing newline.
1cdfd0e5 2431 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 2432 Add trailing newline.
1cdfd0e5 2433 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 2434 Add trailing newline.
1cdfd0e5 2435 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 2436 Add trailing newline.
1cdfd0e5 2437 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 2438 Add trailing newline.
1cdfd0e5 2439 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 2440 Add trailing newline.
1cdfd0e5 2441 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 2442 Add trailing newline.
1cdfd0e5 2443 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 2444 Add trailing newline.
1cdfd0e5 2445 * doc/openmp-implementation-specifics.rst:
3d3b561f 2446 Add trailing newline.
1cdfd0e5 2447 * doc/openmp-implementation-status.rst:
3d3b561f 2448 Add trailing newline.
1cdfd0e5 2449 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 2450 Add trailing newline.
1cdfd0e5 2451 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 2452 Add trailing newline.
1cdfd0e5 2453 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 2454 Add trailing newline.
1cdfd0e5 2455 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 2456 Add trailing newline.
1cdfd0e5 2457 * doc/openmp-runtime-library-routines.rst:
3d3b561f 2458 Add trailing newline.
1cdfd0e5 2459 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 2460 Add trailing newline.
1cdfd0e5 2461 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 2462 Add trailing newline.
1cdfd0e5 2463 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 2464 Add trailing newline.
1cdfd0e5 2465 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 2466 Add trailing newline.
1cdfd0e5 2467 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2468 Add trailing newline.
1cdfd0e5 2469 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2470 Add trailing newline.
1cdfd0e5 2471 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2472 Add trailing newline.
1cdfd0e5 2473 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2474 Add trailing newline.
1cdfd0e5 2475 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2476 Add trailing newline.
1cdfd0e5 2477 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2478 Add trailing newline.
1cdfd0e5 2479 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2480 Add trailing newline.
1cdfd0e5 2481 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2482 Add trailing newline.
1cdfd0e5 2483 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2484 Add trailing newline.
1cdfd0e5 2485 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2486 Add trailing newline.
1cdfd0e5 2487 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2488 Add trailing newline.
1cdfd0e5 2489 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2490 Add trailing newline.
1cdfd0e5 2491 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2492 Add trailing newline.
1cdfd0e5 2493 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2494 Add trailing newline.
1cdfd0e5 2495 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2496 Add trailing newline.
1cdfd0e5 2497 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2498 Add trailing newline.
1cdfd0e5 2499 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2500 Add trailing newline.
1cdfd0e5 2501 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2502 Add trailing newline.
1cdfd0e5 2503 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2504 Add trailing newline.
1cdfd0e5 2505 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2506 Add trailing newline.
1cdfd0e5 2507 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2508 Add trailing newline.
1cdfd0e5 2509 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2510 Add trailing newline.
1cdfd0e5 2511 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2512 Add trailing newline.
1cdfd0e5 2513 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2514 Add trailing newline.
1cdfd0e5 2515 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2516 Add trailing newline.
1cdfd0e5 2517 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2518 Add trailing newline.
1cdfd0e5 2519 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2520 Add trailing newline.
1cdfd0e5 2521 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2522 Add trailing newline.
1cdfd0e5 2523 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2524 Add trailing newline.
1cdfd0e5 2525 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2526 Add trailing newline.
1cdfd0e5 2527 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2528 Add trailing newline.
1cdfd0e5 2529 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2530 Add trailing newline.
1cdfd0e5 2531 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2532 Add trailing newline.
1cdfd0e5 2533 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2534 Add trailing newline.
1cdfd0e5 2535 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2536 Add trailing newline.
1cdfd0e5 2537 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2538 Add trailing newline.
1cdfd0e5 2539 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2540 Add trailing newline.
1cdfd0e5 2541 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2542 Add trailing newline.
1cdfd0e5 2543 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2544 Add trailing newline.
1cdfd0e5 2545 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2546 Add trailing newline.
1cdfd0e5 2547 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2548 Add trailing newline.
1cdfd0e5 2549 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2550 Add trailing newline.
1cdfd0e5 2551 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2552 Add trailing newline.
1cdfd0e5 2553 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2554 Add trailing newline.
1cdfd0e5 2555 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2556 Add trailing newline.
1cdfd0e5 2557 * doc/reporting-bugs.rst:
3d3b561f 2558 Add trailing newline.
1cdfd0e5 2559 * doc/the-libgomp-abi.rst:
3d3b561f 2560 Add trailing newline.
1cdfd0e5 2561 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2562 Add trailing newline.
1cdfd0e5 2563 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2564 Add trailing newline.
1cdfd0e5 2565 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2566 Add trailing newline.
1cdfd0e5 2567 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2568 Add trailing newline.
1cdfd0e5 2569 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2570 Add trailing newline.
1cdfd0e5 2571 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2572 Add trailing newline.
1cdfd0e5 2573 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2574 Add trailing newline.
1cdfd0e5 2575 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2576 Add trailing newline.
1cdfd0e5 2577 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2578 Add trailing newline.
1cdfd0e5 2579 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2580 Add trailing newline.
1cdfd0e5 2581 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2582 Add trailing newline.
1cdfd0e5 2583 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2584 Add trailing newline.
1cdfd0e5 2585 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2586 Add trailing newline.
1cdfd0e5 2587 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2588 Add trailing newline.
1cdfd0e5 2589 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2590 Add trailing newline.
1cdfd0e5
GA
2591
25922022-11-09 Martin Liska <mliska@suse.cz>
2593
2594 * Makefile.in: Build info pages conditionally.
2595
25962022-11-09 Martin Liska <mliska@suse.cz>
2597
2598 * Makefile.in: Support --with-sphinx-build.
2599 * configure.ac: Likewise..
2600 * configure: Regenerate.
2601
26022022-11-09 Martin Liska <mliska@suse.cz>
2603
2604 * libgomp.texi: Removed.
2605
26062022-11-09 Martin Liska <mliska@suse.cz>
2607
2608 * Makefile.in: Support Sphinx based documentation.
2609
26102022-11-09 Martin Liska <mliska@suse.cz>
2611
2612 * doc/amd-radeon-gcn.rst: New file.
2613 * doc/conf.py: New file.
2614 * doc/copyright.rst: New file.
2615 * doc/cuda-streams-usage.rst: New file.
2616 * doc/enabling-openacc.rst: New file.
2617 * doc/enabling-openmp.rst: New file.
2618 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2619 * doc/first-invocation-openacc-library-api.rst: New file.
2620 * doc/funding.rst: New file.
2621 * doc/general-public-license-3.rst: New file.
2622 * doc/gnu-free-documentation-license.rst: New file.
2623 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2624 * doc/index.rst: New file.
2625 * doc/indices-and-tables.rst: New file.
2626 * doc/introduction.rst: New file.
2627 * doc/memory-allocation-with-libmemkind.rst: New file.
2628 * doc/nvptx.rst: New file.
2629 * doc/offload-target-specifics.rst: New file.
2630 * doc/openacc-environment-variables.rst: New file.
2631 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2632 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2633 * doc/openacc-environment-variables/accproflib.rst: New file.
2634 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2635 * doc/openacc-introduction.rst: New file.
2636 * doc/openacc-library-and-environment-variables.rst: New file.
2637 * doc/openacc-library-interoperability.rst: New file.
2638 * doc/openacc-profiling-interface.rst: New file.
2639 * doc/openacc-runtime-library-routines.rst: New file.
2640 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2641 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2642 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2643 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2644 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2645 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2646 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2647 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2648 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2649 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2650 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2651 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2652 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2653 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2654 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2655 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2656 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2657 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2658 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2659 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2660 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2661 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2662 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2663 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2664 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2665 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2666 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2667 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2668 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2669 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2670 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2671 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2672 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2673 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2674 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2675 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2676 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2677 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2678 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2679 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2680 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2681 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2682 * doc/openmp-context-selectors.rst: New file.
2683 * doc/openmp-environment-variables.rst: New file.
2684 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2685 * doc/openmp-environment-variables/gompdebug.rst: New file.
2686 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2687 * doc/openmp-environment-variables/gompspincount.rst: New file.
2688 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2689 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2690 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2691 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2692 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2693 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2694 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2695 * doc/openmp-environment-variables/ompnested.rst: New file.
2696 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2697 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2698 * doc/openmp-environment-variables/ompplaces.rst: New file.
2699 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2700 * doc/openmp-environment-variables/ompschedule.rst: New file.
2701 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2702 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2703 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2704 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2705 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2706 * doc/openmp-implementation-specifics.rst: New file.
2707 * doc/openmp-implementation-status.rst: New file.
2708 * doc/openmp-implementation-status/openmp-45.rst: New file.
2709 * doc/openmp-implementation-status/openmp-50.rst: New file.
2710 * doc/openmp-implementation-status/openmp-51.rst: New file.
2711 * doc/openmp-implementation-status/openmp-52.rst: New file.
2712 * doc/openmp-runtime-library-routines.rst: New file.
2713 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2714 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2715 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2716 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2717 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2718 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2719 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2720 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2721 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2722 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2723 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2724 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2725 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2726 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2727 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2728 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2729 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2730 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2731 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2732 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2733 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2734 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2735 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2736 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2737 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2738 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2739 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2740 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2741 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2742 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2743 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2744 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2745 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2746 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2747 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2748 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2749 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2750 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2751 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2752 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2753 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2754 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2755 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2756 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2757 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2758 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2759 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2760 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2761 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2762 * doc/reporting-bugs.rst: New file.
2763 * doc/the-libgomp-abi.rst: New file.
2764 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2765 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2766 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2767 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2768 New file.
2769 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2770 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2771 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2772 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2773 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2774 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2775 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2776 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2777 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2778 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2779 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2780
89d0a14a
JJ
27812022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2782
2783 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2784 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2785 documentation.
2786 * plugin/configfrag.ac <enable_offload_targets>
2787 [*-intelmic-* | *-intelmicemul-*]: Remove.
2788 * configure: Regenerate.
2789 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2790 handling.
2791 (offload_target_to_openacc_device_type)
2792 [$offload_target = *-intelmic*]: Remove.
2793 (check_effective_target_offload_device_intel_mic)
2794 (check_effective_target_offload_device_any_intel_mic): Remove.
2795 * testsuite/libgomp.c-c++-common/on_device_arch.h
2796 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2797 (any_device_arch_intel_mic): Remove.
2798 * testsuite/libgomp.c-c++-common/target-45.c: Remove
2799 'offload_device_any_intel_mic' XFAIL.
2800 * testsuite/libgomp.fortran/target10.f90: Likewise.
2801
d29260ce
GA
28022022-11-03 Tobias Burnus <tobias@codesourcery.com>
2803
2804 * testsuite/libgomp.fortran/target-11.f90: New test.
2805 * testsuite/libgomp.fortran/target-13.f90: New test.
2806
58035eee
GA
28072022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2808
2809 PR libgomp/106643
2810 PR fortran/96668
2811 * oacc-mem.c (goacc_enter_data_internal): Support
2812 OpenACC 'declare create' with Fortran allocatable arrays, part II.
2813 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2814 Adjust.
2815 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2816
28172022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2818
2819 PR libgomp/106643
2820 * oacc-mem.c (goacc_enter_data_internal): Support
2821 OpenACC 'declare create' with Fortran allocatable arrays, part I.
2822 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2823 New.
2824 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2825 New.
2826
28272022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2828
2829 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2830 New.
2831
28322022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2833
2834 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2835 New.
2836
28372022-11-02 Cesar Philippidis <cesar@codesourcery.com>
2838 Thomas Schwinge <thomas@codesourcery.com>
2839
2840 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2841
3055829a
GA
28422022-10-28 Julian Brown <julian@codesourcery.com>
2843 Thomas Schwinge <thomas@codesourcery.com>
2844
2845 PR middle-end/90115
2846 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2847 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2848 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2849 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2850 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2851
4e939ae1
GA
28522022-10-24 Thomas Schwinge <thomas@codesourcery.com>
2853
2854 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2855 'ptx_dev->rev_data'.
2856
28572022-10-24 Tobias Burnus <tobias@codesourcery.com>
2858
2859 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2860 'static' for this variable.
2861 * config/nvptx/libgomp-nvptx.h: New file.
2862 * config/nvptx/target.c: Include it.
2863 (GOMP_ADDITIONAL_ICVS): Declare extern var.
2864 (GOMP_REV_OFFLOAD_VAR): Declare var.
2865 (GOMP_target_ext): Handle reverse offload.
2866 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2867 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2868 * target.c (gomp_target_rev): ... this new stub function.
2869 * libgomp.h (gomp_target_rev): Declare.
2870 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2871 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2872 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2873 (struct ptx_device): Add rev_data member.
2874 (nvptx_open_device): Remove async_engines query, last used in
2875 r10-304-g1f4c5b9b; add unified-address assert check.
2876 (GOMP_OFFLOAD_get_num_devices): Claim unified address
2877 support.
2878 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2879 offload functions exist. Make offload var available
2880 on host and device.
2881 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2882 (GOMP_OFFLOAD_run): Handle reverse offload.
2883
10439719
GA
28842022-10-21 Thomas Schwinge <thomas@codesourcery.com>
2885
2886 PR tree-optimization/107195
2887 PR target/107344
2888 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2889 regions checking.
2890
47a6ae56
GA
28912022-10-20 Tobias Burnus <tobias@codesourcery.com>
2892
2893 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2894 New.
2895 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2896 on_device_arch_gcn): New.
2897 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2898 requires-4.c but using heap-allocated memory.
2899
29002022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2901
2902 PR target/105421
2903 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
2904
6237663c
GA
29052022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2906
2907 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
2908 '-foffload-options' syntax.
2909
621a911d
GA
29102022-10-13 Tobias Burnus <tobias@codesourcery.com>
2911
2912 * testsuite/libgomp.fortran/task-7.f90: New test.
2913 * testsuite/libgomp.fortran/task-8.f90: New test.
2914 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
2915 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
2916 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
2917 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
2918 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
2919
781f477a
GA
29202022-10-12 Jakub Jelinek <jakub@redhat.com>
2921
2922 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
2923 in deprecation bullet.
2924
29252022-10-12 Jakub Jelinek <jakub@redhat.com>
2926
2927 * omp.h.in (omp_in_explicit_task): Declare.
2928 * omp_lib.h.in (omp_in_explicit_task): Likewise.
2929 * omp_lib.f90.in (omp_in_explicit_task): New interface.
2930 * libgomp.map (OMP_5.2): New symbol version, export
2931 omp_in_explicit_task and omp_in_explicit_task_.
2932 * task.c (omp_in_explicit_task): New function.
2933 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
2934 (omp_in_explicit_task_): New function.
2935 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
2936 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
2937 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
2938 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
2939
29402022-10-12 Jakub Jelinek <jakub@redhat.com>
2941
2942 * task.c (gomp_create_artificial_team): Fix up handling of invocations
2943 from within explicit task.
2944 * target.c (GOMP_target_ext): Likewise.
2945 * testsuite/libgomp.c/task-7.c: New test.
2946 * testsuite/libgomp.c/task-8.c: New test.
2947 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
2948 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
2949
29502022-10-12 Martin Liska <mliska@suse.cz>
2951
2952 * configure: Regenerate.
2953
ab332cd7
GA
29542022-10-11 Olivier Hainque <hainque@adacore.com>
2955 Olivier Hainque <hainque@adacore.com>
2956
2957 * configure: Regenerate.
2958
966010b2
GA
29592022-10-05 Tobias Burnus <tobias@codesourcery.com>
2960
2961 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
2962
85872a69
GA
29632022-10-04 Jakub Jelinek <jakub@redhat.com>
2964
2965 * libgomp.texi (Support begin/end declare target syntax in C/C++):
2966 Mark as implemented.
2967
3a221b73
GA
29682022-09-30 Tobias Burnus <tobias@codesourcery.com>
2969
2970 PR fortran/105318
2971 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
2972
9e79a25b
GA
29732022-09-28 Tobias Burnus <tobias@codesourcery.com>
2974
2975 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
2976 for C/C++. Remove duplicated 'begin declare target' entry.
2977
28a61ecd
GA
29782022-09-24 Jakub Jelinek <jakub@redhat.com>
2979
2980 PR c/106981
2981 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
2982
ff822367
GA
29832022-09-14 Julian Brown <julian@codesourcery.com>
2984
2985 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
2986 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
2987 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
2988 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
2989 test to here, make "run" test.
2990
1995a022
GA
29912022-09-13 Jakub Jelinek <jakub@redhat.com>
2992
2993 PR libgomp/106906
2994 * env.c (get_icv_member_addr): Cast false to void * before assigning
2995 it to icv_addr[1], and comment the whole assignment out.
2996
29972022-09-13 Tobias Burnus <tobias@codesourcery.com>
2998
2999 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
3000 (nvptx): ... here.
3001
b5f09bd7
GA
30022022-09-12 Tobias Burnus <tobias@codesourcery.com>
3003
3004 * libgomp.texi (Offload-Target Specifics: nvptx): Document
3005 that reverse offload requires >= -march=sm_35.
3006 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
3007 with -misa=sm_35.
3008 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3009 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
3010 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
3011 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
3012 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
3013
30142022-09-12 Tobias Burnus <tobias@codesourcery.com>
3015
3016 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
3017 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
3018
30192022-09-12 Jakub Jelinek <jakub@redhat.com>
3020
3021 PR libgomp/106894
3022 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
3023 (main): Avoid tests for which corresponding non-_ALL suffixed variable
3024 is in the environment, or for OMP_NUM_TEAMS on the device
3025 OMP_NUM_TEAMS_DEV_?.
3026
5b3496e2
GA
30272022-09-10 Iain Sandoe <iain@sandoe.co.uk>
3028
3029 * env.c (initialize_env): Include libiberty environ.h.
3030
861d1a11
GA
30312022-09-09 Tobias Burnus <tobias@codesourcery.com>
3032
3033 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
3034 function address table '$offload_func_table' if rev_fn_table
3035 is not NULL.
3036
30372022-09-09 Tobias Burnus <tobias@codesourcery.com>
3038
3039 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
3040 .offload_func_table to populate rev_fn_table when requested.
3041
30422022-09-09 Tobias Burnus <tobias@codesourcery.com>
3043
3044 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
3045 'uint64_t **rev_fn_table' argument.
3046 * oacc-host.c (host_load_image): Likewise.
3047 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
3048 currently unused.
3049 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3050 * target.c (gomp_load_image_to_device): Update call but pass
3051 NULL for now.
3052
30532022-09-09 Jakub Jelinek <jakub@redhat.com>
3054
3055 PR libgomp/106894
3056 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3057 char * for dest[1] initialization from params[1]. Formatting fixes.
3058
2e7ad70c
GA
30592022-09-08 Tobias Burnus <tobias@codesourcery.com>
3060
3061 PR fortran/106670
3062 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3063
30642022-09-08 Tobias Burnus <tobias@codesourcery.com>
3065
3066 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3067 section; move OpenMP Context Selectors from ...
3068 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3069 'nvptx' sections.
3070
30712022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
3072
3073 * config/gcn/icv-device.c (omp_get_default_device): Return device-
3074 specific ICV.
3075 (omp_get_max_teams): Added for GCN devices.
3076 (omp_set_num_teams): Likewise.
3077 (ialias): Likewise.
3078 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3079 specific ICV.
3080 (omp_get_max_teams): Added for NVPTX devices.
3081 (omp_set_num_teams): Likewise.
3082 (ialias): Likewise.
3083 * env.c (struct gomp_icv_list): New struct to store entries of initial
3084 ICV values.
3085 (struct gomp_offload_icv_list): New struct to store entries of device-
3086 specific ICV values that are copied to the device and back.
3087 (struct gomp_default_icv_values): New struct to store default values of
3088 ICVs according to the OpenMP standard.
3089 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3090 (print_env_var_error): Function that prints an error for invalid values
3091 for ICVs.
3092 (parse_unsigned_long_1): Removed getenv. Generalized.
3093 (parse_unsigned_long): Likewise.
3094 (parse_int_1): Likewise.
3095 (parse_int): Likewise.
3096 (parse_int_secure): Likewise.
3097 (parse_unsigned_long_list): Likewise.
3098 (parse_target_offload): Likewise.
3099 (parse_bind_var): Likewise.
3100 (parse_stacksize): Likewise.
3101 (parse_boolean): Likewise.
3102 (parse_wait_policy): Likewise.
3103 (parse_allocator): Likewise.
3104 (omp_display_env): Extended to output different variants of environment
3105 variables.
3106 (print_schedule): New helper function for omp_display_env which prints
3107 the values of run_sched_var.
3108 (print_proc_bind): New helper function for omp_display_env which prints
3109 the values of proc_bind_var.
3110 (enum gomp_parse_type): Collection of types used for parsing environment
3111 variables.
3112 (ENTRY): Preprocess string lengths of environment variables.
3113 (OMP_VAR_CNT): Preprocess table size.
3114 (OMP_HOST_VAR_CNT): Likewise.
3115 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3116 number.
3117 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3118 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3119 (print_device_specific_icvs): New helper function for omp_display_env to
3120 print device specific ICV values.
3121 (get_device_num): New helper function for parse_device_specific.
3122 Extracts the device number from an environment variable name.
3123 (get_icv_member_addr): Gets the memory address for a particular member
3124 of an ICV struct.
3125 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3126 (initialize_icvs): New function to initialize a gomp_initial_icvs
3127 struct.
3128 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3129 (startswith): Checks if a string starts with a given prefix.
3130 (initialize_env): Extended to parse the new syntax of environment
3131 variables.
3132 * icv-device.c (omp_get_max_teams): Added.
3133 (ialias): Likewise.
3134 (omp_set_num_teams): Likewise.
3135 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3136 (omp_get_max_teams): Likewise.
3137 (ialias): Likewise.
3138 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3139 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3140 holds the designated ICVs of the target device.
3141 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3142 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3143 no suffix.
3144 (enum gomp_env_suffix): Collection of possible suffixes of environment
3145 variables.
3146 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3147 initial values.
3148 (struct gomp_default_icv):New struct to hold ICVs for which we need
3149 to store initial values.
3150 (struct gomp_icv_list): Definition of a linked list that is used for
3151 storing ICVs for the devices and also for _DEV, _ALL, and without
3152 suffix.
3153 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3154 a device.
3155 (struct gomp_offload_icv_list): Definition of a linked list that holds
3156 device-specific ICVs that are copied to devices.
3157 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3158 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3159 * libgomp.texi: Updated.
3160 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3161 further ICVs from the offload image.
3162 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3163 * target.c (gomp_get_offload_icv_item): Get a list item of
3164 gomp_offload_icv_list.
3165 (get_gomp_offload_icvs): New. Returns the ICV values
3166 depending on the device num and the variable hierarchy.
3167 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3168 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3169 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3170 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3171 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3172 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3173 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3174
31752022-09-08 Jakub Jelinek <jakub@redhat.com>
3176
3177 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3178 fully supported.
3179 * testsuite/libgomp.c/doacross-4.c: New test.
3180 * testsuite/libgomp.c/doacross-5.c: New test.
3181 * testsuite/libgomp.c/doacross-6.c: New test.
3182 * testsuite/libgomp.c/doacross-7.c: New test.
3183
47d2dcd1
GA
31842022-09-05 Tobias Burnus <tobias@codesourcery.com>
3185
3186 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3187
16f542d6
GA
31882022-08-26 Tobias Burnus <tobias@codesourcery.com>
3189
3190 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3191 refer to 'requires'.
3192 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3193 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3194 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3195 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3196
0342f034
GA
31972022-08-17 Tobias Burnus <tobias@codesourcery.com>
3198
3199 PR middle-end/106548
3200 * testsuite/libgomp.c/linear-2.c: New test.
3201
32022022-08-17 Tobias Burnus <tobias@codesourcery.com>
3203
3204 * splay-tree.h: Fix splay_* macro unsetting if
3205 splay_tree_prefix is defined.
3206
b2bf0473
GA
32072022-07-29 Tobias Burnus <tobias@codesourcery.com>
3208
3209 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3210
32112022-07-29 Jakub Jelinek <jakub@redhat.com>
3212
3213 PR middle-end/106449
3214 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3215
43997608
GA
32162022-07-12 Tobias Burnus <tobias@codesourcery.com>
3217
3218 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3219
32202022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3221
3222 PR middle-end/101551
3223 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3224 'offloading_enabled' diagnostics issue.
3225
c72d4714
GA
32262022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3227
3228 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3229 '_Pragma' diagnostics verification.
3230
b53ebbc5
GA
32312022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3232
3233 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3234 improved warning locations.
3235 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3236
0fe604a2
GA
32372022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3238
3239 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3240 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3241 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3242 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3243 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3244
6345c414
GA
32452022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3246
3247 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3248 Denote as legacy entry points.
3249 * testsuite/lib/libgomp.exp
3250 (check_effective_target_offload_target_any): New proc.
3251 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3252 'offload_target_any'.
3253 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3254 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3255 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3256
32572022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3258
3259 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3260 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3261
32622022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3263
3264 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3265
4bc92c3b
GA
32662022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3267
3268 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3269 'data'.
3270 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3271
8467574d
GA
32722022-07-04 Tobias Burnus <tobias@codesourcery.com>
3273 Jakub Jelinek <jakub@redhat.com>
3274
3275 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3276
32772022-07-04 Tobias Burnus <tobias@codesourcery.com>
3278 Chung-Lin Tang <cltang@codesourcery.com>
3279 Thomas Schwinge <thomas@codesourcery.com>
3280
3281 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3282 omp_requires_mask arg.
3283 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3284 return -1 when device available but omp_requires_mask != 0.
3285 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3286 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3287 Update call.
3288 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3289 goacc_attach_host_thread_to_device, acc_get_num_devices,
3290 acc_set_device_num, get_property_any): Likewise.
3291 * target.c (omp_requires_mask): New global var.
3292 (gomp_requires_to_name): New.
3293 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3294 (gomp_target_init): Handle omp_requires_mask.
3295 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3296 (OpenMP 5.1): Add a missed item.
3297 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3298 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3299 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3300 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3301 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3302 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3303 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3304 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3305 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3306 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3307 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3308 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3309 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3310 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3311 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3312 * testsuite/libgomp.fortran/requires-1.f90: New test.
3313
ed974488
GA
33142022-07-01 Tobias Burnus <tobias@codesourcery.com>
3315
3316 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3317 with fromto as implemented.
3318
fb29fdea
GA
33192022-06-28 Martin Liska <mliska@suse.cz>
3320
3321 * acinclude.m4: Fix typo in mold linker detection.
3322 * Makefile.in: Regenerate.
3323 * configure: Regenerate.
3324
de89b078
GA
33252022-06-21 Jakub Jelinek <jakub@redhat.com>
3326 Paul Iannetta <piannetta@kalrayinc.com>
3327
3328 PR libgomp/106045
3329 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3330
5a66d7dd
GA
33312022-06-17 Martin Liska <mliska@suse.cz>
3332
3333 * libgomp.texi: Add table header for new features of
3334 OpenMP 5.2.
3335
499b9c5f
GA
33362022-06-15 Jakub Jelinek <jakub@redhat.com>
3337
3338 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3339 q to ddress of an automatic variable. Use -5 instead of -1 in
3340 omp_get_mapped_ptr call. Add test with omp_initial_device.
3341 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3342 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3343 Renumber stop arguments afterwards.
3344
c3642271
GA
33452022-06-13 Jakub Jelinek <jakub@redhat.com>
3346
3347 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3348 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3349 parameters.
3350 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3351 * target.c (resolve_device): Add remapped argument, handle
3352 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3353 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3354 if remapped, otherwise treat omp_initial_device that way. For
3355 omp_invalid_device, always emit gomp_fatal, even when
3356 OMP_TARGET_OFFLOAD isn't mandatory.
3357 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3358 GOMP_target_update, GOMP_target_update_ext,
3359 GOMP_target_enter_exit_data): Pass true as remapped argument to
3360 resolve_device.
3361 (omp_target_alloc, omp_target_free, omp_target_is_present,
3362 omp_target_memcpy_check, omp_target_associate_ptr,
3363 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3364 omp_target_is_accessible): Pass false as remapped argument to
3365 resolve_device. Treat omp_initial_device the same as
3366 gomp_get_num_devices (). Don't bypass resolve_device calls if
3367 device_num is negative.
3368 (omp_pause_resource): Treat omp_initial_device the same as
3369 gomp_get_num_devices (). Call resolve_device.
3370 * icv-device.c (omp_set_default_device): Always set to device_num
3371 even when it is negative.
3372 * libgomp.texi: Document that Conforming device numbers,
3373 omp_initial_device and omp_invalid_device is implemented.
3374 * testsuite/libgomp.c/target-41.c (main): Add test with
3375 omp_initial_device.
3376 * testsuite/libgomp.c/target-45.c: New test.
3377 * testsuite/libgomp.c/target-46.c: New test.
3378 * testsuite/libgomp.c/target-47.c: New test.
3379 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3380 test with omp_initial_device. Use -5 instead of -1 for negative value
3381 test.
3382 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3383 Likewise. Reorder stop numbers.
3384
ef1e4d80
GA
33852022-06-10 Jakub Jelinek <jakub@redhat.com>
3386
3387 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3388 rather than "libmemkind.so".
3389
33902022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3391
3392 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3393 * plugin/configfrag.ac (--with-cuda-driver)
3394 (--with-cuda-driver-include, --with-cuda-driver-lib)
3395 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3396 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3397 Remove.
3398 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3399 (cuda_driver_lib): Remove.
3400 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3401 * Makefile.in: Regenerate.
3402 * configure: Likewise.
3403 * testsuite/Makefile.in: Likewise.
3404
e3bba42f
GA
34052022-06-09 Jakub Jelinek <jakub@redhat.com>
3406
3407 * config/linux/allocator.c: Fix up #include directive.
3408
34092022-06-09 Jakub Jelinek <jakub@redhat.com>
3410
3411 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3412 (enum gomp_memkind_kind): New type.
3413 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3414 is defined.
3415 (struct gomp_memkind_data): New type.
3416 (memkind_data, memkind_data_once): New variables.
3417 (gomp_init_memkind, gomp_get_memkind): New functions.
3418 (omp_init_allocator): Initialize data.memkind, don't fail for
3419 omp_high_bw_mem_space if libmemkind supports it.
3420 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3421 memkind support of LIBGOMP_USE_MEMKIND is defined.
3422 * config/linux/allocator.c: New file.
3423
58b67140
GA
34242022-06-03 Tobias Burnus <tobias@codesourcery.com>
3425
3426 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3427 * testsuite/libgomp.fortran/scope-2.f90: New test.
3428
b168441c
GA
34292022-06-02 David Malcolm <dmalcolm@redhat.com>
3430
3431 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3432
820ead45
GA
34332022-05-31 Jakub Jelinek <jakub@redhat.com>
3434
3435 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3436 scope construct with allocate clause.
3437 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3438 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3439
37b3b5da
GA
34402022-05-28 Tobias Burnus <tobias@codesourcery.com>
3441
3442 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3443 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3444 explicit 'to' and 'enter' clause.
3445 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3446
34472022-05-28 Jakub Jelinek <jakub@redhat.com>
3448
3449 PR libgomp/105745
3450 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3451 defined(HAVE__ALIGNED_MALLOC) case.
3452 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3453 handling as last option before fallback instead of first.
3454 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3455 _aligned_free.
3456
d9176e64
GA
34572022-05-27 Jakub Jelinek <jakub@redhat.com>
3458
3459 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3460 clauses to enter.
3461 * testsuite/libgomp.c/target-41.c: Likewise.
3462
34632022-05-27 Tobias Burnus <tobias@codesourcery.com>
3464
3465 * libgomp.texi (Other new OpenMP 5.1 features): Add
3466 'begin declare target'.
3467 (Other new OpenMP 5.2 features): New.
3468
3dff965c
GA
34692022-05-25 Jakub Jelinek <jakub@redhat.com>
3470
3471 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3472 is the last task taskwait depend depends on, wake it up.
3473 Similarly if it is the last child of a taskgroup, use atomic
3474 store instead of decrement and awak taskgroup wait if any.
3475 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3476
768f49a2
GA
34772022-05-24 Andrew Stubbs <ams@codesourcery.com>
3478
3479 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3480 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3481 (gcn_gfx90a_s): New.
3482 (isa_hsa_name): Support gfx90a.
3483 (isa_code): Likewise.
3484
34852022-05-24 Tobias Burnus <tobias@codesourcery.com>
3486
3487 PR c/105378
3488 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3489 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3490
34912022-05-24 Jakub Jelinek <jakub@redhat.com>
3492
3493 PR c/105378
3494 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3495 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3496 * task.c (empty_task): New function.
3497 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3498 (gomp_task_run_post_handle_depend): Declare.
3499 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3500 for.
3501 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3502 (GOMP_taskwait_depend_nowait): New function.
3503 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3504
168fc8bd
GA
35052022-05-23 Tobias Burnus <tobias@codesourcery.com>
3506
3507 PR fortran/104949
3508 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3509 Support attach for GOMP_MAP_FIRSTPRIVATE.
3510 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3511 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3512 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3513
57f2ce6a
GA
35142022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3515
3516 * libgomp.map: Added omp_target_memcpy_async and
3517 omp_target_memcpy_rect_async.
3518 * libgomp.texi: Both functions are now supported.
3519 * omp.h.in: Added omp_target_memcpy_async and
3520 omp_target_memcpy_rect_async.
3521 * omp_lib.f90.in: Added interfaces for both new functions.
3522 * omp_lib.h.in: Likewise.
3523 * target.c (ialias_redirect): Added for GOMP_task.
3524 (omp_target_memcpy): Restructured into check and copy part.
3525 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3526 omp_target_memcpy_async that checks requirements.
3527 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3528 omp_target_memcpy_async that performs the memcpy.
3529 (omp_target_memcpy_async_helper): New helper function that is used in
3530 omp_target_memcpy_async for the asynchronous task.
3531 (omp_target_memcpy_async): Added.
3532 (omp_target_memcpy_rect): Restructured into check and copy part.
3533 (omp_target_memcpy_rect_check): New helper function for
3534 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3535 requirements.
3536 (omp_target_memcpy_rect_copy): New helper function for
3537 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3538 the memcpy.
3539 (omp_target_memcpy_rect_async_helper): New helper function that is used
3540 in omp_target_memcpy_rect_async for the asynchronous task.
3541 (omp_target_memcpy_rect_async): Added.
3542 * task.c (ialias): Added for GOMP_task.
3543 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3544 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3545 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3546 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3547 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3548 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3549 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3550 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3551
1cda629f
GA
35522022-05-18 Tobias Burnus <tobias@codesourcery.com>
3553
3554 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3555 (OpenMP Context Selectors): Add missing comma.
3556 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3557 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3558 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3559 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3560
3d9439b1
GA
35612022-05-17 Jakub Jelinek <jakub@redhat.com>
3562
3563 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3564 comment for omp_display_env feature.
3565
35662022-05-17 Tobias Burnus <tobias@codesourcery.com>
3567
3568 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3569 to document OpenMP context selectors.
3570
35712022-05-17 Jakub Jelinek <jakub@redhat.com>
3572
3573 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3574 from bool to unsigned char.
3575 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3576 Ignore dependencies where
3577 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3578 rather than just task->depend[i].is_in && ent->is_in. Remember
3579 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3580 conditional.
3581 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3582 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3583 rather than just elem.is_in && ent->is_in.
3584 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3585 inoutset depend-kind.
3586 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3587 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3588 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3589
35902022-05-17 Tobias Burnus <tobias@codesourcery.com>
3591
3592 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3593
35942022-05-17 Tobias Burnus <tobias@codesourcery.com>
3595
3596 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3597 * testsuite/libgomp.fortran/depend-5.f90: New test.
3598 * testsuite/libgomp.fortran/depend-6.f90: New test.
3599 * testsuite/libgomp.fortran/depend-7.f90: New test.
3600
702bd11f
GA
36012022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3602
3603 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3604 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3605 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3606
9df4ffe4
GA
36072022-05-13 Tobias Burnus <tobias@codesourcery.com>
3608
3609 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3610
36112022-05-13 Tobias Burnus <tobias@codesourcery.com>
3612
3613 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3614
36152022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3616
3617 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3618 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3619 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3620 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3621 * Makefile.in: Regenerate.
3622
49ace834
GA
36232022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3624
3625 * Makefile.am (libgomp_la_LIBADD): Initialize.
3626 * plugin/configfrag.ac (DL_LIBS): New.
3627 (PLUGIN_GCN_LIBS): Remove.
3628 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3629 * plugin/Makefrag.am (libgomp_la_LIBADD)
3630 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3631 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3632 * Makefile.in: Regenerate.
3633 * config.h.in: Likewise.
3634 * configure: Likewise.
3635 * testsuite/Makefile.in: Likewise.
3636
36372022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3638
3639 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3640 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3641 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3642 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3643 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3644 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3645 * Makefile.in: Regenerate.
3646 * config.h.in: Likewise.
3647 * configure: Likewise.
3648
36492022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3650
3651 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3652 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3653 * Makefile.in: Regenerate.
3654 * config.h.in: Likewise.
3655 * configure: Likewise.
3656 * testsuite/Makefile.in: Likewise.
3657
36582022-05-12 Jakub Jelinek <jakub@redhat.com>
3659
3660 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3661 * task.c (gomp_init_task): Initialize depend_all_memory.
3662 (gomp_task_handle_depend): Handle omp_all_memory.
3663 (gomp_task_run_post_handle_depend_hash): Clear
3664 parent->depend_all_memory if equal to current task.
3665 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3666 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3667 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3668 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3669
d0d513b5
GA
36702022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3671
3672 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3673 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3674 * Makefile.in: Regenerate.
3675 * configure: Likewise.
3676 * testsuite/Makefile.in: Likewise.
3677
36782022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3679
3680 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3681 consider 'PLUGIN_GCN_CPPFLAGS'.
3682 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3683 'PLUGIN_GCN_LDFLAGS'.
3684 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3685 Remove.
3686 * Makefile.in: Regenerate.
3687 * configure: Likewise.
3688 * testsuite/Makefile.in: Likewise.
3689
36902022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3691
3692 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3693 (HSA_RUNTIME_LDFLAGS): Remove.
3694 * configure: Regenerate.
3695
36962022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3697
3698 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3699 'append always_ld_library_path ":$hsa_runtime_lib"'.
3700 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3701
e8778989
GA
37022022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3703
3704 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3705 multi-device testing.
3706
ea3fbfda
GA
37072022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3708
3709 * libgomp.map: Added omp_target_is_accessible.
3710 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3711 * omp.h.in: Added omp_target_is_accessible.
3712 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3713 * omp_lib.h.in: Likewise.
3714 * target.c (omp_target_is_accessible): Added implementation of
3715 omp_target_is_accessible.
3716 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3717 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3718
ab869e7f
GA
37192022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3720
3721 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3722
3e7db517
GA
37232022-05-04 Tobias Burnus <tobias@codesourcery.com>
3724
3725 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3726
37272022-05-04 Tobias Burnus <tobias@codesourcery.com>
3728
3729 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3730
e66af28d
GA
37312022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3732
3733 * libgomp.map: Added omp_get_mapped_ptr.
3734 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3735 * omp.h.in: Added omp_get_mapped_ptr.
3736 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3737 * omp_lib.h.in: Likewise.
3738 * target.c (omp_get_mapped_ptr): Added implementation of
3739 omp_get_mapped_ptr.
3740 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3741 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3742 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3743 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3744 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3745 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3746 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3747 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3748
6b6f53d8
GA
37492022-04-28 Thomas Schwinge <thomas@codesourcery.com>
3750
3751 PR fortran/104717
3752 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3753 privatization scanning. For GCN offloading compilation, raise
3754 '-mgang-private-size'.
3755
01ad093b
GA
37562022-04-26 Jakub Jelinek <jakub@redhat.com>
3757
3758 PR libgomp/105358
3759 * work.c (gomp_init_work_share): Don't mask of adjustment for
3760 dynamic long long realignment if struct gomp_work_share has smaller
3761 alignof than long long.
3762 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3763 struct gomp_work_share has smaller alignof than long long or if
3764 sizeof (struct gomp_work_share) is smaller than
3765 INLINE_ORDERED_TEAM_IDS_OFF.
3766 * loop_ull.c (GOMP_loop_ull_start): Likewise.
3767 * sections.c (GOMP_sections2_start): Likewise.
3768
98de0da6
GA
37692022-04-25 Jakub Jelinek <jakub@redhat.com>
3770 Thomas Schwinge <thomas@codesourcery.com>
3771
3772 PR fortran/104717
3773 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3774
247bbed1
GA
37752022-04-13 Jakub Jelinek <jakub@redhat.com>
3776
3777 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3778
80eb8ec6
GA
37792022-04-06 Thomas Schwinge <thomas@codesourcery.com>
3780
3781 * plugin/cuda/cuda.h: Remove file.
3782 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3783 "cuda/cuda.h" instead of <cuda.h>.
3784 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3785 'PLUGIN_NVPTX_CPPFLAGS'.
3786 * configure: Regenerate.
3787
9d84ed68
GA
37882022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
3789
3790 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3791
5e09bb1b
GA
37922022-04-04 Tom de Vries <tdevries@suse.de>
3793
3794 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3795 on_device_arch_nvptx instead of offload_target_nvptx.
3796 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3797
8af4270d
GA
37982022-04-01 Tom de Vries <tdevries@suse.de>
3799
3800 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3801 and use REC_DEPTH.
3802 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3803
38042022-04-01 Tom de Vries <tdevries@suse.de>
3805
3806 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3807 num_workers check.
3808
9f774626
GA
38092022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
3810 Lulu Cheng <chenglulu@loongson.cn>
3811
3812 * configure.tgt: Add LoongArch triplet.
3813
aab0127d
GA
38142022-03-28 Tom de Vries <tdevries@suse.de>
3815
3816 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3817 instead of /libexec/.
3818 * configure: Regenerate.
3819
31e989a2
GA
38202022-03-25 Tom de Vries <tdevries@suse.de>
3821
3822 PR libgomp/105042
3823 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3824 execution time.
3825 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3826 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3827
d1ca63a1
GA
38282022-03-23 Tobias Burnus <tobias@codesourcery.com>
3829
3830 PR middle-end/104285
3831 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3832 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3833 * testsuite/libgomp.c++/target-same-name-2.C: New test.
3834 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3835 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3836 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3837
a2287813
GA
38382022-03-22 Tom de Vries <tdevries@suse.de>
3839
3840 PR target/104916
3841 PR target/104783
3842 * testsuite/libgomp.c/pr104783-2.c: New test.
3843
8ca61ad1
GA
38442022-03-18 Tobias Burnus <tobias@codesourcery.com>
3845
3846 PR fortran/103039
3847 * testsuite/libgomp.fortran/associate4.f90: New test.
3848
38492022-03-18 Tom de Vries <tdevries@suse.de>
3850
3851 PR target/104952
3852 * testsuite/libgomp.c/pr104952-1.c: New test.
3853 * testsuite/libgomp.c/pr104952-2.c: New test.
3854
38552022-03-18 Jakub Jelinek <jakub@redhat.com>
3856
3857 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3858 variable next to pl variable.
3859
e9ea3016
GA
38602022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3861
3862 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3863 Enhance.
3864 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3865 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3866
38672022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3868
3869 PR middle-end/90115
3870 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3871 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3872
9fc8f278
GA
38732022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
3874
3875 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3876 omp_set_max_active_levels.
3877 * testsuite/libgomp.fortran/icv-8.f90: New test.
3878
38792022-03-16 Thomas Schwinge <thomas@codesourcery.com>
3880
3881 PR testsuite/102841
3882 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3883
b9756c08
GA
38842022-03-13 Tobias Burnus <tobias@codesourcery.com>
3885
3886 * libgomp.texi: Fix typo.
3887
57eeedda
GA
38882022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3889
3890 PR middle-end/100280
3891 PR middle-end/104892
3892 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3893 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3894 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3895 Likewise.
3896 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3897 Likewise.
3898 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3899 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3900 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3901 Likewise.
3902
39032022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3904
3905 PR middle-end/104892
3906 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
3907 to PR104892.
3908 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
3909 enable '--param=openacc-kernels=decompose' and adjust.
3910 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3911 Likewise.
3912 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3913 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3914 Likewise.
3915
39162022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3917
3918 PR middle-end/90115
3919 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
3920 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
3921 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3922 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
3923
39242022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3925
3926 PR middle-end/100280
3927 PR middle-end/104086
3928 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3929 Merge this...
3930 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3931 ..., and this...
3932 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
3933 this, and adjust.
3934 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3935 Extend.
3936
5e28be89
GA
39372022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
3938
3939 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
3940 trait. Test last index in w and v array. Remove redundant
3941 assignment to V(1). Move alignment checks at the end of
3942 parallel region.
3943
39442022-03-10 Tom de Vries <tdevries@suse.de>
3945
3946 * testsuite/libgomp.c/pr104783.c: New test.
3947
39482022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3949
3950 PR middle-end/90115
3951 PR middle-end/102330
3952 PR middle-end/104774
3953 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3954 Enhance.
3955 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3956 Adjust.
3957 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3958 Likewise.
3959 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3960 Likewise.
3961 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3962 Likewise.
3963 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3964 Likewise.
3965 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3966 Likewise.
3967 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3968 Likewise.
3969 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3970 Likewise.
3971 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3972 Likewise.
3973 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3974 Likewise.
3975 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3976 Likewise.
3977 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3978 Likewise.
3979 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3980 Likewise.
3981 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3982 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3983 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3984
39852022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3986
3987 PR middle-end/90115
3988 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
3989 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3990 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3991 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3992
8d96e14c
GA
39932022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3994
3995 PR testsuite/104791
3996 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
3997 expected diagnostics.
3998
39992022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4000
4001 PR middle-end/104784
4002 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4003 Test with '--param=openacc-kernels=decompose'.
4004 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4005 Likewise.
4006 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4007 Likewise.
4008 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4009 Likewise.
4010 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4011 Likewise.
4012 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4013 Likewise.
4014 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4015 Likewise.
4016 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4017 Likewise.
4018 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4019 Likewise.
4020 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4021 Likewise.
4022 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4023 Likewise.
4024 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4025 Likewise.
4026 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4027 Likewise.
4028 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4029 Likewise.
4030 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4031 Likewise.
4032 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4033 Likewise.
4034 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4035 Likewise.
4036 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4037 Likewise.
4038 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4039 Likewise.
4040 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4041 Likewise.
4042 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4043 Likewise.
4044 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4045 Likewise.
4046 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4047 Likewise.
4048 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4049 Likewise.
4050 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4051 Likewise.
4052 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4053 Likewise.
4054 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4055 Likewise.
4056 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4057 Likewise.
4058 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4059 Likewise.
4060 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4061 Likewise.
4062 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4063 Likewise.
4064 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4065 Likewise.
4066 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4067 Likewise.
4068
40692022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4070
4071 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4072 Test '-fopt-info-omp-all'.
4073 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4074 Likewise.
4075 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4076 Likewise.
4077 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4078 Likewise.
4079 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4080 Likewise.
4081 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4082 Likewise.
4083 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4084 Likewise.
4085 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4086 Likewise.
4087 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4088 Likewise.
4089 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4090 Likewise.
4091 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4092 Likewise.
4093 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4094 Likewise.
4095 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4096 Likewise.
4097 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4098 Likewise.
4099 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4100 Likewise.
4101 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4102 Likewise.
4103 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4104 Likewise.
4105 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4106 Likewise.
4107 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4108 Likewise.
4109 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4110 Likewise.
4111 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4112 Likewise.
4113 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4114 Likewise.
4115 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4116 Likewise.
4117 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4118 Likewise.
4119 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4120 Likewise.
4121 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4122 Likewise.
4123 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4124 Likewise.
4125 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4126 Likewise.
4127 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4128 Likewise.
4129 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4130 Likewise.
4131 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4132 Likewise.
4133 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4134 Likewise.
4135 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4136 Likewise.
4137
41382022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4139
4140 PR middle-end/100280
4141 PR middle-end/104132
4142 PR middle-end/104133
4143 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4144 Extend.
4145
41462022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4147
4148 PR middle-end/100280
4149 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4150 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4151 Likewise.
4152
41532022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4154
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:
4158 Likewise.
4159
a35f1697
GA
41602022-02-28 Tom de Vries <tdevries@suse.de>
4161
4162 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4163 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4164 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4165 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4166 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4167 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4168
756a6185
GA
41692022-02-24 Tom de Vries <tdevries@suse.de>
4170
4171 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4172 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4173 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4174 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4175 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4176 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4177 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4178
2cfb33fc
GA
41792022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4180
4181 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4182 gang-redundant execution.
4183
41842022-02-22 Tom de Vries <tdevries@suse.de>
4185
4186 PR target/99555
4187 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4188 from config/rtems/bar.c.
4189 (futex_wait, futex_wake): New function.
4190 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4191 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4192 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4193 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4194 and replace with include of config/linux/bar.c.
4195 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4196 (gomp_barrier_init): Init new fields.
4197 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4198 workarounds.
4199 * testsuite/libgomp.c/pr99555-1.c: Same.
4200 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4201
42022022-02-22 Tom de Vries <tdevries@suse.de>
4203
4204 PR testsuite/104146
4205 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4206 -foffload=-Wa,--verify for nvptx.
4207 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4208
875e493b
GA
42092022-02-15 Tobias Burnus <tobias@codesourcery.com>
4210
4211 * testsuite/libgomp.fortran/depend-4.f90: New test.
4212
a645583d
GA
42132022-02-10 Tobias Burnus <tobias@codesourcery.com>
4214
4215 PR c++/102204
4216 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4217
42182022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4219
4220 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4221 * target.c (copy_firstprivate_data): Copy only if host address is not
4222 NULL.
4223 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4224 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4225 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4226 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4227 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4228 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4229 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4230 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4231 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4232 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4233
2a2fda2d
GA
42342022-02-08 Jakub Jelinek <jakub@redhat.com>
4235
4236 PR libgomp/104385
4237 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4238 clear task->parent.
4239 * testsuite/libgomp.c/pr104385.c: New test.
4240
3c1cbde1
GA
42412022-02-04 Tobias Burnus <tobias@codesourcery.com>
4242
4243 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4244 STOP of previous commit.
4245
42462022-02-04 Tobias Burnus <tobias@codesourcery.com>
4247
4248 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4249 from is_64bit_aligned_.
4250 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4251 and use it, more implicit none, remove unused argument.
4252
682ede39
GA
42532022-02-03 David Seifert <soap@gentoo.org>
4254 Jakub Jelinek <jakub@redhat.com>
4255
4256 * configure.ac: Support --disable-werror.
4257 * configure: Regenerate.
4258
ae7e4af9
GA
42592022-02-01 Tom de Vries <tdevries@suse.de>
4260
4261 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4262 PR83812 workaround.
4263 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4264 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4265
42662022-02-01 Tom de Vries <tdevries@suse.de>
4267
4268 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4269 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4270 resources'.
4271 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4272 Same.
4273 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4274
42752022-02-01 Tom de Vries <tdevries@suse.de>
4276
4277 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4278 recursion depth.
4279 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4280
1bb52662
GA
42812022-01-31 Martin Liska <mliska@suse.cz>
4282
4283 * acinclude.m4: Detect *_ld_is_mold and use it.
4284 * configure: Regenerate.
4285
99f17e99
GA
42862022-01-27 Tobias Burnus <tobias@codesourcery.com>
4287
4288 * libgomp.texi (OpenMP 5.0): Update implementation status.
4289
9dd44357
GA
42902022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4291
4292 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4293 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4294 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4295 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4296 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4297 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4298 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4299 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4300 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4301 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4302 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4303 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4304 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4305 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4306 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4307
fe1ad141
GA
43082022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4309
4310 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4311 "static") to make the device num available in the offload image.
4312
43132022-01-19 Martin Liska <mliska@suse.cz>
4314 Thomas Schwinge <thomas@codesourcery.com>
4315
4316 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4317 patterns.
4318 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4319 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4320 Likewise.
4321 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4322 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4323 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4324 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4325 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4326 Likewise.
4327 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4328 Likewise.
4329 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4330 Likewise.
4331 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4332 Likewise.
4333 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4334 Likewise.
4335 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4336 Likewise.
4337 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4338 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4339 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4340
7a761ae6
GA
43412022-01-18 Martin Liska <mliska@suse.cz>
4342
4343 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4344 in dg-warning.
4345 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4346 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4347 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4348 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4349 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4350 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4351 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4352 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4353 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4354 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4355 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4356 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4357 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4358 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4359 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4360
fc829782
GA
43612022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4362
4363 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4364 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4365 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4366
43672022-01-17 Julian Brown <julian@codesourcery.com>
4368 Thomas Schwinge <thomas@codesourcery.com>
4369
4370 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4371 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4372 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4373
1e942d7c
GA
43742022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4375 Andrew Stubbs <ams@codesourcery.com>
4376
4377 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4378 the number of teams and threads if necessary.
4379 (gcn_exec): Automatically set the number of gangs and workers if
4380 necessary.
4381
ad3f0d08
GA
43822022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4383
4384 * testsuite/libgomp.fortran/allocate-1.c: New test.
4385 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4386 * libgomp.texi: Remove string that says that allocate clause
4387 support is for C/C++ only.
4388
43892022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4390
4391 * testsuite/libgomp.c-c++-common/on_device_arch.h
4392 (any_device_arch, any_device_arch_intel_mic): New.
4393 * testsuite/lib/libgomp.exp
4394 (check_effective_target_offload_device_any_intel_mic): New.
4395 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4396 * testsuite/libgomp.fortran/target10.f90: Likewise.
4397
43982022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4399
4400 PR tree-optimization/102192
4401 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4402 '-Wuninitialized' diagnostics.
4403
44042022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4405
4406 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4407 current '-Wuninitialized' diagnostics.
4408 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4409 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4410 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4411 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4412 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4413 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4414 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4415 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4416 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4417 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4418 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4419 Likewise.
4420
44212022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4422
4423 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4424 for 'offload_device_intel_mic'.
4425
44262022-01-13 Julian Brown <julian@codesourcery.com>
4427 Thomas Schwinge <thomas@codesourcery.com>
4428
4429 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4430 offloading execution XFAIL.
4431
44322022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4433
4434 PR middle-end/100280
4435 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4436 Update.
4437 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4438 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4439 Likewise.
4440
44412022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4442
4443 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4444 Enhance.
4445 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4446 Likewise.
4447 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4448 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4449 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4450 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4451 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4452 Likewise.
4453 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4454 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4455 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4456 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4457
7d11b64b
GA
44582022-01-04 Tobias Burnus <tobias@codesourcery.com>
4459
4460 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4461 * testsuite/libgomp.fortran/target10.f90: Likewise.
4462
44632022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4464
4465 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4466 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4467 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4468
a4ae8c37
GA
44692022-01-03 Jakub Jelinek <jakub@redhat.com>
4470
4471 * libgomp.texi: Bump @copying's copyright year.
4472
7f1239cb
GA
44732021-12-13 Tobias Burnus <tobias@codesourcery.com>
4474
4475 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4476 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4477
0bceef16
GA
44782021-12-10 Andrew Stubbs <ams@codesourcery.com>
4479
4480 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4481 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4482 table, not individual symbols.
4483
4b4839e3
GA
44842021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4485
4486 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4487 "target offload_device_nonshared_as"
4488 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4489 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4490
641ff219
GA
44912021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4492
4493 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4494 not overwritten during cross-host/device copying.
4495 (gomp_update): Likewise.
4496 (gomp_exit_data): Likewise.
4497 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4498 * testsuite/libgomp.c++/target-12.C: Likewise.
4499 * testsuite/libgomp.c++/target-15.C: Likewise.
4500 * testsuite/libgomp.c++/target-16.C: Likewise.
4501 * testsuite/libgomp.c++/target-17.C: Likewise.
4502 * testsuite/libgomp.c++/target-21.C: Likewise.
4503 * testsuite/libgomp.c++/target-23.C: Likewise.
4504 * testsuite/libgomp.c/target-23.c: Likewise.
4505 * testsuite/libgomp.c/target-29.c: Likewise.
4506 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4507
45082021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4509
4510 PR middle-end/92120
4511 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4512 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4513 (goacc_enter_data_internal): Likewise.
4514 * target.c (gomp_map_vars_existing): Update assert condition to
4515 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4516 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4517 parameter, add support for mapping a pointer with NULL target.
4518 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4519 parameter, add support for attaching a pointer with NULL target.
4520 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4521 gomp_attach_pointer, add handling for
4522 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4523 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4524 * testsuite/libgomp.c++/target-23.C: New testcase.
4525 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4526 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4527 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4528 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4529 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4530 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4531 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4532
70e4cb66
GA
45332021-12-04 Tobias Burnus <tobias@codesourcery.com>
4534
4535 * libgomp.texi (OpenMP 5.1): Update status.
4536
45372021-12-04 Tobias Burnus <tobias@codesourcery.com>
4538
4539 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4540
ea6ef320
GA
45412021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4542
4543 PR fortran/90030
4544 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4545 * testsuite/libgomp.fortran/pr90030.f90: New test.
4546
c177e806
GA
45472021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4548 Thomas Schwinge <thomas@codesourcery.com>
4549
4550 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4551 temporary skip.
4552
45532021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4554 Thomas Schwinge <thomas@codesourcery.com>
4555
4556 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4557 skip.
4558
87cd82c8
GA
45592021-11-29 Richard Biener <rguenther@suse.de>
4560
4561 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4562 return.
4563
d9ca4b45
GA
45642021-11-24 Jakub Jelinek <jakub@redhat.com>
4565
4566 PR middle-end/103384
4567 * testsuite/libgomp.c/declare-variant-2.c: New test.
4568
483092d3
GA
45692021-11-18 David Edelsohn <dje.gcc@gmail.com>
4570
4571 * alloc.c (gomp_aligned_alloc): Fix typo.
4572
45732021-11-18 Jakub Jelinek <jakub@redhat.com>
4574
4575 PR libgomp/102838
4576 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4577 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4578 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4579 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4580 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4581 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4582 gomp_aligned_alloc instead of team_malloc.
4583
45842021-11-18 Jakub Jelinek <jakub@redhat.com>
4585
4586 PR libgomp/102838
4587 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4588 memalign over posix_memalign over aligned_alloc over fallback
4589 with malloc instead of aligned_alloc over _aligned_alloc over
4590 posix_memalign over memalign over fallback with malloc. For
4591 aligned_alloc, round up size up to multiple of al.
4592
6b1695f4
GA
45932021-11-16 Jakub Jelinek <jakub@redhat.com>
4594
4595 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4596 construct as implemented.
4597
e2b57363
GA
45982021-11-15 Tobias Burnus <tobias@codesourcery.com>
4599
4600 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4601
46022021-11-15 Jakub Jelinek <jakub@redhat.com>
4603
4604 * task.c (gomp_create_target_task): Copy args array as well.
4605 * target.c (gomp_target_fallback): Add args argument.
4606 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4607 (GOMP_target): Adjust gomp_target_fallback caller.
4608 (GOMP_target_ext): Likewise.
4609 (gomp_target_task_fn): Likewise.
4610 * config/nvptx/team.c (gomp_nvptx_main): Set
4611 gomp_global_icv.thread_limit_var.
4612 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4613
46142021-11-15 Jakub Jelinek <jakub@redhat.com>
4615
4616 * config/nvptx/team.c (__gomp_team_num): Define as
4617 __attribute__((shared)) var.
4618 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4619 * config/nvptx/target.c (__gomp_team_num): Declare as
4620 extern __attribute__((shared)) var.
4621 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4622 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4623 is bigger than num_blocks, use num_teams_lower teams and arrange for
4624 bumping of __gomp_team_num if !first and returning false once we run
4625 out of teams.
4626 * config/nvptx/teams.c (__gomp_team_num): Declare as
4627 extern __attribute__((shared)) var.
4628 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4629
46302021-11-15 Jakub Jelinek <jakub@redhat.com>
4631
4632 * testsuite/libgomp.c/teams-5.c: New test.
4633
af2852b9
GA
46342021-11-12 Jakub Jelinek <jakub@redhat.com>
4635
4636 PR target/103201
4637 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4638 to ...
4639 * config/gcn/teams.c: ... here. New file.
4640
46412021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4642
4643 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4644 implicit map handling to allow a "superset" existing map as valid case.
4645 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4646 (get_implicit): New function to extract implicit status.
4647 (gomp_map_fields_existing): Adjust arguments in calls to
4648 gomp_map_vars_existing, and add uses of get_implicit.
4649 (gomp_map_vars_internal): Likewise.
4650 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4651
46522021-11-12 Jakub Jelinek <jakub@redhat.com>
4653
4654 * libgomp_g.h (GOMP_teams4): Declare.
4655 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4656 * target.c (GOMP_teams4): New function.
4657 * config/nvptx/target.c (GOMP_teams): Remove.
4658 (GOMP_teams4): New function.
4659 * config/gcn/target.c (GOMP_teams): Remove.
4660 (GOMP_teams4): New function.
4661 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4662 teams instead of <= 2.
4663 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4664
b39265d4
GA
46652021-11-11 Tobias Burnus <tobias@codesourcery.com>
4666
4667 * testsuite/libgomp.fortran/teams-1.f90: New test.
4668
46692021-11-11 Jakub Jelinek <jakub@redhat.com>
4670
4671 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4672 * team.c (struct gomp_thread_start_data): Likewise.
4673 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4674 (gomp_team_start): Initialize start_data->num_teams and
4675 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4676 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4677 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4678 instead of gomp_num_teams and gomp_team_num.
4679 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4680 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4681 * testsuite/libgomp.c/teams-4.c: New test.
4682
46832021-11-11 Jakub Jelinek <jakub@redhat.com>
4684
4685 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4686
c9b1334e
GA
46872021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4688
4689 * env.c (parse_gomp_openacc_dim): Restore parsing.
4690
0ef94462
GA
46912021-10-30 Tobias Burnus <tobias@codesourcery.com>
4692
4693 PR middle-end/102972
4694 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4695 parallel construct.
4696 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4697 * testsuite/libgomp.c/target-3.c: Likewise.
4698 * testsuite/libgomp.c/target-5.c: Likewise.
4699 * testsuite/libgomp.c/target-6.c: Likewise.
4700 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4701 * testsuite/libgomp.c/teams-1.c: Likewise.
4702 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4703 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4704 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4705 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4706 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4707 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4708 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4709
4c61300f
GA
47102021-10-29 Aldy Hernandez <aldyh@redhat.com>
4711
4712 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4713 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4714
04a2cf3f
GA
47152021-10-27 Jakub Jelinek <jakub@redhat.com>
4716
4717 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4718 aren't implemented for Fortran yet.
4719
47202021-10-27 Jakub Jelinek <jakub@redhat.com>
4721
4722 * testsuite/libgomp.c/loop-26.c: New test.
4723 * testsuite/libgomp.c/loop-27.c: New test.
4724
b621508d
GA
47252021-10-25 Tobias Burnus <tobias@codesourcery.com>
4726
4727 PR testsuite/102910
4728 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4729 instead of #include <alloca.h> + alloca.
4730
ae5c5406
GA
47312021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4732
4733 * libgomp.texi (Support of strictly structured blocks in Fortran):
4734 Adjust to 'Y'.
4735 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4736
674dda6b
GA
47372021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4738
4739 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4740 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4741
47422021-10-20 Jakub Jelinek <jakub@redhat.com>
4743
4744 PR libgomp/102838
4745 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4746 (struct gomp_work_share): Only use aligned(64) attribute if
4747 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4748 add padding before lock to ensure lock is at offset 64 bytes
4749 into the structure.
4750 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4751 New poor man's static assertions.
4752 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4753 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4754
47552021-10-20 Aldy Hernandez <aldyh@redhat.com>
4756 Richard Biener <rguenther@suse.de>
4757
4758 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4759
ce4d1f63
GA
47602021-10-18 Jakub Jelinek <jakub@redhat.com>
4761
4762 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4763 && gomp_places_list_len < count after nfirst <= nlast loop condition.
4764
47652021-10-18 Tobias Burnus <tobias@codesourcery.com>
4766
4767 PR fortran/102086
4768 PR fortran/92189
4769 PR fortran/92621
4770 PR fortran/101308
4771 PR fortran/101309
4772 PR fortran/101635
4773 PR fortran/92482
4774 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4775
93d183a5
GA
47762021-10-15 Jakub Jelinek <jakub@redhat.com>
4777
4778 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4779 type from char [50] to const char *.
4780 (places_array): Add a testcase for simplified syntax place followed
4781 by length or length and stride.
4782
47832021-10-15 Jakub Jelinek <jakub@redhat.com>
4784
4785 * env.c (parse_one_place): Handle non-negative-number the same
4786 as { non-negative-number }. Reject even !number:1 and
4787 !number:1:stride or !place:1 or !place:1:stride instead of just
4788 length other than 1.
4789 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4790 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4791 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4792 as implemented.
4793 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4794 simplified syntax.
4795
47962021-10-15 Jakub Jelinek <jakub@redhat.com>
4797
4798 * env.c (parse_schedule): For strtoul or strtoull calls which don't
4799 clearly reject return value 0 as invalid handle the case where end
4800 pointer is the same as first argument as invalid.
4801 (parse_unsigned_long_1): Likewise.
4802 (parse_one_place): Likewise.
4803 (parse_places_var): Likewise.
4804 (parse_stacksize): Likewise.
4805 (parse_spincount): Likewise.
4806 (parse_affinity): Likewise.
4807 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
4808 Make code valid C89.
4809 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4810 For strtoul calls which don't clearly reject return value 0 as
4811 invalid handle the case where end pointer is the same as first
4812 argument as invalid.
4813 (gomp_affinity_init_level_1): Likewise.
4814 (gomp_affinity_init_numa_domains): Likewise.
4815 * config/rtems/proc.c (parse_thread_pools): Likewise.
4816
48172021-10-15 Jakub Jelinek <jakub@redhat.com>
4818
4819 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4820 after creating count places clean up and return immediately.
4821 * testsuite/libgomp.c/places-6.c: New test.
4822 * testsuite/libgomp.c/places-7.c: New test.
4823 * testsuite/libgomp.c/places-8.c: New test.
4824 * testsuite/libgomp.c/places-9.c: New test.
4825 * testsuite/libgomp.c/places-10.c: New test.
4826
48272021-10-15 Jakub Jelinek <jakub@redhat.com>
4828
4829 * env.c (parse_places_var): Handle numa_domains as level 5.
4830 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4831 function.
4832 (gomp_affinity_init_level): Use it instead of
4833 gomp_affinity_init_level_1 for level == 5.
4834 * testsuite/libgomp.c/places-5.c: New test.
4835
48362021-10-15 Jakub Jelinek <jakub@redhat.com>
4837
4838 * env.c (parse_places_var): Handle ll_caches as level 4.
4839 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4840 function.
4841 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4842 last level cache.
4843 (gomp_affinity_init_level): Likewise.
4844 * testsuite/libgomp.c/places-1.c: New test.
4845 * testsuite/libgomp.c/places-2.c: New test.
4846 * testsuite/libgomp.c/places-3.c: New test.
4847 * testsuite/libgomp.c/places-4.c: New test.
4848
5d5885c9
GA
48492021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4850
4851 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4852 directive.
4853
48542021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4855
4856 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4857
52055987
GA
48582021-10-12 Julian Brown <julian@codesourcery.com>
4859
4860 * target.c (gomp_copy_host2dev): Release device lock on cbuf
4861 error path.
4862
48632021-10-12 Tobias Burnus <tobias@codesourcery.com>
4864
4865 * testsuite/libgomp.fortran/icv-3.f90: New.
4866 * testsuite/libgomp.fortran/icv-4.f90: New.
4867
48682021-10-12 Jakub Jelinek <jakub@redhat.com>
4869
4870 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4871 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4872 OMP_TEAMS_THREAD_LIMIT): Document.
4873
48742021-10-12 Jakub Jelinek <jakub@redhat.com>
4875
4876 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4877 to avoid makeinfo warnings.
4878
48792021-10-12 Jakub Jelinek <jakub@redhat.com>
4880
4881 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4882 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4883
48842021-10-12 Jakub Jelinek <jakub@redhat.com>
4885
4886 PR libgomp/102628
4887 PR libgomp/102668
4888 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4889 allocation sizes from 420 to 320 and from 768 to 568.
4890 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4891 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4892 for cr from 16 to 4.
4893
48942021-10-12 Jakub Jelinek <jakub@redhat.com>
4895
4896 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4897 * testsuite/libgomp.c/scan-12.c: Likewise.
4898 * testsuite/libgomp.c/scan-13.c: Likewise.
4899 * testsuite/libgomp.c/scan-14.c: Likewise.
4900 * testsuite/libgomp.c/scan-15.c: Likewise.
4901 * testsuite/libgomp.c/scan-16.c: Likewise.
4902 * testsuite/libgomp.c/scan-17.c: Likewise.
4903 * testsuite/libgomp.c/scan-18.c: Likewise.
4904 * testsuite/libgomp.c/scan-19.c: Likewise.
4905 * testsuite/libgomp.c/scan-20.c: Likewise.
4906 * testsuite/libgomp.c/scan-21.c: Likewise.
4907 * testsuite/libgomp.c/scan-22.c: Likewise.
4908 * testsuite/libgomp.c++/scan-9.C: Likewise.
4909 * testsuite/libgomp.c++/scan-10.C: Likewise.
4910 * testsuite/libgomp.c++/scan-11.C: Likewise.
4911 * testsuite/libgomp.c++/scan-12.C: Likewise.
4912 * testsuite/libgomp.c++/scan-13.C: Likewise.
4913 * testsuite/libgomp.c++/scan-14.C: Likewise.
4914 * testsuite/libgomp.c++/scan-15.C: Likewise.
4915 * testsuite/libgomp.c++/scan-16.C: Likewise.
4916
49172021-10-12 Kewen Lin <linkw@linux.ibm.com>
4918
4919 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
4920
732d7638
GA
49212021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
4922
4923 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
4924 omp_atv_serialized.
4925 * omp.h.in: Add deprecated flag for omp_atv_sequential.
4926 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
4927 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
4928 * testsuite/libgomp.fortran/alloc-12.f90: New test.
4929
49302021-10-11 Jakub Jelinek <jakub@redhat.com>
4931
4932 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
4933 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4934 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
4935 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4936 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
4937 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4938 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
4939 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
4940 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
4941 omp_set_teams_thread_limit{,_,_8_}.
4942 * icv.c (omp_set_num_teams, omp_get_max_teams,
4943 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
4944 functions.
4945 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
4946 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
4947 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
4948 vars.
4949 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
4950 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
4951 is not specified, use gomp_nteams_var.
4952 * fortran.c (omp_set_num_teams, omp_get_max_teams,
4953 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
4954 ialias_redirect.
4955 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
4956 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
4957 omp_get_teams_thread_limit_): New functions.
4958
c9db17b8
GA
49592021-10-09 liuhongt <hongtao.liu@intel.com>
4960
4961 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
4962 * testsuite/libgomp.c++/scan-11.C: Ditto.
4963 * testsuite/libgomp.c++/scan-12.C: Ditto.
4964 * testsuite/libgomp.c++/scan-13.C: Ditto.
4965 * testsuite/libgomp.c++/scan-14.C: Ditto.
4966 * testsuite/libgomp.c++/scan-15.C: Ditto.
4967 * testsuite/libgomp.c++/scan-16.C: Ditto.
4968 * testsuite/libgomp.c++/scan-9.C: Ditto.
4969 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
4970 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
4971 * testsuite/libgomp.c/scan-11.c: Ditto.
4972 * testsuite/libgomp.c/scan-12.c: Ditto.
4973 * testsuite/libgomp.c/scan-13.c: Ditto.
4974 * testsuite/libgomp.c/scan-14.c: Ditto.
4975 * testsuite/libgomp.c/scan-15.c: Ditto.
4976 * testsuite/libgomp.c/scan-16.c: Ditto.
4977 * testsuite/libgomp.c/scan-17.c: Ditto.
4978 * testsuite/libgomp.c/scan-18.c: Ditto.
4979 * testsuite/libgomp.c/scan-19.c: Ditto.
4980 * testsuite/libgomp.c/scan-20.c: Ditto.
4981 * testsuite/libgomp.c/scan-21.c: Ditto.
4982 * testsuite/libgomp.c/scan-22.c: Ditto.
4983
49842021-10-09 Jakub Jelinek <jakub@redhat.com>
4985
4986 * libgomp.texi (OpenMP 5.1): Mention implemented support for
4987 structured block sequences in C/C++. Mention support for
4988 unconstrained/reproducible modifiers on order clause.
4989 Mention partial (C/C++ only) support of extentensions to atomics
4990 construct. Mention partial (C/C++ on clause only) support of
4991 align/allocator modifiers on allocate clause.
4992
e3e07b89
GA
49932021-10-02 Tobias Burnus <tobias@codesourcery.com>
4994
4995 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
4996 based on libgomp.c-c++-common/order-reproducible-1.c.
4997 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
4998 * testsuite/libgomp.fortran/my-usleep.c: New test.
4999
9d116bcc
GA
50002021-10-01 Tobias Burnus <tobias@codesourcery.com>
5001
5002 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
5003 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
5004 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
5005 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
5006 based on libgomp.c-c++-common/alloc-9.c.
5007
50082021-10-01 Jakub Jelinek <jakub@redhat.com>
5009
5010 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
5011 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
5012
50132021-10-01 Jakub Jelinek <jakub@redhat.com>
5014
5015 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
5016 ialias_redirect.
5017 * env.c (handle_omp_display_env): Use ialias_call.
5018 * icv-device.c: Move ialias right below each function.
5019 (omp_get_device_num): Use ialias_call.
5020 * fortran.c (omp_fulfill_event): Add ialias_redirect.
5021 * icv.c (omp_get_active_level): Add ialias_redirect.
5022
50232021-10-01 Jakub Jelinek <jakub@redhat.com>
5024
5025 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
5026 __alloc_align__ (1) attribute.
5027 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
5028
24679983
GA
50292021-09-30 Tobias Burnus <tobias@codesourcery.com>
5030
5031 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
5032 for -fintrinsic-modules-path= warning of the C compiler.
5033 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
5034 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
5035
50362021-09-30 Tobias Burnus <tobias@codesourcery.com>
5037
5038 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
5039 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
5040 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5041 omp_realloc): Add.
5042 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
5043 omp_realloc): Add.
5044 * testsuite/libgomp.fortran/alloc-10.f90: New test.
5045 * testsuite/libgomp.fortran/alloc-6.f90: New test.
5046 * testsuite/libgomp.fortran/alloc-7.c: New test.
5047 * testsuite/libgomp.fortran/alloc-7.f90: New test.
5048 * testsuite/libgomp.fortran/alloc-8.f90: New test.
5049 * testsuite/libgomp.fortran/alloc-9.f90: New test.
5050
50512021-09-30 Jakub Jelinek <jakub@redhat.com>
5052
5053 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
5054 omp_realloc): New prototypes.
5055 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
5056 attribute.
5057 * allocator.c: Include string.h.
5058 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
5059 variable and use it instead of alignment so that when retrying the old
5060 alignment is used again. Don't retry if new alignment is the same
5061 as old alignment, unless allocator had pool size.
5062 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5063 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5064 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5065 omp_aligned_calloc and omp_realloc.
5066 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5067 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5068 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5069 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5070 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5071 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5072
fd133479
GA
50732021-09-28 Tobias Burnus <tobias@codesourcery.com>
5074
5075 PR libgomp/96661
5076 * configure.ac: Only check for int-type = 2*size_t support when
5077 building with Fortran support.
5078 * configure: Regenerate.
5079
50802021-09-28 Thomas Schwinge <thomas@codesourcery.com>
5081
5082 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5083 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5084
cf966403
GA
50852021-09-27 Aldy Hernandez <aldyh@redhat.com>
5086
5087 * team.c: Initialize start_data.
5088 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5089 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5090
50912021-09-27 Tobias Burnus <tobias@codesourcery.com>
5092
5093 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5094 dg-message back to dg-note.
5095
50962021-09-27 Tobias Burnus <tobias@codesourcery.com>
5097
5098 PR fortran/94070
5099 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5100 expected dg-note output.
5101
e4777439
GA
51022021-09-22 Tobias Burnus <tobias@codesourcery.com>
5103
5104 PR fortran/55534
5105 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5106 r12-3722 by removing -Wno-missing-include-dirs.
5107 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5108
51092021-09-22 Jakub Jelinek <jakub@redhat.com>
5110
5111 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5112 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5113
2c41dd82
GA
51142021-09-21 Tobias Burnus <tobias@codesourcery.com>
5115
5116 PR fortran/55534
5117 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5118 to ALWAYS_CFLAGS.
5119 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5120
cf74e7b5
GA
51212021-09-18 Jakub Jelinek <jakub@redhat.com>
5122
5123 * testsuite/libgomp.c++/default-1.C: New test.
5124 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5125 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5126 to default clause in C and C++" as implemented.
5127
0a4cb439
GA
51282021-09-17 Julian Brown <julian@codesourcery.com>
5129
5130 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5131
51322021-09-17 Julian Brown <julian@codesourcery.com>
5133
5134 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5135
51362021-09-17 Jakub Jelinek <jakub@redhat.com>
5137
5138 * libgomp.texi (OpenMP 5.1): Spelling fix,
5139 declare variante -> declare variant.
5140
51412021-09-17 Jakub Jelinek <jakub@redhat.com>
5142
5143 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5144 Use /* */ comments instead of //.
5145 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5146 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5147 * testsuite/libgomp.c++/atomic-16.C: New test.
5148 * testsuite/libgomp.c++/atomic-17.C: New test.
5149
a26206ec
GA
51502021-09-10 Jakub Jelinek <jakub@redhat.com>
5151
5152 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5153 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5154 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5155
b2748138
GA
51562021-09-07 Tobias Burnus <tobias@codesourcery.com>
5157
5158 * libgomp.texi (OpenMP Implementation Status): Extend
5159 OpenMP 5.0 section.
5160 (OpenACC Profiling Interface): Fix typo.
5161
51622021-09-07 Tobias Burnus <tobias@codesourcery.com>
5163
5164 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5165 not to 4.5; link to new section.
5166 (OpenMP Implementation Status): New.
5167
9f99555f
GA
51682021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5169
5170 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5171
7b739540
GA
51722021-09-03 Tobias Burnus <tobias@codesourcery.com>
5173
5174 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5175 dg-output.
5176 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5177
38b19c5b
GA
51782021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5179 Jakub Jelinek <jakub@redhat.com>
5180
5181 * testsuite/libgomp.c/address-space-1.c: New file.
5182
51832021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5184
5185 * testsuite/lib/libgomp.exp
5186 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5187 (check_effective_target_offload_device_intel_mic): New 'proc'.
5188 * testsuite/libgomp.c-c++-common/on_device_arch.h
5189 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5190 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5191 'dg-xfail-run-if'.
5192 * testsuite/libgomp.fortran/target10.f90: Likewise.
5193
51942021-08-23 Tobias Burnus <tobias@codesourcery.com>
5195
5196 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5197 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5198 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5199 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5200
52012021-08-23 Jakub Jelinek <jakub@redhat.com>
5202
5203 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5204 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5205 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5206
5b2876f9
GA
52072021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5208
5209 * config/nvptx/error.c (fwrite, exit): Override, too.
5210 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5211 of offloading testing.
5212 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5213
7c9e1645
GA
52142021-08-20 Tobias Burnus <tobias@codesourcery.com>
5215
5216 * testsuite/libgomp.fortran/error-1.f90: New test.
5217
52182021-08-20 Jakub Jelinek <jakub@redhat.com>
5219
5220 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5221 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5222 * error.c (GOMP_warning, GOMP_error): New functions.
5223 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5224
6e529985
GA
52252021-08-18 Tobias Burnus <tobias@codesourcery.com>
5226
5227 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5228 omp_target_free. omp_target_is_present, omp_target_memcpy,
5229 omp_target_memcpy_rect, omp_target_associate_ptr,
5230 omp_target_disassociate_ptr): Add interface.
5231 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5232 omp_target_free. omp_target_is_present, omp_target_memcpy,
5233 omp_target_memcpy_rect, omp_target_associate_ptr,
5234 omp_target_disassociate_ptr): Add interface.
5235 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5236 interface block for omp_alloc + omp_free.
5237 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5238 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5239 * testsuite/libgomp.fortran/target-12.f90: New test.
5240
52412021-08-18 Jakub Jelinek <jakub@redhat.com>
5242
5243 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5244
2d14d64b
GA
52452021-08-17 Tobias Burnus <tobias@codesourcery.com>
5246
5247 * testsuite/libgomp.fortran/scope-1.f90: New test.
5248 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5249
52502021-08-17 Jakub Jelinek <jakub@redhat.com>
5251
5252 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5253 * Makefile.in: Regenerated.
5254 * libgomp_g.h (GOMP_scope_start): Declare.
5255 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5256 * scope.c: New file.
5257 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5258 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5259
9d1d9fc8
GA
52602021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5261
5262 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5263 '?:' issues.
5264
52652021-08-16 Tobias Burnus <tobias@codesourcery.com>
5266
5267 * testsuite/libgomp.fortran/masked-1.f90: New test.
5268
261512fa
GA
52692021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5270
5271 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5272
72be20e2
GA
52732021-08-12 Jakub Jelinek <jakub@redhat.com>
5274
5275 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5276
52772021-08-12 Tobias Burnus <tobias@codesourcery.com>
5278
5279 * env.c (parse_bind_var): Accept 'primary' as alias for
5280 'master'.
5281 (omp_display_env): Add TODO comment to
5282 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5283 * libgomp.texi: Change 'master thread' to 'primary thread'
5284 in line with OpenMP 5.1.
5285 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5286 omp_proc_bind_master is an alias of it.
5287 (OMP_PROC_BIND): Mention 'PRIMARY'.
5288 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5289 (omp_proc_bind_primary): Add.
5290 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5291 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5292 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5293 * omp_lib.h.in (omp_proc_bind_primary): Add.
5294 * testsuite/libgomp.c/affinity-1.c: Check that
5295 'primary' works and is identical to 'master'.
5296
37768150
GA
52972021-08-09 Julian Brown <julian@codesourcery.com>
5298 Kwok Cheung Yeung <kcy@codesourcery.com>
5299 Thomas Schwinge <thomas@codesourcery.com>
5300
5301 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5302 16.
5303 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5304 [acc_device_radeon]: Update.
5305 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5306 [ACC_DEVICE_TYPE_radeon]: Likewise.
5307 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5308 [acc_device_radeon]: Likewise.
5309 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5310 [ACC_DEVICE_TYPE_radeon]: Likewise.
5311 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5312 'openacc_radeon_accel_selected' and '-O0'.
5313 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5314
8ebf4fb5
GA
53152021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5316
5317 * icv-device.c (omp_get_device_num): New API function, host side.
5318 * fortran.c (omp_get_device_num_): New interface function.
5319 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5320 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5321 omp_get_device_num_.
5322 * libgomp.texi (omp_get_device_num): Add documentation for new API
5323 function.
5324 * omp.h.in (omp_get_device_num): Add declaration.
5325 * omp_lib.f90.in (omp_get_device_num): Likewise.
5326 * omp_lib.h.in (omp_get_device_num): Likewise.
5327 * target.c (gomp_load_image_to_device): If additional entry for device
5328 number exists at end of returned entries from 'load_image_func' hook,
5329 copy the assigned device number over to the device variable.
5330 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5331 (omp_get_device_num): New API function, device side.
5332 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5333 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5334 at end of returned 'target_table' entries.
5335 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5336 (omp_get_device_num): New API function, device side.
5337 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5338 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5339 at end of returned 'target_table' entries.
5340 * testsuite/lib/libgomp.exp
5341 (check_effective_target_offload_target_intelmic): New function for
5342 testing for intelmic offloading.
5343 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5344 * testsuite/libgomp.fortran/target10.f90: New test.
5345
4d17ca1b
GA
53462021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5347 Ulrich Drepper <drepper@redhat.com>
5348
5349 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5350 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5351
53522021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5353 Julian Brown <julian@codesourcery.com>
5354 Kwok Cheung Yeung <kcy@codesourcery.com>
5355
5356 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5357 's%oaccdevlow%oaccloops%g'.
5358 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5359 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5360 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5361 Likewise.
5362 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5363 Likewise.
5364 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5365 Likewise.
5366 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5367 Likewise.
5368 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5369 Likewise.
5370 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5371 Likewise.
5372 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5373 Likewise.
5374 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5375 Likewise.
5376 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5377
872c1a56
ML
53782021-07-29 Aldy Hernandez <aldyh@redhat.com>
5379
5380 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5381 threader.
5382 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5383
af3f12e6
GA
53842021-07-27 Ulrich Drepper <drepper@gmail.com>
5385
5386 * env.c (wait_policy, stacksize): New static variables,
5387 move out of handle_omp_display_env.
5388 (omp_display_env): New function. The meat of the old
5389 handle_omp_display_env function.
5390 (handle_omp_display_env): Change to not take parameters
5391 and instead use the global variables. Only perform
5392 parsing, defer to omp_display_env for the implementation.
5393 (initialize_env): Remove local variables wait_policy and
5394 stacksize. Don't pass parameters to handle_omp_display_env.
5395 * fortran.c: Add ialias_redirect for omp_display_env.
5396 (omp_display_env_, omp_display_env_8_): New functions.
5397 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5398 omp_display_env_, and omp_display_env_8_.
5399 * omp.h.in: Declare omp_display_env.
5400 * omp_lib.f90.in: Likewise.
5401 * omp_lib.h.in: Likewise.
5402
54032021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5404 Julian Brown <julian@codesourcery.com>
5405
5406 * target.c (gomp_coalesce_buf_add): Update comment.
5407 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5408 'aq && cbuf'.
5409 (gomp_map_vars_internal): Only 'if (!aq)', do
5410 'gomp_coalesce_buf_add'.
5411 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5412 XFAIL.
5413
54142021-07-27 Julian Brown <julian@codesourcery.com>
5415 Thomas Schwinge <thomas@codesourcery.com>
5416
5417 * libgomp.h (gomp_copy_host2dev): Update prototype.
5418 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5419 argument to gomp_copy_host2dev (false).
5420 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5421 (copy_data): Don't free src.
5422 (queue_push_copy): Remove free_src handling.
5423 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5424 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5425 snapshotting.
5426 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5427 queue_push_copy.
5428 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5429 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5430 data when true, and set up deferred freeing of temporary buffer.
5431 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5432 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5433 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5434 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5435 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5436 XFAIL.
5437
54382021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5439 Tom de Vries <tom@codesourcery.com>
5440
5441 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5442 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5443
54442021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5445
5446 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5447 sequencing of 'async' data copying vs. profiling events.
5448 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5449 Likewise.
5450
54512021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5452 Julian Brown <julian@codesourcery.com>
5453
5454 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5455 'async'/'wait' issue.
5456 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5457 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5458 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5459
419c6c68
GA
54602021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5461 Joseph Myers <joseph@codesourcery.com>
5462 Cesar Philippidis <cesar@codesourcery.com>
5463
5464 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5465 file.
5466 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5467 Likewise.
5468 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5469 Likewise.
5470 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5471
92d45509
GA
54722021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5473
5474 PR target/101484
5475 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5476 '-Wno-error=array-bounds'.
5477 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5478 * libgomp.h [__AMDGCN__]: Likewise.
5479
21ea2f93
GA
54802021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5481
5482 PR target/101484
5483 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5484 * libgomp.h [__AMDGCN__]: Likewise.
5485
0e775456
GA
54862021-07-13 Jakub Jelinek <jakub@redhat.com>
5487 Florian Weimer <fweimer@redhat.com>
5488
5489 * config/linux/sem.h: Don't include limits.h.
5490 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5491 * config/linux/affinity.c: Include limits.h.
5492
bea7c16a
GA
54932021-07-01 Jakub Jelinek <jakub@redhat.com>
5494
5495 PR middle-end/94366
5496 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5497
6bc18203
GA
54982021-06-29 Tobias Burnus <tobias@codesourcery.com>
5499
5500 PR other/67300
5501 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5502 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5503 avoid disabling other offload targets.
5504 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5505 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5506 * testsuite/libgomp.c/target-44.c: Likewise.
5507
55082021-06-29 Tobias Burnus <tobias@codesourcery.com>
5509
5510 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5511 target has shared memory and disable some scalar pointer/allocatable
5512 checks if not as firstprivate does not work.
5513
90708f87
GA
55142021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5515
5516 PR testsuite/101114
5517 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5518 Add "target offload_device_nonshared_as" condition for enabling test.
5519
9aa8327e
GA
55202021-06-24 Jakub Jelinek <jakub@redhat.com>
5521
5522 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5523 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5524 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5525 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5526
fcf617f0
GA
55272021-06-23 Jakub Jelinek <jakub@redhat.com>
5528
5529 PR middle-end/101167
5530 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5531
688359a2
GA
55322021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5533
5534 * hashtab.h (htab_clear): New function with initialization code
5535 factored out from...
5536 (htab_create): ...here, adjust to use htab_clear function.
5537 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5538 special refcount values, add comments.
5539 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5540 (REFCOUNT_LINK): Likewise.
5541 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5542 element siblings.
5543 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5544 sibling maps.
5545 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5546 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5547 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5548 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5549 (struct splay_tree_key_s): Add structelem_refcount and
5550 structelem_refcount_ptr fields into a union with dynamic_refcount.
5551 Add comments.
5552 (gomp_map_vars): Delete declaration.
5553 (gomp_map_vars_async): Likewise.
5554 (gomp_unmap_vars): Likewise.
5555 (gomp_unmap_vars_async): Likewise.
5556 (goacc_map_vars): New declaration.
5557 (goacc_unmap_vars): Likewise.
5558 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5559 (goacc_enter_datum): Likewise.
5560 (goacc_enter_data_internal): Likewise.
5561 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5562 and goacc_unmap_vars.
5563 (GOACC_data_start): Adjust to use goacc_map_vars.
5564 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5565 * target.c (hash_entry_type): New typedef.
5566 (htab_alloc): New function hook for hashtab.h.
5567 (htab_free): Likewise.
5568 (htab_hash): Likewise.
5569 (htab_eq): Likewise.
5570 (hashtab.h): Add file include.
5571 (gomp_increment_refcount): New function.
5572 (gomp_decrement_refcount): Likewise.
5573 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5574 gomp_increment_refcount.
5575 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5576 to gomp_map_vars_existing.
5577 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5578 variable to guard OpenMP specific paths, adjust calls to
5579 gomp_map_vars_existing, add structure element sibling splay_tree_key
5580 sequence creation code, adjust Fortran map case to avoid increment
5581 under OpenMP.
5582 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5583 local refcount_set if caller passed in NULL, adjust call to
5584 gomp_map_vars_internal.
5585 (gomp_map_vars_async): Adjust and rename into...
5586 (goacc_map_vars): ...this new function, adjust call to
5587 gomp_map_vars_internal.
5588 (gomp_remove_splay_tree_key): New function with code factored out from
5589 gomp_remove_var_internal.
5590 (gomp_remove_var_internal): Add code to handle removing multiple
5591 splay_tree_key sequence for structure elements, adjust code to use
5592 gomp_remove_splay_tree_key for splay-tree key removal.
5593 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5594 gomp_decrement_refcount.
5595 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5596 local refcount_set if caller passed in NULL, adjust call to
5597 gomp_unmap_vars_internal.
5598 (gomp_unmap_vars_async): Adjust and rename into...
5599 (goacc_unmap_vars): ...this new function, adjust call to
5600 gomp_unmap_vars_internal.
5601 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5602 gomp_unmap_vars.
5603 (GOMP_target_ext): Likewise.
5604 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5605 (GOMP_target_data): Likewise.
5606 (GOMP_target_data_ext): Likewise.
5607 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5608 (gomp_exit_data): Add refcount_set parameter, adjust to use
5609 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5610 after main loop.
5611 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5612 gomp_map_vars and gomp_exit_data.
5613 (gomp_target_task_fn): Likewise.
5614 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5615 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5616 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5617 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5618 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5619 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5620
ede6c356
GA
56212021-06-15 Tobias Burnus <tobias@codesourcery.com>
5622
5623 PR fortran/92568
5624 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5625
43c35d0d
GA
56262021-06-10 Andrew Stubbs <ams@codesourcery.com>
5627 Thomas Schwinge <thomas@codesourcery.com>
5628
5629 * libgomp.map (GOACC_2.0.2): New symbol version.
5630 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5631 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5632
56332021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5634 Andrew Stubbs <ams@codesourcery.com>
5635
5636 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5637 extracted from...
5638 (GOACC_enter_exit_data): ... here.
5639 (GOACC_declare): Use it.
5640
56412021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5642
5643 * oacc-parallel.c (GOACC_declare): Move...
5644 * oacc-mem.c: ... here.
5645 * libgomp_g.h: Adjust.
5646
56472021-06-10 Andrew Stubbs <ams@codesourcery.com>
5648 Thomas Schwinge <thomas@codesourcery.com>
5649
5650 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5651 handling.
5652
56532021-06-10 Jakub Jelinek <jakub@redhat.com>
5654
5655 PR tree-optimization/100981
5656 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5657 dsdotr and dsdoti to 0.
5658
4f625f47
GA
56592021-06-09 H.J. Lu <hjl.tools@gmail.com>
5660
5661 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5662 if atomic compare-and-swap is supported on 'int'.
5663
56642021-06-09 Richard Biener <rguenther@suse.de>
5665
5666 PR tree-optimization/100981
5667 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5668
c6038721
GA
56692021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5670
5671 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5672 unconditionally.
5673 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5674 Update.
5675 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5676 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5677
56782021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5679
5680 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5681 '-DACC_MEM_SHARED=0'.
5682 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5683 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5684 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5685 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5686 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5687 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5688 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5689 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5690 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5691 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5692 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5693 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5694 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5695 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5696 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5697 'acc_device_radeon' testing.
5698 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5699 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5700 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5701 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5702 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5703 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5704 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5705 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5706 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5707 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5708 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5709 for non-'openacc_nvidia_accel_selected'.
5710 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5711 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5712 all implement this checking".
5713 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5714 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5715 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5716 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5717 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5718
57192021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5720
5721 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5722 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5723
57242021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5725
5726 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5727 for 'acc_device_radeon'.
5728
57292021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5730
5731 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5732 for non-'acc_device_nvidia'.
5733
57342021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5735
5736 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5737 'acc_device_radeon' testing.
5738 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5739 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5740 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5741
57422021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5743
5744 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5745 require 'openacc_nvidia_accel_selected'. Fix up for
5746 'ACC_DEVICE_TYPE_radeon'.
5747
57482021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5749
5750 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5751 'openacc_nvidia_accel_selected'.
5752 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5753
57542021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5755
5756 * testsuite/lib/libgomp.exp
5757 (check_effective_target_openacc_radeon_accel_selected):
5758 Streamline.
5759
57602021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5761
5762 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5763 PR80547 workaround.
5764
57652021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5766
5767 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5768 <acc_device_nvidia>: Update comment.
5769
48166757
GA
57702021-05-28 Tobias Burnus <tobias@codesourcery.com>
5771
5772 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5773
cd62d089
GA
57742021-05-27 Jakub Jelinek <jakub@redhat.com>
5775
5776 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5777 check_effective_target_openacc_cublas,
5778 check_effective_target_openacc_cudart): New.
5779 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5780 target openacc_cublas.
5781 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5782 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5783 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5784 target openacc_cuda.
5785 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5786 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5787 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5788 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5789 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5790 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5791 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5792 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5793 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5794 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5795 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5796 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5797 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5798 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5799 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5800 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5801 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5802 targets openacc_cublas and openacc_cudart.
5803 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5804 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5805 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5806 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5807 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5808 Require effective target openacc_cudart.
5809 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5810 for effective target openacc_cuda and add && defined USE_CUDA_H to
5811 preprocessor conditionals. Guard -lcuda also on openacc_cuda
5812 effective target.
5813
01c59ef2
GA
58142021-05-26 Jakub Jelinek <jakub@redhat.com>
5815
5816 PR libgomp/100573
5817 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5818 GOMP_target_end_data, GOMP_target_update_ext,
5819 GOMP_target_enter_exit_data): New dummy entrypoints.
5820 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5821 GOMP_target_end_data, GOMP_target_update_ext,
5822 GOMP_target_enter_exit_data): Likewise.
5823 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5824 OMPFROM, OMPTO): Define.
5825 (main): Remove #pragma omp target teams around all the tests.
5826 * testsuite/libgomp.c-c++-common/target-41.c: New test.
5827 * testsuite/libgomp.c-c++-common/target-42.c: New test.
5828
2bc6dace
GA
58292021-05-25 Jakub Jelinek <jakub@redhat.com>
5830
5831 PR middle-end/99928
5832 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5833
637569df
GA
58342021-05-24 Tobias Burnus <tobias@codesourcery.com>
5835
5836 PR fortran/86470
5837 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5838 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5839 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5840
15d30d2f
GA
58412021-05-22 Thomas Schwinge <thomas@codesourcery.com>
5842
5843 PR testsuite/90115
5844 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5845 uninteresting/varying diagnostics.
5846
2832d51b
GA
58472021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5848
5849 PR middle-end/90115
5850 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5851 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5852
58532021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5854
5855 PR middle-end/90115
5856 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5857 file.
5858 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5859 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5860 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5861 Likewise.
5862 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5863 Likewise.
5864 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5865 Likewise.
5866 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5867 Likewise.
5868 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5869 Likewise.
5870 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5871 Likewise.
5872 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5873 Likewise.
5874 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5875 Likewise.
5876 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5877 Likewise.
5878 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5879 Likewise.
5880 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5881 Likewise.
5882 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5883 Likewise.
5884 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5885 Likewise.
5886 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5887 Likewise.
5888 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5889 Likewise.
5890 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5891 Likewise.
5892 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5893 Likewise.
5894 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5895 Likewise.
5896 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5897 Likewise.
5898 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5899 Likewise.
5900 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5901 Likewise.
5902 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5903 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5904 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5905 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
5906 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5907 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5908 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5909 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5910 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5911 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5912 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5913 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5914 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5915 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5916 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5917 Likewise.
5918 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
5919 Likewise.
5920 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
5921 Likewise.
5922 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5923 Likewise.
5924 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5925 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5926 Likewise.
5927 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5928 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5929 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5930 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5931 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
5932 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5933 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5934 Likewise.
5935 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5936 Likewise.
5937 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5938 Likewise.
5939 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5940 Likewise.
5941 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5942 Likewise.
5943 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5944 Likewise.
5945 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5946 Likewise.
5947 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5948 Likewise.
5949 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5950 Likewise.
5951 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5952 Likewise.
5953 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5954 Likewise.
5955 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5956 Likewise.
5957 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5958 Likewise.
5959 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5960 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5961 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5962 Likewise.
5963 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5964 Likewise.
5965 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5966 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5967 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5968
59692021-05-21 Julian Brown <julian@codesourcery.com>
5970 Chung-Lin Tang <cltang@codesourcery.com>
5971 Thomas Schwinge <thomas@codesourcery.com>
5972
5973 PR middle-end/90115
5974 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
5975 test.
5976 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5977 Likewise.
5978 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5979 Likewise.
5980
59812021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5982
5983 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
5984 for nvptx offloading.
5985
59862021-05-21 Tobias Burnus <tobias@codesourcery.com>
5987
5988 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
5989
65f32e5d
GA
59902021-05-19 Thomas Schwinge <thomas@codesourcery.com>
5991
5992 PR target/83812
5993 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
5994
59952021-05-19 Julian Brown <julian@codesourcery.com>
5996
5997 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
5998
a8daf9a1
GA
59992021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6000
6001 * testsuite/lib/libgomp.exp
6002 (check_effective_target_offload_target_nvptx): Don't shadow global
6003 'offload_targets' variable.
6004
60052021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6006
6007 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
6008 '-latomic' to nvptx offloading compilation.
6009 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6010
60112021-05-18 Thomas Schwinge <thomas@codesourcery.com>
6012
6013 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
6014 offloading compilation.
6015
a7ffc1ef
GA
60162021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
6017
6018 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
6019 if new tasks generated.
6020 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
6021
87a7d10c
GA
60222021-05-14 Tobias Burnus <tobias@codesourcery.com>
6023
6024 * testsuite/libgomp.fortran/parallel-master.f90: New test.
6025
f9af11c7
GA
60262021-05-13 Martin Liska <mliska@suse.cz>
6027
6028 PR testsuite/100569
6029 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
6030 * testsuite/libgomp.c/pr46032-2.c: Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
6032 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
6033
0ff3a0f2
GA
60342021-05-12 Tobias Burnus <tobias@codesourcery.com>
6035
6036 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
6037 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
6038
037e3661
GA
60392021-05-11 Jakub Jelinek <jakub@redhat.com>
6040
6041 PR middle-end/100471
6042 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
6043 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
6044 reduction pointer.
6045 * testsuite/libgomp.c/task-reduction-4.c: New test.
6046
62d87a32
GA
60472021-05-07 Tobias Burnus <tobias@codesourcery.com>
6048 Tom de Vries <tdevries@suse.de>
6049
6050 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
6051 complex/floating-point || + && reduction with 'omp target'.
6052 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
6053
99e8df7a
GA
60542021-05-04 Tobias Burnus <tobias@codesourcery.com>
6055
6056 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6057 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6058 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6059 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6060
60612021-05-04 Tobias Burnus <tobias@codesourcery.com>
6062
6063 PR testsuite/100397
6064 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6065 declaration to scope of non-'depend'-guarded assignment to avoid races.
6066
e690396d
GA
60672021-05-03 Tom de Vries <tdevries@suse.de>
6068
6069 PR target/100321
6070 * testsuite/libgomp.c/target-44.c: New test.
6071
9326049e
GA
60722021-04-30 Roman Zhuykov <zhroma@ispras.ru>
6073
6074 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6075
3c8e539d
GA
60762021-04-29 Tom de Vries <tdevries@suse.de>
6077
6078 * testsuite/libgomp.c/pr81778.c: New test.
6079
60802021-04-29 Tom de Vries <tdevries@suse.de>
6081
6082 PR target/100232
6083 * testsuite/libgomp.c/target-43.c: New file.
6084
e4ff4ffb
GA
60852021-04-28 Jakub Jelinek <jakub@redhat.com>
6086 Tobias Burnus <tobias@codesourcery.com>
6087
6088 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6089 * target.c (gomp_load_plugin_for_device): If set and if a plugin
6090 can't be dlopened, silently assume it has no devices.
6091 * Makefile.in: Regenerate.
6092 * config.h.in: Regenerate.
6093 * configure: Regenerate.
6094
c0fa3f2f
GA
60952021-04-26 Tobias Burnus <tobias@codesourcery.com>
6096
6097 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6098 Use [Ww]arning in dg-bogus as FE diagnostic and default
6099 diagnostic differ and the result depends on ENABLE_OFFLOAD.
6100 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6101 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6102 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6103
61042021-04-26 Tobias Burnus <tobias@codesourcery.com>
6105
6106 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6107 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6108 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6109 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6110 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6111
61122021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6113 Nathan Sidwell <nathan@codesourcery.com>
6114 Tom de Vries <vries@codesourcery.com>
6115 Julian Brown <julian@codesourcery.com>
6116 Kwok Cheung Yeung <kcy@codesourcery.com>
6117
6118 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6119 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6120 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6121 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6122 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6123 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6124 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6125 Likewise.
6126 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6127 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6128 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6129 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6130 Likewise.
6131 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6132 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6133 Likewise.
6134 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6135 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6136 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6137 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6138 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6139 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6140 Likewise.
6141 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6142 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6143 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6144 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6145 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6146 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6147 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6148 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6149 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6150 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6151 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6152
61532021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6154
6155 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6156 compile with '-w'.
6157 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6158 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6159 Likewise.
6160 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6161 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6162 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6163 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6164 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6165 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6166 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6167
e3948473
GA
61682021-04-22 Richard Biener <rguenther@suse.de>
6169
6170 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6171 only on nvptx-none.
6172
c1ef0c92
GA
61732021-04-21 Tobias Burnus <tobias@codesourcery.com>
6174
6175 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6176 omp_depend_kind instead of defining it as 16.
6177
61782021-04-21 Tobias Burnus <tobias@codesourcery.com>
6179
6180 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6181 New, based on check_effective_target_offload_target_nvptx.
6182 (check_effective_target_offload_target_nvptx): Call it.
6183 (check_effective_target_offload_target_amdgcn): New.
6184 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6185 Require target offload_target_nvptx || offload_target_amdgcn.
6186 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6187 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6188 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6189
61902021-04-21 Tobias Burnus <tobias@codesourcery.com>
6191
6192 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6193
6e81e015
GA
61942021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6195
6196 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6197 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6198 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6199 Likewise.
6200 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6201 Likewise.
6202 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6203
ee351f7f
GA
62042021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6205
6206 PR target/99555
6207 * testsuite/lib/libgomp.exp
6208 (check_effective_target_offload_device_nvptx): New.
6209 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6210 resolved, make sure that we exit quickly, with error status,
6211 XFAILed.
6212 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6213 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6214
df3b1289
GA
62152021-04-14 Jakub Jelinek <jakub@redhat.com>
6216
6217 PR testsuite/100071
6218 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6219 cp = omp_alloc with cp, p arguments instead of cq, q and call
6220 c_f_pointer after last cq = omp_alloc with cq, q.
6221
a0ecde22
GA
62222021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6223
6224 PR middle-end/98088
6225 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6226 for loop with GT/GE condition.
6227 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6228
3115aba8
GA
62292021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6230
6231 PR middle-end/84991
6232 PR middle-end/84992
6233 PR middle-end/90779
6234 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6235
62362021-04-09 Jakub Jelinek <jakub@redhat.com>
6237
6238 PR libgomp/99984
6239 * team.c (gomp_thread_start): Call pthread_setspecific for
6240 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6241 has been initialized to avoid false positive warning.
6242
65374af2
GA
62432021-03-29 Tobias Burnus <tobias@codesourcery.com>
6244
6245 PR target/99555
6246 * testsuite/lib/on_device_arch.c: Move to ...
6247 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6248 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6249 #include on_device_arch.h.
6250 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6251 on_device_arch.h instead of using dg-additional-source.
6252 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6253 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6254 on_device_arch.c without relative paths.
6255
4493b1c1
GA
62562021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6257
6258 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6259 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6260 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6261 * config.h.in: Regenerate.
6262 * configure: Likewise.
6263
62642021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6265
6266 PR target/99555
6267 * testsuite/lib/on_device_arch.c: New file.
6268 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6269 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6270 skip for nvptx offloading, with error status.
6271 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6272
62732021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6274
6275 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6276 OpenACC 'serial' construct diagnostic for nvptx offloading.
6277
3c5b6d24
GA
62782021-03-15 Tobias Burnus <tobias@codesourcery.com>
6279
6280 PR c++/99509
6281 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6282
6da2762a
GA
62832021-03-12 Tobias Burnus <tobias@codesourcery.com>
6284
6285 PR fortran/98858
6286 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6287
67f10d28
GA
62882021-03-04 Jakub Jelinek <jakub@redhat.com>
6289
6290 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6291 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6292 checking of -m32 or -mx32 options on the command line.
6293 * config.h.in: Regenerated.
6294 * configure: Regenerated.
6295
ec9dc4fa
GA
62962021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6297
6298 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6299 support from the target.
6300
daa68844
GA
63012021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6302 Jakub Jelinek <jakub@redhat.com>
6303
6304 PR libgomp/98738
6305 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6306 (struct gomp_task): Replace detach and completion_sem fields with
6307 union containing completion_sem and detach_team. Add deferred_p
6308 field.
6309 (struct gomp_team): Remove task_detach_queue.
6310 * task.c: Include assert.h.
6311 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6312 Rearrange initialization order of fields.
6313 (task_fulfilled_p): Delete.
6314 (GOMP_task): Use address of task as the event handle. Remove
6315 initialization of detach field. Initialize deferred_p field.
6316 Use automatic local for completion_sem. Initialize detach_team field
6317 for deferred tasks.
6318 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6319 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6320 decrement task_running_count. Move finish_cancelled block out of
6321 else branch. Relocate call to gomp_team_barrier_done.
6322 (GOMP_taskwait): Handle tasks with completion events that have not
6323 been fulfilled.
6324 (GOMP_taskgroup_end): Likewise.
6325 (omp_fulfill_event): Use address of task as event handle. Post to
6326 completion_sem for undeferred tasks. Clear detach_team if task
6327 has not finished. For finished tasks, handle post-execution tasks,
6328 call gomp_team_barrier_wake if necessary, and free task.
6329 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6330 (free_team): Remove free of task_detach_queue.
6331 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6332 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6333 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6334 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6335 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6336 Change data-sharing of detach events on enclosing parallel to private.
6337 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6338 taskwait directive.
6339 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6340 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6341 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6342 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6343 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6344 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6345 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6346 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6347 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6348 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6349 Change data-sharing of detach events on enclosing parallel to private.
6350 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6351 taskwait directive.
6352 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6353 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6354 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6355 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6356 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6357
2f5765cf
GA
63582021-02-22 Tobias Burnus <tobias@codesourcery.com>
6359
6360 PR fortran/99171
6361 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6362
acc0ee5c
GA
63632021-02-17 Julian Brown <julian@codesourcery.com>
6364
6365 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6366 expected errors.
6367
63682021-02-17 Julian Brown <julian@codesourcery.com>
6369
6370 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6371 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6372
0c5cdb31
GA
63732021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6374
6375 * config/linux/x86/futex.h (__futex_wait):
6376 Revert output type back to long.
6377 (__futex_wake): Ditto.
6378 (futex_wait): Update for revert.
6379 (futex_wake): Ditto.
6380
63812021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6382
6383 * config/linux/x86/futex.h (__futex_wait): New static inline
6384 wrapper function. Correct output type to int and
6385 timeout type to void *.
6386 (__futex_wake): New static inline wrapper function.
6387 Correct output type to int.
6388 (futex_wait): Use __futex_wait.
6389 (futex_wake): Use __futex_wake.
6390
4b37c3ea
GA
63912021-02-10 Julian Brown <julian@codesourcery.com>
6392
6393 PR fortran/98979
6394 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6395 errors.
6396
a19dd5e6
GA
63972021-02-04 Julian Brown <julian@codesourcery.com>
6398
6399 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6400
9faaa807
GA
64012021-02-03 Andrew Stubbs <ams@codesourcery.com>
6402
6403 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6404 EF_AMDGPU_MACH_AMDGCN_GFX908.
6405 (gcn_gfx908_s): New constant string.
6406 (isa_hsa_name): Add gfx908.
6407 (isa_code): Add gfx908.
6408
161e4c08
GA
64092021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6410
6411 * libgomp.texi (omp_fulfill_event): New entry.
6412
b93d0e36
GA
64132021-01-20 Jakub Jelinek <jakub@redhat.com>
6414
6415 * task.c (GOMP_task): Rename priority argument to priority_arg,
6416 add priority automatic variable and modify that variable. Instead of
6417 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6418 check flags for that bit.
6419
f35a4f96
GA
64202021-01-19 Tobias Burnus <tobias@codesourcery.com>
6421
6422 PR fortran/98476
6423 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6424
ef1f8ee6
GA
64252021-01-18 Andreas Schwab <schwab@suse.de>
6426
6427 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6428
64292021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6430
6431 * config/rtems/sem.h (gomp_sem_getcount): New function.
6432
64332021-01-18 Jakub Jelinek <jakub@redhat.com>
6434
6435 * config/linux/sem.h (gomp_sem_getcount): New function.
6436 * config/posix/sem.h (gomp_sem_getcount): New function.
6437 * config/posix/sem.c (gomp_sem_getcount): New function.
6438 * config/accel/sem.h (gomp_sem_getcount): New function.
6439 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6440 (omp_fulfill_event): Likewise.
6441
59cf67d1
GA
64422021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6443
6444 * fortran.c (omp_fulfill_event_): New.
6445 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6446 (struct gomp_team): Add task_detach_queue and task_detach_count
6447 fields.
6448 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6449 * libgomp_g.h (GOMP_task): Add extra argument.
6450 * omp.h.in (enum omp_event_handle_t): New.
6451 (omp_fulfill_event): New.
6452 * omp_lib.f90.in (omp_event_handle_kind): New.
6453 (omp_fulfill_event): New.
6454 * omp_lib.h.in (omp_event_handle_kind): New.
6455 (omp_fulfill_event): Declare.
6456 * priority_queue.c (priority_tree_find): New.
6457 (priority_list_find): New.
6458 (priority_queue_find): New.
6459 * priority_queue.h (priority_queue_predicate): New.
6460 (priority_queue_find): New.
6461 * task.c (gomp_init_task): Initialize detach field.
6462 (task_fulfilled_p): New.
6463 (GOMP_task): Add detach argument. Ignore detach argument if
6464 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6465 field. Copy address of completion_sem into detach argument and
6466 into the start of the data record. Wait for detach event if task
6467 not deferred.
6468 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6469 Remove completed tasks and requeue dependent tasks.
6470 (omp_fulfill_event): New.
6471 * team.c (gomp_new_team): Initialize task_detach_queue and
6472 task_detach_count fields.
6473 (free_team): Free task_detach_queue field.
6474 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6475 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6476 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6477 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6478 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6479 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6480 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6481 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6482 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6483 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6484 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6485 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6486
2f7f0d32
GA
64872021-01-15 Jakub Jelinek <jakub@redhat.com>
6488
6489 PR target/70454
6490 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6491 be added through preprocessor check on
6492 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6493
5fff80fd
GA
64942021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6495
6496 PR libgomp/65099
6497 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6498 configurations.
6499 * configure: Regenerate.
6500 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6501 check.
6502
651b8a50
GA
65032021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6504
6505 * configure: Re-generate.
6506
65072021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6508
6509 * configure: Re-generate.
6510
65112021-01-05 Julian Brown <julian@codesourcery.com>
6512
6513 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6514 (struct ptx_device): Add omp_stacks struct.
6515 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6516 (nvptx_close_device): Free cached stacks block and mutex.
6517 (nvptx_stacks_free): New function.
6518 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6519 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6520 (nvptx_stacks_alloc): Rename to...
6521 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6522 size or smaller is required.
6523 (nvptx_stacks_free): Remove.
6524 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6525 during kernel execution.
6526
b6dd195a
GA
65272021-01-01 Jakub Jelinek <jakub@redhat.com>
6528
6529 * libgomp.texi: Bump @copying's copyright year.
6530
2d3425a5
GA
65312020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6532
6533 * libgomp.texi (Top): Avoid bad "up" link.
6534
b1a2242e
GA
65352020-12-18 Jakub Jelinek <jakub@redhat.com>
6536
6537 * testsuite/libgomp.c/task-6.c: New test.
6538
ca2bd949
GA
65392020-12-09 Andrew Stubbs <ams@codesourcery.com>
6540
6541 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6542 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6543
f6e8e279
GA
65442020-12-08 Tobias Burnus <tobias@codesourcery.com>
6545
6546 * testsuite/libgomp.fortran/scan-1.f90: New test.
6547
6e1edf48
GA
65482020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6549
6550 PR target/97865
6551 * configure: Regenerate.
6552
a9625c50
GA
65532020-11-29 John David Anglin <danglin@gcc.gnu.org>
6554
6555 * configure: Regenerate.
6556
360258da
GA
65572020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6558
6559 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6560 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6561
65622020-11-25 Andrew Stubbs <ams@codesourcery.com>
6563
6564 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6565 expected results.
6566
1e2c9a27
GA
65672020-11-24 Andrew Stubbs <ams@codesourcery.com>
6568
6569 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6570 (reserved): Delete unused define.
6571
65722020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6573
6574 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6575 Tcl 8.5-specific behavior.
6576 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6577
25bb75f8
GA
65782020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6579
6580 * env.c (gomp_global_icv): Remove nest_var field. Add
6581 max_active_levels_var field.
6582 (gomp_max_active_levels_var): Remove.
6583 (parse_boolean): Return true on success.
6584 (handle_omp_display_env): Express OMP_NESTED in terms of
6585 max_active_levels_var. Change format specifier for
6586 max_active_levels_var.
6587 (initialize_env): Set max_active_levels_var from
6588 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6589 OMP_PROC_BIND.
6590 * icv.c (omp_set_nested): Express in terms of
6591 max_active_levels_var.
6592 (omp_get_nested): Likewise.
6593 (omp_set_max_active_levels): Use max_active_levels_var field instead
6594 of gomp_max_active_levels_var.
6595 (omp_get_max_active_levels): Likewise.
6596 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6597 max_active_levels_var field.
6598 (gomp_supported_active_levels): Set to UCHAR_MAX.
6599 (gomp_max_active_levels_var): Delete.
6600 * libgomp.texi (omp_get_nested): Update documentation.
6601 (omp_set_nested): Likewise.
6602 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6603 (OMP_NESTED): Likewise.
6604 (OMP_NUM_THREADS): Likewise.
6605 (OMP_PROC_BIND): Likewise.
6606 * parallel.c (gomp_resolve_num_threads): Replace reference
6607 to nest_var with max_active_levels_var. Use max_active_levels_var
6608 field instead of gomp_max_active_levels_var.
6609
66102020-11-18 Tobias Burnus <tobias@codesourcery.com>
6611
6612 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6613 nvptx_usleep; use also for device={arch(gcn)}.
6614
faab61b5
GA
66152020-11-14 Jakub Jelinek <jakub@redhat.com>
6616
6617 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6618 (foo): Add tests for non-VLA private and firstprivate clauses on
6619 omp task.
6620 (bar): Likewise. Remove taking of address from private/firstprivate
6621 variables.
6622 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6623 (foo): Add p, q, px and s arguments. Add tests for array reductions
6624 and for non-VLA private and firstprivate clauses on omp task.
6625 (bar): Removed.
6626 (main): Adjust foo caller. Don't call bar.
6627
77f67db2
GA
66282020-11-13 Gergö Barany <gergo@codesourcery.com>
6629 Thomas Schwinge <thomas@codesourcery.com>
6630
6631 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6632 New.
6633 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6634 Likewise.
6635 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6636 Likewise.
6637 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6638 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6639
66402020-11-13 Gergö Barany <gergo@codesourcery.com>
6641 Thomas Schwinge <thomas@codesourcery.com>
6642
6643 PR fortran/94358
6644 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6645
66462020-11-13 Jakub Jelinek <jakub@redhat.com>
6647
6648 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6649 for array reductions.
6650 (main): Adjust foo callers.
6651
a5a11525
GA
66522020-11-12 Jakub Jelinek <jakub@redhat.com>
6653
6654 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6655 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6656 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6657 * allocator.c (omp_aligned_alloc): New for now static function,
6658 add alignment argument and handle it.
6659 (omp_alloc): Reimplement using omp_aligned_alloc.
6660 (GOMP_alloc, GOMP_free): New functions.
6661 (omp_free): Add ialias.
6662 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6663 * testsuite/libgomp.c++/allocate-1.C: New test.
6664
66652020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6666
6667 PR fortran/97782
6668 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6669
bb622641
GA
66702020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6671
6672 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6673 usable.
6674 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6675 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6676 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6677 (goacc_enter_data_internal): Likewise.
6678 * target.c (gomp_map_vars_internal):
6679 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6680 of gomp_attach_pointer for OpenMP cases.
6681 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6682 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6683 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6684
0cfd9109
GA
66852020-11-05 Ulrich Drepper <drepper@redhat.com>
6686 Kwok Cheung Yeung <kcy@codesourcery.com>
6687
6688 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6689 * Makefile.in: Regenerate.
6690 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6691 pragmas to ignore -Wdeprecated-declarations warnings.
6692 * icv.c: Likewise.
6693 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6694 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6695 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6696 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6697 deprecated.
6698 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6699 to test options.
6700 * testsuite/libgomp.c/affinity-1.c: Likewise.
6701 * testsuite/libgomp.c/affinity-2.c: Likewise.
6702 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6703 * testsuite/libgomp.c/lib-1.c: Likewise.
6704 * testsuite/libgomp.c/nested-1.c: Likewise.
6705 * testsuite/libgomp.c/nested-2.c: Likewise.
6706 * testsuite/libgomp.c/nested-3.c: Likewise.
6707 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6708 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6709 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6710 * testsuite/libgomp.c/pr35549.c: Likewise.
6711 * testsuite/libgomp.c/pr42942.c: Likewise.
6712 * testsuite/libgomp.c/pr61200.c: Likewise.
6713 * testsuite/libgomp.c/sort-1.c: Likewise.
6714 * testsuite/libgomp.c/target-5.c: Likewise.
6715 * testsuite/libgomp.c/target-6.c: Likewise.
6716 * testsuite/libgomp.c/teams-1.c: Likewise.
6717 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6718 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6719 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6720 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6721 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6722 * testsuite/libgomp.fortran/lib2.f: Likewise.
6723 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6724 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6725
88ce3d5f
GA
67262020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6727
6728 PR target/85486
6729 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6730 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6731 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6732
67332020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6734
6735 PR testsuite/80219
6736 PR testsuite/85303
6737 * testsuite/lib/libgomp.exp (libgomp_init): Set
6738 'gcc_warning_prefix', 'gcc_error_prefix'.
6739
67402020-10-30 Jakub Jelinek <jakub@redhat.com>
6741
6742 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6743 even in field_tgt_clear initializer.
6744
e93aae4a
GA
67452020-10-28 Jakub Jelinek <jakub@redhat.com>
6746
6747 * testsuite/libgomp.c/target-42.c: New test.
6748
67492020-10-28 Jakub Jelinek <jakub@redhat.com>
6750 Tom de Vries <tdevries@suse.de>
6751
6752 PR testsuite/81690
6753 * testsuite/libgomp.c/usleep.h: New file.
6754 * testsuite/libgomp.c/target-32.c: Include usleep.h.
6755 (main): Use tgt_usleep instead of usleep.
6756 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6757 (main): Use tgt_usleep instead of usleep.
6758
67592020-10-28 Jakub Jelinek <jakub@redhat.com>
6760
6761 PR lto/96680
6762 * testsuite/libgomp.c/declare-variant-1.c: New test.
6763
56ddd5e2
GA
67642020-10-22 Jakub Jelinek <jakub@redhat.com>
6765
6766 * testsuite/libgomp.c/target-41.c: New test.
6767
67682020-10-22 Jakub Jelinek <jakub@redhat.com>
6769
6770 * icv.c (omp_get_initial_device): Remove including corresponding
6771 ialias.
6772 * icv-device.c (omp_get_initial_device): New function. Return
6773 gomp_get_num_devices (). Add ialias.
6774 * target.c (resolve_device): Don't fail with
6775 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6776 gomp_get_num_devices ().
6777 (omp_target_alloc, omp_target_free, omp_target_is_present,
6778 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6779 omp_target_disassociate_ptr, omp_pause_resource): Use
6780 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6781 first use in the functions, in uses dominated by the
6782 gomp_get_num_devices call use num_devices_openmp instead.
6783 * libgomp.texi (omp_get_initial_device): Document.
6784 * config/gcn/icv-device.c (omp_get_initial_device): New function.
6785 Add ialias.
6786 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6787 * testsuite/libgomp.c/target-40.c: New test.
6788
67892020-10-21 Jakub Jelinek <jakub@redhat.com>
6790
6791 * env.c (parse_target_offload): Change new_offload var type to int,
6792 preinitialize to -1, remove found var and test new_offload != -1
6793 instead of found.
6794
e2e04288
GA
67952020-10-20 Jakub Jelinek <jakub@redhat.com>
6796
6797 * target.c (gomp_target_init): Inside of the function, use automatic
6798 variables corresponding to num_devices, num_devices_openmp and devices
6799 global variables and update the globals only at the end of the
6800 function.
6801
68022020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
6803
6804 * env.c (gomp_target_offload_var): New.
6805 (parse_target_offload): New.
6806 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6807 (initialize_env): Parse OMP_TARGET_OFFLOAD.
6808 * libgomp.h (gomp_target_offload_t): New.
6809 (gomp_target_offload_var): New.
6810 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6811 * target.c (resolve_device): Generate error if device not found and
6812 offloading is mandatory.
6813 (gomp_target_fallback): Generate error if offloading is mandatory.
6814 (GOMP_target): Add argument in call to gomp_target_fallback.
6815 (GOMP_target_ext): Likewise.
6816 (gomp_target_data_fallback): Generate error if offloading is mandatory.
6817 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6818 (GOMP_target_data_ext): Likewise.
6819 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6820 (gomp_target_init): Return early if offloading is disabled.
6821
b85d5dc5
GA
68222020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
6823
6824 * libgomp.texi (omp_get_max_active_levels): Modify description.
6825 (omp_get_supported_active_levels): Make descriptions consistent.
6826
b2698c21
GA
68272020-10-14 Jakub Jelinek <jakub@redhat.com>
6828
6829 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6830
bdd74cc2
GA
68312020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6832
6833 * env.c (gomp_max_active_levels_var): Initialize to
6834 gomp_supported_active_levels.
6835 (initialize_env): Limit gomp_max_active_levels_var to be at most
6836 equal to gomp_supported_active_levels.
6837 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6838 (omp_get_supported_active_levels_): New.
6839 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6840 to at most equal to gomp_supported_active_levels.
6841 (omp_get_supported_active_levels): New.
6842 * libgomp.h (gomp_supported_active_levels): New.
6843 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6844 omp_get_supported_active_levels_.
6845 * libgomp.texi (omp_get_supported_active_levels): New.
6846 (omp_set_max_active_levels): Update. Add reference to
6847 omp_get_supported_active_levels.
6848 * omp.h.in (omp_get_supported_active_levels): New.
6849 * omp_lib.f90.in (omp_get_supported_active_levels): New.
6850 * omp_lib.h.in (omp_get_supported_active_levels): New.
6851 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6852 against omp_get_supported_active_levels.
6853 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6854
2baa36d4
GA
68552020-10-11 Clement Chigot <clement.chigot@atos.net>
6856
6857 * config/t-aix: Delete and recreate libgomp before creating
6858 FAT library.
6859
da9df699
GA
68602020-10-08 Tom de Vries <tdevries@suse.de>
6861
6862 PR libgomp/81802
6863 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6864 dimensions.
6865
8e97b905
GA
68662020-10-06 Tom de Vries <tdevries@suse.de>
6867
6868 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6869
68702020-10-06 Tom de Vries <tdevries@suse.de>
6871
6872 PR middle-end/90861
6873 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6874
7e9282ae
GA
68752020-10-05 Tom de Vries <tdevries@suse.de>
6876
6877 PR fortran/95654
6878 * testsuite/libgomp.fortran/pr95654.f90: New test.
6879
b0b9b8f0
GA
68802020-10-02 Tobias Burnus <tobias@codesourcery.com>
6881
6882 * Makefile.in: Regenerate with automake 1.15.1.
6883 * aclocal.m4: Likewise.
6884 * configure: Likewise.
6885 * testsuite/Makefile.in: Likewise.
6886
660bfe61
GA
68872020-09-30 Andrew Stubbs <ams@codesourcery.com>
6888
6889 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6890 and amdgcn targets.
6891
68922020-09-30 Tobias Burnus <tobias@codesourcery.com>
6893
6894 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6895
93bca37c
GA
68962020-09-29 Andrew Stubbs <ams@codesourcery.com>
6897
6898 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6899 total number of threads is one.
6900 (gomp_team_barrier_wake): Likewise.
6901 (gomp_team_barrier_wait_end): Likewise.
6902 (gomp_team_barrier_wait_cancel_end): Likewise.
6903 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
6904 (gomp_team_barrier_wake): Likewise.
6905 (gomp_team_barrier_wait_end): Likewise.
6906 (gomp_team_barrier_wait_cancel_end): Likewise.
6907 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
6908
e84761c6
GA
69092020-09-28 Tobias Burnus <tobias@codesourcery.com>
6910
6911 PR middle-end/96390
6912 * testsuite/libgomp.c++/pr96390.C: New test.
6913 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
6914
4383c595
GA
69152020-09-27 Clement Chigot <clement.chigot@atos.net>
6916
6917 * config/t-aix: Use $(AR) without -X32_64.
6918
cdd8f031
GA
69192020-09-25 Jakub Jelinek <jakub@redhat.com>
6920
6921 * testsuite/libgomp.c/loop-25.c: New test.
6922
521d2711
GA
69232020-09-22 Tobias Burnus <tobias@codesourcery.com>
6924
6925 PR fortran/95654
6926 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
6927
69282020-09-22 Tom de Vries <tdevries@suse.de>
6929
6930 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
6931 fails.
6932
ecde1b0a
GA
69332020-09-16 Nathan Sidwell <nathan@acm.org>
6934
6935 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
6936
9f7ab8c5
GA
69372020-09-15 Tobias Burnus <tobias@codesourcery.com>
6938
6939 PR fortran/96668
6940 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
6941
69422020-09-15 Tobias Burnus <tobias@codesourcery.com>
6943
6944 PR fortran/96668
6945 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
6946 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
6947 (gomp_map_vars_existing): Update call to it.
6948 (gomp_map_fields_existing): Likewise
6949 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
6950 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
6951 remapped.
6952 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
6953 GOMP_MAP_POINTER.
6954 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
6955 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
6956
50a71cd0
GA
69572020-09-14 Tom de Vries <tdevries@suse.de>
6958
6959 * config/nvptx/atomic.c: New file. Add
6960 __sync_val_compare_and_swap_16.
6961 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
6962 target offload_target_nvptx.
6963
31a05046
GA
69642020-09-08 Julian Brown <julian@codesourcery.com>
6965
6966 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
6967 iteration-ordering assumptions.
6968
69692020-09-08 Julian Brown <julian@codesourcery.com>
6970
6971 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
6972 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6973
5b9a3d2a
GA
69742020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
6975
6976 * plugin/plugin-nvptx.c (nvptx_free):
6977 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
6978 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
6979 comments.
6980
69812020-08-20 Tobias Burnus <tobias@codesourcery.com>
6982
6983 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
6984
b3cb5606
GA
69852020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6986
6987 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
6988
69892020-08-13 Jakub Jelinek <jakub@redhat.com>
6990
6991 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
6992 * testsuite/libgomp.c/loop-23.c (main): Likewise.
6993 * testsuite/libgomp.c/loop-24.c: New test.
6994
bc0ca715
GA
69952020-08-08 Jakub Jelinek <jakub@redhat.com>
6996 Tobias Burnus <tobias@codesourcery.com>
6997
6998 PR fortran/93553
6999 * testsuite/libgomp.fortran/pr93553.f90: New test.
7000
aa5ea20c
GA
70012020-08-05 Jakub Jelinek <jakub@redhat.com>
7002
7003 * testsuite/libgomp.c/loop-22.c: New test.
7004 * testsuite/libgomp.c/loop-23.c: New test.
7005
70062020-08-05 Jakub Jelinek <jakub@redhat.com>
7007
7008 PR middle-end/96459
7009 * testsuite/libgomp.c/teams-3.c: New test.
7010 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
7011 if not defined yet.
7012 (N(test)): Use it before all N(f*) calls.
7013 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
7014 (main): Don't call all test_* functions from within
7015 #pragma omp teams reduction(|:err), call them directly.
7016
abba2591
GA
70172020-08-04 Tom de Vries <tdevries@suse.de>
7018
7019 PR target/96428
7020 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
7021 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
7022
6a1ad710
GA
70232020-08-03 Julian Brown <julian@codesourcery.com>
7024 Thomas Schwinge <thomas@codesourcery.com>
7025
7026 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
7027 shared-memory devices. Extend with further checking.
7028
70292020-08-03 Martin Jambor <mjambor@suse.cz>
7030
7031 * plugin/Makefrag.am: Remove configuration of HSA plugin.
7032 * aclocal.m4: Regenerated.
7033 * Makefile.in: Regenerated.
7034 * config.h.in: Regenerated.
7035 * configure: Regenerated.
7036 * plugin/configfrag.ac: Likewise.
7037 * plugin/hsa_ext_finalize.h: Removed.
7038 * plugin/plugin-hsa.c: Likewise.
7039 * testsuite/Makefile.in: Regenerated.
7040 * testsuite/lib/libgomp.exp
7041 (offload_target_to_openacc_device_type): Remove hsa case.
7042 (check_effective_target_hsa_offloading_selected_nocache): Removed
7043 (check_effective_target_hsa_offloading_selected): Likewise.
7044 (libgomp_init): Do not add -Wno-hsa to additional_flags.
7045 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
7046 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
7047 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
7048 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
7049 * testsuite/libgomp.hsa.c/c.exp: Likewise.
7050 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
7051 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
7052 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
7053 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
7054 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
7055 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
7056 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7057 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7058 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7059 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7060 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7061 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7062 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7063 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7064 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7065 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7066 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7067 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7068 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7069
e71dab87
GA
70702020-07-27 Julian Brown <julian@codesourcery.com>
7071 Thomas Schwinge <thomas@codesourcery.com>
7072
7073 * libgomp.h (struct target_var_desc): Rename do_detach field to
7074 is_attach.
7075 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
7076 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7077 (goacc_enter_data_internal): Don't affect reference counts
7078 for attach mappings.
7079 (goacc_exit_data_internal): Don't affect reference counts for detach
7080 mappings.
7081 * target.c (gomp_map_vars_existing): Don't affect reference counts for
7082 attach mappings.
7083 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7084 mark attach mappings.
7085 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7086 reference count for attach mappings.
7087 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7088 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7089 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7090 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7091 test as shouldfail.
7092 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7093 gracefully in no-finalize mode.
7094 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7095
53256ee3
GA
70962020-07-24 Thomas Schwinge <thomas@codesourcery.com>
7097
7098 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7099 use.
7100 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7101 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7102
9bb403dc
GA
71032020-07-23 Julian Brown <julian@codesourcery.com>
7104 Thomas Schwinge <thomas@codesourcery.com>
7105
7106 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7107 finalization for detach operation.
7108 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7109 New test.
7110
71112020-07-23 Tobias Burnus <tobias@codesourcery.com>
7112
7113 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7114 * libgomp_f.h.in (omp_check_defines): Check whether
7115 sizeof of determined Fortran kind and C typedef match.
7116 * omp_lib.f90.in: Add omp_depened_kind.
7117 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7118 * configure: Regenerate.
7119 * Makefile.in: Regenerate.
7120 * testsuite/Makefile.in: Regenerate.
7121
3ea9abca
GA
71222020-07-22 Tobias Burnus <tobias@codesourcery.com>
7123
7124 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7125 gcc/testsuite/c-c++-common/gomp/.
7126 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7127 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7128 from gcc/testsuite/gfortran.dg/gomp/.
7129 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7130
71312020-07-22 Tobias Burnus <tobias@codesourcery.com>
7132
7133 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7134 * omp_lib.h.in: Likewise.
7135
aeb34e15
GA
71362020-07-18 H.J. Lu <hjl.tools@gmail.com>
7137
7138 PR target/95620
7139 * testsuite/libgomp.c/pr95620.c: New test.
7140
96686b3f
GA
71412020-07-16 Julian Brown <julian@codesourcery.com>
7142 Thomas Schwinge <thomas@codesourcery.com>
7143
7144 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7145 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7146
fe8185b5
GA
71472020-07-15 Tobias Burnus <tobias@codesourcery.com>
7148
7149 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7150 avoid conversion on 32bit systems from 32bit to 64bit due
7151 to -fdefault-integer-8.
7152
71532020-07-15 Tobias Burnus <tobias@codesourcery.com>
7154
7155 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7156 variables; add character(kind=4) tests; update TODO comment.
7157
71582020-07-15 Tobias Burnus <tobias@codesourcery.com>
7159
7160 * allocator.c: Add ialias for omp_init_allocator and
7161 omp_destroy_allocator.
7162 * configure.ac: Set INTPTR_T_KIND.
7163 * configure: Regenerate.
7164 * Makefile.in: Regenerate.
7165 * testsuite/Makefile.in: Regenerate.
7166 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7167 omp_set_default_allocator_, omp_get_default_allocator_): New
7168 functions and ialias_redirect.
7169 * icv.c: Add ialias for omp_set_default_allocator and
7170 omp_get_default_allocator.
7171 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7172 omp_destroy_allocator_, omp_set_default_allocator_ and
7173 omp_get_default_allocator_.
7174 * omp_lib.f90.in: Add allocator traits parameters, declare
7175 allocator routines and add related kind parameters.
7176 * omp_lib.h.in: Likewise.
7177 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7178 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7179 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7180 * testsuite/libgomp.fortran/alloc-3.F: New test.
7181 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7182 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7183
8ca07a30
GA
71842020-07-14 Tom de Vries <tom@codesourcery.com>
7185 Cesar Philippidis <cesar@codesourcery.com>
7186 Thomas Schwinge <thomas@codesourcery.com>
7187 Kwok Cheung Yeung <kcy@codesourcery.com>
7188
7189 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7190 New variable.
7191 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7192 acc_init_state to initializing at the start, and to initialized at the
7193 end.
7194 (self_initializing_p): New function.
7195 (acc_get_device_type): Return acc_device_none if called by thread that
7196 is currently executing acc_init_1.
7197 * libgomp.texi (acc_get_device_type): Update documentation.
7198 (Implementation Status and Implementation-Defined Behavior): Likewise.
7199 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7200
72012020-07-14 David Edelsohn <dje.gcc@gmail.com>
7202
7203 * config/t-aix: Set BITS from compiler cpp macro.
7204
72052020-07-14 Tobias Burnus <tobias@codesourcery.com>
7206
7207 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7208
72092020-07-14 Tobias Burnus <tobias@codesourcery.com>
7210
7211 PR fortran/67311
7212 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7213
72142020-07-14 Jakub Jelinek <jakub@redhat.com>
7215
7216 * testsuite/libgomp.c/loop-21.c: New test.
7217
ea69fcf9
GA
72182020-07-13 Julian Brown <julian@codesourcery.com>
7219 Thomas Schwinge <thomas@codesourcery.com>
7220
7221 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7222
86536295
GA
72232020-07-10 Julian Brown <julian@codesourcery.com>
7224 Thomas Schwinge <thomas@codesourcery.com>
7225
7226 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7227 dynamic_refcount.
7228 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7229 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7230 dynamic_refcount.
7231 (acc_unmap_data): Update comment.
7232 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7233 dynamic_refcount semantics.
7234 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7235 Adjust for dynamic_refcount semantics.
7236 (goacc_enter_data_internal): Implement "present" case of dynamic
7237 memory-map handling here. Update "non-present" case for
7238 dynamic_refcount semantics.
7239 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7240 * target.c (gomp_map_vars_internal): Remove
7241 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7242 handling.
7243 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7244 (gomp_load_image_to_device): Substitute dynamic_refcount for
7245 virtual_refcount.
7246 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7247 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7248 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7249 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7250 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7251 trace output.
7252 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7253 trace output.
7254 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7255 test.
7256 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7257 Remove stale comment.
7258 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7259 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7260 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7261 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7262 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7263 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7264
72652020-07-10 Julian Brown <julian@codesourcery.com>
7266 Thomas Schwinge <thomas@codesourcery.com>
7267
7268 * oacc-mem.c (goacc_map_var_existing): New function.
7269 (goacc_enter_datum): Use above function.
7270 (goacc_exit_datum_1): New function.
7271 (goacc_exit_datum): Use above function.
7272
3f8ca9cb
GA
72732020-07-09 Julian Brown <julian@codesourcery.com>
7274 Thomas Schwinge <thomas@codesourcery.com>
7275
7276 PR middle-end/95270
7277 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7278 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7279
72802020-07-09 Julian Brown <julian@codesourcery.com>
7281
7282 * oacc-mem.c (find_group_last): Group data-movement clauses
7283 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7284 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7285
72862020-07-09 Jakub Jelinek <jakub@redhat.com>
7287
7288 * testsuite/libgomp.c/loop-19.c: New test.
7289 * testsuite/libgomp.c/loop-20.c: New test.
7290
72912020-07-09 Jakub Jelinek <jakub@redhat.com>
7292
7293 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7294 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7295 it. Remove __omp_alloctrait_value_max__.
7296 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7297 omp_atk_alignment and omp_atk_pool_size.
7298
b991c834
GA
72992020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7300
7301 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7302 behavior for 'GOMP_MAP_FORCE_FROM'.
7303 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7304
73052020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7306
7307 * oacc-mem.c (goacc_exit_data_internal): Remove
7308 'GOMP_MAP_ALWAYS_FROM' handling.
7309
46fbb6c6
GA
73102020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7311
7312 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7313 'scan-assembler' with 'scan-offload-rtl'.
7314 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7315 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7316 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7317 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7318
73192020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7320
7321 * target.c (gomp_map_vars_existing): Assert 'kind !=
7322 GOMP_MAP_ATTACH'.
7323 (gomp_map_vars_internal): Clean up.
7324
9a33c41f
GA
73252020-06-27 Jakub Jelinek <jakub@redhat.com>
7326
7327 * testsuite/libgomp.c/loop-17.c: New test.
7328 * testsuite/libgomp.c/loop-18.c: New test.
7329
c9c05f73
GA
73302020-06-26 Marek Polacek <polacek@redhat.com>
7331
7332 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7333
4543acc8
GA
73342020-06-23 Alexandre Oliva <oliva@adacore.com>
7335
7336 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7337 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7338
605a8f3b
GA
73392020-06-22 David Edelsohn <dje.gcc@gmail.com>
7340
7341 * Makefile.am: Use -include.
7342 * Makefile.in: Regenerate.
7343
f86e11a2
GA
73442020-06-21 David Edelsohn <dje.gcc@gmail.com>
7345
7346 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7347 * Makefile.in: Regenerate
7348 * configure.ac (tmake_file): Substitute.
7349 * configure: Regenerate.
7350 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7351 * config/t-aix: New file.
7352
aff95ee7
GA
73532020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7354
7355 PR lto/94848
7356 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7357 'dg-do run'.
7358
73592020-06-17 Andrew Stubbs <ams@codesourcery.com>
7360
7361 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7362 variant for HSA_RUNTIME_LIB name.
7363 (find_executable_symbol_1): Delete.
7364 (find_executable_symbol): Delete.
7365 (init_kernel_properties): Add ".kd" suffix to symbol names.
7366 (find_load_offset): Delete.
7367 (create_and_finalize_hsa_program): Remove relocation handling.
7368
56638b9b
GA
73692020-06-16 Tobias Burnus <tobias@codesourcery.com>
7370
7371 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7372
2c455ae0
GA
73732020-06-08 Tobias Burnus <tobias@codesourcery.com>
7374
7375 PR lto/94848
7376 PR middle-end/95551
7377 * testsuite/libgomp.fortran/target-var.f90: New test.
7378
1a59f3db
GA
73792020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7380 Julian Brown <julian@codesourcery.com>
7381
7382 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7383 special handling.
7384
73852020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7386 Julian Brown <julian@codesourcery.com>
7387
7388 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7389 Simplify.
7390
73912020-06-05 Julian Brown <julian@codesourcery.com>
7392
7393 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7394 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7395
3add3425
GA
73962020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7397
7398 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7399 Evaluate 'copyfrom' individually for each entry.
7400 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7401
74022020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7403
7404 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7405 Evaluate 'finalize' individually for each entry.
7406 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7407 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7408 file.
7409
74102020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7411
7412 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7413 usage.
7414 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7415
74162020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7417 Julian Brown <julian@codesourcery.com>
7418
7419 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7420 checking.
7421 (acc_unmap_data, goacc_exit_data_internal): Restore
7422 'is_tgt_unmapped' checking.
7423 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7424 file.
7425 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7426 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7427 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7428 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7429 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7430 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7431
74322020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7433 Julian Brown <julian@codesourcery.com>
7434
7435 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7436
74372020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7438
7439 PR libgomp/92854
7440 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7441
74422020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7443
7444 PR libgomp/92854
7445 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7446 more.
7447
74482020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7449 Julian Brown <julian@codesourcery.com>
7450
7451 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7452 'gomp_map_vars'.
3d3b561f 7453 (acc_map_data): Clean up accordingly.
3add3425
GA
7454
74552020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7456
7457 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7458 of over-eager 'finalize' clause.
7459 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7460 file.
7461 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7462 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7463 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7464 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7465 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7466 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7467 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7468 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7469
74702020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7471
7472 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7473
74742020-06-04 Julian Brown <julian@codesourcery.com>
7475
7476 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7477 error path.
7478 (goacc_detach_internal): Likewise.
7479
74802020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7481
7482 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7483 the checkpoint.
7484 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7485 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7486 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7487 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7488 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7489
a9312a79
GA
74902020-06-02 Jakub Jelinek <jakub@redhat.com>
7491
7492 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7493 defined.
7494
945b53cc
GA
74952020-05-30 Jakub Jelinek <jakub@redhat.com>
7496
7497 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7498
74992020-05-30 Jakub Jelinek <jakub@redhat.com>
7500
7501 * allocator.c (omp_alloc): For size == 0, return NULL early.
7502
885ef72f
GA
75032020-05-29 H.J. Lu <hjl.tools@gmail.com>
7504
7505 PR bootstrap/95413
7506 * configure: Regenerated.
7507
8df7ee67
TK
75082020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7509
7510 PR libfortran/95191
7511 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7512
800bcc8c
JJ
75132020-05-19 Jakub Jelinek <jakub@redhat.com>
7514
7515 * omp.h.in (omp_uintptr_t): New typedef.
7516 (__GOMP_UINTPTR_T_ENUM): Define.
7517 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7518 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7519 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7520 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7521 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7522 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7523 (gomp_def_allocator): Declare.
7524 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7525 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7526 omp_alloc and omp_free.
7527 * team.c (gomp_team_start): Copy over ts.def_allocator.
7528 * env.c (gomp_def_allocator): New variable.
7529 (parse_wait_policy): Adjust function comment.
7530 (parse_allocator): New function.
7531 (handle_omp_display_env): Print OMP_ALLOCATOR.
7532 (initialize_env): Call parse_allocator.
7533 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7534 * allocator.c: New file.
7535 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7536 functions.
7537 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7538 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7539 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7540 * Makefile.in: Regenerated.
7541
4c1a5d8b
L
75422020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7543
7544 PR bootstrap/95147
7545 * configure: Regenerated.
7546
cdc34b50
TK
75472020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7548
7549 PR libfortran/95119
7550 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7551
75522020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7553
7554 * configure: Regenerated.
7555
75562020-05-14 Jakub Jelinek <jakub@redhat.com>
7557
7558 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7559
f884bef2
TB
75602020-05-13 Tobias Burnus <tobias@codesourcery.com>
7561
7562 PR fortran/94690
7563 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7564 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7565 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7566 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7567 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7568 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7569 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7570
dc703151
JJ
75712020-05-12 Jakub Jelinek <jakub@redhat.com>
7572
7573 * testsuite/libgomp.c/target-39.c: New test.
7574
b9dc11b6
TS
75752020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7576
a5d0bc12
TS
7577 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7578 * openacc.f90 (acc_device_current): Likewise.
7579 * openacc.h (acc_device_current): Likewise.
7580 * openacc_lib.h (acc_device_current): Likewise.
7581
7f198924
TS
7582 PR target/94282
7583 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7584 'dg-allow-blank-lines-in-output'.
7585
4912a04f
TS
7586 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7587 * testsuite/lib/libgomp.exp
7588 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7589 'radeon'. Adjust all users.
7590 (check_effective_target_openacc_amdgcn_accel_present): Rename
7591 to...
7592 (check_effective_target_openacc_radeon_accel_present): ... this.
7593 Adjust all users.
7594 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7595 (check_effective_target_openacc_radeon_accel_selected): ... this.
7596 Adjust all users.
7597
b9dc11b6
TS
7598 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7599 'dg-do run'.
7600
966de09b
AS
76012020-04-23 Andrew Stubbs <ams@codesourcery.com>
7602
7603 PR other/94629
7604
7605 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7606 hsa_iterate_agents.
7607 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7608 hsa_agent_iterate_regions.
7609
3f5d94c1
TS
76102020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7611
7612 PR middle-end/94635
7613 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7614 run'.
7615
85d8c05a
TB
76162020-04-20 Tobias Burnus <tobias@codesourcery.com>
7617
7618 PR middle-end/94120
7619 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7620 test case.
7621
af557050
TB
76222020-04-17 Tobias Burnus <tobias@codesourcery.com>
7623
7624 PR middle-end/94635
7625 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7626
af4c9257
TS
76272020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7628
7629 PR libgomp/92843
7630 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7631 Rename to...
7632 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7633 ... this.
7634 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7635 Rename to...
7636 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7637 ... this.
7638 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7639 Rename to...
7640 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7641 ... this.
7642 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7643 Rename to...
7644 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7645 ... this.
7646 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7647 Rename to...
7648 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7649 ... this.
7650 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7651 Rename to...
7652 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7653 ... this.
7654 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7655 Rename to...
7656 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7657 ... this.
7658 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7659 Rename to...
7660 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7661 ... this.
7662 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7663 Rename to...
7664 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7665 ... this.
7666 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7667 Rename to...
7668 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7669 ... this.
7670 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7671 Rename to...
7672 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7673 ... this.
7674 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7675 Rename to...
7676 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7677 ... this.
7678 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7679 Rename to...
7680 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7681 ... this.
7682 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7683 Rename to...
7684 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7685 ... this.
7686 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7687 Rename to...
7688 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7689 ... this.
7690 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7691 Rename to...
7692 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7693 ... this.
7694
be9862dd
JB
76952020-04-10 Julian Brown <julian@codesourcery.com>
7696 Thomas Schwinge <thomas@codesourcery.com>
7697
7698 PR libgomp/92843
7699 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7700 New file.
7701 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7702 Likewise.
7703 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7704 Likewise.
7705 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7706 Likewise.
7707 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7708 Likewise.
7709 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7710 Likewise.
7711 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7712 Likewise.
7713 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7714 Likewise.
7715 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7716 Likewise.
7717 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7718 Likewise.
7719 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7720 Likewise.
7721 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7722 Likewise.
7723 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7724 Likewise.
7725 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7726 Likewise.
7727 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7728 Likewise.
7729 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7730 Likewise.
7731
6b816a5f
TS
77322020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7733
7734 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7735 run'.
7736
13e41d8b
TB
77372020-04-08 Tobias Burnus <tobias@codesourcery.com>
7738
7739 PR middle-end/94120
7740 * libgomp.oacc-c++/declare-pr94120.C: New.
7741
749bd22d
MR
77422020-04-06 Maciej W. Rozycki <macro@wdc.com>
7743
7744 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7745 files.
7746 * configure: Regenerate.
7747 * testsuite/libgomp-site-extra.exp.in: New file.
7748 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7749 variable.
7750 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7751 variable.
7752 * testsuite/Makefile.in: Regenerate.
7753
2b1e849b
TS
77542020-04-03 Thomas Schwinge <thomas@codesourcery.com>
7755
7756 PR tree-optimization/89713
7757 PR c/94392
7758 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7759 'bar.sync'.
7760 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7761
689418b9
TB
77622020-03-31 Tobias Burnus <tobias@codesourcery.com>
7763
7764 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7765 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7766
c2211a60
TB
77672020-03-24 Tobias Burnus <tobias@codesourcery.com>
7768
7769 PR libgomp/81689
7770 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7771
4897bb00
TB
77722020-03-20 Tobias Burnus <tobias@codesourcery.com>
7773
7774 PR libgomp/94251
7775 * target.c (gomp_load_image_to_device): Fix link
7776 variable handling.
7777
02f7334a
JJ
77782020-03-19 Jakub Jelinek <jakub@redhat.com>
7779
7780 PR c++/93931
7781 * testsuite/libgomp.c++/pr93931.C: New test.
7782
bb83e069
TB
77832020-03-19 Tobias Burnus <tobias@codesourcery.com>
7784
7785 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7786 dg-allow-blank-lines-in-output.
7787
26cbcfe5
TB
77882020-03-18 Julian Brown <julian@codesourcery.com>
7789 Tobias Burnus <tobias@codesourcery.com>
7790
7791 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7792 it work concurrently.
7793
4da92887
TB
77942020-03-18 Tobias Burnus <tobias@codesourcery.com>
7795
7796 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7797 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7798 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7799
9c3cdb43
JJ
78002020-03-14 Jakub Jelinek <jakub@redhat.com>
7801
7802 PR middle-end/93566
7803 * testsuite/libgomp.c/pr93566.c: New test.
7804
83d45e1d
FH
78052020-02-21 Frederik Harwath <frederik@codesourcery.com>
7806
7807 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7808 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7809 integer(acc_device_property) for the type of the return value of
7810 acc_get_property.
7811
8d1a1cb1
TB
78122020-02-19 Tobias Burnus <tobias@codesourcery.com>
7813
7814 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7815 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7816 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7817 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7818 (acc_set_device_num): Fix Fortran argument name, use same name for C.
7819 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7820 corrections; add note about the previous interface and named constant.
7821 (OpenACC library and environment variables): Fix two typos.
7822 * openacc.f90: Use for all procedures the argument names from the spec
7823 as for …_h they are user visible.
7824 (openacc_kinds): Rename acc_device_property to
7825 acc_device_property_kinds and change value to int32 ; and update users.
7826 Re-add acc_device_property for for backward compatibility.
7827 (acc_get_property_string_h): Clean up as acc_device_property_kind
7828 changed.
7829 (acc_get_property_h): Likewise and return c_size_t instead of
7830 acc_device_property.
7831 (openacc): Also export acc_device_property_kinds.
7832 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7833 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7834 handling; check against /= 0 instead of == 1 to match C.
7835 * openacc_lib.h: Use for all procedures the argument names from the spec
7836 as for …_h they are user visible. Place !GCC$ into the first column to
7837 be active also for fixed-form souce form.
7838 (acc_device_current, acc_device_property_kind, acc_device_property,
7839 acc_property_memory, acc_property_free_memory, acc_property_name,
7840 acc_property_vendor, acc_property_driver): New named constants.
7841 (acc_get_property, acc_get_property_string): New generic interface.
7842
2d9eb4e4
FH
78432020-02-13 Frederik Harwath <frederik@codesourcery.com>
7844
7845 PR libgomp/93481
7846 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7847 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7848 optional.
7849 (gomp_target_task_fn): Assert "devicep->async_run_func".
7850 (clear_unsupported_flags): New function to remove unsupported flags
7851 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7852 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7853 * testsuite/libgomp.c/target-33.c:
7854 Remove xfail for offload_target_nvptx.
7855 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
7856
78572020-02-10 Frederik Harwath <frederik@codesourcery.com>
7858
7859 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7860 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7861 * testsuite/libgomp.c/target-34.c: Likewise.
7862 * testsuite/libgomp.c/target-link-1.c: Add xfail for
7863 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7864
9bc3b95d
JJ
78652020-02-09 Jakub Jelinek <jakub@redhat.com>
7866
7867 * testsuite/libgomp.c/target-38.c: New test.
7868
cb3f0648
JJ
78692020-02-06 Jakub Jelinek <jakub@redhat.com>
7870
7871 PR libgomp/93515
7872 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7873
91bc3c98
TB
78742020-02-05 Tobias Burnus <tobias@codesourcery.com>
7875
7876 * testsuite/lib/libgomp.exp
7877 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7878 and not as 'source' argument to libgomp_target_compile.
7879
591f869a
AS
78802020-02-03 Andrew Stubbs <ams@codesourcery.com>
7881
7882 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7883 (gcn_gfx801_s): Remove.
7884 (isa_hsa_name): Remove gfx801.
7885 (isa_gcc_name): Remove gfx801/carizzo.
7886 (isa_code): Remove gfx801.
7887
e464fc90
TB
78882020-02-03 Julian Brown <julian@codesourcery.com>
7889 Tobias Burnus <tobias@codesourcery.com>
7890
7891 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7892 and *_finalize variants; document acc_attach and acc_detach; update
7893 references from OpenACC 2.0 to 2.6.
7894 * openacc.f90 (openacc_version): Update to 201711.
7895 * openacc_lib.h (openacc_version): Update to 201711.
7896 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7897 openacc_version to 201711.
7898 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7899
5a28e272
KCY
79002020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
7901
7902 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
7903 and vgpr_count fields.
7904 (struct kernel_info): Add a field for a hsa_kernel_description.
7905 (run_kernel): Reduce the number of threads/workers if the requested
7906 number would require too many VGPRs.
7907 (init_basic_kernel_info): Initialize description field with
7908 the hsa_kernel_description entry for the kernel.
7909
5ab5d81b
TB
79102020-01-29 Tobias Burnus <tobias@codesourcery.com>
7911
7912 PR bootstrap/93409
7913 * plugin/configfrag.ac (enable_offload_targets): Skip
7914 HSA and GCN plugin besides -m32 also for -mx32.
7915 * configure: Regenerate.
7916
989a5fb3
FH
79172020-01-29 Frederik Harwath <frederik@codesourcery.com>
7918
7919 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
7920
79212020-01-29 Frederik Harwath <frederik@codesourcery.com>
7922
7923 * plugin-gcn.c (struct agent_info): Add fields "name" and
7924 "vendor_name" ...
7925 (GOMP_OFFLOAD_init_device): ... and init from here.
7926 (struct hsa_context_info): Add field "driver_version_s" ...
7927 (init_hsa_contest): ... and init from here.
7928 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
7929 implementation.
7930 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7931 Enable test execution for amdgcn and host offloading targets.
7932 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
7933 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7934 (expect_device_properties): Split function into ...
7935 (expect_device_string_properties): ... this new function ...
7936 (expect_device_memory): ... and this new function.
7937 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
7938 Add test.
7939
278c3214
JB
79402020-01-28 Julian Brown <julian@codesourcery.com>
7941
7942 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
7943 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
7944 component/non-component variable refs in a single directive.
7945 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
7946
e8e66971
MR
79472020-01-24 Maciej W. Rozycki <macro@wdc.com>
7948
7949 * configure.ac: Handle `--with-toolexeclibdir='.
7950 * Makefile.in: Regenerate.
7951 * aclocal.m4: Regenerate.
7952 * configure: Regenerate.
7953 * testsuite/Makefile.in: Regenerate.
7954
9e424d97
FH
79552020-01-24 Frederik Harwath <frederik@codesourcery.com>
7956
7957 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7958 (expect_device_properties): Remove "expected_free_mem" argument,
7959 change "expected_total_mem" argument type to size_t;
7960 change types of acc_get_property results to size_t,
7961 adapt format strings.
7962 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7963 Use %zu instead of %zd to print size_t values.
7964 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
7965 rename to ...
7966 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
7967 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
7968 rename to ...
7969 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
7970
14e5e746
AS
79712020-01-23 Andrew Stubbs <ams@codesourcery.com>
7972
7973 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
7974 the device id.
7975
09e0ad62
AS
79762020-01-20 Andrew Stubbs <ams@codesourcery.com>
7977
7978 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
7979 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
7980 Adjust test dimensions for amdgcn.
7981 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
7982 gang/worker/vector expectations dynamically.
7983 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
7984 (main): Likewise.
7985 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
7986 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
7987 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
7988 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
7989 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
7990 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
7991 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
7992 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
7993 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
7994 (acc_gang): Recognise acc_device_radeon.
7995 (acc_worker): Likewise.
7996 (acc_vector): Likewise.
7997 (main): Set expectations for amdgcn.
7998 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
7999 (main): Adjust gang/worker/vector expectations dynamically.
8000 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
8001 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
8002 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
8003 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
8004 for amdgcn.
8005
6687d13a
AS
80062020-01-17 Andrew Stubbs <ams@codesourcery.com>
8007
8008 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
8009 acc_device_radeon.
8010 (openacc): Likewise.
8011 * openacc.f90 (openacc_kinds): Likewise.
8012 (openacc): Likewise.
8013 * openacc.h (acc_device_t): Likewise.
8014 * openacc_lib.h: Likewise.
8015 * testsuite/lib/libgomp.exp
8016 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
8017 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
8018 (cb_compute_construct_end): Likewise.
8019 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
8020 (cb_enqueue_launch_start): Likewise.
8021 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
8022 (cb_enter_data_end): Likewise.
8023 (cb_exit_data_start): Likewise.
8024 (cb_exit_data_end): Likewise.
8025 (cb_compute_construct_end): Likewise.
8026 (cb_enqueue_launch_start): Likewise.
8027 (cb_enqueue_launch_end): Likewise.
8028 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
8029 (main): Likewise.
8030
b3b75e66
TS
80312020-01-10 Thomas Schwinge <thomas@codesourcery.com>
8032
6fc0385c
TS
8033 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
8034 to use this instead of 'enum gomp_device_property'.
8035 (GOMP_OFFLOAD_get_property): Rename to...
8036 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
8037 * libgomp.h (struct gomp_device_descr): Move
8038 'GOMP_OFFLOAD_openacc_get_property'...
8039 (struct acc_dispatch_t): ... here. Adjust all users.
8040 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
8041
b3b75e66
TS
8042 * target.c (gomp_map_vars_internal)
8043 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
8044 paths.
8045
91df4397
JJ
80462020-01-10 Jakub Jelinek <jakub@redhat.com>
8047
8048 PR libgomp/93219
8049 * libgomp.h (gomp_print_string): Change return type from void to int.
8050 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
8051 not all characters have been written.
8052
df2c0d36
TB
80532020-01-08 Tobias Burnus <tobias@codesourcery.com>
8054
8055 * libgomp.texi: Fix typos, use https.
8056
f760c0c7
TB
80572020-01-03 Tobias Burnus <tobias@codesourcery.com>
8058
8059 * testsuite/libgomp.fortran/optional-map.f90: Add test for
8060 unallocated/disassociated actual arguments to nonallocatable/nonpointer
8061 dummy arguments; those are/shall be regarded as absent arguments.
8062 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8063 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8064
7e7065b9
JJ
80652020-01-01 Jakub Jelinek <jakub@redhat.com>
8066
8d9254fc
JJ
8067 Update copyright years.
8068
7e7065b9
JJ
8069 * libgomp.texi: Bump @copying's copyright year.
8070
2c829799
AM
80712019-12-31 Ayush Mittal <ayush.m@samsung.com>
8072
8073 PR libgomp/93065
8074 * oacc-init.c (goacc_runtime_deinitialize): New function.
8075
e9dcb75e
JJ
80762019-12-28 Jakub Jelinek <jakub@redhat.com>
8077
8078 PR bootstrap/93074
8079 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8080 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
8081
6c84c8bf
MR
80822019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
8083 Frederik Harwath <frederik@codesourcery.com>
8084 Thomas Schwinge <tschwinge@codesourcery.com>
8085
8086 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8087 * libgomp-plugin.h (gomp_device_property_value): New union.
8088 (gomp_device_property_value): New prototype.
8089 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8090 constant.
8091 (acc_device_property_t): New enum.
8092 (acc_get_property, acc_get_property_string): New prototypes.
8093 * oacc-init.c (acc_get_device_type): Also assert that result
8094 is not `acc_device_current'.
8095 (get_property_any, acc_get_property, acc_get_property_string):
8096 New functions.
8097 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8098 `acc_property_memory', `acc_property_free_memory',
8099 `acc_property_name', `acc_property_vendor' and
8100 `acc_property_driver' constants. Add `acc_device_property' data
8101 type.
8102 (openacc_internal): Add `acc_get_property' and
8103 `acc_get_property_string' interfaces. Add `acc_get_property_h',
8104 `acc_get_property_string_h', `acc_get_property_l' and
8105 `acc_get_property_string_l'.
8106 * oacc-host.c (host_get_property): New function.
8107 (host_dispatch): Wire it.
8108 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8109 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8110 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8111 * libgomp.texi (OpenACC Runtime Library Routines): Add
8112 `acc_get_property'.
8113 (acc_get_property): New node.
8114 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8115 function (stub).
8116 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8117 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8118 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8119 calls.
8120 (GOMP_OFFLOAD_get_property): New function.
8121 (struct ptx_device): Add new field "name".
8122 (cuda_driver_version_s): Add new static variable ...
8123 (nvptx_init): ... and init from here.
8124
8125 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8126 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8127 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8128 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8129 with test helper functions.
8130
8131 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8132
c8e759b4
MR
81332019-12-22 Maciej W. Rozycki <macro@wdc.com>
8134
8135 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8136 variable.
8137
b092fb3b
TS
81382019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8139
8140 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8141 link' handling.
8142
9be3ac5d
JB
81432019-12-19 Julian Brown <julian@codesourcery.com>
8144
8145 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8146 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8147 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8148
02817027
JB
81492019-12-19 Julian Brown <julian@codesourcery.com>
8150 Cesar Philippidis <cesar@codesourcery.com>
8151
8152 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8153 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8154 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8155 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8156 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8157 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8158 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8159 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8160 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8161 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8162 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8163 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8164 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8165
c2eb021f
JB
81662019-12-19 Julian Brown <julian@codesourcery.com>
8167
8168 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8169 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8170 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8171 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8172 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8173 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8174 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8175 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8176 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8177 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8178 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8179 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8180
8e7e71ff
JB
81812019-12-19 Julian Brown <julian@codesourcery.com>
8182
8183 * libgomp.h (struct target_var_desc): Add do_detach flag.
8184 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8185 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8186 struct components. Tidy up and add some new checks.
8187 (goacc_enter_data_internal): Update call to find_group_last.
8188 (goacc_exit_data_internal): Support detach operations and
8189 GOMP_MAP_STRUCT.
8190 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8191 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8192 attach/detach in enter/exit data detection code.
8193 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8194 tgt_var_desc.
8195 (gomp_map_vars_internal): Support attach.
8196 (gomp_unmap_vars_internal): Support detach.
8197
5d5be7bf
JB
81982019-12-19 Julian Brown <julian@codesourcery.com>
8199 Thomas Schwinge <thomas@codesourcery.com>
8200
8201 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8202 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8203 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8204 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8205 acc_detach_finalize_async.
8206 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8207 acc_detach, acc_detach_async, acc_detach_finalize,
8208 acc_detach_finalize_async): New functions.
8209 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8210 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8211 prototypes.
8212 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8213 (gomp_remove_var_internal): Free attachment counts if present.
8214 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8215 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8216
5bcd470b
JB
82172019-12-19 Julian Brown <julian@codesourcery.com>
8218 Cesar Philippidis <cesar@codesourcery.com>
8219
8220 * libgomp.h (gomp_map_val): Add prototype.
8221 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8222 open-coding device-address calculation.
8223 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8224 non-present case.
8225
378da98f
JB
82262019-12-19 Julian Brown <julian@codesourcery.com>
8227
8228 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8229 field for virtual_refcount.
8230 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8231 (gomp_free_memmap): Remove prototype.
8232 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8233 instead of calling gomp_free_memmap.
8234 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8235 dynamic_refcount.
8236 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8237 to_free field to NULL then calling gomp_unmap_vars. Handle
8238 REFCOUNT_INFINITY on target blocks.
8239 (goacc_enter_data): Rename to...
8240 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8241 handling for mapping groups. Use virtual_refcount instead of
8242 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8243 map_map_vars_async call. Re-do lookup for target pointer return value.
8244 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8245 renamed goacc_enter_datum function.
8246 (goacc_exit_data): Rename to...
8247 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8248 (acc_delete, acc_delete_async, acc_delete_finalize,
8249 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8250 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8251 goacc_exit_datum function.
8252 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8253 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8254 New functions.
8255 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8256 goacc_exit_data_internal helper functions.
8257 * target.c (gomp_map_vars_internal): Handle
8258 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8259 semantics.
8260 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8261 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8262 virtual_refcount field instead of dynamic_refcount.
8263 (gomp_free_memmap): Remove function.
8264 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8265 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8266 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8267
2a656a93
JB
82682019-12-19 Julian Brown <julian@codesourcery.com>
8269 Thomas Schwinge <thomas@codesourcery.com>
8270
8271 * libgomp.h (struct splay_tree_aux): New.
8272 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8273 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8274 to aux struct.
8275 (gomp_remove_var_internal): Free aux block if present.
8276 (gomp_load_image_to_device): Zero-initialise aux field instead of
8277 link_key field.
8278 (omp_target_associate_pointer): Zero-initialise aux field.
8279
601399c0
JJ
82802019-12-18 Jakub Jelinek <jakub@redhat.com>
8281
8282 PR middle-end/86416
8283 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8284 q or none.
8285 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8286 L or none.
8287
a6163563
JB
82882019-12-19 Julian Brown <julian@codesourcery.com>
8289 Maciej W. Rozycki <macro@codesourcery.com>
8290 Tobias Burnus <tobias@codesourcery.com>
8291 Thomas Schwinge <thomas@codesourcery.com>
8292
8293 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8294 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8295 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8296 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8297 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8298 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8299 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8300 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8301 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8302
6278b549
TS
83032019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8304
77ce5555
TS
8305 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8306 called...
8307 (goacc_insert_pointer): ... from here, "present" case.
8308 (goacc_insert_pointer): Inline function into...
8309 (GOACC_enter_exit_data): ... here, and simplify.
8310
9444a299
TS
8311 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8312 called...
8313 (goacc_insert_pointer): ... from here, "not present" case.
8314
5031b619
TS
8315 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8316 all users.
8317
1a79b578
TS
8318 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8319 'goacc_enter_data', 'goacc_exit_data'.
8320
34cfe31e
TS
8321 * oacc-mem.c (delete_copyout): Refactor into...
8322 (goacc_exit_data): ... this. Adjust all users.
8323
aaf0e9d7
TS
8324 * oacc-mem.c (present_create_copy): Refactor into...
8325 (goacc_enter_data): ... this. Adjust all users.
8326
83d1d065
TS
8327 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8328 'gomp_remove_var'.
8329
cc3f11f5
TS
8330 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8331 like 'GOMP_MAP_FROM'.
8332
ddb25eb9
TS
8333 PR libgomp/92726
8334 PR libgomp/92970
8335 PR libgomp/92984
8336 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8337 fails.
8338 (GOACC_enter_exit_data): Simplify accordingly.
8339 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8340 subsuming...
8341 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8342 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8343 file.
8344 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8345 subsuming...
8346 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8347 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8348 file.
8349 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8350 subsuming...
8351 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8352
32128577
TS
8353 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8354 'finalize' handling.
8355
ba40277f
TS
8356 PR libgomp/92848
8357 * oacc-mem.c (acc_map_data, present_create_copy)
8358 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8359 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8360 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8361 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8362 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8363 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8364 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8365 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8366 Remove "XFAIL"s.
8367
6278b549
TS
8368 * target.c (gomp_unmap_tgt): Make it 'static'.
8369 * libgomp.h (gomp_unmap_tgt): Remove.
8370
c80c9e26
TB
83712019-12-18 Tobias Burnus <tobias@codesourcery.com>
8372
8373 PR middle-end/86416
8374 * testsuite/libgomp.c/pr86416-1.c: New.
8375 * testsuite/libgomp.c/pr86416-2.c: New.
8376
0b8499a4
TB
83772019-12-17 Tobias Burnus <tobias@codesourcery.com>
8378
8379 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8380 all symbols as public except for the 'use …, only' imported symbol,
8381 which is private.
8382 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8383 all symbols from module openacc_kinds as PUBLIC
8384 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8385 fix comment typo.
8386 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8387
1cbd94e8
JB
83882019-12-13 Julian Brown <julian@codesourcery.com>
8389
8390 PR libgomp/92881
8391
8392 * libgomp.h (gomp_remove_var_async): Add prototype.
8393 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8394 gomp_remove_var.
8395 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8396 whether target_mem_desc was unmapped.
8397 (gomp_unref_tgt_void): New.
8398 (gomp_remove_var): Reimplement in terms of...
8399 (gomp_remove_var_internal): ...this new helper function.
8400 (gomp_remove_var_async): New, implemented using above helper function.
8401 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8402 gomp_unref_tgt.
8403
26b74ed0
AS
84042019-12-13 Andrew Stubbs <ams@codesourcery.com>
8405
8406 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8407 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8408 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8409 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8410 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8411 Likewise.
8412 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8413 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8414
7858bb96
TB
84152019-12-13 Tobias Burnus <tobias@codesourcery.com>
8416
8417 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8418 as public except for the 'use …, only' imported symbol, which is
8419 private.
8420 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8421 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8422 attributes for acc_copyout_finalize and acc_delete_finalize.
8423
f8ac7d8f
JJ
84242019-12-11 Jakub Jelinek <jakub@redhat.com>
8425
8426 PR fortran/92899
8427 * testsuite/libgomp.fortran/atomic1.f90: New test.
8428
3d1b5e71
TS
84292019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8430
d6e8c01c
TS
8431 PR libgomp/92843
8432 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8433 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8434 assertions.
8435 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8436 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8437 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8438 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8439 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8440
57963e39
TS
8441 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8442 * oacc-mem.c: ... here.
8443 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8444 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8445 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8446 Remove.
8447 * libgomp_g.h: Update.
8448
c5578b56
TS
8449 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8450 * oacc-async.c: ... here.
8451 * oacc-int.h (goacc_wait): Declare.
8452 * libgomp_g.h: Update
8453
3d1b5e71
TS
8454 PR libgomp/92854
8455 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8456 New file.
8457 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8458 Likewise.
8459 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8460 Likewise.
8461 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8462 Likewise.
8463 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8464 Likewise.
8465 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8466 Likewise.
8467
5e939438
TS
84682019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8469 Julian Brown <julian@codesourcery.com>
8470
8471 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8472 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8473
93d90219
TB
84742019-12-11 Tobias Burnus <tobias@codesourcery.com>
8475
8476 * omp_lib.h.in: Fix spelling of function declaration
8477 omp_get_cancell(l)ation.
8478 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8479 Fix typos.
8480 * env.c: Fix comment typos.
8481 * oacc-host.c: Likewise.
8482 * ordered.c: Likewise.
8483 * task.c: Likewise.
8484 * team.c: Likewise.
8485 * config/gcn/task.c: Likewise.
8486 * config/gcn/team.c: Likewise.
8487 * config/nvptx/task.c: Likewise.
8488 * config/nvptx/team.c: Likewise.
8489 * plugin/plugin-gcn.c: Likewise.
8490 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8491 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8492 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8493
a0221aee
TB
84942019-12-11 Tobias Burnus <tobias@codesourcery.com>
8495
8496 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8497 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8498 unnecessary 'dg-additional-options "-w"'.
8499
47afc7b4
TS
85002019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8501 Julian Brown <julian@codesourcery.com>
8502
8503 PR libgomp/92116
8504 PR libgomp/92877
8505
8506 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8507 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8508 Adjust all users.
8509 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8510 Remove XFAIL.
8511 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8512 Likewise.
8513 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8514
b5859e40
TS
85152019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8516
cec41816
TS
8517 PR libgomp/92503
8518 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8519 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8520 file.
8521 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8522 Likewise.
8523 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8524 Likewise.
8525 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8526 Likewise.
8527 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8528 Likewise.
8529 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8530 Likewise.
8531 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8532 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8533 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8534 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8535 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8536 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8537 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8538 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8539 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8540 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8541
e103542b
TS
8542 PR libgomp/92840
8543 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8544 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8545 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8546 New file.
8547 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8548 Likewise.
8549 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8550 Likewise.
8551 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8552 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8553
41f36f22
TS
8554 PR libgomp/92511
8555 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8556 this file...
8557 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8558 this file...
8559 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8560 file...
8561 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8562 file...
8563 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8564 ... with their content moved into, and extended in this new file.
8565 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8566 New file.
8567 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8568 Likewise.
8569 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8570 Likewise.
8571 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8572 Likewise.
8573
6effebe1
TS
8574 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8575
7d020473
TS
8576 PR libgomp/92854
8577 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8578
1e1fb715
TS
8579 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8580
b5859e40
TS
8581 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8582
11586ed9
TB
85832019-12-09 Tobias Burnus <tobias@codesourcery.com>
8584
8585 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8586 unique.
8587 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8588 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8589 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8590 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8591 Ditto.
8592 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8593 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8594
3ad4a03a
KCY
85952019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8596
8597 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8598
6e4d01d6
TB
85992019-12-06 Tobias Burnus <tobias@codesourcery.com>
8600 Kwok Cheung Yeung <kcy@codesourcery.com>
8601
8602 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8603 if input it a NULL pointer.
8604 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8605 diagnostic of NULL pointer.
8606 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8607 * testsuite/libgomp.fortran/optional-map.f90: New.
8608 * testsuite/libgomp.fortran/use_device_addr-1.f90
8609 (test_dummy_opt_callee_1_absent): New.
8610 (test_dummy_opt_call_1): Call it.
8611 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8612 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8613 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8614 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8615 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8616 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8617 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8618 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8619 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8620 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8621 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8622 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8623 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8624 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8625 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8626 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8627
ad80ec46
TB
86282019-12-05 Tobias Burnus <tobias@codesourcery.com>
8629
8630 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8631 expect dg-output of 'Error termination.' for GCN.
8632 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8633 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8634
a8a5f4cc
JJ
86352019-12-04 Jakub Jelinek <jakub@redhat.com>
8636
8637 PR fortran/92756
8638 * testsuite/libgomp.fortran/teams1.f90: New test.
8639 * testsuite/libgomp.fortran/teams2.f90: New test.
8640
d8f0024b
FH
86412019-12-03 Frederik Harwath <frederik@codesourcery.com>
8642
8643 * oacc-init.c (acc_known_device_type): Add function.
8644 (unknown_device_type_error): Add function.
8645 (name_of_acc_device_t): Change to call unknown_device_type_error
8646 on unknown type.
8647 (resolve_device): Use acc_known_device_type.
8648 (acc_init): Fail if acc_device_t argument is not valid.
8649 (acc_shutdown): Likewise.
8650 (acc_get_num_devices): Likewise.
8651 (acc_set_device_type): Likewise.
8652 (acc_get_device_num): Likewise.
8653 (acc_set_device_num): Likewise.
8654 (acc_on_device): Add comment that argument validity is not checked.
8655
83caa34e
AS
86562019-12-03 Andrew Stubbs <ams@codesourcery.com>
8657
8658 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8659 Recognize amdgcn.
8660 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8661 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8662 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8663 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8664 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8665
00484365
SN
86662019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8667
8668 PR libgomp/91938
8669 * configure.tgt: Avoid IE tls on *-*-musl*.
8670
9909a059
TB
86712019-11-29 Tobias Burnus <tobias@codesourcery.com>
8672
8673 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8674 adding a common-block test case.
8675
b3f44388
JJ
86762019-11-29 Jakub Jelinek <jakub@redhat.com>
8677
8678 PR c++/60228
8679 * testsuite/libgomp.c++/udr-20.C: New test.
8680 * testsuite/libgomp.c++/udr-21.C: New test.
8681
b1a73b48
TS
86822019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8683
8684 * testsuite/lib/libgomp.exp
8685 (check_effective_target_offload_target_nvptx): New proc.
8686 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8687 'dg-skip-if'.
8688 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8689 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8690 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8691
b8e72446
RO
86922019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8693
8694 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8695 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8696 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8697 * testsuite/libgomp.c/private-1.c: Likewise.
8698 * testsuite/libgomp.c/task-1.c: Likewise.
8699 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8700
d88b27da
JB
87012019-11-20 Julian Brown <julian@codesourcery.com>
8702
8703 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8704 aq->mutex here.
8705 (queue_push_launch): Lock aq->mutex before calling
8706 wait_for_queue_nonfull.
8707 (queue_push_callback): Likewise.
8708 (queue_push_asyncwait): Likewise.
8709 (queue_push_placeholder): Likewise.
8710
8d2f4ddf
JB
87112019-11-20 Julian Brown <julian@codesourcery.com>
8712
8713 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8714 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8715 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8716 return code.
8717
e307b05f
JB
87182019-11-20 Julian Brown <julian@codesourcery.com>
8719
8720 PR libgomp/92511
8721
8722 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8723 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8724 in non-present/create case.
8725 (delete_copyout): Change error condition to fail only on copies outside
8726 of mapped block. Adjust error message accordingly.
8727 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8728 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8729 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8730 message.
8731 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8732 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8733 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8734
83115e9e
MR
87352019-11-20 Maciej W. Rozycki <macro@wdc.com>
8736
8737 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8738 libatomic in build-tree testing.
8739
a1289887
MR
87402019-11-18 Maciej W. Rozycki <macro@wdc.com>
8741
8742 * testsuite/Makefile.in: Regenerate.
8743
8916ba87
AS
87442019-11-15 Andrew Stubbs <ams@codesourcery.com>
8745
8746 * testsuite/libgomp.c/target-print-1.c: New file.
8747 * testsuite/libgomp.fortran/target-print-1.f90: New file.
8748 * testsuite/libgomp.oacc-c/print-1.c: New file.
8749 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8750
237957cc
AS
87512019-11-13 Andrew Stubbs <ams@codesourcery.com>
8752 Kwok Cheung Yeung <kcy@codesourcery.com>
8753 Julian Brown <julian@codesourcery.com>
8754 Tom de Vries <tom@codesourcery.com>
8755
8756 * plugin/Makefrag.am: Add amdgcn plugin support.
8757 * plugin/configfrag.ac: Likewise.
8758 * plugin/plugin-gcn.c: New file.
8759 * configure: Regenerate.
8760 * Makefile.in: Regenerate.
8761 * testsuite/Makefile.in: Regenerate.
8762
cee16451
AS
87632019-11-13 Andrew Stubbs <ams@codesourcery.com>
8764
8765 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8766 and use team_malloc variants.
8767 (gomp_gcn_exit_kernel): Use team_free.
8768 * libgomp.h (TEAM_ARENA_SIZE): Define.
8769 (TEAM_ARENA_START): Define.
8770 (TEAM_ARENA_FREE): Define.
8771 (TEAM_ARENA_END): Define.
8772 (team_malloc): New function.
8773 (team_malloc_cleared): New function.
8774 (team_free): New function.
8775 * team.c (gomp_new_team): Initialize and use team_malloc.
8776 (free_team): Use team_free.
8777 (gomp_free_thread): Use team_free.
8778 (gomp_pause_host): Use team_free.
8779 * work.c (gomp_init_work_share): Use team_malloc.
8780 (gomp_fini_work_share): Use team_free.
8781
fa499995
AS
87822019-11-13 Andrew Stubbs <ams@codesourcery.com>
8783 Kwok Cheung Yeung <kcy@codesourcery.com>
8784 Julian Brown <julian@codesourcery.com>
8785 Tom de Vries <tom@codesourcery.com>
8786
8787 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8788 * Makefile.in: Regenerate.
8789 * config.h.in (PLUGIN_GCN): Add new undef.
8790 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8791 * config/gcn/affinity-fmt.c: New file.
8792 * config/gcn/bar.c: New file.
8793 * config/gcn/bar.h: New file.
8794 * config/gcn/doacross.h: New file.
8795 * config/gcn/icv-device.c: New file.
8796 * config/gcn/oacc-target.c: New file.
8797 * config/gcn/simple-bar.h: New file.
8798 * config/gcn/target.c: New file.
8799 * config/gcn/task.c: New file.
8800 * config/gcn/team.c: New file.
8801 * config/gcn/time.c: New file.
8802 * configure.ac: Add amdgcn*-*-*.
8803 * configure: Regenerate.
8804 * configure.tgt: Add amdgcn*-*-*.
8805 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8806 * libgomp.h (gcn_thrs): Add amdgcn variant.
8807 (set_gcn_thrs): Likewise.
8808 (gomp_thread): Likewise.
8809 * oacc-int.h (goacc_thread): Likewise.
8810 * oacc-target.c: New file.
8811 * openacc.f90 (acc_device_gcn): New parameter.
8812 * openacc.h (acc_device_t): Add acc_device_gcn.
8813 * team.c (gomp_free_pool_helper): Add amdgcn support.
8814
d2903ce0
AS
88152019-11-13 Andrew Stubbs <ams@codesourcery.com>
8816 Julian Brown <julian@codesourcery.com>
8817
8818 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8819 parameter.
8820 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8821 queue constructor.
8822 * oacc-host.c (host_openacc_async_construct): Add device parameter.
8823 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8824 device parameter.
8825
b3d14b3a
AS
88262019-11-13 Andrew Stubbs <ams@codesourcery.com>
8827
8828 * configure.tgt (nvptx*-*-*): Add "accel" directory.
8829 * config/nvptx/libgomp-plugin.c: Move ...
8830 * config/accel/libgomp-plugin.c: ... to here.
8831 * config/nvptx/lock.c: Move ...
8832 * config/accel/lock.c: ... to here.
8833 * config/nvptx/mutex.c: Move ...
8834 * config/accel/mutex.c: ... to here.
8835 * config/nvptx/mutex.h: Move ...
8836 * config/accel/mutex.h: ... to here.
8837 * config/nvptx/oacc-async.c: Move ...
8838 * config/accel/oacc-async.c: ... to here.
8839 * config/nvptx/oacc-cuda.c: Move ...
8840 * config/accel/oacc-cuda.c: ... to here.
8841 * config/nvptx/oacc-host.c: Move ...
8842 * config/accel/oacc-host.c: ... to here.
8843 * config/nvptx/oacc-init.c: Move ...
8844 * config/accel/oacc-init.c: ... to here.
8845 * config/nvptx/oacc-mem.c: Move ...
8846 * config/accel/oacc-mem.c: ... to here.
8847 * config/nvptx/oacc-plugin.c: Move ...
8848 * config/accel/oacc-plugin.c: ... to here.
8849 * config/nvptx/omp-lock.h: Move ...
8850 * config/accel/omp-lock.h: ... to here.
8851 * config/nvptx/openacc.f90: Move ...
8852 * config/accel/openacc.f90: ... to here.
8853 * config/nvptx/pool.h: Move ...
8854 * config/accel/pool.h: ... to here.
8855 * config/nvptx/proc.c: Move ...
8856 * config/accel/proc.c: ... to here.
8857 * config/nvptx/ptrlock.c: Move ...
8858 * config/accel/ptrlock.c: ... to here.
8859 * config/nvptx/ptrlock.h: Move ...
8860 * config/accel/ptrlock.h: ... to here.
8861 * config/nvptx/sem.c: Move ...
8862 * config/accel/sem.c: ... to here.
8863 * config/nvptx/sem.h: Move ...
8864 * config/accel/sem.h: ... to here.
8865 * config/nvptx/thread-stacksize.h: Move ...
8866 * config/accel/thread-stacksize.h: ... to here.
8867
62aee289
MR
88682019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
8869 Tobias Burnus <tobias@codesourcery.com>
8870 Frederik Harwath <frederik@codesourcery.com>
8871 Thomas Schwinge <thomas@codesourcery.com>
8872
8873 libgomp/
8874 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8875 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8876 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8877
a2c26c50
TB
88782019-11-11 Tobias Burnus <tobias@codesourcery.com>
8879 Kwok Cheung Yeung <kcy@codesourcery.com>
8880
8881 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8882 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8883
6d4868f3
TS
88842019-11-11 Thomas Schwinge <thomas@codesourcery.com>
8885
bfa1837b
TS
8886 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8887
6d4868f3
TS
8888 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8889 run'.
8890 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8891 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8892
5d183d17
FH
88932019-11-06 Thomas Schwinge <thomas@codesourcery.com>
8894
8895 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8896 Add expected warnings about missing reduction clauses.
8897 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8898 Likewise.
8899 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8900 Likewise.
8901 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
8902 Likewise.
8903
d8f03b03
TB
89042019-11-04 Tobias Burnus <tobias@codesourcery.com>
8905
8906 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
8907 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
8908 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
8909 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8910 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8911 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8912
12fd2ec5
TB
89132019-11-04 Tobias Burnus <tobias@codesourcery.com>
8914
8915 PR fortran/92305
8916 * testsuite/libgomp.fortran/allocatable2.f90: Use
8917 unique numbers with 'stop'.
8918 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8919 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8920 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
8921 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
8922 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
8923
92e63bd2
TB
89242019-11-01 Tobias Burnus <tobias@codesourcery.com>
8925
8926 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
8927 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
8928 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8929 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
8930 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
8931 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
8932
91ae0a46
TB
89332019-10-30 Tobias Burnus <tobias@codesourcery.com>
8934
8935 * testsuite/libgomp.fortran/target9.f90: New.
8936
c425e66b
TB
89372019-10-30 Tobias Burnus <tobias@codesourcery.com>
8938
8939 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
8940 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
8941 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
8942 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
8943 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
8944 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
8945 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
8946 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
8947 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
8948 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
8949 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
8950 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
8951 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
8952 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
8953 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
8954 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
8955 * testsuite/libgomp.fortran/associate1.f90: Ditto.
8956 * testsuite/libgomp.fortran/associate2.f90: Ditto.
8957 * testsuite/libgomp.fortran/associate3.f90: Ditto.
8958 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
8959 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
8960 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
8961 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
8962 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
8963 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
8964 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
8965 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
8966 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
8967 * testsuite/libgomp.fortran/character1.f90: Ditto.
8968 * testsuite/libgomp.fortran/character2.f90: Ditto.
8969 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
8970 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
8971 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
8972 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
8973 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
8974 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
8975 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
8976 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
8977 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
8978 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
8979 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
8980 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
8981 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
8982 * testsuite/libgomp.fortran/do1.f90: Ditto.
8983 * testsuite/libgomp.fortran/do2.f90: Ditto.
8984 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
8985 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
8986 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
8987 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
8988 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
8989 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
8990 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
8991 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
8992 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
8993 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
8994 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
8995 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
8996 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
8997 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
8998 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
8999 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
9000 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
9001 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
9002 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
9003 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
9004 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
9005 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
9006 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
9007 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
9008 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
9009 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
9010 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
9011 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
9012 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
9013 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
9014 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
9015 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
9016 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
9017 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
9018 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
9019 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
9020 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
9021 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
9022 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
9023 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
9024 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
9025 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
9026 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
9027 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
9028 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
9029 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
9030 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
9031 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
9032 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
9033 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9034 * testsuite/libgomp.fortran/lib1.f90: Ditto.
9035 * testsuite/libgomp.fortran/lib4.f90: Ditto.
9036 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
9037 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
9038 * testsuite/libgomp.fortran/nested1.f90: Ditto.
9039 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
9040 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
9041 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
9042 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9043 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
9044 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
9045 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
9046 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
9047 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
9048 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
9049 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
9050 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
9051 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
9052 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
9053 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
9054 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
9055 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
9056 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9057 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9058 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9059 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9060 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9061 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9062 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9063 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9064 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9065 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9066 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9067 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9068 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9069 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9070 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9071 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9072 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9073 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9074 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9075 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9076 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9077 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9078 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9079 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9080 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9081 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9082 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9083 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9084 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9085 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9086 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9087 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9088 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9089 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9090 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9091 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9092 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9093 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9094 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9095 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9096 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9097 * testsuite/libgomp.fortran/reference1.f90: Ditto.
9098 * testsuite/libgomp.fortran/reference2.f90: Ditto.
9099 * testsuite/libgomp.fortran/retval1.f90: Ditto.
9100 * testsuite/libgomp.fortran/retval2.f90: Ditto.
9101 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9102 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9103 * testsuite/libgomp.fortran/simd1.f90: Ditto.
9104 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9105 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9106 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9107 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9108 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9109 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9110 * testsuite/libgomp.fortran/stack.f90: Ditto.
9111 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9112 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9113 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9114 * testsuite/libgomp.fortran/target1.f90: Ditto.
9115 * testsuite/libgomp.fortran/target2.f90: Ditto.
9116 * testsuite/libgomp.fortran/target3.f90: Ditto.
9117 * testsuite/libgomp.fortran/target4.f90: Ditto.
9118 * testsuite/libgomp.fortran/target5.f90: Ditto.
9119 * testsuite/libgomp.fortran/target6.f90: Ditto.
9120 * testsuite/libgomp.fortran/target7.f90: Ditto.
9121 * testsuite/libgomp.fortran/target8.f90: Ditto.
9122 * testsuite/libgomp.fortran/task1.f90: Ditto.
9123 * testsuite/libgomp.fortran/task2.f90: Ditto.
9124 * testsuite/libgomp.fortran/task3.f90: Ditto.
9125 * testsuite/libgomp.fortran/task4.f90: Ditto.
9126 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9127 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9128 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9129 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9130 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9131 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9132 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9133 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9134 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9135 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9136 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9137 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9138 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9139 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9140 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9141 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9142 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9143 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9144 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9145 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9146 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9147 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9148 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9149 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9150 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9151 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9152 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9153 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9154 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9155 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9156 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9157 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9158 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9159 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9160
01509e2f
TB
91612019-10-30 Tobias Burnus <tobias@codesourcery.com>
9162
9163 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9164 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9165 Ditto; add 'dg-do run' for torture testing.
9166 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9167 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9168 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9169 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9170 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9171 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9172 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9173 * testsuite/libgomp.fortran/task2.f90: Ditto.
9174 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9175 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9176 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9177 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9178 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9179 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9180
ffbdd78a
TB
91812019-10-28 Tobias Burnus <tobias@codesourcery.com>
9182
9183 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9184 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9185 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9186 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9187 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9188 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9189 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9190 Use 'stop' not abort().
9191 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9192 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9193 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9194 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9195 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9196 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9197 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9198 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9199 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9200 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9201 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9202 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9203 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9204 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9205 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9206 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9207 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9208 Ditto.
9209 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9210 Ditto.
9211 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9212 Ditto.
9213 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9214 Ditto.
9215 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9216 Ditto.
9217 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9218 Ditto.
9219 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9220 Ditto.
9221 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9222 Ditto.
9223 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9224 Ditto.
9225 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9226 Ditto.
9227 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9228 Ditto.
9229 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9230 Ditto.
9231 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9232 Ditto.
9233 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9234 Ditto.
9235 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9236 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9237 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9238 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9239 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9240 Likewise and also add 'dg-do run'.
9241 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9242 Ditto.
9243
ec084613
CP
92442019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9245 Tobias Burnus <tobias@codesourcery.com>
9246
9247 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9248 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9249 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9250
77ef3394
JJ
92512019-10-14 Jakub Jelinek <jakub@redhat.com>
9252
9253 PR libgomp/92081
9254 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9255 than 0.
9256
08c14aaa
TB
92572019-10-11 Tobias Burnus <tobias@codesourcery.com>
9258
9259 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9260 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9261
6bbead0c
TS
92622019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9263
9264 PR middle-end/92036
9265 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9266 file.
9267
eba3dee8
TB
92682019-10-09 Tobias Burnus <tobias@codesourcery.com>
9269
9270 PR testsuite/91884
9271 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9272 add -lquadmath.
9273 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9274
7d48e14f
JJ
92752019-10-09 Jakub Jelinek <jakub@redhat.com>
9276
9277 PR libgomp/92028
9278 * target.c (gomp_map_vars_internal): Readd the previous
9279 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9280 though do that just in the !not_found_cnt case.
9281
65b67cf3
TB
92822019-10-08 Tobias Burnus <tobias@codesourcery.com>
9283
9284 * gfortran.dg/gomp/target-simd.f90: New.
9285
6c7e076b
JB
92862019-10-02 Julian Brown <julian@codesourcery.com>
9287 Cesar Philippidis <cesar@codesourcery.com>
9288
9289 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9290 * target.c (FIELD_TGT_EMPTY): Define.
9291 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9292 as switch instead of list of ifs.
9293 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9294
d61bff85
AT
92952019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9296
9297 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9298 include. Replace alloca () with __builtin_alloca ().
9299 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9300
810f316d
JJ
93012019-10-01 Jakub Jelinek <jakub@redhat.com>
9302
9303 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9304 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9305 * oacc-parallel.c: Don't include "libgomp_g.h".
9306 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9307 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9308 * aclocal.m4: Regenerated.
9309 * config.h.in: Regenerated.
9310 * configure: Regenerated.
9311 * Makefile.in: Regenerated.
9312
d7f9ee98
KCY
93132019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9314
9315 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9316
e9085da5
MR
93172019-09-27 Maciej W. Rozycki <macro@wdc.com>
9318
9319 * configure: Regenerate.
9320
c28712be
TB
93212019-09-13 Tobias Burnus <tobias@codesourcery.com>
9322
9323 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9324 string is initialized.
9325
3c086f8d
FW
93262019-09-06 Florian Weimer <fweimer@redhat.com>
9327
9328 * configure: Regenerate.
9329
c6c2d1bc
CLT
93302019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9331
9332 PR other/79543
9333 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9334 scanning to conform to the GNU Coding Standards.
9335 * configure: Regenerate.
9336
5cb72d83
JJ
93372019-08-28 Jakub Jelinek <jakub@redhat.com>
9338
9339 PR libgomp/91530
9340 * testsuite/libgomp.c/scan-21.c: New test.
9341 * testsuite/libgomp.c/scan-22.c: New test.
9342
0ad7981c
JJ
93432019-08-27 Jakub Jelinek <jakub@redhat.com>
9344
9345 PR libgomp/91530
9346 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9347 targets.
9348 * testsuite/libgomp.c/scan-12.c: Likewise.
9349 * testsuite/libgomp.c/scan-13.c: Likewise.
9350 * testsuite/libgomp.c/scan-14.c: Likewise.
9351 * testsuite/libgomp.c/scan-15.c: Likewise.
9352 * testsuite/libgomp.c/scan-16.c: Likewise.
9353 * testsuite/libgomp.c/scan-17.c: Likewise.
9354 * testsuite/libgomp.c/scan-18.c: Likewise.
9355 * testsuite/libgomp.c/scan-19.c: Likewise.
9356 * testsuite/libgomp.c/scan-20.c: Likewise.
9357 * testsuite/libgomp.c++/scan-9.C: Likewise.
9358 * testsuite/libgomp.c++/scan-10.C: Likewise.
9359 * testsuite/libgomp.c++/scan-11.C: Likewise.
9360 * testsuite/libgomp.c++/scan-12.C: Likewise.
9361 * testsuite/libgomp.c++/scan-14.C: Likewise.
9362 * testsuite/libgomp.c++/scan-15.C: Likewise.
9363 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9364 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9365 * testsuite/libgomp.c++/scan-16.C: Likewise.
9366
1e67491a
TK
93672019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9368
9369 PR fortran/91473
9370 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9371 -std=legacy so invalid code in the test case is accepted.
9372
393fdeb1
TK
93732019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9374
9375 PR fortran/91422
9376 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9377 dimension.
9378
8860d270
JJ
93792019-08-08 Jakub Jelinek <jakub@redhat.com>
9380
9381 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9382 perform the lookup in the first loop only if !not_found_cnt, otherwise
9383 perform lookups for it in the second loop guarded with
9384 if (not_found_cnt || has_firstprivate).
9385 * testsuite/libgomp.c/target-37.c: New test.
9386 * testsuite/libgomp.c++/target-22.C: New test.
9387
398e3feb
JJ
93882019-08-07 Jakub Jelinek <jakub@redhat.com>
9389
9390 * testsuite/libgomp.c/target-18.c (struct S): New type.
9391 (foo): Use use_device_addr clause instead of use_device_ptr clause
9392 where required by OpenMP 5.0, add further tests for both use_device_ptr
9393 and use_device_addr clauses.
9394 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9395 (foo): Use use_device_addr clause instead of use_device_ptr clause
9396 where required by OpenMP 5.0, add further tests for both use_device_ptr
9397 and use_device_addr clauses. Add t and u arguments.
9398 (main): Adjust caller.
9399
d81ab49d
JJ
94002019-08-06 Jakub Jelinek <jakub@redhat.com>
9401
9402 * testsuite/libgomp.c++/loop-13.C: New test.
9403 * testsuite/libgomp.c++/loop-14.C: New test.
9404 * testsuite/libgomp.c++/loop-15.C: New test.
9405
c3ac76aa
JJ
94062019-07-31 Jakub Jelinek <jakub@redhat.com>
9407
9408 PR middle-end/91301
9409 * testsuite/libgomp.c++/for-27.C: New test.
9410
8dc63166
SK
94112019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9412
393fdeb1 9413 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 9414 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 9415
554a530f
JJ
94162019-07-20 Jakub Jelinek <jakub@redhat.com>
9417
9418 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9419
6cda84b5
JJ
94202019-07-08 Jakub Jelinek <jakub@redhat.com>
9421
9422 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9423 * testsuite/libgomp.c++/scan-16.C: Likewise.
9424
1f52d1a8
JJ
94252019-07-06 Jakub Jelinek <jakub@redhat.com>
9426
6f67abcd
JJ
9427 * testsuite/libgomp.c/scan-19.c: New test.
9428 * testsuite/libgomp.c/scan-20.c: New test.
9429
1f52d1a8
JJ
9430 * testsuite/libgomp.c/scan-11.c: New test.
9431 * testsuite/libgomp.c/scan-12.c: New test.
9432 * testsuite/libgomp.c/scan-13.c: New test.
9433 * testsuite/libgomp.c/scan-14.c: New test.
9434 * testsuite/libgomp.c/scan-15.c: New test.
9435 * testsuite/libgomp.c/scan-16.c: New test.
9436 * testsuite/libgomp.c/scan-17.c: New test.
9437 * testsuite/libgomp.c/scan-18.c: New test.
9438 * testsuite/libgomp.c++/scan-9.C: New test.
9439 * testsuite/libgomp.c++/scan-10.C: New test.
9440 * testsuite/libgomp.c++/scan-11.C: New test.
9441 * testsuite/libgomp.c++/scan-12.C: New test.
9442 * testsuite/libgomp.c++/scan-13.C: New test.
9443 * testsuite/libgomp.c++/scan-14.C: New test.
9444 * testsuite/libgomp.c++/scan-15.C: New test.
9445 * testsuite/libgomp.c++/scan-16.C: New test.
9446
2f03073f
JJ
94472019-07-04 Jakub Jelinek <jakub@redhat.com>
9448
9449 * testsuite/libgomp.c/scan-9.c: New test.
9450 * testsuite/libgomp.c/scan-10.c: New test.
9451
2f6bb511
JJ
94522019-07-03 Jakub Jelinek <jakub@redhat.com>
9453
9454 * testsuite/libgomp.c++/scan-1.C: New test.
9455 * testsuite/libgomp.c++/scan-2.C: New test.
9456 * testsuite/libgomp.c++/scan-3.C: New test.
9457 * testsuite/libgomp.c++/scan-4.C: New test.
9458 * testsuite/libgomp.c++/scan-5.C: New test.
9459 * testsuite/libgomp.c++/scan-6.C: New test.
9460 * testsuite/libgomp.c++/scan-7.C: New test.
9461 * testsuite/libgomp.c++/scan-8.C: New test.
9462 * testsuite/libgomp.c/scan-1.c: New test.
9463 * testsuite/libgomp.c/scan-2.c: New test.
9464 * testsuite/libgomp.c/scan-3.c: New test.
9465 * testsuite/libgomp.c/scan-4.c: New test.
9466 * testsuite/libgomp.c/scan-5.c: New test.
9467 * testsuite/libgomp.c/scan-6.c: New test.
9468 * testsuite/libgomp.c/scan-7.c: New test.
9469 * testsuite/libgomp.c/scan-8.c: New test.
9470
bd194a51
TS
94712019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9472
85fca03a
TS
9473 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9474 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9475 Likewise.
9476
bd194a51
TS
9477 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9478 check.
9479
6652161e
CP
94802019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9481
9482 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9483 file.
9484
3a37d6f6
TS
94852019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9486
4017da8d
TS
9487 PR fortran/90743
9488 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9489 case.
9490 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9491 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9492 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9493 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9494
6f7c1f65
TS
9495 PR testsuite/90861
9496 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9497
3a37d6f6
TS
9498 PR middle-end/90862
9499 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9500
f45ce17d
TV
95012019-06-16 Tom de Vries <tdevries@suse.de>
9502
9503 PR tree-optimization/89376
9504 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9505
00908992
TV
95062019-06-15 Tom de Vries <tdevries@suse.de>
9507
9508 PR tree-optimization/89713
9509 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9510 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9511
211b7533
JJ
95122019-06-15 Jakub Jelinek <jakub@redhat.com>
9513
9514 PR middle-end/90779
9515 * testsuite/libgomp.c/pr90779.c: New test.
9516 * testsuite/libgomp.fortran/pr90779.f90: New test.
9517
120a01d1
TV
95182019-06-15 Tom de Vries <tdevries@suse.de>
9519
9520 PR tree-optimization/90009
9521 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9522
c29c92c7
FX
95232019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9524
9525 PR tree-optimization/89713
9526 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9527
ce9c4ec3
JJ
95282019-06-11 Jakub Jelinek <jakub@redhat.com>
9529
9530 PR target/90811
9531 * testsuite/libgomp.c/pr90811.c: New test.
9532
28b3a77c
JJ
95332019-06-05 Jakub Jelinek <jakub@redhat.com>
9534
9535 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9536 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9537
7855700e
JJ
95382019-06-04 Jakub Jelinek <jakub@redhat.com>
9539
9540 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9541 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9542 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9543 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9544
a7155c2e
RO
95452019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9546
9547 * configure.ac: Call AX_COUNT_CPUS.
9548 Substitute CPU_COUNT.
9549 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9550 count fallback.
9551 * aclocal.m4: Regenerate.
9552 * configure: Regenerate.
9553 * Makefile.in, testsuite/Makefile.in: Regenerate.
9554
7e47198b
JJ
95552019-05-29 Jakub Jelinek <jakub@redhat.com>
9556
9557 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9558 to ...
9559 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9560 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9561 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9562
fcfb8032
JJ
95632019-05-27 Jakub Jelinek <jakub@redhat.com>
9564
8e7757ba
JJ
9565 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9566
36c7a3ff
JJ
9567 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9568
fcfb8032
JJ
9569 PR libgomp/90641
9570 * work.c (gomp_init_work_share): Instead of aligning final ordered
9571 value to multiples of long long alignment, align to that the
9572 first part (ordered team ids) and if inline_ordered_team_ids
9573 is not on a long long alignment boundary within the structure,
9574 use __alignof__ (long long) - 1 pad size always.
9575 * loop.c (GOMP_loop_start): Fix *mem computation if
9576 inline_ordered_team_ids is not aligned on long long alignment boundary
9577 within the structure.
9578 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9579 * sections.c (GOMP_sections2_start): Likewise.
9580
b5c26449
JJ
95812019-05-24 Jakub Jelinek <jakub@redhat.com>
9582
6c7ae8c5
JJ
9583 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9584 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9585
b5c26449
JJ
9586 PR libgomp/90585
9587 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9588 HAVE_INTTYPES_H is defined.
9589 (print_uint64_t): New typedef.
9590 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9591 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9592 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9593 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9594 before casting to void *.
9595 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9596 * oacc-mem.c: Don't include config.h nor stdint.h.
9597 * target.c: Don't include config.h.
9598 * oacc-cuda.c: Likewise.
9599 * oacc-host.c: Don't include stdint.h.
9600
3e03ed66
JJ
96012019-05-20 Jakub Jelinek <jakub@redhat.com>
9602
9603 PR libgomp/90527
9604 * alloc.c (_GNU_SOURCE): Define.
9605
5fae049d
TS
96062019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9607
9608 * acc_prof.h: New file.
9609 * oacc-profiling.c: Likewise.
9610 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9611 Add these, respectively.
9612 * Makefile.in: Regenerate.
9613 * env.c (initialize_env): Call goacc_profiling_initialize.
9614 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9615 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9616 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9617 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9618 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9619 acc_prof_register, acc_prof_unregister, and acc_register_library.
9620 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9621 GOMP_PLUGIN_goacc_thread.
9622 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9623 prof_callbacks_enabled members.
9624 (goacc_prof_enabled, goacc_profiling_initialize)
9625 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9626 (goacc_profiling_dispatch): Declare.
9627 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9628 (GOACC_PROFILING_SETUP_P): Define.
9629 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9630 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9631 OpenACC Profiling Interface.
9632 * oacc-cuda.c (acc_get_current_cuda_device)
9633 (acc_get_current_cuda_context, acc_get_cuda_stream)
9634 (acc_set_cuda_stream): Likewise.
9635 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9636 (acc_init, acc_set_device_type, acc_get_device_type)
9637 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9638 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9639 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9640 (acc_unmap_data, present_create_copy, delete_copyout)
9641 (update_dev_host): Likewise.
9642 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9643 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9644 Likewise.
9645 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9646 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9647 Likewise.
9648 * libgomp.texi: Update.
9649 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9650 file.
9651 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9652 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9653 Likewise.
9654 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9655 Likewise.
9656 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9657 Likewise.
9658 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9659 Likewise.
9660
1f4c5b9b
CLT
96612019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9662
9663 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9664 (struct goacc_asyncqueue_list): Likewise.
9665 (goacc_aq): Likewise.
9666 (goacc_aq_list): Likewise.
9667 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9668 (GOMP_OFFLOAD_openacc_async_test): Remove.
9669 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9670 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9671 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9672 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9673 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9674 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9675 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9676 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9677 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9678 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9679 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9680 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9681 (GOMP_OFFLOAD_openacc_async_test): Declare.
9682 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9683 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9684 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9685 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9686 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9687
9688 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9689 (gomp_acc_insert_pointer): Adjust declaration.
9690 (gomp_copy_host2dev): New declaration.
9691 (gomp_copy_dev2host): Likewise.
9692 (gomp_map_vars_async): Likewise.
9693 (gomp_unmap_tgt): Likewise.
9694 (gomp_unmap_vars_async): Likewise.
9695 (gomp_fini_device): Likewise.
9696
9697 * oacc-async.c (get_goacc_thread): New function.
9698 (get_goacc_thread_device): New function.
9699 (lookup_goacc_asyncqueue): New function.
9700 (get_goacc_asyncqueue): New function.
9701 (acc_async_test): Adjust code to use new async design.
9702 (acc_async_test_all): Likewise.
9703 (acc_wait): Likewise.
9704 (acc_wait_async): Likewise.
9705 (acc_wait_all): Likewise.
9706 (acc_wait_all_async): Likewise.
9707 (goacc_async_free): New function.
9708 (goacc_init_asyncqueues): Likewise.
9709 (goacc_fini_asyncqueues): Likewise.
9710 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9711 design.
9712 (acc_set_cuda_stream): Likewise.
9713 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9714 (host_openacc_register_async_cleanup): Remove.
9715 (host_openacc_async_exec): New function.
9716 (host_openacc_async_test): Adjust parameters.
9717 (host_openacc_async_test_all): Remove.
9718 (host_openacc_async_wait): Remove.
9719 (host_openacc_async_wait_async): Remove.
9720 (host_openacc_async_wait_all): Remove.
9721 (host_openacc_async_wait_all_async): Remove.
9722 (host_openacc_async_set_async): Remove.
9723 (host_openacc_async_synchronize): New function.
9724 (host_openacc_async_serialize): New function.
9725 (host_openacc_async_host2dev): New function.
9726 (host_openacc_async_dev2host): New function.
9727 (host_openacc_async_queue_callback): New function.
9728 (host_openacc_async_construct): New function.
9729 (host_openacc_async_destruct): New function.
9730 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 9731 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
9732 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9733 (goacc_attach_host_thread_to_device): Remove old async code usage.
9734 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9735 (goacc_fini_asyncqueues): Likewise.
9736 (goacc_async_copyout_unmap_vars): Likewise.
9737 (goacc_async_free): Likewise.
9738 (get_goacc_asyncqueue): Likewise.
9739 (lookup_goacc_asyncqueue): Likewise.
9740 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9741 design.
9742 (present_create_copy): Adjust code to use new async design.
9743 (delete_copyout): Likewise.
9744 (update_dev_host): Likewise.
9745 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9746 async design.
9747 (gomp_acc_remove_pointer): Adjust code to use new async design.
9748 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9749 design.
9750 (GOACC_enter_exit_data): Likewise.
9751 (goacc_wait): Likewise.
9752 (GOACC_update): Likewise.
9753 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9754 when called, warn as obsolete in comment.
9755 * target.c (goacc_device_copy_async): New function.
9756 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9757 add goacc_device_copy_async case.
9758 (gomp_copy_dev2host): Likewise.
9759 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9760 (gomp_map_pointer): Likewise.
9761 (gomp_map_fields_existing): Likewise.
9762 (gomp_map_vars_internal): New always_inline function, renamed from
9763 gomp_map_vars.
9764 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9765 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9766 passing goacc_asyncqueue argument.
9767 (gomp_unmap_tgt): Remove static, add attribute_hidden.
9768 (gomp_unref_tgt): New function.
9769 (gomp_unmap_vars_internal): New always_inline function, renamed from
9770 gomp_unmap_vars.
9771 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9772 (gomp_unmap_vars_async): Implement by calling
9773 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9774 (gomp_fini_device): New function.
9775 (gomp_exit_data): Adjust gomp_copy_dev2host call.
9776 (gomp_load_plugin_for_device): Remove old interface, adjust to load
9777 new async interface.
9778 (gomp_target_fini): Adjust code to call gomp_fini_device.
9779
9780 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9781 (struct ptx_stream): Remove.
9782 (struct nvptx_thread): Remove current_stream field.
9783 (cuda_map_create): Remove.
9784 (cuda_map_destroy): Remove.
9785 (map_init): Remove.
9786 (map_fini): Remove.
9787 (map_pop): Remove.
9788 (map_push): Remove.
9789 (struct goacc_asyncqueue): Define.
9790 (struct nvptx_callback): Define.
9791 (struct ptx_free_block): Define.
9792 (struct ptx_device): Remove null_stream, active_streams, async_streams,
9793 stream_lock, and next fields.
9794 (enum ptx_event_type): Remove.
9795 (struct ptx_event): Remove.
9796 (ptx_event_lock): Remove.
9797 (ptx_events): Remove.
9798 (init_streams_for_device): Remove.
9799 (fini_streams_for_device): Remove.
9800 (select_stream_for_async): Remove.
9801 (nvptx_init): Remove ptx_events and ptx_event_lock references.
9802 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9803 case.
9804 (nvptx_open_device): Add free_blocks initialization, remove
9805 init_streams_for_device call.
9806 (nvptx_close_device): Remove fini_streams_for_device call, add
9807 free_blocks destruct code.
9808 (event_gc): Remove.
9809 (event_add): Remove.
9810 (nvptx_exec): Adjust parameters and code.
9811 (nvptx_free): Likewise.
9812 (nvptx_host2dev): Remove.
9813 (nvptx_dev2host): Remove.
9814 (nvptx_set_async): Remove.
9815 (nvptx_async_test): Remove.
9816 (nvptx_async_test_all): Remove.
9817 (nvptx_wait): Remove.
9818 (nvptx_wait_async): Remove.
9819 (nvptx_wait_all): Remove.
9820 (nvptx_wait_all_async): Remove.
9821 (nvptx_get_cuda_stream): Remove.
9822 (nvptx_set_cuda_stream): Remove.
9823 (GOMP_OFFLOAD_alloc): Adjust code.
9824 (GOMP_OFFLOAD_free): Likewise.
9825 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9826 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9827 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9828 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9829 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9830 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9831 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9832 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9833 (cuda_free_argmem): New function.
9834 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9835 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9836 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9837 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9838 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9839 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9840 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9841 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9842 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9843 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9844 (cuda_callback_wrapper): New function.
9845 (cuda_memcpy_sanity_check): New function.
9846 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9847 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9848 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9849 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9850
da2d30c1
TS
98512019-05-07 Thomas Schwinge <thomas@codesourcery.com>
9852
9853 PR target/87835
9854 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9855
2bbbfa4e
TS
98562019-05-06 Thomas Schwinge <thomas@codesourcery.com>
9857
9858 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9859
bbf1efe1
KB
98602019-03-27 Kevin Buettner <kevinb@redhat.com>
9861
9862 * team.c (gomp_team_start): Initialize pool->threads[0].
9863
1241136c
TS
98642019-02-22 Thomas Schwinge <thomas@codesourcery.com>
9865
b03d721a
TS
9866 * testsuite/libgomp.oacc-c++/c++.exp: Specify
9867 "-foffload=$offload_target".
9868 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9869 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9870 * testsuite/lib/libgomp.exp
9871 (check_effective_target_openacc_nvidia_accel_configured): Remove,
9872 as (conceptually) merged into
9873 check_effective_target_openacc_nvidia_accel_selected. Adjust all
9874 users.
9875
0a0384b4
TS
9876 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9877 * testsuite/libgomp-test-support.exp.in: Adjust.
9878 * testsuite/lib/libgomp.exp: Likewise. Don't populate
9879 openacc_device_types_s.
9880 (offload_target_to_openacc_device_type): New proc.
9881 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9882 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9883 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9884 * Makefile.in: Regenerate.
9885 * configure: Likewise.
9886 * testsuite/Makefile.in: Likewise.
9887
ee332b4a
TS
9888 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9889 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9890 instead of OFFLOAD_TARGETS.
9891 * target.c (gomp_target_init): Adjust.
9892 * testsuite/libgomp-test-support.exp.in: Likewise.
9893 * testsuite/lib/libgomp.exp: Likewise. Populate
9894 openacc_device_types_s instead of offload_targets_s_openacc.
9895 (check_effective_target_openacc_nvidia_accel_selected)
9896 (check_effective_target_openacc_host_selected): Adjust.
9897 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9898 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9899 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9900 * Makefile.in: Regenerate.
9901 * config.h.in: Likewise.
9902 * configure: Likewise.
9903 * testsuite/Makefile.in: Likewise.
9904
1241136c
TS
9905 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
9906 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
9907 "offloading: supported, but hardware not accessible".
9908 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9909 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9910
19695f4d
CLT
99112019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
9912
9913 PR c/87924
9914 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
9915 goacc_wait().
9916 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
9917 and related adjustment.
9918
8b44f8ec
JJ
99192019-01-30 Jakub Jelinek <jakub@redhat.com>
9920
9921 PR c++/88988
9922 * testsuite/libgomp.c++/pr88988.C: New test.
9923
be3a87e7
JJ
99242019-01-28 Jakub Jelinek <jakub@redhat.com>
9925
9926 PR middle-end/89002
9927 * testsuite/libgomp.c/pr89002.c: New test.
9928
497ef4d7
RB
99292019-01-28 Richard Biener <rguenther@suse.de>
9930
9931 PR testsuite/89064
9932 PR tree-optimization/86865
9933 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
9934
738c56d4
TV
99352019-01-24 Tom de Vries <tdevries@suse.de>
9936
9937 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
9938 once instantiated_devices drops to 0.
9939
4a75460b
TV
99402019-01-23 Tom de Vries <tdevries@suse.de>
9941
9942 PR target/PR88946
9943 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
9944 cuMemFree.
9945 (nvptx_exec): Don't call map_push if mapnum == 0.
9946 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
9947
4fef8e4d
TV
99482019-01-23 Tom de Vries <tdevries@suse.de>
9949
9950 PR target/88941
9951 PR target/88939
9952 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
9953 (map_fini): Remove "assert (!s->map->active)".
9954 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
9955
2ee6cb22
TV
99562019-01-23 Tom de Vries <tdevries@suse.de>
9957
9958 PR target/87835
9959 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
9960 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
9961
d41d952c
TV
99622019-01-15 Tom de Vries <tdevries@suse.de>
9963
9964 PR target/80547
9965 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
9966 New test.
9967
efb56ae8
TV
99682019-01-12 Tom de Vries <tdevries@suse.de>
9969
9970 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
9971 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
9972 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
9973 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
9974
2c2ff168
TV
99752019-01-12 Tom de Vries <tdevries@suse.de>
9976
9977 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
9978
a1057758
TV
99792019-01-12 Tom de Vries <tdevries@suse.de>
9980
9981 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
9982 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
9983 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
9984
56314b77
TV
99852019-01-12 Tom de Vries <tdevries@suse.de>
9986
9987 PR target/85486
9988 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
9989 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
9990
b39e4366
TV
99912019-01-12 Tom de Vries <tdevries@suse.de>
9992
9993 PR target/85381
9994 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
9995 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
9996
2cb7a501
TV
99972019-01-12 Tom de Vries <tdevries@suse.de>
9998
9999 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
10000 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
10001 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
10002
8e77f71e
TV
100032019-01-12 Tom de Vries <tdevries@suse.de>
10004
10005 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
10006 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
10007 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
10008
52d22ece
TV
100092019-01-12 Tom de Vries <tdevries@suse.de>
10010
10011 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
10012 resources diagnostic.
10013
2b9d9e39
TV
100142019-01-12 Tom de Vries <tdevries@suse.de>
10015
10016 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
10017 vector length to be 128.
10018 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
10019 length 2097152 to be reduced to 1024 instead of 32.
10020
4102bda6
TS
100212019-01-11 Thomas Schwinge <thomas@codesourcery.com>
10022 James Norris <jnorris@codesourcery.com>
10023
10024 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
10025 Library Routines", and "Environment Variables".
10026
052aaace
TV
100272019-01-11 Tom de Vries <tdevries@suse.de>
10028
10029 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
10030 num_workers 16.
10031
9390f916
TV
100322019-01-11 Tom de Vries <tdevries@suse.de>
10033
10034 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
10035 -foffload=-w.
10036 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
10037 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
10038 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
10039 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
10040
2c3e7ad2
TV
100412019-01-11 Tom de Vries <tdevries@suse.de>
10042
10043 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
10044 test.
10045
e222497d
NS
100462019-01-10 Nathan Sidwell <nathan@acm.org>
10047 Julian Brown <julian@codesourcery.com>
10048
10049 PR lto/71959
10050 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
10051 * testsuite/libgomp.oacc-c++/pr71959.C: New.
10052
cb87fec3
SH
100532019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10054
10055 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
10056 and paste code.
10057
30b4d0d0
SH
100582019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10059
10060 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
10061 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10062 write.
10063
5d0bc70a
TV
100642019-01-09 Tom de Vries <tdevries@suse.de>
10065
10066 PR target/88756
10067 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10068 #define instead of "const int".
10069 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10070 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10071 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10072 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10073
2c372e81
TV
100742019-01-09 Tom de Vries <tdevries@suse.de>
10075
10076 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10077 one worker.
10078
43493c97
TV
100792019-01-07 Tom de Vries <tdevries@suse.de>
10080
10081 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10082 GOMP_OPENACC_DIM argument.
10083
5c571497
TV
100842019-01-03 Tom de Vries <tdevries@suse.de>
10085
10086 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10087 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10088
a5544970
JJ
100892019-01-01 Jakub Jelinek <jakub@redhat.com>
10090
10091 Update copyright years.
10092
3f27508c
JJ
100932019-01-01 Jakub Jelinek <jakub@redhat.com>
10094
10095 * libgomp.texi: Bump @copying's copyright year.
10096
59d5960c
TS
100972018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10098
10099 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10100 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10101 (GOACC_declare): Redefine the "device" argument to "flags".
10102
a44c1790
TS
101032018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10104 Cesar Philippidis <cesar@codesourcery.com>
10105
10106 * target.c (struct gomp_coalesce_chunk): New structure.
10107 (struct gomp_coalesce_buf): Update the chunks member to use that
10108 type. Adjust all users.
10109
a152954e
TV
101102018-12-19 Tom de Vries <tdevries@suse.de>
10111
10112 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10113 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10114 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10115
49188cd1
TV
101162018-12-19 Tom de Vries <tdevries@suse.de>
10117
10118 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10119 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10120 gcc/testsuite/gcc.dg/goacc.
10121 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10122
c759830b
TS
101232018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10124 Chung-Lin Tang <cltang@codesourcery.com>
10125
10126 * oacc-mem.c (acc_present_or_create): Remove definition and change
10127 to alias of acc_create.
10128 (acc_present_or_copyin): Remove definition and change to alias of
10129 acc_copyin.
10130 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10131 of acc_present_or_create.
10132 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10133 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10134 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10135 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10136 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10137 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10138 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10139 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10140 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10141 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10142 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10143 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10144 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10145 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10146 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10147 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10148
7de562ee
TS
101492018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10150
f847198e
TS
10151 PR libgomp/88495
10152 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10153 "identical parameters".
10154 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10155 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10156
c8ab8aab
TS
10157 PR libgomp/88484
10158 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10159 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10160
1404af62
TS
10161 PR libgomp/88407
10162 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10163 (nvptx_wait_async): Unseen async-argument is a no-op.
10164 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10165 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10166 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10167 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10168 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10169 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10170 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10171 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10172 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10173
7de562ee
TS
10174 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10175 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10176
17469af7
CLT
101772018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10178
10179 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10180 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10181 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10182
18c247cc
TS
101832018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10184
10185 PR libgomp/88370
10186 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10187 (acc_set_cuda_stream): Clarify.
10188 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10189 "async_valid_p".
10190 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10191 acc_async_sync".
10192 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10193 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10194 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10195 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10196
b0aba46c
TV
101972018-12-14 Tom de Vries <tdevries@suse.de>
10198
10199 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10200 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10201 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10202 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10203 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10204
fe0827ee
TV
102052018-12-13 Tom de Vries <tdevries@suse.de>
10206
10207 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10208 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10209 * fortran.c (omp_display_affinity_): ... here.
10210 * libgomp.h (gomp_print_string): Declare.
10211 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10212 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10213 write.
10214
a51f8c92
JJ
102152018-12-13 Jakub Jelinek <jakub@redhat.com>
10216
10217 PR libgomp/88460
10218 * testsuite/libgomp.c++/for-24.C (results): Include it in
10219 omp declare target region.
10220 (main): Use map (always, tofrom: results) instead of
10221 map (tofrom: results).
10222
a6ef2ac9
JJ
102232018-12-12 Jakub Jelinek <jakub@redhat.com>
10224
7a289b7d
JJ
10225 PR fortran/88463
10226 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10227 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10228
a6ef2ac9
JJ
10229 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10230
9c47a019
AS
102312018-12-12 Andreas Schwab <schwab@suse.de>
10232
10233 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10234 clobbered.
10235
d0cbb206
TK
102362018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10237
10238 PR fortran/88411
10239 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10240
84ca08d2
TS
102412018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10242 Jakub Jelinek <jakub@redhat.com>
10243
10244 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10245 devicep->host2dev_func.
10246
6997628d
JJ
102472018-12-08 Jakub Jelinek <jakub@redhat.com>
10248
10249 PR libgomp/87995
10250 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10251 tls_runtime effective target.
10252 (t): New threadprivate variable.
10253 (main): Set t in threads which execute iterations of the worksharing
10254 loop. Propagate that to the task after the loop and don't abort
10255 if the current taskgroup hasn't been cancelled.
10256
daa8c1d7
JJ
102572018-12-02 Jakub Jelinek <jakub@redhat.com>
10258
4a82df9a
JJ
10259 * testsuite/libgomp.c/task-reduction-3.c: New test.
10260
daa8c1d7
JJ
10261 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10262
fe570ff8
CP
102632018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10264
10265 PR libgomp/88288
10266 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10267 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10268
c223608f
TS
102692018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10270
10271 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10272
fc60283c
RB
102732018-10-19 Richard Biener <rguenther@suse.de>
10274
10275 PR tree-optimization/88182
10276 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10277
ffcf3b79
JJ
102782018-11-26 Jakub Jelinek <jakub@redhat.com>
10279
10280 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10281 (RUNTEST): Don't define.
10282 (RUNTESTDEFAULTFLAGS): Add.
10283 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10284 (distclean-am): Depend on distclean-DEJAGNU.
10285 (check-am): If -j% option is present in MFLAGS and if
10286 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10287 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10288 * testsuite/Makefile.in: Regenerated.
10289
ef6e6914
RB
102902018-11-26 Richard Biener <rguenther@suse.de>
10291
10292 PR tree-optimization/88182
10293 * testsuite/libgomp.c++/pr88182.C: New testcase.
10294
72d3bb76
JJ
102952018-11-20 Jakub Jelinek <jakub@redhat.com>
10296
10297 PR bootstrap/88106
10298 * config/mingw32/affinity-fmt.c: New file.
10299
207286c3
JJ
103002018-11-09 Jakub Jelinek <jakub@redhat.com>
10301
9666c522
JJ
10302 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10303 (gomp_display_affinity): Use __builtin_choose_expr to handle
10304 properly handle argument having integral, or pointer or some other
10305 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10306 with uint64_t type instead of %llx and unsigned long long.
10307
207286c3
JJ
10308 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10309 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10310
2033f45b
RO
103112018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10312
10313 * affinity.c: Include <string.h>, <stdio.h>.
10314 (gomp_display_affinity_place): Remove cpusetp.
10315 * teams.c: Include <limits.h>.
10316
28567c40
JJ
103172018-11-08 Jakub Jelinek <jakub@redhat.com>
10318
8991d779
JJ
10319 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10320 in_reduction clause for s[0].
10321
28567c40
JJ
10322 * affinity.c (gomp_display_affinity_place): New function.
10323 * affinity-fmt.c: New file.
10324 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10325 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10326 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10327 Move these functions to ...
10328 * config/nvptx/teams.c: ... here. New file.
10329 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10330 New functions.
10331 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10332 functions.
10333 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10334 and _aligned_malloc.
10335 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10336 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10337 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10338 gomp_affinity_format_len): New variables.
10339 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10340 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10341 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10342 modifiers. Display (non-default) chunk sizes. Print
10343 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10344 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10345 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10346 * fortran.c: Include stdio.h and string.h.
10347 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10348 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10349 (omp_set_affinity_format_, omp_get_affinity_format_,
10350 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10351 omp_pause_resource_all_): New functions.
10352 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10353 switch.
10354 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10355 functions to ...
10356 * teams.c: ... here. New file.
10357 * libgomp_g.h: Include gstdint.h.
10358 (GOMP_loop_nonmonotonic_runtime_start,
10359 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10360 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10361 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10362 GOMP_parallel_loop_nonmonotonic_runtime,
10363 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10364 GOMP_loop_ull_nonmonotonic_runtime_start,
10365 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10366 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10367 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10368 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10369 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10370 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10371 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10372 GOMP_teams_reg): Declare.
10373 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10374 gomp_aligned_alloc uses fallback implementation.
10375 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10376 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10377 (struct gomp_doacross_work_share): Add extra field.
10378 (struct gomp_work_share): Add task_reductions field.
10379 (struct gomp_taskgroup): Add workshare and reductions fields.
10380 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10381 (gomp_thread_handle): New typedef.
10382 (gomp_display_affinity_place, gomp_set_affinity_format,
10383 gomp_display_string, gomp_display_affinity,
10384 gomp_display_affinity_thread): Declare.
10385 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10386 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10387 gomp_workshare_task_reduction_register): Declare.
10388 (gomp_team_start): Add taskgroup argument.
10389 (gomp_pause_host): Declare.
10390 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10391 to size_t.
10392 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10393 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10394 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10395 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10396 GOMP_loop_ull_doacross_start,
10397 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10398 GOMP_loop_maybe_nonmonotonic_runtime_next,
10399 GOMP_loop_maybe_nonmonotonic_runtime_start,
10400 GOMP_loop_nonmonotonic_runtime_next,
10401 GOMP_loop_nonmonotonic_runtime_start,
10402 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10403 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10404 GOMP_loop_ull_nonmonotonic_runtime_next,
10405 GOMP_loop_ull_nonmonotonic_runtime_start,
10406 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10407 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10408 GOMP_taskgroup_reduction_register,
10409 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10410 GOMP_teams_reg and GOMP_taskwait_depend.
10411 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10412 omp_{capture,display}_affinity{,_}, and
10413 omp_[gs]et_affinity_format{,_}.
10414 * loop.c: Include string.h.
10415 (GOMP_loop_runtime_next): Add ialias.
10416 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10417 (gomp_loop_static_start, gomp_loop_dynamic_start,
10418 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10419 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10420 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10421 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10422 or gomp_doacross_init callers.
10423 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10424 GOMP_loop_doacross_start): New functions.
10425 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10426 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10427 Mask off GFS_MONOTONIC bit.
10428 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10429 GOMP_loop_maybe_nonmonotonic_runtime_start,
10430 GOMP_loop_nonmonotonic_runtime_next,
10431 GOMP_loop_nonmonotonic_runtime_start,
10432 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10433 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10434 functions.
10435 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10436 gomp_team_start.
10437 * loop_ull.c: Include string.h.
10438 (GOMP_loop_ull_runtime_next): Add ialias.
10439 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10440 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10441 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10442 gomp_loop_ull_ordered_dynamic_start,
10443 gomp_loop_ull_ordered_guided_start,
10444 gomp_loop_ull_doacross_static_start,
10445 gomp_loop_ull_doacross_dynamic_start,
10446 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10447 and gomp_doacross_ull_init callers.
10448 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10449 GOMP_loop_ull_doacross_start): New functions.
10450 (GOMP_loop_ull_runtime_start,
10451 GOMP_loop_ull_ordered_runtime_start,
10452 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10453 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10454 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10455 GOMP_loop_ull_nonmonotonic_runtime_next,
10456 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10457 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10458 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10459 (omp_pause_resource_t, omp_depend_t): New typedefs.
10460 (enum omp_lock_hint_t): Renamed to ...
10461 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10462 enumerators using numbers and omp_lock_hint_* as their aliases.
10463 (omp_lock_hint_t): New typedef. Rename to ...
10464 (omp_sync_hint_t): ... this.
10465 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10466 omp_sync_hint_t instead of omp_lock_hint_t.
10467 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10468 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10469 Declare.
10470 (omp_target_is_present, omp_target_disassociate_ptr):
10471 Change first argument from void * to const void *.
10472 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10473 from void * to const void *.
10474 (omp_target_associate_ptr): Change first and second arguments from
10475 void * to const void *.
10476 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10477 omp_pause_hard): New parameters.
10478 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10479 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10480 New interfaces.
10481 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10482 omp_pause_hard): New parameters.
10483 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10484 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10485 New externals.
10486 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10487 EXTRA argument. If not needed to prepare array, if extra is 0,
10488 clear ws->doacross, otherwise allocate just doacross structure and
10489 extra payload. If array is needed, allocate also extra payload.
10490 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10491 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10492 doacross == NULL.
10493 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10494 gomp_team_start.
10495 (GOMP_parallel): Likewise. Formatting fix.
10496 (GOMP_parallel_reductions): New function.
10497 (GOMP_cancellation_point): If taskgroup has workshare
10498 flag set, check cancelled of prev taskgroup if any.
10499 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10500 on prev taskgroup if any.
10501 * sections.c: Include string.h.
10502 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10503 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10504 (GOMP_sections2_start): New function.
10505 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10506 Pass NULL as taskgroup to gomp_team_start.
10507 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10508 gomp_work_share_start callers.
10509 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10510 If taskgroup has workshare flag set, check cancelled on prev
10511 taskgroup if any. Guard all cancellation tests with
10512 gomp_cancel_var test.
10513 (omp_target_is_present, omp_target_disassociate_ptr):
10514 Change ptr argument from void * to const void *.
10515 (omp_target_memcpy): Change src argument from void * to const void *.
10516 (omp_target_memcpy_rect): Likewise.
10517 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10518 instead of char * where needed.
10519 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10520 from void * to const void *.
10521 (omp_pause_resource, omp_pause_resource_all): New functions.
10522 * task.c (gomp_task_handle_depend): Handle new depend array format
10523 in addition to the old. Handle mutexinoutset kinds the same as
10524 inout for now, handle unspecified kinds.
10525 (gomp_create_target_task): If taskgroup has workshare flag set, check
10526 cancelled on prev taskgroup if any. Guard all cancellation tests with
10527 gomp_cancel_var test. Handle new depend array format count in
10528 addition to the old.
10529 (GOMP_task): Likewise. Adjust function comment.
10530 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10531 cancelled on prev taskgroup if any. Guard all cancellation tests with
10532 gomp_cancel_var test.
10533 (GOMP_taskwait_depend): New function.
10534 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10535 format in addition to the old. Handle mutexinoutset kinds the same as
10536 inout for now, handle unspecified kinds. Fix a function comment typo.
10537 (gomp_taskgroup_init): New function.
10538 (GOMP_taskgroup_start): Use it.
10539 (gomp_reduction_register, gomp_create_artificial_team,
10540 GOMP_taskgroup_reduction_register,
10541 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10542 gomp_parallel_reduction_register,
10543 gomp_workshare_task_reduction_register,
10544 gomp_workshare_taskgroup_start,
10545 GOMP_workshare_task_reduction_unregister): New functions.
10546 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10547 check cancelled on prev taskgroup if any. Guard all cancellation
10548 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10549 by calling GOMP_taskgroup_reduction_register.
10550 * team.c (gomp_thread_attr): Remove comment.
10551 (struct gomp_thread_start_data): Add handle field.
10552 (gomp_thread_start): Call pthread_detach.
10553 (gomp_new_team): Adjust gomp_init_work_share caller.
10554 (gomp_free_pool_helper): Call pthread_detach.
10555 (gomp_team_start): Add taskgroup argument, initialize implicit
10556 tasks' taskgroup field to that. Don't call
10557 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10558 (gomp_team_end): Determine nesting by thr->ts.level != 0
10559 rather than thr->ts.team != NULL.
10560 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10561 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10562 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10563 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10564 if more than 1 allocate also extra payload at the end of array. Never
10565 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10566 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10567 return true instead of ws.
10568 * Makefile.in: Regenerated.
10569 * configure: Regenerated.
10570 * config.h.in: Regenerated.
10571 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10572 in some cases.
10573 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10574 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10575 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10576 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10577 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10578 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10579 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10580 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10581 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10582 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10583 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10584 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10585 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10586 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10587 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10588 define a different N(test), don't define N(f0) to N(f14), but instead
10589 define N(f20) to N(f34) using != comparisons.
10590 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10591 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10592 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10593 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10594 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10595 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10596 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10597 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10598 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10599 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10600 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10601 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10602 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10603 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10604 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10605 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10606 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10607 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10608 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10609 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10610 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10611 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10612 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10613 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10614 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10615 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10616 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10617 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10618 * testsuite/libgomp.c++/depend-1.C: New test.
10619 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10620 * testsuite/libgomp.c++/depobj-1.C: New test.
10621 * testsuite/libgomp.c++/for-16.C: New test.
10622 * testsuite/libgomp.c++/for-21.C: New test.
10623 * testsuite/libgomp.c++/for-22.C: New test.
10624 * testsuite/libgomp.c++/for-23.C: New test.
10625 * testsuite/libgomp.c++/for-24.C: New test.
10626 * testsuite/libgomp.c++/for-25.C: New test.
10627 * testsuite/libgomp.c++/for-26.C: New test.
10628 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10629 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10630 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10631 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10632 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10633 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10634 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10635 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10636 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10637 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10638 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10639 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10640 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10641 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10642 * testsuite/libgomp.c/task-reduction-1.c: New test.
10643 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10644 * testsuite/libgomp.c/task-reduction-2.c: New test.
10645 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10646 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10647 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10648 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10649 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10650 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10651 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10652 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10653 * testsuite/libgomp.c/teams-1.c: New test.
10654 * testsuite/libgomp.c/teams-2.c: New test.
10655 * testsuite/libgomp.c/thread-limit-4.c: New test.
10656 * testsuite/libgomp.c/thread-limit-5.c: New test.
10657 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10658
58168bbf
CLT
106592018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10660
10661 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10662 acc_memcpy_to/from_device functions, now with async parameter.
10663 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10664 (acc_memcpy_from_device): Likewise.
10665 (acc_memcpy_to_device_async): New API function.
10666 (acc_memcpy_from_device_async): Likewise.
10667 (present_create_copy): Add async parameter and async setting/unsetting.
10668 (acc_create): Adjust present_create_copy call.
10669 (acc_copyin): Likewise.
10670 (acc_present_or_create): Likewise.
10671 (acc_present_or_copyin): Likewise.
10672 (acc_create_async): New API function.
10673 (acc_copyin_async): New API function.
10674 (delete_copyout): Add async parameter and async setting/unsetting.
10675 (acc_delete): Adjust delete_copyout call.
10676 (acc_copyout): Likewise.
10677 (acc_delete_async): New API function.
10678 (acc_copyout_async): Likewise.
10679 (update_dev_host): Add async parameter and async setting/unsetting.
10680 (acc_update_device): Adjust update_dev_host call.
10681 (acc_update_self): Likewise.
10682 (acc_update_device_async): New API function.
10683 (acc_update_self_async): Likewise.
10684 * openacc.h (acc_copyin_async): Declare new API function.
10685 (acc_create_async): Likewise.
10686 (acc_copyout_async): Likewise.
10687 (acc_delete_async): Likewise.
10688 (acc_update_device_async): Likewise.
10689 (acc_update_self_async): Likewise.
10690 (acc_memcpy_to_device_async): Likewise.
10691 (acc_memcpy_from_device_async): Likewise.
10692 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10693 (acc_copyin_async_64_h): New subroutine.
10694 (acc_copyin_async_array_h): New subroutine.
10695 (acc_create_async_32_h): New subroutine.
10696 (acc_create_async_64_h): New subroutine.
10697 (acc_create_async_array_h): New subroutine.
10698 (acc_copyout_async_32_h): New subroutine.
10699 (acc_copyout_async_64_h): New subroutine.
10700 (acc_copyout_async_array_h): New subroutine.
10701 (acc_delete_async_32_h): New subroutine.
10702 (acc_delete_async_64_h): New subroutine.
10703 (acc_delete_async_array_h): New subroutine.
10704 (acc_update_device_async_32_h): New subroutine.
10705 (acc_update_device_async_64_h): New subroutine.
10706 (acc_update_device_async_array_h): New subroutine.
10707 (acc_update_self_async_32_h): New subroutine.
10708 (acc_update_self_async_64_h): New subroutine.
10709 (acc_update_self_async_array_h): New subroutine.
10710 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10711 (acc_copyin_async_64_h): New subroutine.
10712 (acc_copyin_async_array_h): New subroutine.
10713 (acc_create_async_32_h): New subroutine.
10714 (acc_create_async_64_h): New subroutine.
10715 (acc_create_async_array_h): New subroutine.
10716 (acc_copyout_async_32_h): New subroutine.
10717 (acc_copyout_async_64_h): New subroutine.
10718 (acc_copyout_async_array_h): New subroutine.
10719 (acc_delete_async_32_h): New subroutine.
10720 (acc_delete_async_64_h): New subroutine.
10721 (acc_delete_async_array_h): New subroutine.
10722 (acc_update_device_async_32_h): New subroutine.
10723 (acc_update_device_async_64_h): New subroutine.
10724 (acc_update_device_async_array_h): New subroutine.
10725 (acc_update_self_async_32_h): New subroutine.
10726 (acc_update_self_async_64_h): New subroutine.
10727 (acc_update_self_async_array_h): New subroutine.
10728 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10729 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10730 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10731 acc_memcpy_to_device_async*, acc_update_device_async*, and
10732 acc_update_self_async* entries.
10733 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10734 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10735 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10736
22e05272
JM
107372018-10-31 Joseph Myers <joseph@codesourcery.com>
10738
10739 PR bootstrap/82856
10740 * Makefile.am: Include multilib.am
10741 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10742 (CLEANFILES): Remove libgomp.info.
10743 * configure.ac: Remove AC_PREREQ.
10744 * testsuite/Makefile.am (RUNTEST): Remove quotes.
10745 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10746 Regenerate.
10747
87a5ccfb
JM
107482018-10-29 Joseph Myers <joseph@codesourcery.com>
10749 Julian Brown <julian@codesourcery.com>
10750
10751 * testsuite/libgomp.oacc-c++/this.C: New.
10752
2049befd
CP
107532018-09-18 Cesar Philippidis <cesar@codesourcery.com>
10754
10755 * plugin/plugin-nvptx.c (struct cuda_map): New.
10756 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10757 h_tail with (cuda_map *) map.
10758 (cuda_map_create): New function.
10759 (cuda_map_destroy): New function.
10760 (map_init): Update to use a linked list of cuda_map objects.
10761 (map_fini): Likewise.
10762 (map_pop): Likewise.
10763 (map_push): Likewise. Return CUdeviceptr instead of void.
10764 (init_streams_for_device): Remove stales references to ptx_stream
10765 members.
10766 (select_stream_for_async): Likewise.
10767 (nvptx_exec): Update call to map_init.
10768
8e36332c
CP
107692018-09-09 Cesar Philippidis <cesar@codesourcery.com>
10770 Julian Brown <julian@codesourcery.com>
10771
10772 PR middle-end/86336
10773 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10774
2b4c9065
NK
107752018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
10776 Thomas Koenig <tkoenig@gcc.gnu.org>
10777
10778 PR fortran/25829
10779 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10780 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10781 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10782 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10783 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10784 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10785 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10786
bd9b3d3d
CP
107872018-08-13 Cesar Philippidis <cesar@codesourcery.com>
10788 Tom de Vries <tdevries@suse.de>
10789
10790 PR target/85590
10791 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10792 (cuOccupancyMaxPotentialBlockSize): Declare.
10793 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10794 CUDA_ONE_CALL_MAYBE_NULL.
10795 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10796 CUoccupancyB2DSize and declare
10797 cuOccupancyMaxPotentialBlockSize.
10798 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10799 default num_gangs and num_workers when the driver supports it.
10800
8e09a12f
TV
108012018-08-08 Tom de Vries <tdevries@suse.de>
10802
10803 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10804 CUDA_ONE_CALL_MAYBE_NULL.
10805 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10806 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10807 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10808 are not found.
10809
cedd9bd0
TV
108102018-08-08 Tom de Vries <tdevries@suse.de>
10811
10812 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10813 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10814 present.
10815
b113af95
TV
108162018-08-08 Tom de Vries <tdevries@suse.de>
10817
10818 * plugin/plugin-nvptx.c
10819 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10820 (nvptx_open_device): Use
10821 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10822
94767dac
TV
108232018-08-08 Tom de Vries <tdevries@suse.de>
10824
10825 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10826 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
10827
02150de8
TV
108282018-08-07 Tom de Vries <tdevries@suse.de>
10829
10830 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10831 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10832 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
10833 corresponding call in CUDA_ONE_CALL. Add def/undef of
10834 CUDA_ONE_CALL_MAYBE_NULL.
10835 (CUDA_CALL_EXISTS): Define.
10836
9e28b107
TV
108372018-08-07 Tom de Vries <tdevries@suse.de>
10838
10839 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10840 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10841 corresponding undefs right after.
10842
09940090
TV
108432018-08-04 Tom de Vries <tdevries@suse.de>
10844
10845 * plugin/configfrag.ac: For --without-cuda-driver, set
10846 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
10847 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10848 * configure: Regenerate.
10849
77e0a97a
TV
108502018-08-02 Tom de Vries <tdevries@suse.de>
10851
10852 PR target/86660
10853 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10854 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10855 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10856 Same.
10857 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10858 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10859 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10860
701d080a
CP
108612018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10862 Thomas Schwinge <thomas@codesourcery.com>
10863
10864 * config/nvptx/oacc-parallel.c: Truncate.
10865
094db6be
CP
108662018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10867 James Norris <jnorris@codesourcery.com>
10868
10869 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
10870 (map_init, map_pop): Remove use of struct map.
10871 (map_push): Likewise and change argument list.
094db6be
CP
10872 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10873
8c6310a2
TV
108742018-08-01 Tom de Vries <tdevries@suse.de>
10875
10876 * plugin/cuda-lib.def: New file. Factor out of ...
10877 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10878 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10879 using CUDA_CALLS.
10880
1d4a51cf
AV
108812018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
10882
10883 Revert 'AsyncI/O patch committed'.
10884 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10885 Thomas Koenig <tkoenig@gcc.gnu.org>
10886
10887 PR fortran/25829
10888 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10889 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10890 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10891 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10892 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10893 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10894 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10895
4cdfee3f
TV
108962018-07-30 Tom de Vries <tdevries@suse.de>
10897
10898 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10899 (nvptx_exec): Ensure worker and vector default dims don't exceed
10900 targ_fn->max_threads_per_block.
10901
0b210c43
TV
109022018-07-30 Tom de Vries <tdevries@suse.de>
10903
10904 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
10905 (nvptx_open_device): Init default_dims for device.
10906 (nvptx_exec): Use default_dims from device.
10907
5883c5cc
JJ
109082018-07-26 Jakub Jelinek <jakub@redhat.com>
10909
5d36384c
JJ
10910 PR testsuite/86660
10911 * testsuite/libgomp.c++/for-15.C (results): Include it in
10912 omp declare target region.
10913 (main): Use map (always, tofrom: results) instead of
10914 map (tofrom: results).
10915
5883c5cc
JJ
10916 PR middle-end/86660
10917 * testsuite/libgomp.c/pr86660.c: New test.
10918
88a4654d
CP
109192018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10920 Tom de Vries <tdevries@suse.de>
10921
10922 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
10923 sufficient resources to launch a kernel, and give a hint on how to fix
10924 it.
10925
0c6c2f5f
CP
109262018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10927 Tom de Vries <tdevries@suse.de>
10928
10929 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
10930 max_threads_per_block and max_threads_per_multiprocessor fields.
10931 (nvptx_open_device): Initialize new fields.
10932 (nvptx_exec): Use num_sms, and new fields.
10933
6dd58010
TV
109342018-07-26 Tom de Vries <tdevries@suse.de>
10935
10936 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
10937 to correct locations. Remove xfail.
10938
b2eb1779
TV
109392018-07-26 Tom de Vries <tdevries@suse.de>
10940
10941 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
10942 acc_wait. Move acc_async_test calls to correct locations. Remove
10943 xfail.
10944
b1f45884
NK
109452018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10946 Thomas Koenig <tkoenig@gcc.gnu.org>
10947
10948 PR fortran/25829
10949 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10950 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10951 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10952 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10953 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10954 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10955 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10956
3a106211
JJ
109572018-07-17 Jakub Jelinek <jakub@redhat.com>
10958
a3bccfa1
JJ
10959 PR middle-end/86542
10960 * testsuite/libgomp.c++/pr86542.C: New test.
10961
3a106211
JJ
10962 PR middle-end/86539
10963 * testsuite/libgomp.c++/pr86539.C: New test.
10964
2bae8b2f
JJ
109652018-07-11 Jakub Jelinek <jakub@redhat.com>
10966
10967 PR c++/86443
10968 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
10969 (results): Make sure the variable is not inside declare target region.
10970 (qux): Remove unused function.
10971
0b27c3ed
JJ
109722018-07-10 Jakub Jelinek <jakub@redhat.com>
10973
10974 PR c++/86443
10975 * testsuite/libgomp.c++/for-15.C: New test.
10976
f0391511
JJ
109772018-06-26 Jakub Jelinek <jakub@redhat.com>
10978
10979 PR c++/86291
10980 * testsuite/libgomp.c++/pr86291.C: New test.
10981
1a6d1d24
GP
109822018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
10983
10984 * libgomp.texi (Top): Move www.openmp.org to https.
10985 (Enabling OpenMP): Ditto.
10986 (omp_get_active_level): Ditto.
10987 (omp_get_ancestor_thread_num): Ditto.
10988 (omp_get_cancellation): Ditto.
10989 (omp_get_default_device): Ditto.
10990 (omp_get_dynamic): Ditto.
10991 (omp_get_level): Ditto.
10992 (omp_get_max_active_levels): Ditto.
10993 (omp_get_max_task_priority): Ditto.
10994 (omp_get_max_threads): Ditto.
10995 (omp_get_nested): Ditto.
10996 (omp_get_num_devices): Ditto.
10997 (omp_get_num_procs): Ditto.
10998 (omp_get_num_teams): Ditto.
10999 (omp_get_num_threads): Ditto.
11000 (omp_get_proc_bind): Ditto.
11001 (omp_get_schedule): Ditto.
11002 (omp_get_team_num): Ditto.
11003 (omp_get_team_size): Ditto.
11004 (omp_get_thread_limit): Ditto.
11005 (omp_get_thread_num): Ditto.
11006 (omp_in_parallel): Ditto.
11007 (omp_in_final): Ditto.
11008 (omp_is_initial_device): Ditto.
11009 (omp_set_default_device): Ditto.
11010 (omp_set_dynamic): Ditto.
11011 (omp_set_max_active_levels): Ditto.
11012 (omp_set_nested): Ditto.
11013 (omp_set_num_threads): Ditto.
11014 (omp_set_schedule): Ditto.
11015 (omp_init_lock): Ditto.
11016 (omp_set_lock): Ditto.
11017 (omp_test_lock): Ditto.
11018 (omp_unset_lock): Ditto.
11019 (omp_destroy_lock): Ditto.
11020 (omp_init_nest_lock): Ditto.
11021 (omp_set_nest_lock): Ditto.
11022 (omp_test_nest_lock): Ditto.
11023 (omp_unset_nest_lock): Ditto.
11024 (omp_destroy_nest_lock): Ditto.
11025 (omp_get_wtick): Ditto.
11026 (omp_get_wtime): Ditto.
11027 (OMP_CANCELLATION): Ditto.
11028 (OMP_DISPLAY_ENV): Ditto.
11029 (OMP_DEFAULT_DEVICE): Ditto.
11030 (OMP_DYNAMIC): Ditto.
11031 (OMP_MAX_ACTIVE_LEVELS): Ditto.
11032 (OMP_MAX_TASK_PRIORITY): Ditto.
11033 (OMP_NESTED): Ditto.
11034 (OMP_NUM_THREADS): Ditto.
11035 (OMP_PROC_BIND): Ditto.
11036 (OMP_PLACES): Ditto.
11037 (OMP_STACKSIZE): Ditto.
11038 (OMP_SCHEDULE): Ditto.
11039 (OMP_THREAD_LIMIT): Ditto.
11040 (OMP_WAIT_POLICY): Ditto.
11041
31dd69b7
CP
110422018-06-22 Cesar Philippidis <cesar@codesourcery.com>
11043 James Norris <jnorris@codesourcery.com>
11044 Julian Brown <julian@codesourcery.com>
11045 Thomas Schwinge <thomas@codesourcery.com>
11046 Tom de Vries <tom@codesourcery.com>
11047
11048 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
11049 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
11050 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
11051 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
11052 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11053 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11054 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
11055 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
11056 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11057 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11058 Likewise.
11059 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11060 Likewise.
11061 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11062 Likewise.
11063 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11064 Likewise.
11065 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11066 Likewise.
11067 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11068 Likewise.
11069 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11070 Likewise.
11071 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11072 Likewise.
11073 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11074 Likewise.
11075 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11076 Likewise.
11077 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11078 Likewise.
11079 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11080 Likewise.
11081 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11082 Likewise.
11083 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11084 Likewise.
11085 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11086 Likewise.
11087 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11088 Likewise.
11089 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11090 Likewise.
11091 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11092 Likewise.
11093 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11094 Likewise.
11095 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11096 Likewise.
11097 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11098 Likewise.
11099 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11100 Likewise.
11101 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11102 Likewise.
11103 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11104 Likewise.
11105 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11106 Likewise.
11107 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11108 Likewise.
11109 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11110 Likewise.
11111 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11112 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11113 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11114 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11115 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11116 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11117 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11118 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11119 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11120 Likewise.
11121 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11122 Likewise.
11123 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11124 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11125 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11126 Likewise.
11127 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11128 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11129 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11130 Likewise.
11131 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11132 Likewise.
11133 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11134 Likewise.
11135 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11136 Likewise.
11137 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11138 Likewise.
11139 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11140 Likewise.
11141 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11142 Likewise.
11143 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11144 Likewise.
11145 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11146 Likewise.
11147 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11148 Likewise.
11149 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11150 Likewise.
11151 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11152 Likewise.
11153 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11154 Likewise.
11155 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11156 Likewise.
11157 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11158 Likewise.
11159 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11160 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11161 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11162 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11163 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11164 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11165 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11166
829c6349
CLT
111672018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11168 Thomas Schwinge <thomas@codesourcery.com>
11169 Cesar Philippidis <cesar@codesourcery.com>
11170
11171 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11172 (gomp_acc_remove_pointer): Update declaration.
11173 (gomp_acc_declare_allocate): Declare.
11174 (gomp_remove_var): Declare.
11175 * libgomp.map (OACC_2.5): Define.
11176 * oacc-mem.c (acc_map_data): Update refcount.
11177 (acc_unmap_data): Likewise.
11178 (present_create_copy): Likewise.
11179 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11180 (acc_copyin): Likewise.
11181 (FLAG_FINALIZE): Define.
11182 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11183 (acc_delete_finalize): New function.
11184 (acc_delete_finalize_async): New function.
11185 (acc_copyout_finalize): New function.
11186 (acc_copyout_finalize_async): New function.
11187 (gomp_acc_insert_pointer): Update refcounts.
11188 (gomp_acc_remove_pointer): Return if data is not present on the
11189 accelerator.
11190 * oacc-parallel.c (find_pset): Rename to find_pointer.
11191 (find_pointer): Add support for GOMP_MAP_POINTER.
11192 (handle_ftn_pointers): New function.
11193 (GOACC_parallel_keyed): Update refcounts of variables.
11194 (GOACC_enter_exit_data): Add support for finalized data mappings.
11195 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11196 of fortran arrays.
11197 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11198 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11199 for GOMP_MAP_FORCE_FROM.
11200 * openacc.f90 (module openacc_internal): Add
11201 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11202 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11203 acc_copyout_finalize and acc_delete_finalize.
11204 (acc_copyout_finalize_32_h): New subroutine.
11205 (acc_copyout_finalize_64_h): New subroutine.
11206 (acc_copyout_finalize_array_h): New subroutine.
11207 (acc_delete_finalize_32_h): New subroutine.
11208 (acc_delete_finalize_64_h): New subroutine.
11209 (acc_delete_finalize_array_h): New subroutine.
11210 * openacc.h (acc_copyout_finalize): Declare.
11211 (acc_copyout_finalize_async): Declare.
11212 (acc_delete_finalize): Declare.
11213 (acc_delete_finalize_async): Declare.
11214 * openacc_lib.h (acc_copyout_finalize): New interface.
11215 (acc_delete_finalize): New interface.
11216 * target.c (gomp_map_vars): Update dynamic_refcount.
11217 (gomp_remove_var): New function.
11218 (gomp_unmap_vars): Use it.
11219 (gomp_unload_image_from_device): Likewise.
11220 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11221 case to utilize OpenACC 2.5 data clause semantics.
11222 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11223 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11224 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11225 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11226 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11227 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11228 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11229 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11230 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11231 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11232 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11233 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11234 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11235 utilize OpenACC 2.5 data clause semantics.
11236 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11237 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11238 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11239 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11240 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11241 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11242 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11243 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11244 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11245
4358400b
JW
112462018-05-21 Janus Weil <janus@gcc.gnu.org>
11247
11248 PR fortran/85841
11249 PR testsuite/85865
11250 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11251 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11252 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11253 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11254 * testsuite/libgomp.fortran/task2.f90: Ditto.
11255 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11256 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11257 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11258 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11259 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11260 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11261 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11262 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11263 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11264
950ad0ba
CP
112652018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11266
11267 PR c++/85782
11268 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11269
f5ad16f1
TV
112702018-05-09 Tom de Vries <tom@codesourcery.com>
11271
11272 PR libgomp/82901
11273 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11274 to GOACC_enter_exit_data.
11275
edbd038a
TV
112762018-05-09 Tom de Vries <tom@codesourcery.com>
11277
11278 PR libgomp/83792
11279 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11280 (async_synchronous_p): New function.
11281 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11282 async_valid_p.
11283 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11284 async_valid_stream_id_p.
11285 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11286 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11287
37d6c719
TV
112882018-05-07 Tom de Vries <tom@codesourcery.com>
11289
11290 PR testsuite/85677
11291 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11292 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11293
63f12215
TV
112942018-05-03 Tom de Vries <tom@codesourcery.com>
11295
11296 PR testsuite/85106
11297 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11298 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11299 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11300 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11301
ec00d3fa
TV
113022018-05-02 Tom de Vries <tom@codesourcery.com>
11303
11304 PR libgomp/85411
11305 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11306 GOMP_OPENACC_DIM ...
11307 * env.c (parse_gomp_openacc_dim): ... here. New function.
11308 (initialize_env): Call parse_gomp_openacc_dim.
11309 (goacc_default_dims): Define.
11310 * libgomp.h (goacc_default_dims): Declare.
11311 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11312 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11313 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11314 GOMP_PLUGIN_acc_default_dim.
11315 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11316 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11317
92243e7c
TV
113182018-05-02 Tom de Vries <tom@codesourcery.com>
11319
11320 PR testsuite/83791
11321 * testsuite/libgomp.c++/udr-9.C: Update.
11322 * testsuite/libgomp.c++/atomic-16.C: Remove.
11323 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11324 * testsuite/libgomp.c++/loop-13.C: Remove.
11325 * testsuite/libgomp.c++/loop-14.C: Remove.
11326 * testsuite/libgomp.c++/loop-15.C: Remove.
11327 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11328 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11329 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11330 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11331 * testsuite/libgomp.c++/ordered-1.C: Remove.
11332 * testsuite/libgomp.c++/pr45784.C: Remove.
11333 * testsuite/libgomp.c++/pr64824.C: Remove.
11334 * testsuite/libgomp.c++/pr64868.C: Remove.
11335 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11336 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11337 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11338 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11339 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11340 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11341 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11342 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11343 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11344 * testsuite/libgomp.c++/pr69389.C: Remove.
11345 * testsuite/libgomp.c++/simd10.C: Remove.
11346 * testsuite/libgomp.c++/simd11.C: Remove.
11347 * testsuite/libgomp.c++/simd12.C: Remove.
11348 * testsuite/libgomp.c++/simd13.C: Remove.
11349 * testsuite/libgomp.c++/target-1.C: Remove.
11350 * testsuite/libgomp.c++/target-3.C: Remove.
11351 * testsuite/libgomp.c++/target-4.C: Remove.
11352 * testsuite/libgomp.c++/target-5.C: Remove.
11353 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11354 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11355 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11356 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11357 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11358 * testsuite/libgomp.c++/udr-9.C: Remove.
11359 * testsuite/libgomp.c++/for-10.C: Remove.
11360 * testsuite/libgomp.c++/for-11.C: Remove.
11361 * testsuite/libgomp.c++/for-12.C: Remove.
11362 * testsuite/libgomp.c++/for-13.C: Remove.
11363 * testsuite/libgomp.c++/for-14.C: Remove.
11364 * testsuite/libgomp.c++/for-9.C: Remove.
11365 * testsuite/libgomp.c/atomic-18.c: Move ...
11366 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11367 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11368 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11369 * testsuite/libgomp.c/loop-13.c: Move ...
11370 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11371 * testsuite/libgomp.c/loop-14.c: Move ...
11372 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11373 * testsuite/libgomp.c/loop-15.c: Remove.
11374 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11375 * testsuite/libgomp.c/monotonic-1.c: Move ...
11376 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11377 * testsuite/libgomp.c/monotonic-2.c: Move ...
11378 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11379 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11380 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11381 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11382 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11383 * testsuite/libgomp.c/ordered-4.c: Move ...
11384 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11385 * testsuite/libgomp.c/pr45784.c: Move ...
11386 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11387 * testsuite/libgomp.c/pr64824.c: Move ...
11388 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11389 * testsuite/libgomp.c/pr64868.c: Move ...
11390 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11391 * testsuite/libgomp.c/pr66199-1.c: Move ...
11392 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11393 * testsuite/libgomp.c/pr66199-2.c: Move ...
11394 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11395 * testsuite/libgomp.c/pr66199-3.c: Move ...
11396 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11397 * testsuite/libgomp.c/pr66199-4.c: Move ...
11398 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11399 * testsuite/libgomp.c/pr66199-5.c: Move ...
11400 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11401 * testsuite/libgomp.c/pr66199-6.c: Move ...
11402 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11403 * testsuite/libgomp.c/pr66199-7.c: Move ...
11404 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11405 * testsuite/libgomp.c/pr66199-8.c: Move ...
11406 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11407 * testsuite/libgomp.c/pr66199-9.c: Move ...
11408 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11409 * testsuite/libgomp.c/pr69389.c: Move ...
11410 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11411 * testsuite/libgomp.c/simd-14.c: Move ...
11412 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11413 * testsuite/libgomp.c/simd-15.c: Move ...
11414 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11415 * testsuite/libgomp.c/simd-16.c: Move ...
11416 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11417 * testsuite/libgomp.c/simd-17.c: Move ...
11418 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11419 * testsuite/libgomp.c/target-1.c: Move ...
11420 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11421 * testsuite/libgomp.c/target-10.c: Move ...
11422 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11423 * testsuite/libgomp.c/target-13.c: Move ...
11424 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11425 * testsuite/libgomp.c/target-2.c: Move ...
11426 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11427 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11428 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11429 * testsuite/libgomp.c/taskloop-1.c: Move ...
11430 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11431 * testsuite/libgomp.c/taskloop-2.c: Move ...
11432 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11433 * testsuite/libgomp.c/taskloop-3.c: Move ...
11434 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11435 * testsuite/libgomp.c/taskloop-4.c: Move ...
11436 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11437 * testsuite/libgomp.c/udr-1.c: Move ...
11438 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11439 * testsuite/libgomp.c/for-1.c: Move ...
11440 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11441 * testsuite/libgomp.c/for-1.h: Move ...
11442 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11443 * testsuite/libgomp.c/for-2.c: Move ...
11444 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11445 * testsuite/libgomp.c/for-2.h: Move ...
11446 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11447 * testsuite/libgomp.c/for-3.c: Move ...
11448 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11449 * testsuite/libgomp.c/for-4.c: Move ...
11450 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11451 * testsuite/libgomp.c/for-5.c: Move ...
11452 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11453 * testsuite/libgomp.c/for-6.c: Move ...
11454 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11455
1f62d637
TV
114562018-05-02 Tom de Vries <tom@codesourcery.com>
11457
11458 PR libgomp/82428
11459 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11460 __builtin_goacc_parlevel_{id,size}.
11461 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11462 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11463 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11464 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11465 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11466 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11467 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11468 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11469 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11470 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11471 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11472 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11473 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11474 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11475 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11476 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11477 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11478 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11479 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11480 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11481 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11482 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11483 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11484
9220b511
TV
114852018-05-02 Tom de Vries <tom@codesourcery.com>
11486
11487 PR testsuite/85106
11488 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11489
6c3c13c1
TV
114902018-05-02 Tom de Vries <tom@codesourcery.com>
11491
11492 PR testsuite/85106
11493 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11494
8d70b61e
JB
114952018-04-29 Julian Brown <julian@codesourcery.com>
11496 Tom de Vries <tom@codesourcery.com>
11497
11498 PR testsuite/85527
11499 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11500 arbitrary order for iterations of atomic subtract check.
11501
4a57a4b6
TV
115022018-04-28 Tom de Vries <tom@codesourcery.com>
11503
11504 PR testsuite/85527
11505 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11506 atomic capture results obtained in parallel loop to an array, instead of
11507 to a scalar.
11508
df36a3d3
TV
115092018-04-26 Tom de Vries <tom@codesourcery.com>
11510
11511 PR libgomp/84020
11512 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11513 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11514 (process_GOMP_NVPTX_JIT): New function.
11515 (link_ptx): Use process_GOMP_NVPTX_JIT.
11516
d160ae78
RB
115172018-04-26 Richard Biener <rguenther@suse.de>
11518 Tom de Vries <tom@codesourcery.com>
11519
11520 PR lto/85422
11521 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11522
ca9dc642
TV
115232018-04-26 Tom de Vries <tom@codesourcery.com>
11524
11525 PR target/85519
11526 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11527 recursion depth from 25 to 23.
11528 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11529
7b47ecf2
L
115302018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11531
11532 * configure: Regenerated.
11533
e91eba31
NS
115342018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11535 Tom de Vries <tom@codesourcery.com>
11536
11537 PR target/85445
11538 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11539
6e0d40b6
TS
115402018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11541
11542 PR libgomp/85463
11543 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11544 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11545 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11546 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11547 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11548 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11549
11550 PR libfortran/85166
11551 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11552 abort".
11553 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11554
a0e1df88
JJ
115552018-04-19 Jakub Jelinek <jakub@redhat.com>
11556
11557 * configure: Regenerated.
11558
001ddaa8
DM
115592018-04-18 David Malcolm <dmalcolm@redhat.com>
11560
11561 PR jit/85384
11562 * configure: Regenerate.
11563
05e0af43
CP
115642018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11565 Tom de Vries <tom@codesourcery.com>
11566
11567 PR middle-end/84955
11568 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11569 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11570
bc436e10
TK
115712018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11572
11573 PR fortran/83064
11574 PR testsuite/85346
11575 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11576 test from gfortran.dg to here.
11577
ffb164c7
JJ
115782018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11579
11580 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11581 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11582
115832018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11584
11585 PR middle-end/84955
11586 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11587 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11588
2ba16fd2
TV
115892018-04-05 Tom de Vries <tom@codesourcery.com>
11590
11591 PR target/85204
11592 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11593
46dbeb40
TV
115942018-03-26 Tom de Vries <tom@codesourcery.com>
11595
11596 PR tree-optimization/85063
11597 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11598 * testsuite/libgomp.c/switch-conversion.c: New test.
11599 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11600 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11601
bfc24e32
TK
116022018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11603
11604 PR fortran/84381
11605 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11606 call abort by STOP n.
11607 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11608 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11609 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11610 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11611 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11612 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11613 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11614 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11615 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11616 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11617 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11618 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11619 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11620 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11621 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11622 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11623 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11624 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11625 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11626 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11627 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11628 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11629 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11630 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11631 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11632 * testsuite/libgomp.fortran/character1.f90: Likewise.
11633 * testsuite/libgomp.fortran/character2.f90: Likewise.
11634 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11635 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11636 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11637 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11638 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11639 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11640 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11641 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11642 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11643 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11644 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11645 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11646 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11647 * testsuite/libgomp.fortran/do1.f90: Likewise.
11648 * testsuite/libgomp.fortran/do2.f90: Likewise.
11649 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11650 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11651 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11652 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11653 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11654 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11655 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11656 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11657 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11658 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11659 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11660 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11661 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11662 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11663 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11664 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11665 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11666 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11667 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11668 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11669 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11670 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11671 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11672 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11673 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11674 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11675 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11676 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11677 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11678 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11679 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11680 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11681 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11682 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11683 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11684 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11685 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11686 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11687 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11688 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11689 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11690 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11691 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11692 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11693 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11694 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11695 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11696 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11697 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11698 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11699 * testsuite/libgomp.fortran/lib2.f: Likewise.
11700 * testsuite/libgomp.fortran/lib3.f: Likewise.
11701 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11702 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11703 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11704 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11705 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11706 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11707 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11708 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11709 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11710 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11711 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11712 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11713 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11714 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11715 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11716 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11717 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11718 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11719 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11720 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11721 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11722 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11723 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11724 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11725 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11726 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11727 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11728 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11729 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11730 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11731 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11732 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11733 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11734 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11735 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11736 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11737 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11738 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11739 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11740 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11741 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11742 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11743 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11744 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11745 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11746 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11747 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11748 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11749 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11750 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11751 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11752 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11753 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11754 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11755 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11756 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11757 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11758 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11759 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11760 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11761 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11762 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11763 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11764 * testsuite/libgomp.fortran/reference1.f90: Likewise.
11765 * testsuite/libgomp.fortran/reference2.f90: Likewise.
11766 * testsuite/libgomp.fortran/retval1.f90: Likewise.
11767 * testsuite/libgomp.fortran/retval2.f90: Likewise.
11768 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11769 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11770 * testsuite/libgomp.fortran/simd1.f90: Likewise.
11771 * testsuite/libgomp.fortran/simd2.f90: Likewise.
11772 * testsuite/libgomp.fortran/simd3.f90: Likewise.
11773 * testsuite/libgomp.fortran/simd4.f90: Likewise.
11774 * testsuite/libgomp.fortran/simd5.f90: Likewise.
11775 * testsuite/libgomp.fortran/simd6.f90: Likewise.
11776 * testsuite/libgomp.fortran/simd7.f90: Likewise.
11777 * testsuite/libgomp.fortran/stack.f90: Likewise.
11778 * testsuite/libgomp.fortran/strassen.f90: Likewise.
11779 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11780 * testsuite/libgomp.fortran/tabs2.f: Likewise.
11781 * testsuite/libgomp.fortran/target1.f90: Likewise.
11782 * testsuite/libgomp.fortran/target2.f90: Likewise.
11783 * testsuite/libgomp.fortran/target3.f90: Likewise.
11784 * testsuite/libgomp.fortran/target4.f90: Likewise.
11785 * testsuite/libgomp.fortran/target5.f90: Likewise.
11786 * testsuite/libgomp.fortran/target6.f90: Likewise.
11787 * testsuite/libgomp.fortran/target7.f90: Likewise.
11788 * testsuite/libgomp.fortran/target8.f90: Likewise.
11789 * testsuite/libgomp.fortran/task1.f90: Likewise.
11790 * testsuite/libgomp.fortran/task2.f90: Likewise.
11791 * testsuite/libgomp.fortran/task3.f90: Likewise.
11792 * testsuite/libgomp.fortran/task4.f90: Likewise.
11793 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11794 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11795 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11796 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11797 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11798 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11799 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11800 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11801 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11802 * testsuite/libgomp.fortran/udr1.f90: Likewise.
11803 * testsuite/libgomp.fortran/udr10.f90: Likewise.
11804 * testsuite/libgomp.fortran/udr11.f90: Likewise.
11805 * testsuite/libgomp.fortran/udr12.f90: Likewise.
11806 * testsuite/libgomp.fortran/udr13.f90: Likewise.
11807 * testsuite/libgomp.fortran/udr14.f90: Likewise.
11808 * testsuite/libgomp.fortran/udr15.f90: Likewise.
11809 * testsuite/libgomp.fortran/udr2.f90: Likewise.
11810 * testsuite/libgomp.fortran/udr3.f90: Likewise.
11811 * testsuite/libgomp.fortran/udr4.f90: Likewise.
11812 * testsuite/libgomp.fortran/udr5.f90: Likewise.
11813 * testsuite/libgomp.fortran/udr6.f90: Likewise.
11814 * testsuite/libgomp.fortran/udr7.f90: Likewise.
11815 * testsuite/libgomp.fortran/udr8.f90: Likewise.
11816 * testsuite/libgomp.fortran/udr9.f90: Likewise.
11817 * testsuite/libgomp.fortran/vla1.f90: Likewise.
11818 * testsuite/libgomp.fortran/vla2.f90: Likewise.
11819 * testsuite/libgomp.fortran/vla3.f90: Likewise.
11820 * testsuite/libgomp.fortran/vla4.f90: Likewise.
11821 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11822 * testsuite/libgomp.fortran/vla6.f90: Likewise.
11823 * testsuite/libgomp.fortran/vla7.f90: Likewise.
11824 * testsuite/libgomp.fortran/vla8.f90: Likewise.
11825 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11826 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11827 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11828 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11829 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11830 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11831 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11832 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11833 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11834 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11835 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11836 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11837 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11838 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11839 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11840 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11841 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11842 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11843 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11844 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11845 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11846 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11847 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11848 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11849 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11850 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11851 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11852 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11853 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11854 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11855 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11856 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11857 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11858 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11859 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11860 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11861 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11862 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11863 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11864 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11865 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11866 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11867 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11868 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11869 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11870 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11871 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11872 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11873 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11874 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11875 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11876 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11877 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11878 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11879 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11880 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11881 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11882 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11883 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11884 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11885 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11886 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11887 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11888 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11889 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11890 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11891 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11892 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11893 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11894 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11895 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11896 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11897 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11898 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11899 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
11900 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11901 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11902 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11903 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11904 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11905 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11906 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11907 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
11908 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
11909 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11910 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11911 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11912 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11913 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
11914 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
11915 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
11916 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11917 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11918 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
11919
79cf14ae
RB
119202018-03-20 Richard Biener <rguenther@suse.de>
11921
11922 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
11923 parallelizable loop.
11924
14e335ed
IT
119252018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11926
11927 PR target/84148
11928 * configure: Regenerate.
11929
83d9be55
JJ
119302018-02-16 Jakub Jelinek <jakub@redhat.com>
11931
11932 PR fortran/84418
11933 * libgomp.fortran/pr84418-1.f90: New test.
11934 * libgomp.fortran/pr84418-2.f90: New test.
11935
d1fe6124
JJ
119362018-02-14 Jakub Jelinek <jakub@redhat.com>
11937
11938 PR fortran/84313
11939 * testsuite/libgomp.fortran/threadprivate4.f90: Add
11940 -std=f2003 -fall-intrinsics into dg-additional-options.
11941
3d224921
MJ
119422018-02-08 Martin Jambor <mjambor@suse.cz>
11943
11944 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
11945 clonable.
11946
c7c30edd
MJ
119472018-02-08 Martin Jambor <mjambor@suse.cz>
11948
11949 * testsuite/libgomp.hsa.c/staticvar.c: New test.
11950
f320fdfd
RO
119512018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11952
11953 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
11954 [__cplusplus]: Declare extern "C".
11955
c31bc4ac
TV
119562018-02-07 Tom de Vries <tom@codesourcery.com>
11957
11958 PR libgomp/84217
11959 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
11960
99ae7ce5
CS
119612018-01-29 Christoph Spiel <cspiel@freenet.de>
11962 Jakub Jelinek <jakub@redhat.com>
11963
11964 PR libgomp/84096
11965 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
11966 instead of omp_lock_t.
11967
e77a1236
TV
119682018-01-25 Tom de Vries <tom@codesourcery.com>
11969
11970 PR target/84028
11971 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
11972
3dede32b
TV
119732018-01-24 Tom de Vries <tom@codesourcery.com>
11974
11975 PR target/83589
11976 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
11977
be606483
TV
119782018-01-24 Tom de Vries <tom@codesourcery.com>
11979
11980 PR target/81352
11981 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
11982
8c8e9a6b
TV
119832018-01-19 Tom de Vries <tom@codesourcery.com>
11984 Cesar Philippidis <cesar@codesourcery.com>
11985
11986 PR target/83920
11987 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
11988 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
11989
65e6aea3
JJ
119902018-01-03 Jakub Jelinek <jakub@redhat.com>
11991
85ec4feb
JJ
11992 Update copyright years.
11993
65e6aea3
JJ
11994 * libgomp.texi: Bump @copying's copyright year.
11995
60bf575c
TV
119962017-12-30 Tom de Vries <tom@codesourcery.com>
11997
11998 PR libgomp/83046
11999 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
12000 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
12001
7ec16b79
TV
120022017-12-27 Tom de Vries <tom@codesourcery.com>
12003
12004 PR c++/83046
12005 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
12006 (test_nonstatic): Fix return type to workaround PR83046.
12007
ac550b9a
JJ
120082017-12-05 Jakub Jelinek <jakub@redhat.com>
12009
12010 PR testsuite/83281
12011 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
12012 j suffix instead of i.
12013 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
12014 Likewise.
12015
ebdc83f0
CP
120162017-12-01 Cesar Philippidis <cesar@codesourcery.com>
12017
12018 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
12019 call to acc_wait (1).
12020
3b3e6283
JJ
120212017-11-24 Jakub Jelinek <jakub@redhat.com>
12022
12023 PR fortran/81304
12024 * testsuite/libgomp.fortran/pr81304.f90: New test.
12025
3b575376
JJ
120262017-11-23 Jakub Jelinek <jakub@redhat.com>
12027
12028 PR fortran/81841
12029 * libgomp.fortran/pr81841.f90: New test.
12030
b13547d8
JJ
120312017-11-22 Jakub Jelinek <jakub@redhat.com>
12032
12033 PR libgomp/83106
12034 * target.c (gomp_target_init): Compute lengths just once and
12035 use them in both malloc size and subsequent copying.
12036
efe33ced
IT
120372017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
12038
12039 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
12040 * acinclude.m4: Add cet.m4.
12041 * configure: Regenerate.
12042 * Makefile.in: Likewise.
12043 * testsuite/Makefile.in: Likewise.
12044
a7cf2612
TV
120452017-11-15 Tom de Vries <tom@codesourcery.com>
12046
12047 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
12048 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
12049 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
12050 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
12051 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
12052 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
12053
dde76623
TV
120542017-11-14 Tom de Vries <tom@codesourcery.com>
12055
12056 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12057 non-nvidia devices.
12058
4dbeb716
JJ
120592017-11-07 Jakub Jelinek <jakub@redhat.com>
12060
12061 PR c++/82835
12062 * testsuite/libgomp.c++/pr82835.C: New test.
12063
454f8b2b
ML
120642017-11-06 Martin Liska <mliska@suse.cz>
12065
12066 * testsuite/libgomp.c++/loop-2.C: Return a value
12067 for functions with non-void return type, or change type to void,
12068 or add -Wno-return-type for test.
12069 * testsuite/libgomp.c++/loop-4.C: Likewise.
12070 * testsuite/libgomp.c++/parallel-1.C: Likewise.
12071 * testsuite/libgomp.c++/shared-1.C: Likewise.
12072 * testsuite/libgomp.c++/single-1.C: Likewise.
12073 * testsuite/libgomp.c++/single-2.C: Likewise.
12074
12e9c8ce
TV
120752017-10-31 Tom de Vries <tom@codesourcery.com>
12076
12077 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12078 "do {} while (false)".
12079 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12080 after HSA_DEBUG call.
12081
7324369a
JJ
120822017-10-28 Jakub Jelinek <jakub@redhat.com>
12083
12084 * target.c (struct gomp_coalesce_buf): New type.
12085 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12086 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12087 (gomp_copy_host2dev): Add CBUF argument, if copying into
12088 the cached ranges, memcpy into buffer instead of copying
12089 into device.
12090 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12091 Add CBUF argument, pass it through to other calls.
12092 (gomp_map_vars): Aggregate copies from host to device if small enough
12093 and with small enough gaps in between into memcpy into a buffer and
12094 fewer host to device copies from the buffer.
12095 (gomp_update): Adjust gomp_copy_host2dev caller.
12096
933ab0e6
TS
120972017-10-17 Thomas Schwinge <thomas@codesourcery.com>
12098
12099 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12100 run" directive.
12101 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12102 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12103 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12104 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12105
92d5d01a
TV
121062017-10-16 Tom de Vries <tom@codesourcery.com>
12107
12108 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12109 openacc_nvidia_accel_selected.
12110 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12111 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12112 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12113 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12114 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12115 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12116 openacc_nvidia_accel_selected. Skip for shared memory device.
12117 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12118 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12119
191411e4
MJ
121202017-10-09 Martin Jambor <mjambor@suse.cz>
12121
12122 PR hsa/82416
12123 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12124
e923330e
TV
121252017-10-07 Tom de Vries <tom@codesourcery.com>
12126
12127 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12128 Remove acc_device_nvidia references.
12129 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12130 Same.
12131
8fe3ed4c
TV
121322017-10-05 Tom de Vries <tom@codesourcery.com>
12133
12134 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12135 vector_length(32) clause from acc parallel directive.
12136 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12137
26596ee5
TV
121382017-10-04 Tom de Vries <tom@codesourcery.com>
12139
12140 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12141 (main): Reduce sum of arr elements. Assert that hres is exactly
12142 representable in 32-bit floating point.
12143 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12144 (main): Reduce sum of arr elements. Assert that hres and hmres are
12145 exactly representable in 32-bit floating point.
12146 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12147
5c561fa9
TV
121482017-09-28 Tom de Vries <tom@codesourcery.com>
12149
12150 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12151 setting.
12152 * testsuite/libgomp.c++/pr69393.C: Same.
12153 * testsuite/libgomp.c++/taskloop-1.C: Same.
12154 * testsuite/libgomp.c++/taskloop-3.C: Same.
12155 * testsuite/libgomp.c++/taskloop-4.C: Same.
12156 * testsuite/libgomp.c/for-4.c: Same.
12157 * testsuite/libgomp.c/pr66199-3.c: Same.
12158 * testsuite/libgomp.c/pr66199-4.c: Same.
12159 * testsuite/libgomp.c/pr66199-6.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.fortran/aligned1.f03: Same.
12164 * testsuite/libgomp.fortran/condinc1.f: Same.
12165 * testsuite/libgomp.fortran/condinc3.f90: Same.
12166 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12167 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12168 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12169 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12170 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12171 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12172 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12173 * testsuite/libgomp.fortran/recursion1.f90: Same.
12174 * testsuite/libgomp.fortran/target2.f90: Same.
12175 * testsuite/libgomp.fortran/target5.f90: Same.
12176 * testsuite/libgomp.fortran/task3.f90: Same.
12177
7d6206fe
TV
121782017-09-28 Tom de Vries <tom@codesourcery.com>
12179
12180 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12181 vector_length(32) clause from acc parallel directive.
12182 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12183
84c8627c
TV
121842017-09-27 Tom de Vries <tom@codesourcery.com>
12185
12186 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12187 Remove acc_device_nvidia references.
12188
ebc6a85e
TV
121892017-09-16 Tom de Vries <tom@codesourcery.com>
12190
12191 PR c/81875
12192 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12193
82419efb
TV
121942017-09-14 Tom de Vries <tom@codesourcery.com>
12195
12196 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12197 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12198 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12199 * testsuite/libgomp.c/c.exp: Include test-cases from
12200 libgomp.c-c++-common.
12201 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12202 files.
12203
8b586510
JJ
122042017-09-14 Jakub Jelinek <jakub@redhat.com>
12205
12206 PR c++/81314
12207 * testsuite/libgomp.c++/pr81314.C: New test.
12208
9651fbaf
GP
122092017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12210
12211 * libgomp.texi (Top): www.openacc.org now uses https.
12212 (Enabling OpenACC): Ditto.
12213 (acc_get_num_devices): Ditto.
12214 (acc_set_device_type): Ditto.
12215 (acc_get_device_type): Ditto.
12216 (acc_set_device_num): Ditto.
12217 (acc_get_device_num): Ditto.
12218 (acc_async_test): Ditto.
12219 (acc_async_test_all): Ditto.
12220 (acc_wait): Ditto.
12221 (acc_wait_all): Ditto.
12222 (acc_wait_all_async): Ditto.
12223 (acc_wait_async): Ditto.
12224 (acc_init): Ditto.
12225 (acc_shutdown): Ditto.
12226 (acc_on_device): Ditto.
12227 (acc_malloc): Ditto.
12228 (acc_free): Ditto.
12229 (acc_copyin): Ditto.
12230 (acc_present_or_copyin): Ditto.
12231 (acc_create): Ditto.
12232 (acc_present_or_create): Ditto.
12233 (acc_copyout): Ditto.
12234 (acc_delete): Ditto.
12235 (acc_update_device): Ditto.
12236 (acc_update_self): Ditto.
12237 (acc_map_data): Ditto.
12238 (acc_unmap_data): Ditto.
12239 (acc_deviceptr): Ditto.
12240 (acc_hostptr): Ditto.
12241 (acc_is_present): Ditto.
12242 (acc_memcpy_to_device): Ditto.
12243 (acc_memcpy_from_device): Ditto.
12244 (acc_get_current_cuda_device): Ditto.
12245 (acc_get_current_cuda_context): Ditto.
12246 (acc_get_cuda_stream): Ditto.
12247 (acc_set_cuda_stream): Ditto.
12248 (ACC_DEVICE_TYPE): Ditto.
12249 (ACC_DEVICE_NUM): Ditto.
12250 (OpenACC Library Interoperability): Ditto.
12251
50aa16c3
JJ
122522017-08-09 Jakub Jelinek <jakub@redhat.com>
12253
12254 PR c/81687
12255 * testsuite/libgomp.c/pr81687-1.c: New test.
12256 * testsuite/libgomp.c/pr81687-2.c: New test.
12257
56b5041c
JJ
122582017-08-07 Jakub Jelinek <jakub@redhat.com>
12259
12260 PR c/69389
12261 * testsuite/libgomp.c/pr69389.c: New test.
12262 * testsuite/libgomp.c++/pr69389.C: New test.
12263
f4c222c0
TV
122642017-08-07 Tom de Vries <tom@codesourcery.com>
12265
12266 PR middle-end/78266
12267 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12268 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12269
a40ff0ae
JJ
122702017-07-27 Jakub Jelinek <jakub@redhat.com>
12271
12272 PR c/45784
12273 * testsuite/libgomp.c/pr45784.c: New test.
12274 * testsuite/libgomp.c++/pr45784.C: New test.
12275
3717fbe3
TV
122762017-07-19 Tom de Vries <tom@codesourcery.com>
12277
12278 * testsuite/libgomp.oacc-c/vec.c: New test.
12279
9607b014
TV
122802017-07-03 Tom de Vries <tom@codesourcery.com>
12281
12282 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12283
dfb15f6b
TV
122842017-06-27 Tom de Vries <tom@codesourcery.com>
12285
12286 * plugin/plugin-nvptx.c (notify_var): New function.
12287 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12288
22f1a037
TV
122892017-06-27 Tom de Vries <tom@codesourcery.com>
12290
12291 * env.c (parse_unsigned_long_1): Factor out of ...
12292 (parse_unsigned_long): ... here.
12293 (parse_int_1): Factor out of ...
12294 (parse_int): ... here.
12295 (parse_int_secure): New function.
12296 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12297 * secure_getenv.h: Factor out of ...
12298 * plugin/plugin-hsa.c: ... here.
12299 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12300
d54d1fc3
JJ
123012017-06-21 Jakub Jelinek <jakub@redhat.com>
12302
12303 PR c++/81130
12304 * testsuite/libgomp.c++/pr81130.C: New test.
12305
4f4b0ab8
RO
123062017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12307
12308 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12309 default args.
12310 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12311 dg-xfail-run-if default args.
12312
40ffd95f
BE
123132017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12314
12315 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12316 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12317
01275e1e
JJ
123182017-05-30 Jakub Jelinek <jakub@redhat.com>
12319
12320 PR libgomp/80822
12321 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12322 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12323 sibling lists, depending on level just pick up what CPUs to put
12324 together into a place vs. whether add multiple ordered places.
12325
78672bd8
TS
123262017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12327
7ce64403
TS
12328 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12329 * libgomp.map (OACC_2.0.1): Add these.
12330 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12331 for "acc_wait", and "acc_wait_all", respectively.
12332 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12333 for "acc_wait", and "acc_wait_all", respectively.
12334 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12335 * libgomp.texi (acc_wait, acc_wait_all): Update.
12336 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12337 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12338 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12339
318686c2
TS
12340 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12341 acc_present_or_copyin and acc_present_or_create procedures,
12342 respectively.
12343 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12344 generally different variants of OpenACC Runtime Library functions.
12345 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12346
a6745534
TS
12347 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12348 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12349
9b94fbc7
TS
12350 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12351 of preprocessor definitions.
12352 * libgomp.h (strong_alias): Guard by "#ifdef
12353 HAVE_ATTRIBUTE_ALIAS".
12354 * oacc-mem.c: Provide "acc_pcreate" as alias for
12355 "acc_present_or_create", and "acc_pcopyin" as alias for
12356 "acc_present_or_copyin".
12357 * libgomp.map: New version "OACC_2.0.1".
12358 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12359 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12360 its content into...
12361 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12362 Extend testing.
12363
78672bd8
TS
12364 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12365 when disabling nvptx offloading.
12366
0c36d0d5
TS
123672017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12368
fd71a9a2
TS
12369 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12370 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12371 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12372
0c36d0d5
TS
12373 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12374 * testsuite/lib/libgomp.exp
12375 (check_effective_target_openacc_nvidia_accel_configured): New
12376 proc.
12377 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12378 (check_effective_target_c++): New procs.
12379 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12380 (check_effective_target_c++): Likewise.
12381
c24783c4
JJ
123822017-05-22 Jakub Jelinek <jakub@redhat.com>
12383
655e5265
JJ
12384 PR middle-end/80809
12385 * testsuite/libgomp.c/pr80809-2.c: New test.
12386 * testsuite/libgomp.c/pr80809-3.c: New test.
12387
e9e2ef9f
JJ
12388 PR middle-end/80809
12389 * testsuite/libgomp.c/pr80809-1.c: New test.
12390
c24783c4
JJ
12391 PR middle-end/80853
12392 * testsuite/libgomp.c/pr80853.c: New test.
12393
0da2f96a
TS
123942017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12395
7fd549d2
TS
12396 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12397 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12398 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12399 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12400 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12401
0da2f96a
TS
12402 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12403 Debug output for failure.
12404
62ffe920
RO
124052017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12406
12407 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12408
f49215b1
JJ
124092017-04-27 Jakub Jelinek <jakub@redhat.com>
12410
12411 PR bootstrap/80531
12412 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12413 bootstrap compare failures.
12414
2260d19d
AM
124152017-04-20 Alexander Monakov <amonakov@ispras.ru>
12416
12417 * testsuite/libgomp.c/target-36.c: New testcase.
12418
19929ba9
JJ
124192017-04-13 Jakub Jelinek <jakub@redhat.com>
12420
12421 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12422 instead of char.
12423
fbc698e0
JJ
124242017-04-11 Jakub Jelinek <jakub@redhat.com>
12425
12426 PR libgomp/80394
12427 * testsuite/libgomp.c/pr80394.c: New test.
12428
c4060df4
JJ
124292017-04-04 Jakub Jelinek <jakub@redhat.com>
12430
12431 PR libgomp/79876
12432 * config/posix/thread-stacksize.h: New file.
12433 * config/darwin/thread-stacksize.h: New file.
12434 * config/nvptx/thread-stacksize.h: New file.
12435 * env.c: Include thread-stacksize.h.
12436 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12437 instead of 0. Call pthread_attr_setstacksize even if
12438 GOMP_DEFAULT_STACKSIZE is non-zero.
12439
e02d868a
JJ
124402017-03-30 Jakub Jelinek <jakub@redhat.com>
12441
12442 * env.c (initialize_env): Initialize stacksize to 0.
12443
7ba8651e
CP
124442017-03-22 Cesar Philippidis <cesar@codesourcery.com>
12445
12446 PR c++/80029
12447 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12448
eebc5e2d
JJ
124492017-03-08 Jakub Jelinek <jakub@redhat.com>
12450
12451 PR c/79940
12452 * testsuite/libgomp.c/pr79940.c: New test.
12453
1eb08f52
RO
124542017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12455
12456 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12457 targets.
12458 Add __float128 options.
12459
b0f78ff3
JDA
124602017-02-11 John David Anglin <danglin@gcc.gnu.org>
12461
12462 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12463 hppa*-*-* dg-skip-if directive.
12464
1bbe0d8f
JJ
124652017-02-09 Jakub Jelinek <jakub@redhat.com>
12466
12467 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12468 dg-skip-if directive into a comment.
12469
02889d23
CLT
124702017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12471 Chung-Lin Tang <cltang@codesourcery.com>
12472
12473 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12474 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12475 add additional case.
12476 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12477 "openacc_nvidia_accel_selected".
12478 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12479 Add num_workers(8) clause.
12480
5896a41d
JDA
124812017-02-08 John David Anglin <danglin@gcc.gnu.org>
12482
12483 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12484 hppa*-*-*.
12485 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12486 include complex.h on hppa*-*-hpux*.
12487 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12488
345a8c17
TS
124892017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12490
e70ab10d
TS
12491 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12492
345a8c17
TS
12493 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12494 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12495 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12496 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12497 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12498 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12499 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12500 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12501 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12502 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12503
dced339c
TS
125042017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12505
12506 * libgomp-plugin.h: #include <stdbool.h>.
12507 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12508 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12509 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12510 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12511 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12512 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12513 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12514 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12515 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12516 (GOMP_OFFLOAD_openacc_async_test)
12517 (GOMP_OFFLOAD_openacc_async_test_all)
12518 (GOMP_OFFLOAD_openacc_async_wait)
12519 (GOMP_OFFLOAD_openacc_async_wait_async)
12520 (GOMP_OFFLOAD_openacc_async_wait_all)
12521 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12522 (GOMP_OFFLOAD_openacc_async_set_async)
12523 (GOMP_OFFLOAD_openacc_create_thread_data)
12524 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12525 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12526 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12527 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12528 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12529 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12530 these.
12531 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12532 (GOMP_OFFLOAD_unload_image): Fix argument types.
12533
23749904
JJ
125342017-01-26 Jakub Jelinek <jakub@redhat.com>
12535
c1cadde1
JJ
12536 * testsuite/lib/libgomp.exp
12537 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12538 check_compile invocation. Fix up removal of executable. Drop
12539 bogus "2>&1" argument.
12540
23749904
JJ
12541 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12542 directive.
12543
125442017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
12545 Martin Jambor <mjambor@suse.cz>
12546
12547 * plugin/hsa.h: Moved to top level include.
12548 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12549
73aa401e
JJ
125502017-01-21 Jakub Jelinek <jakub@redhat.com>
12551
12552 PR other/79046
12553 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12554 of cat to get version from BASE-VER file.
12555 * testsuite/Makefile.in: Regenerated.
12556
b32e85fa
JJ
125572017-01-19 Jakub Jelinek <jakub@redhat.com>
12558
12559 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12560 for _WIN64.
12561
3c36aa6b
JJ
125622017-01-17 Jakub Jelinek <jakub@redhat.com>
12563
d190d5c0
JJ
12564 * plugin/hsa.h: Add GCC runtime library exception.
12565 * plugin/hsa_ext_finalize.h: Likewise.
12566
2393d337
JJ
12567 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12568 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12569 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12570 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12571 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12572 library to link ptx plugin against.
12573 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12574 (CUDA_CALLS): Define.
12575 (cuda_lib, cuda_lib_inited): New variables.
12576 (init_cuda_lib): New function.
12577 (CUDA_CALL_PREFIX): Define.
12578 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12579 (CUDA_CALL): Use FN instead of (FN).
12580 (CUDA_CALL_NOCHECK): Define.
12581 (cuda_error, fini_streams_for_device, select_stream_for_async,
12582 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12583 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12584 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12585 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12586 CUDA_CALL_NOCHECK.
12587 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12588 CUDA_CALL_NOCHECK.
12589 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12590 Use CUDA_CALL_NOCHECK.
12591 * plugin/cuda/cuda.h: New file.
12592 * config.h.in: Regenerated.
12593 * configure: Regenerated.
12594
3c36aa6b
JJ
12595 PR other/79046
12596 * configure.ac: Add GCC_BASE_VER.
12597 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12598 get version from BASE-VER file.
12599 * testsuite/Makefile.in: Regenerated.
12600 * configure: Regenerated.
12601 * Makefile.in: Regenerated.
12602
c508bc2d
FXC
126032017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12604
12605 PR libgomp/60670
12606 * Makefile.am: Make fincludedir multilib-aware.
12607 * Makefile.in: Regenerate.
12608
c1a9c369
JJ
126092017-01-01 Jakub Jelinek <jakub@redhat.com>
12610
cbe34bb5
JJ
12611 Update copyright years.
12612
c1a9c369
JJ
12613 * libgomp.texi: Bump @copying's copyright year.
12614
e7a7f4be
SH
126152016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12616
12617 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12618 pthread_spinlock_t instead of gomp_mutex_t lock.
12619 (gomp_get_thread_pool): Likewise.
12620 (gomp_release_thread_pool): Likewise.
12621 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12622 Likewise.
12623
d313d52c
SH
126242016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12625
12626 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12627 thread pool in case nthreads == 1.
12628
630e3c3a
AM
126292016-11-30 Alexander Monakov <amonakov@ispras.ru>
12630
12631 * config/nvptx/env.c: Delete.
12632 * icv.c: Move definitions of ICV variables back ...
12633 * env.c: ...here. Do not compile environment-related functionality if
12634 LIBGOMP_OFFLOADED_ONLY is set.
12635
9e38af5c
AM
126362016-11-30 Alexander Monakov <amonakov@ispras.ru>
12637
12638 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12639 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12640 * configure: Regenerate.
12641 * config.h.in: Likewise.
12642
f96b7f1f
AM
126432016-11-30 Alexander Monakov <amonakov@ispras.ru>
12644
12645 * Makefile.in: Regenerate with automake-1.11.6.
12646 * aclocal.m4: Likewise.
12647 * configure: Likewise.
12648 * testsuite/Makefile.in: Likewise.
12649
6a6951b1
AM
126502016-11-28 Alexander Monakov <amonakov@ispras.ru>
12651
12652 * config/nvptx/critical.c: Delete to use generic implementation.
12653
c7ac071f
JH
126542016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12655
12656 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12657 ../../affinity.c as fallback.
12658 * config/nvptx/affinity.c: Delete to use fallback implementation.
12659
6103184e 126602016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 12661 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
12662 Dmitry Melnik <dm@ispras.ru>
12663
12664 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12665 * Makefile.in. Regenerate.
12666 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12667 (LIBGOMP_USE_PTHREADS): ...here; new define.
12668 * configure: Regenerate.
12669 * config.h.in: Likewise.
12670 * config/posix/affinity.c: Move to...
12671 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12672 interface by LIBGOMP_USE_PTHREADS.
12673 * critical.c: Split out GOMP_atomic_{start,end} into...
12674 * atomic.c: ...here (new file).
12675 * env.c: Split out ICV definitions into...
12676 * icv.c: ...here (new file) and...
12677 * icv-device.c: ...here. New file.
12678 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12679 (gomp_destroy_lock_30): Ditto.
12680 (gomp_set_lock_30): Ditto.
12681 (gomp_unset_lock_30): Ditto.
12682 (gomp_test_lock_30): Ditto.
12683 (gomp_init_nest_lock_30): Ditto.
12684 (gomp_destroy_nest_lock_30): Ditto.
12685 (gomp_set_nest_lock_30): Ditto.
12686 (gomp_unset_nest_lock_30): Ditto.
12687 (gomp_test_nest_lock_30): Ditto.
12688 * lock.c: New.
12689 * config/nvptx/lock.c: New.
12690 * config/nvptx/bar.c: New.
12691 * config/nvptx/bar.h: New.
12692 * config/nvptx/doacross.h: New.
12693 * config/nvptx/error.c: New.
12694 * config/nvptx/icv-device.c: New.
12695 * config/nvptx/mutex.h: New.
12696 * config/nvptx/pool.h: New.
12697 * config/nvptx/proc.c: New.
12698 * config/nvptx/ptrlock.h: New.
12699 * config/nvptx/sem.h: New.
12700 * config/nvptx/simple-bar.h: New.
12701 * config/nvptx/target.c: New.
12702 * config/nvptx/task.c: New.
12703 * config/nvptx/team.c: New.
12704 * config/nvptx/time.c: New.
12705 * config/posix/simple-bar.h: New.
12706 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12707 (gomp_num_teams_var): Declare.
12708 (struct gomp_thread_pool): Change threads_dock member to
12709 gomp_simple_barrier_t.
12710 [__nvptx__] (gomp_thread): New implementation.
12711 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12712 (gomp_thread_destructor): Ditto.
12713 (gomp_init_thread_affinity): Ditto.
12714 * team.c: Guard uses of Pthreads-specific interfaces by
12715 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12716 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12717 * config/nvptx/alloc.c: Delete.
12718 * config/nvptx/barrier.c: Ditto.
12719 * config/nvptx/fortran.c: Ditto.
12720 * config/nvptx/iter.c: Ditto.
12721 * config/nvptx/iter_ull.c: Ditto.
12722 * config/nvptx/loop.c: Ditto.
12723 * config/nvptx/loop_ull.c: Ditto.
12724 * config/nvptx/ordered.c: Ditto.
12725 * config/nvptx/parallel.c: Ditto.
12726 * config/nvptx/priority_queue.c: Ditto.
12727 * config/nvptx/sections.c: Ditto.
12728 * config/nvptx/single.c: Ditto.
12729 * config/nvptx/splay-tree.c: Ditto.
12730 * config/nvptx/work.c: Ditto.
12731 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12732 -foffload=-lgfortran in addition to -lgfortran.
12733 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12734 * plugin/plugin-nvptx.c: Include <limits.h>.
12735 (struct targ_fn_descriptor): Add new fields.
12736 (struct ptx_device): Ditto. Set them...
12737 (nvptx_open_device): ...here.
12738 (nvptx_adjust_launch_bounds): New.
12739 (nvptx_host2dev): Allow NULL 'nvthd'.
12740 (nvptx_dev2host): Ditto.
12741 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12742 (link_ptx): Adjust log sizes.
12743 (nvptx_host2dev): Allow NULL 'nvthd'.
12744 (nvptx_dev2host): Ditto.
12745 (nvptx_set_clocktick): New. Use it...
12746 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
12747 fields.
12748 (GOMP_OFFLOAD_dev2dev): New.
12749 (nvptx_adjust_launch_bounds): New.
12750 (nvptx_stacks_size): New.
12751 (nvptx_stacks_alloc): New.
12752 (nvptx_stacks_free): New.
12753 (GOMP_OFFLOAD_run): New.
12754 (GOMP_OFFLOAD_async_run): New (stub).
12755
56b1c60e
MJ
127562016-11-23 Martin Jambor <mjambor@suse.cz>
12757
12758 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12759 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12760 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12761
b8d89b03 127622016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 12763 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
12764
12765 * plugin/hsa.h: New file.
12766 * plugin/hsa_ext_finalize.h: New file.
12767 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
12768 header file unistd.h, and functions secure_getenv, __secure_getenv,
12769 getuid, geteuid, getgid and getegid.
12770 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12771 -D_GNU_SOURCE.
12772 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12773 Handle various cases of secure_getenv presence, add an implementation
12774 when we can test effective UID and GID.
12775 (struct hsa_runtime_fn_info): New structure.
12776 (hsa_runtime_fn_info hsa_fns): New variable.
12777 (hsa_runtime_lib): Likewise.
12778 (support_cpu_devices): Likewise.
12779 (init_enviroment_variables): Load newly introduced ENV
12780 variables.
12781 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12782 (hsa_fatal): Likewise.
12783 (DLSYM_FN): New macro.
12784 (init_hsa_runtime_functions): New function.
12785 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12786 structure. Depending on environment, also allow CPU devices.
12787 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12788 (get_kernarg_memory_region): Likewise.
12789 (GOMP_OFFLOAD_init_device): Likewise.
12790 (destroy_hsa_program): Likewise.
12791 (init_basic_kernel_info): New function.
12792 (GOMP_OFFLOAD_load_image): Use it.
12793 (create_and_finalize_hsa_program): Call hsa run-time functions via
12794 hsa_fns structure.
12795 (create_single_kernel_dispatch): Likewise.
12796 (release_kernel_dispatch): Likewise.
12797 (init_single_kernel): Likewise.
12798 (parse_target_attributes): Allow up multiple HSA grid dimensions.
12799 (get_group_size): New function.
12800 (run_kernel): Likewise.
12801 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12802 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12803 structure.
12804 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12805 * testsuite/libgomp-test-support.exp.in: Likewise.
12806 * Makefile.in: Regenerated.
12807 * aclocal.m4: Likewise.
12808 * config.h.in: Likewise.
12809 * configure: Likewise.
12810 * testsuite/Makefile.in: Likewise.
12811
18d2ada8 128122016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 12813 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
12814
12815 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12816 mapping clauses to target constructs.
12817 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12818
84c1b9d3
MK
128192016-11-15 Matthias Klose <doko@ubuntu.com>
12820
12821 * configure: Regenerate.
12822
b4c3a85b
JJ
128232016-11-10 Jakub Jelinek <jakub@redhat.com>
12824
8ebd1b31
JJ
12825 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12826 * omp_lib.h.in (openmp_version): Likewise.
12827 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12828 of 201307.
12829 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12830
b4c3a85b
JJ
12831 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12832 (fib_wrapper): Add map(from: x) clause.
12833 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12834 (e_53_2): Likewise.
12835 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12836 (accum): Add map(tmp) clause.
12837 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12838 (accum): Add map(tofrom: tmp) clause.
12839 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12840 (gramSchmidt): Likewise.
12841 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12842 map(tofrom: sum) clause.
12843 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12844 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
12845 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12846 only allowed on the loop iterator.
12847 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12848 * testsuite/libgomp.fortran/taskloop2.f90: New test.
12849 * testsuite/libgomp.fortran/taskloop4.f90: New test.
12850 * testsuite/libgomp.fortran/doacross1.f90: New test.
12851 * testsuite/libgomp.fortran/doacross3.f90: New test.
12852 * testsuite/libgomp.fortran/taskloop1.f90: New test.
12853 * testsuite/libgomp.fortran/taskloop3.f90: New test.
12854 * testsuite/libgomp.fortran/doacross2.f90: New test.
12855 * testsuite/libgomp.c/doacross-1.c (main): Add missing
12856 #pragma omp atomic read.
12857 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12858 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12859
6668eb45
CP
128602016-11-02 Cesar Philippidis <cesar@codesourcery.com>
12861 Nathan Sidwell <nathan@acm.org>
12862
12863 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12864 to determine default geometry.
12865 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12866 dimension.
12867
f10e37a1
JJ
128682016-11-01 Jakub Jelinek <jakub@redhat.com>
12869
12870 * hashtab.h: Use standard GPLv3 with runtime exception
12871 boilerplate.
12872
015c7760
AH
128732016-10-27 Aldy Hernandez <aldyh@redhat.com>
12874
12875 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12876 size when allocating new thread.
12877
20a1e5b8
MP
128782016-09-14 Marek Polacek <polacek@redhat.com>
12879
12880 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12881
1cad9284
JJ
128822016-08-19 Jakub Jelinek <jakub@redhat.com>
12883
12884 PR fortran/71014
12885 * testsuite/libgomp.fortran/pr71014.f90: New test.
12886
2c71d454
CLT
128872016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
12888
12889 PR middle-end/70895
12890 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12891 firstprivate clauses.
12892 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12893 copy clauses.
12894 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12895 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12896 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12897 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12898 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12899 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12900 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12901 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12902 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12903 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12904 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12905 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
12906
7c713714
CLT
129072016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
12908
12909 PR fortran/70598
12910 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
12911
5c934396
JJ
129122016-08-08 Jakub Jelinek <jakub@redhat.com>
12913
12914 PR c++/58706
12915 * testsuite/libgomp.c++/pr58706.C: New test.
12916
9ef64248
TS
129172016-08-04 Thomas Schwinge <thomas@codesourcery.com>
12918
bbc79c0e
TS
12919 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
12920 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
12921 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
12922 Likewise.
12923 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
12924 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
12925 Likewise.
12926 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
12927
9ef64248
TS
12928 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
12929 test, and don't hardcode -O0.
12930
c1311c86
NS
129312016-08-03 Nathan Sidwell <nathan@codesourcery.com>
12932
12933 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
12934
b1c9c068
CP
129352016-07-15 Cesar Philippidis <cesar@codesourcery.com>
12936
12937 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
12938 test.
12939
b4410f63
L
129402016-07-03 H.J. Lu <hongjiu.lu@intel.com>
12941
12942 PR middle-end/71734
12943 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
12944 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
12945
a8dbab92
JJ
129462016-07-01 Jakub Jelinek <jakub@redhat.com>
12947
12948 PR fortran/71717
12949 * testsuite/libgomp.fortran/associate3.f90: New test.
12950
9b6a8d0f
JJ
129512016-06-17 Jakub Jelinek <jakub@redhat.com>
12952
12953 * testsuite/libgomp.c++/target-21.C: New test.
12954
283635f9
JJ
129552016-06-16 Jakub Jelinek <jakub@redhat.com>
12956
12957 * testsuite/libgomp.c++/target-20.C: New test.
12958
27d6ba88
TS
129592016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12960 Cesar Philippidis <cesar@codesourcery.com>
12961
12962 PR middle-end/71373
12963 * libgomp.oacc-c/nested-function-1.c: New file.
12964 * libgomp.oacc-c/nested-function-2.c: Likewise.
12965 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12966 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12967 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12968
4b1ffdb1
TS
129692016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12970
12971 PR c/71381
12972 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
12973 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
12974 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
12975
d821b794
CLT
129762016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
12977
12978 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
12979 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
12980
3616a8c5
CP
129812016-06-01 Cesar Philippidis <cesar@codesourcery.com>
12982
12983 PR c/70688
5eed9a88 12984 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 12985
7211a097
JJ
129862016-05-26 Jakub Jelinek <jakub@redhat.com>
12987
12988 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
12989 instead of invalid schedule(static, 0).
12990 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12991
b4557008
CLT
129922016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12993
12994 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
12995 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
12996 parameter, use to set async stream around call to gomp_unmap_vars,
12997 call gomp_unmap_vars() with 'do_copyfrom' set to true.
12998 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
12999 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
13000 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
13001 (event_add): Add int parameter, initialize 'val' field when
13002 adding new ptx_event struct.
13003 (nvptx_evec): Adjust event_add() call arguments.
13004 (nvptx_host2dev): Likewise.
13005 (nvptx_dev2host): Likewise.
13006 (nvptx_wait_async): Likewise.
13007 (nvptx_wait_all_async): Likewise.
13008 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
13009 pass to event_add() call.
13010 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
13011 parameter.
13012 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
13013 call openacc.register_async_cleanup_func() hook.
13014 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
13015 * target.c (gomp_copy_from_async): Delete function.
13016 (gomp_map_vars): Remove async_refcount.
13017 (gomp_unmap_vars): Likewise.
13018 (gomp_load_image_to_device): Likewise.
13019 (omp_target_associate_ptr): Likewise.
13020 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
13021 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
13022 (gomp_copy_from_async): Remove.
13023
6ce13072
CLT
130242016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
13025
13026 * target.c (gomp_device_copy): New function.
13027 (gomp_copy_host2dev): Likewise.
13028 (gomp_copy_dev2host): Likewise.
13029 (gomp_free_device_memory): Likewise.
13030 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
13031 (gomp_map_pointer): Likewise.
13032 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
13033 NULL value from alloc_func plugin hook.
13034 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
13035 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
13036 (gomp_unmap_vars): Likewise.
13037 (gomp_update): Adjust to call gomp_copy_dev2host and
13038 gomp_copy_host2dev functions.
13039 (gomp_unload_image_from_device): Handle false value from
13040 unload_image_func plugin hook.
13041 (gomp_init_device): Handle false value from init_device_func
13042 plugin hook.
13043 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
13044 (omp_target_free): Adjust to call gomp_free_device_memory.
13045 (omp_target_memcpy): Handle return values from host2dev_func,
13046 dev2host_func, and dev2dev_func plugin hooks.
13047 (omp_target_memcpy_rect_worker): Likewise.
13048 (gomp_target_fini): Handle false value from fini_device_func
13049 plugin hook.
13050 * libgomp.h (struct gomp_device_descr): Adjust return type of
13051 init_device_func, fini_device_func, unload_image_func, free_func,
13052 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
13053 * oacc-init.c (acc_shutdown_1): Handle false value from
13054 fini_device_func plugin hook.
13055 * oacc-host.c (host_init_device): Change return type to bool.
13056 (host_fini_device): Likewise.
13057 (host_unload_image): Likewise.
13058 (host_free): Likewise.
13059 (host_dev2host): Likewise.
13060 (host_host2dev): Likewise.
13061 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13062 (acc_memcpy_to_device): Likewise.
13063 (acc_memcpy_from_device): Likewise.
13064 (delete_copyout): Add libfnname parameter, handle free_func
13065 hook fatal error case.
13066 (acc_delete): Adjust delete_copyout call.
13067 (acc_copyout): Likewise.
13068 (update_dev_host): Move gomp_mutex_unlock to after
13069 host2dev/dev2host hook calls.
13070
13071 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13072 to 'hsa_error_msg', for clarity.
13073 (hsa_fatal): Likewise.
13074 (hsa_error): New function.
13075 (init_hsa_context): Change return type to bool, adjust to return
13076 false on error.
13077 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13078 return value.
13079 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13080 return false on error.
13081 (get_agent_info): Adjust to return NULL on error.
13082 (destroy_hsa_program): Change return type to bool, adjust to
13083 return false on error.
13084 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13085 (destroy_module): Change return type to bool, adjust to
13086 return false on error.
13087 (GOMP_OFFLOAD_unload_image): Likewise.
13088 (GOMP_OFFLOAD_fini_device): Likewise.
13089 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13090 (GOMP_OFFLOAD_free): Change to return false when called.
13091 (GOMP_OFFLOAD_dev2host): Likewise.
13092 (GOMP_OFFLOAD_host2dev): Likewise.
13093 (GOMP_OFFLOAD_dev2dev): Likewise.
13094
13095 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13096 (CUDA_CALL): Likewise.
13097 (CUDA_CALL_ASSERT): Likewise.
13098 (map_init): Change return type to bool, use CUDA_CALL* macros.
13099 (map_fini): Likewise.
13100 (init_streams_for_device): Change return type to bool, adjust
13101 call to map_init.
13102 (fini_streams_for_device): Change return type to bool, adjust
13103 call to map_fini.
13104 (select_stream_for_async): Release stream_lock before calls to
13105 GOMP_PLUGIN_fatal, adjust call to map_init.
13106 (nvptx_init): Use CUDA_CALL* macros.
13107 (nvptx_attach_host_thread_to_device): Change return type to bool,
13108 use CUDA_CALL* macros.
13109 (nvptx_open_device): Use CUDA_CALL* macros.
13110 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13111 macros.
13112 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13113 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13114 (nvptx_exec): Use CUDA_CALL* macros.
13115 (nvptx_alloc): Use CUDA_CALL* macros.
13116 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13117 (nvptx_host2dev): Likewise.
13118 (nvptx_dev2host): Likewise.
13119 (nvptx_wait): Use CUDA_CALL* macros.
13120 (nvptx_wait_async): Likewise.
13121 (nvptx_wait_all): Likewise.
13122 (nvptx_wait_all_async): Likewise.
13123 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13124 use CUDA_CALL* macros, adjust call to map_fini.
13125 (GOMP_OFFLOAD_init_device): Change return type to bool,
13126 adjust code accordingly.
13127 (GOMP_OFFLOAD_fini_device): Likewise.
13128 (GOMP_OFFLOAD_load_image): Adjust calls to
13129 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13130 use CUDA_CALL* macros.
13131 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13132 return code.
13133 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13134 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13135 handle error return.
13136 (GOMP_OFFLOAD_dev2host): Likewise.
13137 (GOMP_OFFLOAD_host2dev): Likewise.
13138 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13139 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13140
e46c7770
CP
131412016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13142
13143 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13144 (acc_free): Likewise.
13145 (acc_memcpy_to_device): Likewise.
13146 (acc_memcpy_from_device): Likewise.
13147 (acc_deviceptr): Likewise.
13148 (acc_hostptr): Likewise.
13149 (acc_is_present): Likewise.
13150 (acc_map_data): Likewise.
13151 (acc_unmap_data): Likewise.
13152 (present_create_copy): Likewise.
13153 (delete_copyout): Likewise.
13154 (update_dev_host): Likewise.
13155 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13156 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13157 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13158 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13159 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13160 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13161 it only runs on nvptx targets.
13162 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13163 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13164 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13165 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13166 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13167 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13168 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13169 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13170 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13171 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13172 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13173 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13174 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13175 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13176 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13177 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13178 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13179 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13180 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13181 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13182 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13183 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13184 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13185
a5057543
MJ
131862016-05-23 Martin Jambor <mjambor@suse.cz>
13187
13188 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13189
e37288a6
CLT
131902016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13191
13192 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13193 to gomp_init_targets_once.
13194 (acc_set_device_type): Remove !cached_base_dev condition on call to
13195 gomp_init_targets_once, move call to before acc_device_lock acquire,
13196 to avoid deadlock.
13197 (acc_get_device_num): Remove !cached_base_dev condition on call to
13198 gomp_init_targets_once.
13199 (acc_set_device_num): Likewise.
13200
51d9ed48
MJ
132012016-05-16 Martin Jambor <mjambor@suse.cz>
13202
92a285c1 13203 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 13204
5b37e866
NS
132052016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13206
13207 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13208 expected partitioning.
13209
e7ff0319
CP
132102016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13211
13212 PR middle-end/70626
13213 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13214 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13215 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13216
c2bd3b69
AM
132172016-04-21 Alexander Monakov <amonakov@ispras.ru>
13218
13219 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13220 non-fatal.
13221
84311083
JJ
132222016-04-19 Jakub Jelinek <jakub@redhat.com>
13223
13224 PR middle-end/70680
13225 * testsuite/libgomp.c/pr70680-1.c: New test.
13226 * testsuite/libgomp.c/pr70680-2.c: New test.
13227
aadc043f
CP
132282016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13229
13230 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13231 pass parameter variables to subroutines.
13232
e387fc64
CP
132332016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13234
13235 PR middle-end/70643
13236 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13237
10c3c424
CP
132382016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13239
13240 PR testsuite/68242
13241 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13242 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13243
27f9add3
TS
132442016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13245
58d32aeb
TS
13246 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13247 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13248 GOACC_declare prototype.
13249
d97633ef
TS
13250 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13251 Merge this file, and...
13252 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13253 ... this file, and...
13254 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13255 ... this file, and...
13256 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13257 ... this file, and...
13258 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13259 ... this file, and...
13260 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13261 ... this file, and...
13262 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13263 ... this file, and...
13264 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13265 ... this file, and...
13266 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13267 ... this file, and...
13268 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13269 ... this file, and...
13270 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13271 ... this file, and...
13272 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13273 ... this file, and...
13274 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13275 ... this file into...
13276 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13277 file.
13278
27f9add3
TS
13279 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13280 Make failure observable.
13281
21f3a236
JJ
132822016-04-12 Jakub Jelinek <jakub@redhat.com>
13283
13284 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13285 field.
13286 * target.c (gomp_target_fallback_firstprivate,
13287 gomp_target_unshare_firstprivate): Removed.
13288 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13289 before waiting for dependencies.
13290 (gomp_target_task_fn): Don't copy firstprivate vars here.
13291 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13292 firstprivate_copies here.
13293 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13294 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13295 explicit/implicit firstprivate.
13296
c42cfb5c
CP
132972016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13298
13299 PR lto/70289
13300 PR ipa/70348
13301 PR tree-optimization/70373
13302 PR middle-end/70533
13303 PR middle-end/70534
13304 PR middle-end/70535
13305 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13306 test.
13307 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13308 test.
13309 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13310 test.
13311 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13312 test.
13313 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13314 test.
13315 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13316 test.
13317 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13318 test.
13319 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13320 test.
13321 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13322 test.
13323 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13324 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13325 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13326 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13327 test.
13328 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13329 test.
13330 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13331 test.
13332 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13333 test.
13334 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13335 coverage.
13336 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13337 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13338 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13339 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13340 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13341 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13342 coverage.
13343 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13344 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13345 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13346 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13347 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13348 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13349 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13350 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13351 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13352 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13353 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13354 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13355 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13356 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13357 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13358
2620c80d
TS
133592016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13360 James Norris <jnorris@codesourcery.com>
13361 Nathan Sidwell <nathan@codesourcery.com>
13362 Julian Brown <julian@codesourcery.com>
13363 Cesar Philippidis <cesar@codesourcery.com>
13364 Chung-Lin Tang <cltang@codesourcery.com>
13365 Tom de Vries <tom@codesourcery.com>
13366
13367 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13368 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13369 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13370 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13371 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13372 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13373 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13374 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13375 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13376 XFAIL.
13377 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13378 Incorporate...
13379 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13380 file.
13381 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13382 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13383 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13384 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13385 Likewise.
13386 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13387 Likewise.
13388 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13389 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13390 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13391 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13392 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13393 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13394 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13395 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13396 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13397 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13398 Likewise.
13399 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13400 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13401 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13402 file...
13403 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13404 file into...
13405 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13406 file. Update.
13407 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13408 file.
13409 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13410 Likewise.
13411 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13412 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13413 ... this new file. Update.
13414 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13415 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13416 ... this new file. Update.
13417 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13418 file. Incorporate...
13419 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13420 file, and...
13421 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13422 file, and...
13423 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13424 file.
13425 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13426
ce83104b
TS
134272016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13428
13429 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13430 set-torture-options.
13431
6e0df3b7
TS
134322016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13433
13434 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13435 gcc-dg-runtest.
13436 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13437 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13438 -fno-builtin-acc_on_device instead of -O0.
13439 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13440 -O0.
13441 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13442 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13443 Likewise.
13444 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13445 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13446 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13447 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13448 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13449 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13450 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13451 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13452 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13453 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13454 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13455 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13456 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13457 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13458 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13459 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13460 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13461 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13462 Don't specify -O2.
13463 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13464 Likewise.
13465 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13466 Likewise.
13467
f9c8babb
ML
134682016-03-24 Martin Liska <mliska@suse.cz>
13469
13470 * plugin/plugin-hsa.c (packet_store_release): New function
13471 that is taken from the HSA runtime manual.
13472 (GOMP_OFFLOAD_run): Use the function.
13473
04833609
JJ
134742016-03-23 Jakub Jelinek <jakub@redhat.com>
13475
13476 PR c++/70376
13477 * testsuite/libgomp.c++/pr70376.C: New test.
13478
d79ee524
TV
134792016-03-23 Tom de Vries <tom@codesourcery.com>
13480
13481 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13482 initialization of lresult and lvresult.
13483 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13484
b6d1f2b5
JN
134852016-03-23 James Norris <jnorris@codesourcery.com>
13486 Daichi Fukuoka <dc-fukuoka@sgi.com>
13487
13488 PR libgomp/69414
13489 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13490 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13491 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13492 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13493
7397fce2
ML
134942016-03-23 Martin Liska <mliska@suse.cz>
13495
13496 PR hsa/70337
13497 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13498 argument just in case a dispatched kernel uses that argument.
13499
ee2e7d51
TS
135002016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13501
13502 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13503 -ftree-parallelize-loops/-fopenacc changes.
13504 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13505 Likewise.
13506 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13507 Likewise.
13508 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13509 Likewise.
13510 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13511 Likewise.
13512 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13513 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13514
be9f7143
TS
135152016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13516
13517 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13518 always_ld_library_path the path to libgcc_s.
13519
f6c1032d
CP
135202016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13521
13522 PR testsuite/70009
13523 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13524
5a6452e6
TV
135252016-03-09 Tom de Vries <tom@codesourcery.com>
13526
13527 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13528 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13529 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13530 Same.
13531 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13532 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13533 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13534 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13535
96a71bd5
MJ
135362016-03-07 Martin Jambor <mjambor@suse.cz>
13537
13538 * testsuite/lib/libgomp.exp
13539 (check_effective_target_hsa_offloading_selected_nocache): New.
13540 (check_effective_target_hsa_offloading_selected): Likewise.
13541 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13542 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13543 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13544 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13545 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13546 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13547 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13548 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13549 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13550 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13551 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13552 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13553 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13554 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13555 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13556 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13557 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13558
02e0b5b2
MJ
135592016-03-07 Martin Jambor <mjambor@suse.cz>
13560
13561 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13562 non-shared memory accelerators.
13563 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13564 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13565 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13566 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13567 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13568 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13569 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13570 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13571 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13572
45548f30
MJ
135732016-03-07 Martin Jambor <mjambor@suse.cz>
13574
13575 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13576 ALWAYS_CFLAGS.
13577
da3d46cb
JJ
135782016-03-02 Jakub Jelinek <jakub@redhat.com>
13579
13580 PR libgomp/69555
13581 * testsuite/libgomp.c++/pr69555-1.C: New test.
13582 * testsuite/libgomp.c++/pr69555-2.C: New test.
13583
622174b2
KM
135842016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13585 Martin Jambor <mjambor@suse.cz>
13586
13587 * testsuite/lib/libgomp.exp
13588 (check_effective_target_offload_device_shared_as): New proc.
13589 * testsuite/libgomp.c++/declare_target-1.C: New test.
13590
e6861a99
IV
135912016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13592
13593 PR driver/68463
13594 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13595
f99c3557
TS
135962016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13597
13598 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13599 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13600 dims.
13601 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13602 -ftree-parallelize-loops/-fopenacc changes.
13603 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13604 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13605 Likewise.
13606 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13607 Likewise.
13608 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13609 Likewise.
13610 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13611 Likewise.
13612 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13613 Likewise.
13614 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13615 Likewise.
13616 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13617 Likewise.
13618 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13619 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13620 Likewise.
13621 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13622 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13623 Likewise.
13624 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13625 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13626 Likewise.
13627
d5ace3b5
CP
136282016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13629
13630 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13631
f3609a89
JJ
136322016-02-19 Jakub Jelinek <jakub@redhat.com>
13633
13634 PR driver/69805
13635 * testsuite/libgomp.c/pr69805.c: New test.
13636
2175df99
TV
136372016-02-16 Tom de Vries <tom@codesourcery.com>
13638
13639 PR lto/67709
13640 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13641
17b6426c
TV
136422016-02-09 Tom de Vries <tom@codesourcery.com>
13643
13644 PR tree-optimization/69599
13645 * testsuite/libgomp.c/omp-nested-3.c: New test.
13646 * testsuite/libgomp.c/pr46032-2.c: New test.
13647 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13648 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13649
34df756c
TV
136502016-02-09 Tom de Vries <tom@codesourcery.com>
13651
13652 PR lto/69707
13653 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13654
5854ee30
AM
136552016-02-02 Alexander Monakov <amonakov@ispras.ru>
13656
13657 * testsuite/libgomp.c/target-31.c: Fix testcase.
13658
e70b6ad7
AM
136592016-02-02 Alexander Monakov <amonakov@ispras.ru>
13660
13661 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13662 clause.
13663 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13664 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13665 reduction and map clauses.
13666 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13667
bd78a45f
JN
136682016-02-02 James Norris <jnorris@codesourcery.com>
13669
13670 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13671
41d809d3
TS
136722016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13673
18f60146
TS
13674 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13675 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13676
1a06f5e6
TS
13677 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13678 cases.
13679
033ff3d1
TS
13680 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13681 variables.
13682 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13683 (hsa_kmt_lib): Set variables.
13684 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13685 always_ld_library_path.
13686 * Makefile.in: Regenerate.
13687 * configure: Likewise.
13688 * testsuite/Makefile.in: Likewise.
13689
4a88d9b7
TS
13690 * plugin/configfrag.ac (offload_additional_options)
13691 (offload_additional_lib_paths): Don't amend for hsa offloading.
13692 * configure: Regenerate.
13693
41d809d3
TS
13694 * plugin/configfrag.ac: Don't configure for offloading target if
13695 we don't build the corresponding plugin.
13696 * configure: Regenerate.
13697
b6adbb9f
NS
136982016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13699
13700 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13701 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13702
8dfdb419
TV
137032016-01-26 Tom de Vries <tom@codesourcery.com>
13704
13705 PR tree-optimization/69110
13706 * testsuite/libgomp.c/pr69110.c: New test.
13707
02ef53f2
RB
137082016-01-25 Richard Biener <rguenther@suse.de>
13709
13710 PR lto/69393
13711 * testsuite/libgomp.c++/pr69393.C: New testcase.
13712
eb4048f2
IV
137132016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13714
13715 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13716 function wasn't mapped to the device with non-shared memory.
13717
b235cdd5
IV
137182016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13719
13720 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13721
b2b40051
MJ
137222016-01-19 Martin Jambor <mjambor@suse.cz>
13723 Martin Liska <mliska@suse.cz>
13724
13725 * plugin/Makefrag.am: Add HSA plugin requirements.
13726 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13727 (HSA_RUNTIME_LIB): Likewise.
13728 (HSA_RUNTIME_CPPFLAGS): Likewise.
13729 (HSA_RUNTIME_INCLUDE): New substitution.
13730 (HSA_RUNTIME_LIB): Likewise.
13731 (HSA_RUNTIME_LDFLAGS): Likewise.
13732 (hsa-runtime): New configure option.
13733 (hsa-runtime-include): Likewise.
13734 (hsa-runtime-lib): Likewise.
13735 (PLUGIN_HSA): New substitution variable.
13736 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13737 configure options.
13738 (PLUGIN_HSA_CPPFLAGS): Likewise.
13739 (PLUGIN_HSA_LDFLAGS): Likewise.
13740 (PLUGIN_HSA_LIBS): Likewise.
13741 Check that we have access to HSA run-time.
13742 * libgomp-plugin.h (offload_target_type): New element
13743 OFFLOAD_TARGET_TYPE_HSA.
13744 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13745 args.
13746 (bool gomp_create_target_task): Updated.
13747 (gomp_device_descr): Extra parameter of run_func and async_run_func,
13748 new field can_run_func.
13749 * libgomp_g.h (GOMP_target_ext): Update prototype.
13750 * oacc-host.c (host_run): Added a new parameter args.
13751 * target.c (calculate_firstprivate_requirements): New function.
13752 (copy_firstprivate_data): Likewise.
13753 (gomp_target_fallback_firstprivate): Use them.
13754 (gomp_target_unshare_firstprivate): New function.
13755 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13756 devices.
13757 (GOMP_target): Do host fallback for all shared memory devices. Do not
13758 pass any args to plugins.
13759 (GOMP_target_ext): Introduce device-specific argument parameter args.
13760 Allow host fallback if device shares memory. Do not remap data if
13761 device has shared memory.
13762 (gomp_target_task_fn): Likewise. Also treat shared memory devices
13763 like host fallback for mappings.
13764 (GOMP_target_data): Treat shared memory devices like host fallback.
13765 (GOMP_target_data_ext): Likewise.
13766 (GOMP_target_update): Likewise.
13767 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
13768 gomp_create_target_task.
13769 (GOMP_target_enter_exit_data): Likewise.
13770 (omp_target_alloc): Treat shared memory devices like host fallback.
13771 (omp_target_free): Likewise.
13772 (omp_target_is_present): Likewise.
13773 (omp_target_memcpy): Likewise.
13774 (omp_target_memcpy_rect): Likewise.
13775 (omp_target_associate_ptr): Likewise.
13776 (gomp_load_plugin_for_device): Also load can_run.
13777 * task.c (GOMP_PLUGIN_target_task_completion): Free
13778 firstprivate_copies.
13779 (gomp_create_target_task): Accept new argument args and store it to
13780 ttask.
13781 * plugin/plugin-hsa.c: New file.
13782
5d7804a9
TV
137832016-01-18 Tom de Vries <tom@codesourcery.com>
13784
13785 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13786 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13787 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13788 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13789 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13790 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13791 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13792 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13793 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13794 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13795 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13796 Same.
13797 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13798 Same.
13799 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13800 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13801 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13802 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13803 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13804 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13805 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13806 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13807 Same.
13808 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13809
cb11f3cf
JJ
138102016-01-15 Jakub Jelinek <jakub@redhat.com>
13811
13812 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13813
33a126a6
CP
138142016-01-15 Cesar Philippidis <cesar@codesourcery.com>
13815
13816 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13817
cdf6119d
JN
138182016-01-12 James Norris <jnorris@codesourcery.com>
13819
13820 * libgomp.texi: Updates for OpenACC.
13821
0d58938e
AM
138222016-01-11 Alexander Monakov <amonakov@ispras.ru>
13823
13824 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13825
95918b49
L
138262016-01-07 H.J. Lu <hongjiu.lu@intel.com>
13827
13828 PR fortran/66680
13829 * testsuite/libgomp.fortran/pr66680.f90: New test.
13830
8fc708b7
JJ
138312016-01-07 Jakub Jelinek <jakub@redhat.com>
13832
13833 PR middle-end/68960
13834 * testsuite/libgomp.c/pr68960.c: New test.
13835
e9b596c1
NS
138362016-01-06 Nathan Sidwell <nathan@acm.org>
13837
1a14faf2 13838 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
13839 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13840
21fa2a29
JJ
138412016-01-04 Jakub Jelinek <jakub@redhat.com>
13842
818ab71a
JJ
13843 Update copyright years.
13844
21fa2a29
JJ
13845 * libgomp.texi: Bump @copying's copyright year.
13846
9310efbc
NS
138472015-12-31 Nathan Sidwell <nathan@acm.org>
13848
13849 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13850 dg-additional-options syntax.
13851 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13852 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13853 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13854 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13855 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13856 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13857 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13858 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13859 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13860 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13861 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13862 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13863 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13864 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13865 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13866 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13867 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13868 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13869
4a38b02b
IV
138702015-12-15 Ilya Verbin <ilya.verbin@intel.com>
13871
13872 * libgomp.h (REFCOUNT_LINK): Define.
13873 (struct splay_tree_key_s): Add link_key.
13874 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13875 Replace target address of the pointer with target address of newly
13876 mapped object in the splay tree. Set link pointer on target to the
13877 device address of the mapped object.
13878 (gomp_unmap_vars): Restore target address of the pointer in the splay
13879 tree for REFCOUNT_LINK objects after unmapping.
13880 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13881 declare target link" objects.
13882 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
13883 "omp declare target link" objects, which were mapped for the image.
13884 (gomp_exit_data): Restore target address of the pointer in the splay
13885 tree for REFCOUNT_LINK objects after unmapping.
13886 * testsuite/libgomp.c/target-link-1.c: New file.
13887
d84ffc0a
IV
138882015-12-14 Ilya Verbin <ilya.verbin@intel.com>
13889
13890 * libgomp.h (gomp_device_state): New enum.
13891 (struct gomp_device_descr): Replace is_initialized with state.
13892 (gomp_fini_device): Remove declaration.
13893 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13894 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13895 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
13896 (acc_set_device_type): Use state instead of is_initialized.
13897 (acc_set_device_num): Likewise.
13898 * target.c (resolve_device): Use state instead of is_initialized.
13899 Do not initialize finalized device.
13900 (gomp_map_vars): Do nothing if device is finalized.
13901 (gomp_unmap_vars): Likewise.
13902 (gomp_update): Likewise.
13903 (GOMP_offload_register_ver): Use state instead of is_initialized.
13904 (GOMP_offload_unregister_ver): Likewise.
13905 (gomp_init_device): Likewise.
13906 (gomp_unload_device): Likewise.
13907 (gomp_fini_device): Remove.
13908 (gomp_get_target_fn_addr): Do nothing if device is finalized.
13909 (GOMP_target): Go to host fallback if device is finalized.
13910 (GOMP_target_ext): Likewise.
13911 (gomp_exit_data): Do nothing if device is finalized.
13912 (gomp_target_task_fn): Go to host fallback if device is finalized.
13913 (gomp_target_fini): New static function.
13914 (gomp_target_init): Use state instead of is_initialized.
13915 Call gomp_target_fini at exit.
13916
76680678
TV
139172015-12-09 Tom de Vries <tom@codesourcery.com>
13918
13919 PR tree-optimization/68716
13920 * testsuite/libgomp.c/omp-nested-2.c: New test.
13921
ff7a55bf
TS
139222015-12-02 Thomas Schwinge <thomas@codesourcery.com>
13923
13924 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
13925 target openacc_nvidia_accel_selected.
13926 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
13927 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
13928 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
13929 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
13930
37d5ad46
JB
139312015-12-01 Julian Brown <julian@codesourcery.com>
13932 James Norris <James_Norris@mentor.com>
13933
13934 * oacc-parallel.c (GOACC_host_data): New function.
13935 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
13936 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
13937 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
13938 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
13939 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
13940 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
13941 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
13942
db941d7e
CP
139432015-11-30 James Norris <jnorris@codesourcery.com>
13944 Cesar Philippidis <cesar@codesourcery.com>
13945
13946 libgomp/
13947 * libgomp.oacc-fortran/routine-5.f90: New test.
13948 * libgomp.oacc-fortran/routine-7.f90: New test.
13949 * libgomp.oacc-fortran/routine-9.f90: New test.
13950
e0ca27c5
TV
139512015-11-30 Tom de Vries <tom@codesourcery.com>
13952
13953 PR tree-optimization/46032
13954 * testsuite/libgomp.c/pr46032.c: New test.
13955
aec17bfe
JJ
139562015-11-27 Jakub Jelinek <jakub@redhat.com>
13957
8e4e4719
JJ
13958 PR libgomp/68579
13959 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
13960 (gomp_create_target_task): Call it before freeing
13961 GOMP_TARGET_TASK_DATA tasks.
13962
aec17bfe
JJ
13963 PR c/63326
13964 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
13965 in between case label and OpenMP standalone directives.
13966 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
13967
6cfe90e6
DE
139682015-11-26 David Edelsohn <dje.gcc@gmail.com>
13969
13970 * configure: Regenerate.
13971
0e65fd7d
JJ
139722015-11-26 Jakub Jelinek <jakub@redhat.com>
13973
13974 * testsuite/libgomp.c/target-35.c: New test.
13975
dc7a8b4b
JN
139762015-11-22 James Norris <jnorris@codesourcery.com>
13977 Cesar Philippidis <cesar@codesourcery.com>
13978
13979 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
13980 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
13981 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
13982 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
13983 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
13984
48a78aee
JJ
139852015-11-20 Jakub Jelinek <jakub@redhat.com>
13986
13987 PR middle-end/68221
13988 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
13989 * testsuite/libgomp.c/reduction-12.c: Likewise.
13990 * testsuite/libgomp.c++/reduction-11.C: Likewise.
13991 * testsuite/libgomp.c++/reduction-12.C: Likewise.
13992
2d256816
NS
139932015-11-19 Nathan Sidwell <nathan@codesourcery.com>
13994
13995 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
13996 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
13997 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
13998 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
13999 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
14000 and fix.
14001 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14002 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14003
33f47f42
NS
140042015-11-18 Nathan Sidwell <nathan@codesourcery.com>
14005
14006 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
14007 worker & gang cases.
14008 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
14009
3d7bfee0
CP
140102015-11-17 Cesar Philippidis <cesar@codesourcery.com>
14011
14012 * config/nvptx/priority_queue.c: New file.
14013
00b9bd52
JJ
140142015-11-14 Jakub Jelinek <jakub@redhat.com>
14015
14016 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
14017 sections.
14018
e4606348
JJ
140192015-11-14 Jakub Jelinek <jakub@redhat.com>
14020 Aldy Hernandez <aldyh@redhat.com>
14021 Ilya Verbin <ilya.verbin@intel.com>
14022
14023 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
14024 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
14025 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
14026 iterators or IV by chunk size.
14027 * parallel.c (gomp_resolve_num_threads): Don't assume that
14028 if thr->ts.team is non-NULL, then pool must be non-NULL.
14029 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
14030 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
14031 GOMP_PLUGIN_target_task_completion.
14032 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
14033 * Makefile.in: Regenerate.
14034 * libgomp.h: Shuffle prototypes and forward definitions around so
14035 priority queues can be defined.
14036 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
14037 (enum gomp_target_task_state): New enum.
14038 (struct gomp_target_task): Add state, tgt, task and team fields.
14039 (gomp_create_target_task): Change return type to bool, add
14040 state argument.
14041 (gomp_target_task_fn): Change return type to bool.
14042 (struct gomp_device_descr): Add async_run_func.
14043 (struct gomp_task): Remove children, next_child, prev_child,
14044 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
14045 Add pnode field.
14046 (struct gomp_taskgroup): Remove children.
14047 Add taskgroup_queue.
14048 (struct gomp_team): Change task_queue type to a priority queue.
14049 (splay_compare): Define inline.
14050 (priority_queue_offset): New.
14051 (priority_node_to_task): New.
14052 (task_to_priority_node): New.
14053 * oacc-mem.c: Do not include splay-tree.h.
14054 * priority_queue.c: New file.
14055 * priority_queue.h: New file.
14056 * splay-tree.c: Do not include splay-tree.h.
14057 (splay_tree_foreach_internal): New.
14058 (splay_tree_foreach): New.
14059 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14060 (splay_tree_callback): Define typedef.
14061 * target.c (splay_compare): Move to libgomp.h.
14062 (GOMP_target): Don't adjust *thr in any way around running offloaded
14063 task.
14064 (GOMP_target_ext): Likewise. Handle target nowait.
14065 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14066 return value from gomp_create_target_task, if false, fallthrough
14067 as if no dependencies exist.
14068 (gomp_target_task_fn): Change return type to bool, return true
14069 if the task should have another part scheduled later. Handle
14070 target nowait.
14071 (gomp_load_plugin_for_device): Initialize async_run.
14072 * task.c (gomp_init_task): Initialize children_queue.
14073 (gomp_clear_parent_in_list): New.
14074 (gomp_clear_parent_in_tree): New.
14075 (gomp_clear_parent): Handle priorities.
14076 (GOMP_task): Likewise.
14077 (priority_queue_move_task_first,
14078 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14079 New functions.
14080 (gomp_create_target_task): Use priority queues. Change return type
14081 to bool, add state argument, return false if for async
14082 {{enter,exit} data,update} constructs no dependencies need to be
14083 waited for, handle target nowait. Set task->fn to NULL instead of
14084 gomp_target_task_fn.
14085 (verify_children_queue): Remove.
14086 (priority_list_upgrade_task): New.
14087 (priority_queue_upgrade_task): New.
14088 (verify_task_queue): Remove.
14089 (priority_list_downgrade_task): New.
14090 (priority_queue_downgrade_task): New.
14091 (gomp_task_run_pre): Use priority queues.
14092 Abstract code out to priority_queue_downgrade_task.
14093 (gomp_task_run_post_handle_dependers): Use priority queues.
14094 (gomp_task_run_post_remove_parent): Likewise.
14095 (gomp_task_run_post_remove_taskgroup): Likewise.
14096 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
14097 tasks specially.
14098 (GOMP_taskwait): Likewise.
14099 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
14100 priority-queue_upgrade_task.
14101 (GOMP_taskgroup_start): Use priority queues.
14102 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
14103 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
14104 barrier.
14105 * taskloop.c (GOMP_taskloop): Handle priorities.
14106 * team.c (gomp_new_team): Call priority_queue_init.
14107 (free_team): Call priority_queue_free.
14108 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14109 team created for target nowait in implicit parallel region.
14110 (gomp_team_start): For nested check, test thr->ts.level instead of
14111 thr->ts.team != NULL.
14112 * testsuite/libgomp.c/doacross-3.c: New test.
14113 * testsuite/libgomp.c/ordered-5.c: New test.
14114 * testsuite/libgomp.c/priority.c: New test.
14115 * testsuite/libgomp.c/target-31.c: New test.
14116 * testsuite/libgomp.c/target-32.c: New test.
14117 * testsuite/libgomp.c/target-33.c: New test.
14118 * testsuite/libgomp.c/target-34.c: New test.
14119
1d1ab74f
NS
141202015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14121
c5a64cfe
NS
14122 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14123
1d1ab74f
NS
14124 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14125 loop is sequential.
14126
dd3c1b14
NS
141272015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14128
14129 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14130 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14131
6e232ba4
JN
141322015-11-12 James Norris <jnorris@codesourcery.com>
14133 Joseph Myers <joseph@codesourcery.com>
14134
14135 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14136 * oacc-parallel.c (GOACC_declare): New function.
14137 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14138 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14139 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14140 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14141 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14142
fffeedeb
NS
141432015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14144
14145 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14146
182190f2
NS
141472015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14148
14149 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14150 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14151
36fa0f5f
NS
141522015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14153
d350c40c
NS
14154 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14155 inadvertent commit.
14156
141572015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14158
36fa0f5f
NS
14159 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14160 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14161 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14162 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14163 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14164
66a5f0b4
TS
141652015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14166
14167 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14168 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14169
e01d41e5
JJ
141702015-11-05 Jakub Jelinek <jakub@redhat.com>
14171 Ilya Verbin <ilya.verbin@intel.com>
14172
14173 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14174 GOMP_loop_nonmonotonic_dynamic_start,
14175 GOMP_loop_nonmonotonic_guided_next,
14176 GOMP_loop_nonmonotonic_guided_start,
14177 GOMP_loop_ull_nonmonotonic_dynamic_next,
14178 GOMP_loop_ull_nonmonotonic_dynamic_start,
14179 GOMP_loop_ull_nonmonotonic_guided_next,
14180 GOMP_loop_ull_nonmonotonic_guided_start,
14181 GOMP_parallel_loop_nonmonotonic_dynamic,
14182 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14183 (GOMP_target_41): Renamed to ...
14184 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14185 arguments.
14186 (GOMP_target_data_41): Renamed to ...
14187 (GOMP_target_data_ext): ... this.
14188 (GOMP_target_update_41): Renamed to ...
14189 (GOMP_target_update_ext): ... this.
14190 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14191 GOMP_target_data_ext and GOMP_target_update_ext instead of
14192 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14193 Export GOMP_loop_nonmonotonic_dynamic_next,
14194 GOMP_loop_nonmonotonic_dynamic_start,
14195 GOMP_loop_nonmonotonic_guided_next,
14196 GOMP_loop_nonmonotonic_guided_start,
14197 GOMP_loop_ull_nonmonotonic_dynamic_next,
14198 GOMP_loop_ull_nonmonotonic_dynamic_start,
14199 GOMP_loop_ull_nonmonotonic_guided_next,
14200 GOMP_loop_ull_nonmonotonic_guided_start,
14201 GOMP_parallel_loop_nonmonotonic_dynamic and
14202 GOMP_parallel_loop_nonmonotonic_guided.
14203 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14204 GOMP_parallel_loop_nonmonotonic_guided,
14205 GOMP_loop_nonmonotonic_dynamic_start,
14206 GOMP_loop_nonmonotonic_guided_start,
14207 GOMP_loop_nonmonotonic_dynamic_next,
14208 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14209 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14210 GOMP_loop_ull_nonmonotonic_guided_start,
14211 GOMP_loop_ull_nonmonotonic_dynamic_next,
14212 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14213 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14214 functions.
14215 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14216 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14217 Use gomp_map_val function.
14218 (gomp_target_fallback_firstprivate): New static function.
14219 (GOMP_target_41): Renamed to ...
14220 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14221 arguments. Move firstprivate fallback handling into a new
14222 function.
14223 (GOMP_target_data_41): Renamed to ...
14224 (GOMP_target_data_ext): ... this.
14225 (GOMP_target_update_41): Renamed to ...
14226 (GOMP_target_update_ext): ... this.
14227 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14228 gomp_map_0len_lookup instead of gomp_map_lookup.
14229 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14230 gomp_map_lookup.
14231 * testsuite/libgomp.c/target-28.c: Likewise.
14232 * testsuite/libgomp.c/monotonic-1.c: New test.
14233 * testsuite/libgomp.c/monotonic-2.c: New test.
14234 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14235 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14236 * testsuite/libgomp.c/pr66199-5.c: New test.
14237 * testsuite/libgomp.c/pr66199-6.c: New test.
14238 * testsuite/libgomp.c/pr66199-7.c: New test.
14239 * testsuite/libgomp.c/pr66199-8.c: New test.
14240 * testsuite/libgomp.c/pr66199-9.c: New test.
14241 * testsuite/libgomp.c/reduction-11.c: New test.
14242 * testsuite/libgomp.c/reduction-12.c: New test.
14243 * testsuite/libgomp.c/reduction-13.c: New test.
14244 * testsuite/libgomp.c/reduction-14.c: New test.
14245 * testsuite/libgomp.c/reduction-15.c: New test.
14246 * testsuite/libgomp.c/target-12.c (main): Adjust for
14247 omp_target_is_present change for one-past-last element.
14248 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14249 the same var is both mapped and privatized.
14250 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14251 handling of zero-length array sections.
14252 * testsuite/libgomp.c/target-28.c: New test.
14253 * testsuite/libgomp.c/target-29.c: New test.
14254 * testsuite/libgomp.c/target-30.c: New test.
14255 * testsuite/libgomp.c/target-teams-1.c: New test.
14256 * testsuite/libgomp.c++/member-6.C: New test.
14257 * testsuite/libgomp.c++/member-7.C: New test.
14258 * testsuite/libgomp.c++/monotonic-1.C: New test.
14259 * testsuite/libgomp.c++/monotonic-2.C: New test.
14260 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14261 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14262 * testsuite/libgomp.c++/pr66199-3.C: New test.
14263 * testsuite/libgomp.c++/pr66199-4.C: New test.
14264 * testsuite/libgomp.c++/pr66199-5.C: New test.
14265 * testsuite/libgomp.c++/pr66199-6.C: New test.
14266 * testsuite/libgomp.c++/pr66199-7.C: New test.
14267 * testsuite/libgomp.c++/pr66199-8.C: New test.
14268 * testsuite/libgomp.c++/pr66199-9.C: New test.
14269 * testsuite/libgomp.c++/reduction-11.C: New test.
14270 * testsuite/libgomp.c++/reduction-12.C: New test.
14271 * testsuite/libgomp.c++/target-13.C: New test.
14272 * testsuite/libgomp.c++/target-14.C: New test.
14273 * testsuite/libgomp.c++/target-15.C: New test.
14274 * testsuite/libgomp.c++/target-16.C: New test.
14275 * testsuite/libgomp.c++/target-17.C: New test.
14276 * testsuite/libgomp.c++/target-18.C: New test.
14277 * testsuite/libgomp.c++/target-19.C: New test.
14278
ccc8282b
NS
142792015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14280
14281 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14282 and reduction copy.
14283 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14284 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14285 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14286 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14287 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14288 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14289 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14290 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14291 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14292 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14293 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14294 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14295 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14296 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14297
5d6823a2
NS
142982015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14299
14300 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14301 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14302 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14303 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14304 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14305 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14306 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14307 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14308
5c06742f
NS
143092015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14310
14311 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14312 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14313 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14314 * oacc-host.c (host_openacc_exec): Likewise.
14315 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14316
4bf9e5a8
TS
143172015-11-03 Julian Brown <julian@codesourcery.com>
14318 Thomas Schwinge <thomas@codesourcery.com>
14319
14320 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14321 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14322 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14323 Likewise.
14324 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14325 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14326
143272015-11-03 James Norris <jnorris@codesourcery.com>
14328
14329 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14330 file.
14331 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14332 Likewise.
14333 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14334 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14335 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14336 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14337 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14338
a0e701d8
NS
143392015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14340
14341 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14342 compatibility.
14343 (enum acc_async_t): Reformat.
14344 (acc_on_device): Declare compatible with builtin and provide C++
14345 wrapper.
14346 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14347
41e977ac
TS
143482015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14349 Cesar Philippidis <cesar@codesourcery.com>
14350
14351 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14352 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14353 ... this. Add a description of the test at the top of the file.
14354 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14355 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14356 ... this. Add a description of the test at the top of the file.
14357
e3091406
NS
143582015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14359
14360 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14361 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14362 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14363 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14364 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14365 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14366
a1c1908b
NS
143672015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14368
14369 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14370 dimensions.
14371
b3962a4a
TS
143722015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14373
14374 PR testsuite/68063
14375 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14376
88bae6f4
TS
143772015-10-27 James Norris <jnorris@codesourcery.com>
14378
14379 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14380 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14381
8baa7864
TS
143822015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14383
bdeb752c
TS
14384 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14385 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14386
ecd4fd43
TS
14387 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14388 acc_device_nvidia usage.
14389 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14390 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14391 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14392
aa8b7d30
TS
14393 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14394 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14395
7c8f138d
TS
14396 PR libgomp/66518
14397 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14398
8baa7864
TS
14399 PR libgomp/65437
14400 PR libgomp/66518
14401 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14402 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14403
88ebcde5
TV
144042015-10-23 Tom de Vries <tom@codesourcery.com>
14405
14406 PR testsuite/68063
14407 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14408
9ef83c04
NS
144092015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14410
14411 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14412 vector_length.
14413 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14414
3837c6d6
IV
144152015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14416 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14417
14418 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14419 to 0 when mapnum is 0.
14420
ac8a1965
SH
144212015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14422
14423 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14424 Cast to int from int32_t.
14425
d9a6bd32
JJ
144262015-10-13 Jakub Jelinek <jakub@redhat.com>
14427 Aldy Hernandez <aldyh@redhat.com>
14428 Ilya Verbin <ilya.verbin@intel.com>
14429
14430 * config/linux/affinity.c (omp_get_place_num_procs,
14431 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14432 * config/linux/doacross.h: New file.
14433 * config/posix/affinity.c (omp_get_place_num_procs,
14434 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14435 * config/posix/doacross.h: New file.
14436 * env.c: Include gomp-constants.h.
14437 (struct gomp_task_icv): Rename run_sched_modifier to
14438 run_sched_chunk_size.
14439 (gomp_max_task_priority_var): New variable.
14440 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14441 (handle_omp_display_env): Change _OPENMP value from 201307 to
14442 201511. Print OMP_MAX_TASK_PRIORITY.
14443 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14444 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14445 chunk_size and run_sched_modifier to run_sched_chunk_size.
14446 (omp_get_max_task_priority, omp_get_initial_device,
14447 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14448 omp_get_partition_place_nums): New functions.
14449 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14450 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14451 to chunk_size.
14452 (omp_get_num_places_, omp_get_place_num_procs_,
14453 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14454 omp_get_place_proc_ids_8_, omp_get_place_num_,
14455 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14456 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14457 omp_get_max_task_priority_): New functions.
14458 * libgomp_g.h (GOMP_loop_doacross_static_start,
14459 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14460 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14461 GOMP_loop_ull_doacross_dynamic_start,
14462 GOMP_loop_ull_doacross_guided_start,
14463 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14464 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14465 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14466 GOMP_target_data_41, GOMP_target_update_41,
14467 GOMP_target_enter_exit_data): New prototypes.
14468 (GOMP_task): Add prototype argument.
14469 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14470 (struct gomp_doacross_work_share): New type.
14471 (struct gomp_work_share): Add doacross field.
14472 (struct gomp_task_icv): Rename run_sched_modifier to
14473 run_sched_chunk_size.
14474 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14475 GOMP_TASK_UNDEFERRED. Add comments.
14476 (struct gomp_task_depend_entry): Add comments.
14477 (struct gomp_task): Likewise.
14478 (struct gomp_taskgroup): Likewise.
14479 (struct gomp_target_task): New type.
14480 (struct gomp_team): Add comment.
14481 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14482 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14483 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14484 (struct target_var_desc): New type.
14485 (struct target_mem_desc): Adjust comment. Use struct
14486 target_var_desc instead of splay_tree_key for list.
14487 (REFCOUNT_INFINITY): Define.
14488 (struct splay_tree_key_s): Remove copy_from field.
14489 (struct gomp_device_descr): Add dev2dev_func field.
14490 (enum gomp_map_vars_kind): New enum.
14491 (gomp_map_vars): Add one argument.
14492 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14493 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14494 omp_get_place_num_procs, omp_get_place_num_procs_,
14495 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14496 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14497 omp_get_place_num_, omp_get_partition_num_places,
14498 omp_get_partition_num_places_, omp_get_partition_place_nums,
14499 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14500 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14501 omp_target_free, omp_target_is_present, omp_target_memcpy,
14502 omp_target_memcpy_rect, omp_target_associate_ptr and
14503 omp_target_disassociate_ptr.
14504 (GOMP_4.0.2): Renamed to ...
14505 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14506 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14507 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14508 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14509 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14510 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14511 GOMP_loop_ull_doacross_guided_start,
14512 GOMP_loop_ull_doacross_runtime_start,
14513 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14514 GOMP_doacross_ull_wait.
14515 * libgomp.texi: Document omp_get_max_task_priority.
14516 Rename modifier argument to chunk_size for omp_set_schedule and
14517 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14518 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14519 to run_sched_chunk_size renaming.
14520 (GOMP_loop_ordered_runtime_start): Likewise.
14521 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14522 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14523 GOMP_parallel_loop_runtime_start): New functions.
14524 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14525 to run_sched_chunk_size renaming.
14526 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14527 GOMP_loop_doacross_guided_start): New functions or aliases.
14528 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14529 run_sched_modifier to run_sched_chunk_size renaming.
14530 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14531 (gomp_loop_ull_doacross_static_start,
14532 gomp_loop_ull_doacross_dynamic_start,
14533 gomp_loop_ull_doacross_guided_start,
14534 GOMP_loop_ull_doacross_runtime_start): New functions.
14535 (GOMP_loop_ull_doacross_static_start,
14536 GOMP_loop_ull_doacross_dynamic_start,
14537 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14538 * oacc-mem.c (acc_map_data, present_create_copy,
14539 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14540 to gomp_map_vars.
14541 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14542 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14543 instead of false to gomp_map_vars.
14544 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14545 * omp.h.in (omp_lock_hint_t): New type.
14546 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14547 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14548 omp_get_place_num, omp_get_partition_num_places,
14549 omp_get_partition_place_nums, omp_get_initial_device,
14550 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14551 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14552 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14553 prototypes.
14554 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14555 (omp_lock_hint_none, omp_lock_hint_uncontended,
14556 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14557 omp_lock_hint_speculative): New parameters.
14558 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14559 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14560 omp_get_place_num, omp_get_partition_num_places,
14561 omp_get_partition_place_nums, omp_get_initial_device,
14562 omp_get_max_task_priority): New interfaces.
14563 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14564 to chunk_size.
14565 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14566 (omp_lock_hint_none, omp_lock_hint_uncontended,
14567 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14568 omp_lock_hint_speculative): New parameters.
14569 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14570 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14571 omp_get_place_num, omp_get_partition_num_places,
14572 omp_get_partition_place_nums, omp_get_initial_device,
14573 omp_get_max_task_priority): New functions and subroutines.
14574 * ordered.c: Include stdarg.h and string.h.
14575 (MAX_COLLAPSED_BITS): Define.
14576 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14577 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14578 GOMP_doacross_ull_wait): New functions.
14579 * target.c: Include errno.h.
14580 (resolve_device): If device is not initialized, call
14581 gomp_init_device on it.
14582 (gomp_map_lookup): New function.
14583 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14584 Don't bump refcount if REFCOUNT_INFINITY. Handle
14585 GOMP_MAP_ALWAYS_TO_P.
14586 (get_kind): Rename is_openacc argument to short_mapkind.
14587 (gomp_map_pointer): Use gomp_map_lookup.
14588 (gomp_map_fields_existing): New function.
14589 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14590 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14591 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14592 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14593 Adjust for tgt->list changed type and copy_from living in there.
14594 (gomp_copy_from_async): Adjust for tgt->list changed type and
14595 copy_from living in there.
14596 (gomp_unmap_vars): Likewise.
14597 (gomp_update): Likewise. Rename is_openacc argument to
14598 short_mapkind. Don't fail if object is not mapped.
14599 (gomp_load_image_to_device): Initialize refcount to
14600 REFCOUNT_INFINITY.
14601 (gomp_target_fallback): New function.
14602 (gomp_get_target_fn_addr): Likewise.
14603 (GOMP_target): Adjust gomp_map_vars caller, use
14604 gomp_get_target_fn_addr and gomp_target_fallback.
14605 (GOMP_target_41): New function.
14606 (gomp_target_data_fallback): New function.
14607 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14608 (GOMP_target_data_41): New function.
14609 (GOMP_target_update): Adjust gomp_update caller.
14610 (GOMP_target_update_41): New function.
14611 (gomp_exit_data, GOMP_target_enter_exit_data,
14612 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14613 omp_target_is_present, omp_target_memcpy,
14614 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14615 omp_target_associate_ptr, omp_target_disassociate_ptr,
14616 gomp_load_plugin_for_device): New functions.
14617 * task.c: Include gomp-constants.h. Include taskloop.c
14618 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14619 (gomp_task_handle_depend): New function.
14620 (GOMP_task): Use it. Add priority argument. Use
14621 gomp-constant.h constants instead of hardcoded numbers.
14622 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14623 (gomp_create_target_task): New function.
14624 (verify_children_queue, verify_taskgroup_queue,
14625 verify_task_queue): New functions.
14626 (gomp_task_run_pre): Call verify_*_queue functions.
14627 If an upcoming tied task is about to leave the sibling or
14628 taskgroup queues in an invalid state, adjust appropriately.
14629 Remove taskgroup argument. Add comments.
14630 (gomp_task_run_post_handle_dependers): Add comments.
14631 (gomp_task_run_post_remove_parent): Likewise.
14632 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14633 (GOMP_taskwait): Likewise. Add comments.
14634 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14635 problem such that the first non parent_depends_on task does not
14636 end up at the end of the children queue.
14637 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14638 GOMP_TASK_UNDEFERRED.
14639 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14640 * taskloop.c: New file.
14641 * testsuite/lib/libgomp.exp
14642 (check_effective_target_offload_device_nonshared_as): New proc.
14643 * testsuite/libgomp.c/affinity-2.c: New test.
14644 * testsuite/libgomp.c/doacross-1.c: New test.
14645 * testsuite/libgomp.c/doacross-2.c: New test.
14646 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14647 Add map clause to target.
14648 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14649 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14650 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14651 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14652 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14653 Likewise.
14654 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14655 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14656 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14657 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14658 not defined. Use those where needed.
14659 * testsuite/libgomp.c/for-4.c: New test.
14660 * testsuite/libgomp.c/for-5.c: New test.
14661 * testsuite/libgomp.c/for-6.c: New test.
14662 * testsuite/libgomp.c/linear-1.c: New test.
14663 * testsuite/libgomp.c/ordered-4.c: New test.
14664 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14665 only allowed on the loop iterator.
14666 * testsuite/libgomp.c/pr66199-3.c: New test.
14667 * testsuite/libgomp.c/pr66199-4.c: New test.
14668 * testsuite/libgomp.c/reduction-7.c: New test.
14669 * testsuite/libgomp.c/reduction-8.c: New test.
14670 * testsuite/libgomp.c/reduction-9.c: New test.
14671 * testsuite/libgomp.c/reduction-10.c: New test.
14672 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14673 map(tofrom:s).
14674 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14675 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14676 * testsuite/libgomp.c/target-11.c: New test.
14677 * testsuite/libgomp.c/target-12.c: New test.
14678 * testsuite/libgomp.c/target-13.c: New test.
14679 * testsuite/libgomp.c/target-14.c: New test.
14680 * testsuite/libgomp.c/target-15.c: New test.
14681 * testsuite/libgomp.c/target-16.c: New test.
14682 * testsuite/libgomp.c/target-17.c: New test.
14683 * testsuite/libgomp.c/target-18.c: New test.
14684 * testsuite/libgomp.c/target-19.c: New test.
14685 * testsuite/libgomp.c/target-20.c: New test.
14686 * testsuite/libgomp.c/target-21.c: New test.
14687 * testsuite/libgomp.c/target-22.c: New test.
14688 * testsuite/libgomp.c/target-23.c: New test.
14689 * testsuite/libgomp.c/target-24.c: New test.
14690 * testsuite/libgomp.c/target-25.c: New test.
14691 * testsuite/libgomp.c/target-26.c: New test.
14692 * testsuite/libgomp.c/target-27.c: New test.
14693 * testsuite/libgomp.c/taskloop-1.c: New test.
14694 * testsuite/libgomp.c/taskloop-2.c: New test.
14695 * testsuite/libgomp.c/taskloop-3.c: New test.
14696 * testsuite/libgomp.c/taskloop-4.c: New test.
14697 * testsuite/libgomp.c++/ctor-13.C: New test.
14698 * testsuite/libgomp.c++/doacross-1.C: New test.
14699 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14700 Replace offload_device with offload_device_nonshared_as.
14701 * testsuite/libgomp.c++/for-12.C: New test.
14702 * testsuite/libgomp.c++/for-13.C: New test.
14703 * testsuite/libgomp.c++/for-14.C: New test.
14704 * testsuite/libgomp.c++/linear-1.C: New test.
14705 * testsuite/libgomp.c++/member-1.C: New test.
14706 * testsuite/libgomp.c++/member-2.C: New test.
14707 * testsuite/libgomp.c++/member-3.C: New test.
14708 * testsuite/libgomp.c++/member-4.C: New test.
14709 * testsuite/libgomp.c++/member-5.C: New test.
14710 * testsuite/libgomp.c++/ordered-1.C: New test.
14711 * testsuite/libgomp.c++/reduction-5.C: New test.
14712 * testsuite/libgomp.c++/reduction-6.C: New test.
14713 * testsuite/libgomp.c++/reduction-7.C: New test.
14714 * testsuite/libgomp.c++/reduction-8.C: New test.
14715 * testsuite/libgomp.c++/reduction-9.C: New test.
14716 * testsuite/libgomp.c++/reduction-10.C: New test.
14717 * testsuite/libgomp.c++/reference-1.C: New test.
14718 * testsuite/libgomp.c++/simd14.C: New test.
14719 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14720 * testsuite/libgomp.c++/target-5.C: New test.
14721 * testsuite/libgomp.c++/target-6.C: New test.
14722 * testsuite/libgomp.c++/target-7.C: New test.
14723 * testsuite/libgomp.c++/target-8.C: New test.
14724 * testsuite/libgomp.c++/target-9.C: New test.
14725 * testsuite/libgomp.c++/target-10.C: New test.
14726 * testsuite/libgomp.c++/target-11.C: New test.
14727 * testsuite/libgomp.c++/target-12.C: New test.
14728 * testsuite/libgomp.c++/taskloop-1.C: New test.
14729 * testsuite/libgomp.c++/taskloop-2.C: New test.
14730 * testsuite/libgomp.c++/taskloop-3.C: New test.
14731 * testsuite/libgomp.c++/taskloop-4.C: New test.
14732 * testsuite/libgomp.c++/taskloop-5.C: New test.
14733 * testsuite/libgomp.c++/taskloop-6.C: New test.
14734 * testsuite/libgomp.c++/taskloop-7.C: New test.
14735 * testsuite/libgomp.c++/taskloop-8.C: New test.
14736 * testsuite/libgomp.c++/taskloop-9.C: New test.
14737 * testsuite/libgomp.fortran/affinity1.f90: New test.
14738 * testsuite/libgomp.fortran/affinity2.f90: New test.
14739
1f600fea
TV
147402015-10-13 Tom de Vries <tom@codesourcery.com>
14741
14742 PR tree-optimization/67476
14743 * testsuite/libgomp.c/autopar-3.c: New test.
14744 * testsuite/libgomp.c/autopar-4.c: New test.
14745 * testsuite/libgomp.c/autopar-5.c: New test.
14746 * testsuite/libgomp.c/autopar-6.c: New test.
14747 * testsuite/libgomp.c/autopar-7.c: New test.
14748 * testsuite/libgomp.c/autopar-8.c: New test.
14749
058a654b
JN
147502015-10-12 James Norris <jnorris@codesourcery.com>
14751
14752 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14753 initializer.
14754
9e531d37
DM
147552015-10-09 David Malcolm <dmalcolm@redhat.com>
14756
14757 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14758 using load_gcc_lib.
14759
113020dc
TS
147602015-10-02 Thomas Schwinge <thomas@codesourcery.com>
14761
14762 * oacc-ptx.h: Remove file, moving its content into...
14763 * config/nvptx/fortran.c: ... here...
14764 * config/nvptx/oacc-init.c: ..., here...
14765 * config/nvptx/oacc-parallel.c: ..., and here.
14766 * config/nvptx/openacc.f90: New file.
14767 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14768 (link_ptx): Don't link in predefined bits of PTX code.
14769
cc3cd79b
NS
147702015-09-30 Nathan Sidwell <nathan@codesourcery.com>
14771 Bernd Schmidt <bernds@codesourcery.com>
14772
14773 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14774 (struct targ_ptx_obj): New.
14775 (nvptx_tdata): Move earlier, change data format.
14776 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
14777 objects.
14778 (GOMP_OFFLOAD_load_image): Adjust.
14779
4e2a5450
TS
147802015-09-30 Thomas Schwinge <thomas@codesourcery.com>
14781
14782 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14783 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14784 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14785 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14786 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14787 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14788 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14789 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14790 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14791 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14792 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14793 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14794 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14795 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14796 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14797 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14798 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14799 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14800 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14801 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14802 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14803 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14804 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14805 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14806 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14807 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14808 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14809 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14810 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14811 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14812 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14813 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14814 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14815 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14816 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14817 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14818 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14819 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14820 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14821 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14822 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14823 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14824 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14825 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14826 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14827 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14828 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14829 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14830 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14831 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14832 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14833 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14834 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14835 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14836 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14837 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14838 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14839 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14840 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14841 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14842 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14843 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14844 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14845
164453bb
NS
148462015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14847
14848 * oacc-init.c (acc_on_device): Force optimization level.
14849
a12a0437
NS
148502015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14851
14852 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14853 (cuda_errlist): Delete.
14854 (cuda_error): Reimplement.
14855
3e32ee19
NS
148562015-09-28 Nathan Sidwell <nathan@codesourcery.com>
14857
14858 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14859 array.
14860 * libgomp.map (GOACC_parallel_keyed): New.
14861 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
14862 all callers.
14863 (GOACC_parallel_keyed): New interface. Lose geometry arguments
14864 and take keyed varargs list. Adjust call to exec_func.
14865 (GOACC_parallel): Force host fallback.
14866 * libgomp_g.h (GOACC_parallel): Remove.
14867 (GOACC_parallel_keyed): Declare.
14868 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 14869 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
14870 (nvptx_exec): Lose separate geometry args, take array. Process
14871 dynamic dimensions and adjust.
14872 (struct nvptx_tdata): Replace fn_names field with fn_descs.
14873 (GOMP_OFFLOAD_load_image): Adjust for change in function table
14874 data.
14875 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14876 passing.
14877 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14878 passing.
14879
6bb4c3e2
CLT
148802015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
14881
14882 PR libgomp/67141
14883 * oacc-int.h (goacc_host_init): Add declaration.
14884 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14885 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14886
74032f47 148872015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 14888 Sebastian Pop <s.pop@samsung.com>
74032f47 14889
93d90219 14890 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
14891 match o/p.
14892 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14893 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14894 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14895 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14896 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14897
97875f4a
JJ
148982015-09-03 Jakub Jelinek <jakub@redhat.com>
14899
14900 * configure.tgt: Add missing ;; in between nvptx and rtems
14901 snippets.
14902
06441dd5
SH
149032015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14904
14905 * config/posix/pool.h (gomp_adjust_thread_attr): New.
14906 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
14907 (gomp_thread_pool_reservoir): Add priority member.
14908 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
14909 priority.
14910 (parse_thread_pools): Likewise.
14911 * team.c (gomp_team_start): Call configuration provided
14912 gomp_adjust_thread_attr(). Destroy thread attributes if
14913 necessary.
14914 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
14915
66c59f92
SH
149162015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14917
14918 * config/posix/pool.h: New.
14919 * config/rtems/pool.h: Likewise.
14920 * config/rtems/proc.c: Likewise.
14921 * libgomp.h (gomp_thread_destructor): Declare.
14922 * team.c: Include configuration provided "pool.h".
14923 (gomp_get_thread_pool): Define in configuration.
14924 (gomp_team_end): Call configuration defined
14925 gomp_release_thread_pool().
14926
13c41b2e
SH
149272015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14928
14929 * config/rtems/bar.c: New.
14930 * config/rtems/bar.h: Likewise.
14931 * config/rtems/mutex.c: Likewise.
14932 * config/rtems/mutex.h: Likewise.
14933 * config/rtems/sem.c: Likewise.
14934 * config/rtems/sem.h: Likewise.
14935 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
14936 <sys/lock.h> header file.
14937 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
14938 supported by Newlib.
14939 * configure: Regenerate.
14940
7892ec67
SH
149412015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14942
14943 * team.c (gomp_new_thread_pool): Delete and move content to ...
14944 (gomp_get_thread_pool): ... new function. Allocate and
14945 initialize thread pool on demand.
14946 (get_last_team): Use gomp_get_thread_pool().
14947 (gomp_team_start): Delete thread pool initialization.
14948
1b96e9a4
TV
149492015-09-03 Tom de Vries <tom@codesourcery.com>
14950
14951 PR tree-optimization/65637
14952 * testsuite/libgomp.c/autopar-2.c: New test.
14953
3ff2d74e
TV
149542015-08-29 Tom de Vries <tom@codesourcery.com>
14955
14956 PR tree-optimization/46193
14957 * testsuite/libgomp.c/pr46193.c: New test.
14958
2a21ff19
NS
149592015-08-24 Nathan Sidwell <nathan@codesourcery.com>
14960
14961 libgomp/
14962 * libgomp.map: Add 4.0.2 version.
14963 * target.c (offload_image_descr): Add version field.
14964 (gomp_load_image_to_device): Add version argument. Adjust plugin
14965 call. Improve load mismatch diagnostic.
14966 (gomp_unload_image_from_device): Add version argument. Adjust plugin
14967 call.
14968 (GOMP_offload_regster): Make stub function, move bulk to ...
14969 (GOMP_offload_register_ver): ... here. Process version argument.
14970 (GOMP_offload_unregister): Make stub function, move bulk to ...
14971 (GOMP_offload_unregister_ver): ... here. Process version argument.
14972 (gomp_init_device): Process version field.
14973 (gomp_unload_device): Process version field.
14974 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
14975 macros. Check plugin version.
14976 * libgomp.h (gomp_device_descr): Add version function field. Adjust
14977 loader and unloader types.
14978 * oacc-host.c: Include gomp-constants.h.
14979 (host_version): New.
14980 (host_load_image, host_unload_image): Adjust.
14981 (host_dispatch): Add host_version.
14982 * plugin/plugin-nvptx.c: Include gomp-constants.h.
14983 (GOMP_OFFLOAD_version): New.
14984 (GOMP_OFFLOAD_load_image): Add version arg and check it.
14985 (GOMP_OFFLOAD_unload_image): Likewise.
14986 * plugin/plugin-host.c: Include gomp-constants.h.
14987 (GOMP_OFFLOAD_version): New.
14988 (GOMP_OFFLOAD_load_image): Add version arg.
14989 (GOMP_OFFLOAD_unload_image): Likewise.
14990
1358a747
TV
149912015-08-24 Tom de Vries <tom@codesourcery.com>
14992
14993 PR tree-optimization/65468
14994 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
14995
6be5c241
TV
149962015-08-24 Tom de Vries <tom@codesourcery.com>
14997
14998 PR tree-optimization/65468
14999 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
15000
bfe7ac89
JV
150012015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
15002
15003 PR libgomp/66761
15004 PR libgomp/67303
15005 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
15006 (gomp_iter_guided_next): Idem.
15007 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
15008 (gomp_iter_ull_guided_next): Idem.
15009 * config/linux/wait.h (do_spin): Idem.
15010
b97e78b7
TS
150112015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15012
15013 * libgomp-plugin.h (enum offload_target_type): Remove
15014 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
15015 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
15016 * openacc.h (enum acc_device_t): Likewise.
15017 * openacc_lib.h: Likewise.
15018 * oacc-init.c (name_of_acc_device_t): Don't handle it.
15019 (acc_on_device): Just use __builtin_acc_on_device.
15020 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
15021 of acc_on_device builtin.
15022 * plugin/plugin-host.h: Remove file.
15023 * plugin/plugin-host.c: Likewise, but salvage some content into...
15024 * oacc-host.c: ... this file.
15025 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
15026 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
15027 * Makefile.in: Regenerate.
15028 * configure: Likewise.
15029 * testsuite/lib/libgomp.exp
15030 (check_effective_target_openacc_host_nonshm_selected): Remove.
15031 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
15032 ACC_DEVICE_TYPE=host_nonshm.
15033 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15034 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15035 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15036 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15037 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15038 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15039
44a7d18d
TS
150402015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15041 Jakub Jelinek <jakub@redhat.com>
15042
15043 * config/nvptx/affinity.c: New file.
15044 * config/nvptx/alloc.c: Likewise.
15045 * config/nvptx/bar.c: Likewise.
15046 * config/nvptx/barrier.c: Likewise.
15047 * config/nvptx/critical.c: Likewise.
15048 * config/nvptx/env.c: Likewise.
15049 * config/nvptx/error.c: Likewise.
15050 * config/nvptx/fortran.c: Likewise.
15051 * config/nvptx/iter.c: Likewise.
15052 * config/nvptx/iter_ull.c: Likewise.
15053 * config/nvptx/libgomp-plugin.c: Likewise.
15054 * config/nvptx/lock.c: Likewise.
15055 * config/nvptx/loop.c: Likewise.
15056 * config/nvptx/loop_ull.c: Likewise.
15057 * config/nvptx/mutex.c: Likewise.
15058 * config/nvptx/oacc-async.c: Likewise.
15059 * config/nvptx/oacc-cuda.c: Likewise.
15060 * config/nvptx/oacc-host.c: Likewise.
15061 * config/nvptx/oacc-init.c: Likewise.
15062 * config/nvptx/oacc-mem.c: Likewise.
15063 * config/nvptx/oacc-parallel.c: Likewise.
15064 * config/nvptx/oacc-plugin.c: Likewise.
15065 * config/nvptx/omp-lock.h: Likewise.
15066 * config/nvptx/ordered.c: Likewise.
15067 * config/nvptx/parallel.c: Likewise.
15068 * config/nvptx/proc.c: Likewise.
15069 * config/nvptx/ptrlock.c: Likewise.
15070 * config/nvptx/sections.c: Likewise.
15071 * config/nvptx/sem.c: Likewise.
15072 * config/nvptx/single.c: Likewise.
15073 * config/nvptx/splay-tree.c: Likewise.
15074 * config/nvptx/target.c: Likewise.
15075 * config/nvptx/task.c: Likewise.
15076 * config/nvptx/team.c: Likewise.
15077 * config/nvptx/time.c: Likewise.
15078 * config/nvptx/work.c: Likewise.
15079 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15080 * configure: Regenerate.
15081 * configure.tgt (config_path): Set to "nvptx" for target
15082 nvptx*-*-*.
15083
96a2d174
TS
150842015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15085
15086 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15087
9ebddeb0
NS
150882015-08-03 Nathan Sidwell <nathan@codesourcery.com>
15089
15090 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15091 (cuda_errlist): Constify.
15092 (errmsg): Move into ...
15093 (cuda_error): ... here. Make smaller.
15094 (_XSTR, _STR): Delete.
15095 (cuda_synames): Delete.
15096 (verify_device_library): Delete.
15097 (nvptx_init): Don't call it.
15098
12efb1d7
TV
150992015-07-28 Tom de Vries <tom@codesourcery.com>
15100
15101 * testsuite/libgomp.c/uns-outer-4.c: New test.
15102
710ee218
CP
151032015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15104
15105 * testsuite/libgomp.c/pr66714.c: New test.
15106
27c4ac7d
MB
151072015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15108
15109 PR libgomp/66950
15110 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15111 (fib_ref): New function.
15112 (fib): Correct corner cases in the recursion.
15113 (main): Replace the non-simd loop with fib_ref call.
15114 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15115 subroutine.
15116 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15117 for the last array element value. Replace the non-simd loop with
15118 fib_ref call. Remove redundant b_ref array. Remove the comparison
15119 of the last array element with according Fibonacci sequence element.
15120 (fib): Correct corner cases in the recursion.
15121
22be2349
NS
151222015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15123
15124 * target.c (gomp_offload_image_to_device): Rename to ...
15125 (gomp_load_image_to_device): ... here.
15126 (GOMP_offload_register): Adjust call.
15127 (gomp_init_device): Likewise.
15128 (gomp_unload_image_from_device): New. Broken out of ...
15129 (GOMP_offload_unregister): ... here. Call it.
15130 (gomp_unload_device): New.
15131 * libgomp.h (gomp_unload_device): Declare.
15132 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15133 mem maps.
15134
f3e9a059
NS
151352015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15136
a091118d
NS
15137 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15138 wait=-specific if.
15139 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15140 !=0 condition.
15141 (goacc_waits): Move !num_waits handling to ...
15142 (GOACC_wait): ... here, the only caller that might have zero waits.
15143
f3e9a059
NS
15144 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15145 (struct ptx_image_data): Move earlier, add fns field.
15146 (struct ptx_device): Add images and image_lock fields.
15147 (ptx_images, ptx_image_lock): Delete.
15148 (nvptx_open_device): Initialize images and image_lock fields.
15149 (nvptx_close_device): Destroy image_lock.
15150 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15151 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15152 fields.
15153
afb2d80b
NS
151542015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15155
896c28a7
NS
15156 * target.c (GOMP_offload_register): Use int for device type arg.
15157 (GOMP_offload_unregister): Likewise.
15158
ebe4a560
NS
15159 * target.c (struct_offload_image_descr): Constify host_table.
15160 (gomp_offload_image_to_device): Likewise.
15161 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15162
afb2d80b
NS
15163 * libgomp.h (gomp_device_descr): Constify target data arguments.
15164 * target.c (struct offload_image_descr): Constify target_data.
15165 (gomp_offload_image_to_device): Likewise.
15166 (GOMP_offload_register): Likewise.
93d90219 15167 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
15168 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15169 GOMP_OFFLOAD_unload_image): Constify target data.
15170 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15171 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15172
a4cb876d
NS
151732015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15174
15175 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15176 Workaround driver library const error.
15177 (struct nvptx_tdata, nvptx_tdata_t): New.
15178 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15179 type.
15180
28ef6a27
MB
151812015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15182
15183 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15184 of EPS parameter from integer to real.
15185 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15186 type of EPS parameter from integer to real.
15187
6dba0113
SH
151882015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15189
15190 * team.c (get_last_team): New.
15191 (gomp_new_team): Recycle last non-nested team if possible.
15192 (gomp_team_end): Move team work share list free lock destruction
15193 to ...
15194 (free_team): ... here.
15195
4c1cb4da
MB
151962015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15197
15198 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15199 and ref from int to double. Replaced their comparison with
15200 an inequality of their difference and EPS.
15201 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15202 comparison of pri and a reference number with an inequality of their
15203 difference and EPS.
15204 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15205 the comparison of sum and sum_ref with an inequality of their
15206 difference and EPS.
15207 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15208 the comparison of pri and a reference number with an inequality of
15209 their difference and EPS.
15210
343587dc
MB
152112015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15212
15213 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15214 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15215 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15216 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15217 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15218 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15219 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15220 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15221 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15222 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15223 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15224 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15225 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15226 variables.
15227 (vec_mult): Likewise. Add #pragma omp taskwait.
15228 (main): Adjust caller.
15229 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15230 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15231 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15232 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15233 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15234 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15235 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15236 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15237 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15238 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15239 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15240 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15241 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15242 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15243 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15244 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15245 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15246 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15247 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15248 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15249 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15250 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15251 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15252 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15253 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15254 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15255 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15256 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15257 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15258 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15259 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15260 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15261 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15262 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15263 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15264 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15265 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15266 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15267 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15268 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15269 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15270 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15271 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15272 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15273 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15274 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15275 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15276 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15277 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15278 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15279 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15280 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15281 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15282 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15283 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15284 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15285 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15286 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15287 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15288 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15289 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15290 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15291 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15292 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15293 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15294 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15295 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15296 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15297 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15298 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15299 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15300 (vec_mult): Add !$omp taskwait.
15301 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15302 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15303 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15304 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15305 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15306 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15307 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15308 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15309 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15310 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15311 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15312 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15313 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15314 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15315 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15316 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15317 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15318 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15319 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15320 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15321 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15322 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15323 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15324 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15325 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15326 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15327 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15328 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15329 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15330 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15331 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15332 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15333 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15334 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15335 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15336 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15337 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15338 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15339 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15340 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15341 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15342 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15343 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15344 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15345 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15346 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15347 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15348 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15349 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15350 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15351 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15352 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15353 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15354 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15355 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15356 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15357 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15358 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15359 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15360 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15361 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15362 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15363 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15364 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15365 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15366 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15367 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15368
9f620bf1
TV
153692015-07-10 Tom de Vries <tom@codesourcery.com>
15370
15371 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15372 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15373
a92defda
TS
153742015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15375
15376 PR libgomp/65099
15377 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15378 in a 64-bit configuration.
15379 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15380 offloading testing if no such device is available.
15381 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15382 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15383
cadb53a5
TV
153842015-07-08 Tom de Vries <tom@codesourcery.com>
15385
15386 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15387 second call to f.
15388 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15389
712cb0bb
TV
153902015-07-07 Tom de Vries <tom@codesourcery.com>
15391
15392 PR tree-optimization/66642
15393 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15394 iteration count case.
15395 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15396 function, factor out of ...
15397 (main): ... here. Test low iteration count case.
15398
e5210c77
SH
153992015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15400
15401 * libgomp.h (gomp_thread_pool): Comment last_team field.
15402
f70360e7
UB
154032015-07-02 Uros Bizjak <ubizjak@gmail.com>
15404
15405 * testsuite/libgomp.c++/pr66702-1.C: Require
15406 vect_simd_clones effective target.
15407 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15408
b451c271
TV
154092015-06-30 Tom de Vries <tom@codesourcery.com>
15410
15411 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15412 already set. Use DEFAULT_CFLAGS in dg-runtest.
15413 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15414 "-O2".
15415
f8e89d9f
TV
154162015-06-30 Tom de Vries <tom@codesourcery.com>
15417
15418 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15419 already set. Use DEFAULT_CFLAGS in dg-runtest.
15420 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15421 * testsuite/libgomp.c++/pr64824.C: Same.
15422 * testsuite/libgomp.c++/pr64868.C: Same.
15423 * testsuite/libgomp.c++/pr66199-1.C: Same.
15424 * testsuite/libgomp.c++/pr66199-2.C: Same.
15425 * testsuite/libgomp.c++/target-2.C: Same.
15426 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15427 -std=<standard> option.
15428 * testsuite/libgomp.c++/udr-11.C: Same.
15429 * testsuite/libgomp.c++/udr-12.C: Same.
15430 * testsuite/libgomp.c++/udr-13.C: Same.
15431 * testsuite/libgomp.c++/udr-14.C: Same.
15432 * testsuite/libgomp.c++/udr-15.C: Same.
15433 * testsuite/libgomp.c++/udr-16.C: Same.
15434 * testsuite/libgomp.c++/udr-17.C: Same.
15435 * testsuite/libgomp.c++/udr-18.C: Same.
15436 * testsuite/libgomp.c++/udr-19.C: Same.
15437 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15438 * testsuite/libgomp.c++/simd-1.C: Same.
15439 * testsuite/libgomp.c++/simd-2.C: Same.
15440 * testsuite/libgomp.c++/simd-3.C: Same.
15441 * testsuite/libgomp.c++/simd-4.C: Same.
15442 * testsuite/libgomp.c++/simd-5.C: Same.
15443 * testsuite/libgomp.c++/simd-6.C: Same.
15444 * testsuite/libgomp.c++/simd-7.C: Same.
15445 * testsuite/libgomp.c++/simd-8.C: Same.
15446 * testsuite/libgomp.c++/simd-9.C: Same.
15447 * testsuite/libgomp.c++/simd10.C: Same.
15448 * testsuite/libgomp.c++/simd11.C: Same.
15449 * testsuite/libgomp.c++/simd12.C: Same.
15450 * testsuite/libgomp.c++/simd13.C: Same.
15451
3446fe48
JJ
154522015-06-30 Jakub Jelinek <jakub@redhat.com>
15453
15454 PR middle-end/66702
15455 * testsuite/libgomp.c++/pr66702-1.C: New test.
15456 * testsuite/libgomp.c++/pr66702-2.C: New test.
15457
8a36714a
TV
154582015-06-30 Tom de Vries <tom@codesourcery.com>
15459
15460 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15461 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15462 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15463 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15464
4f75d608
TV
154652015-06-30 Tom de Vries <tom@codesourcery.com>
15466
15467 PR tree-optimization/66652
15468 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15469 using restrict pointers.
15470 (main): Add arguments to calls to f.
15471 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15472
6d9d1eeb
AT
154732015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15474
15475 * configure.ac: Fix check for header <sys/sysctl.h>.
15476 * configure: Regenerate.
15477 * config.h.in: Likewise.
15478
1222f22b
TV
154792015-06-23 Tom de Vries <tom@codesourcery.com>
15480
15481 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15482 abort.
15483 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15484
d7efbbf6
TS
154852015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15486
bfcd036f
TS
15487 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15488 acc_device_nvidia.
15489
d7efbbf6
TS
15490 PR libgomp/66518
15491 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15492 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15493
d7bfc710
TV
154942015-06-15 Tom de Vries <tom@codesourcery.com>
15495
15496 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15497 dg-additional-options for any remaining options.
15498 * testsuite/libgomp.c/atomic-2.c: Same.
15499 * testsuite/libgomp.c/atomic-4.c: Same.
15500 * testsuite/libgomp.c/atomic-5.c: Same.
15501 * testsuite/libgomp.c/atomic-6.c: Same.
15502 * testsuite/libgomp.c/autopar-1.c: Same.
15503 * testsuite/libgomp.c/copyin-1.c: Same.
15504 * testsuite/libgomp.c/copyin-2.c: Same.
15505 * testsuite/libgomp.c/copyin-3.c: Same.
15506 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15507 * testsuite/libgomp.c/nestedfn-5.c: Same.
15508 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15509 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15510 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15511 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15512 * testsuite/libgomp.c/pr32362-1.c: Same.
15513 * testsuite/libgomp.c/pr32362-2.c: Same.
15514 * testsuite/libgomp.c/pr32362-3.c: Same.
15515 * testsuite/libgomp.c/pr39591-1.c: Same.
15516 * testsuite/libgomp.c/pr39591-2.c: Same.
15517 * testsuite/libgomp.c/pr39591-3.c: Same.
15518 * testsuite/libgomp.c/pr58392.c: Same.
15519 * testsuite/libgomp.c/pr58756.c: Same.
15520 * testsuite/libgomp.c/simd-1.c: Same.
15521 * testsuite/libgomp.c/simd-10.c: Same.
15522 * testsuite/libgomp.c/simd-11.c: Same.
15523 * testsuite/libgomp.c/simd-12.c: Same.
15524 * testsuite/libgomp.c/simd-13.c: Same.
15525 * testsuite/libgomp.c/simd-14.c: Same.
15526 * testsuite/libgomp.c/simd-15.c: Same.
15527 * testsuite/libgomp.c/simd-2.c: Same.
15528 * testsuite/libgomp.c/simd-3.c: Same.
15529 * testsuite/libgomp.c/simd-4.c: Same.
15530 * testsuite/libgomp.c/simd-5.c: Same.
15531 * testsuite/libgomp.c/simd-6.c: Same.
15532 * testsuite/libgomp.c/simd-7.c: Same.
15533 * testsuite/libgomp.c/simd-8.c: Same.
15534 * testsuite/libgomp.c/simd-9.c: Same.
15535
fb5b5352
TV
155362015-06-15 Tom de Vries <tom@codesourcery.com>
15537
15538 * testsuite/libgomp.c/pr35625.c: Fix typo.
15539
ca431bef
TV
155402015-06-15 Tom de Vries <tom@codesourcery.com>
15541
15542 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15543 in dg-options.
15544 * testsuite/libgomp.c/atomic-3.c: Same.
15545 * testsuite/libgomp.c/debug-1.c: Same.
15546 * testsuite/libgomp.c/nqueens-1.c: Same.
15547 * testsuite/libgomp.c/pr26171.c: Same.
15548 * testsuite/libgomp.c/pr48591.c: Same.
15549 * testsuite/libgomp.c/pr64824.c: Same.
15550 * testsuite/libgomp.c/pr64868.c: Same.
15551 * testsuite/libgomp.c/pr66133.c: Same.
15552 * testsuite/libgomp.c/pr66199-1.c: Same.
15553 * testsuite/libgomp.c/pr66199-2.c: Same.
15554 * testsuite/libgomp.c/target-8.c: Same.
15555
0d8a9e20
TV
155562015-06-15 Tom de Vries <tom@codesourcery.com>
15557
15558 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15559 -std={gnu99,c99}.
15560 * testsuite/libgomp.c/for-1.c: Same.
15561 * testsuite/libgomp.c/for-2.c: Same.
15562 * testsuite/libgomp.c/for-3.c: Same.
15563 * testsuite/libgomp.c/pr35625.c: Same.
15564 * testsuite/libgomp.c/pr39154.c: Same.
15565 * testsuite/libgomp.c/simd-16.c: Same.
15566 * testsuite/libgomp.c/simd-17.c: Same.
15567
a6860be9
TV
155682015-06-13 Tom de Vries <tom@codesourcery.com>
15569
15570 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15571
ab3306d2
TV
155722015-06-13 Tom de Vries <tom@codesourcery.com>
15573
15574 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15575 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15576 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15577 (N): Define.
15578 (main): Use N instead of hardcoded constants.
15579
7c82d827
TV
155802015-06-05 Tom de Vries <tom@codesourcery.com>
15581
15582 merge from gomp4 branch:
15583 2015-05-28 Tom de Vries <tom@codesourcery.com>
15584
15585 PR tree-optimization/65443
15586 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15587 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15588 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15589
c469078d
BRF
155902015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15591
15592 * testsuite/libgomp.graphite/bounds.c: Adjust for
15593 cleanup-tree-dump removal.
15594 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15595 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15596 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15597 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15598 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15599 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15600 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15601 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15602 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15603 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15604
bb3caa35
UB
156052015-05-28 Uros Bizjak <ubizjak@gmail.com>
15606
15607 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15608 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15609 (futex_wake) [!__x86_64__]: Ditto.
15610
9fb5fd44
JB
156112015-05-28 Julian Brown <julian@codesourcery.com>
15612
15613 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15614 function comment. Only call gomp_fatal if new argument is true.
15615 (acc_dev_num_out_of_range): New function.
15616 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15617 acc_dev_num_out_of_range as appropriate.
15618 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
15619 (acc_get_device_num, acc_set_device_num): Update calls to
15620 resolve_device.
9fb5fd44
JB
15621 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15622 output.
15623
32eaed93
JB
156242015-05-28 Julian Brown <julian@codesourcery.com>
15625
15626 PR libgomp/65742
32eaed93
JB
15627 * oacc-init.c (plugin/plugin-host.h): Include.
15628 (acc_on_device): Check whether we're in an offloaded region for
15629 host_nonshm
15630 plugin. Don't use __builtin_acc_on_device.
15631 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15632 nonshm_exec flag in thread-local data.
15633 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15634 data for host_nonshm plugin.
15635 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15636 for host_nonshm plugin.
15637 * plugin/plugin-host.h: New.
15638
ea023bcf
UB
156392015-05-27 Uros Bizjak <ubizjak@gmail.com>
15640
8ed501f1
UB
15641 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15642
156432015-05-27 Uros Bizjak <ubizjak@gmail.com>
15644
15645 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15646 Declare as int.
15647 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15648 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15649 Declare as int.
15650
156512015-05-27 Uros Bizjak <ubizjak@gmail.com>
15652
bb3caa35 15653 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 15654
1716efeb
CLT
156552015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15656
15657 * target.c (gomp_map_pointer): New function abstracting out
15658 GOMP_MAP_POINTER handling.
15659 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15660 gomp_map_pointer().
15661
41b37d5e
JJ
156622015-05-19 Jakub Jelinek <jakub@redhat.com>
15663
15664 PR middle-end/66199
15665 * testsuite/libgomp.c/pr66199-1.c: New test.
15666 * testsuite/libgomp.c/pr66199-2.c: New test.
15667 * testsuite/libgomp.c++/pr66199-1.C: New test.
15668 * testsuite/libgomp.c++/pr66199-2.C: New test.
15669 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15670 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15671
c8319826
JB
156722015-05-19 Julian Brown <julian@codesourcery.com>
15673
15674 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15675 on cuInit failure.
15676
b37dddbc
JJ
156772015-05-13 Jakub Jelinek <jakub@redhat.com>
15678
15679 PR middle-end/66133
15680 * testsuite/libgomp.c/pr66133.c: New test.
15681
55fba601
MH
156822015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15683
15684 * Makefile.in: Regenerated with automake-1.11.6.
15685 * aclocal.m4: Likewise.
15686 * config.h.in: Likewise.
15687 * configure: Likewise.
15688 * testsuite/Makefile.in: Likewise.
15689
1be0899d
JM
156902015-05-08 Jason Merrill <jason@redhat.com>
15691
15692 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15693 _Complex.
15694
15695 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15696
d2463960
JB
156972015-05-06 Julian Brown <julian@codesourcery.com>
15698
15699 * oacc-init.c (acc_device_lock): Add explanatory comment.
15700 (resolve_device): Add comment about locking requirement.
15701 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15702 gomp_init_device and gomp_fini_device calls.
15703 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15704 (acc_get_device_num, acc_set_device_num): Add locking around
15705 resolve_device and gomp_init_device calls.
15706
e38fdba4
JB
157072015-05-06 Julian Brown <julian@codesourcery.com>
15708
15709 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15710 goacc_thread_lock on error paths.
15711 * oacc-mem.c (lookup_host): Remove locking from function. Note
15712 locking requirement for caller in function comment.
15713 (lookup_dev): Likewise.
15714 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15715 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15716 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15717 Add locking.
15718
ae8ffbbb
TS
157192015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15720
15721 PR testsuite/65205
15722 PR libgomp/65993
15723 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15724 don't expect "0x" prefix for "%p" format specifier, don't expect
15725 "(nil)" for NULL pointer.
15726 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15727 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15728 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15729 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15730 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15731 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15732 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15733 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15734 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15735 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15736 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15737 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15738 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15739 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15740 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15741 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15742 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15743 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15744 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15745 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15746 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15747 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15748 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15749 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15750 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15751 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15752 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15753 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15754 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15755 accurately specify what we're looking for.
15756 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15757 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15758 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15759 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15760 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15761
1309f1d2
JN
157622015-04-30 James Norris <jnorris@codesourcery.com>
15763
15764 PR testsuite/65205
15765 * testsuite/lib/libgomp.exp
15766 (check_effective_target_openacc_host_selected)
15767 (check_effective_target_openacc_host_nonshm_selected): New
15768 procedures.
15769 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15770 dg-shouldfail.
15771 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15772 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15773 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15774 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15775 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15776 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15777 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15778 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15779 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15780 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15781 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15782 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15783 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15784 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15785 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15786 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15787 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15788 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15789 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15790 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15791 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15792 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15793 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15794 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15795 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15796 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15797 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15798 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15799 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15800 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15801 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15802 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15803 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15804 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15805 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15806 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15807 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15808 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15809 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15810 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15811 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15812 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15813 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15814
d93bdab5
JB
158152015-04-08 Julian Brown <julian@codesourcery.com>
15816
15817 * libgomp.h (target_mem_desc: Remove mem_map field.
15818 (acc_dispatch_t): Remove open_device_func, close_device_func,
15819 get_device_num_func, set_device_num_func, target_data members.
15820 Change create_thread_data_func argument to device number instead of
15821 generic pointer.
15822 * oacc-async.c (assert.h): Include.
15823 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15824 (acc_wait_all, acc_wait_all_async): Use current host thread's
15825 active device, not base_dev.
15826 * oacc-cuda.c (acc_get_current_cuda_device)
15827 (acc_get_current_cuda_context, acc_get_cuda_stream)
15828 (acc_set_cuda_stream): Likewise.
15829 * oacc-host.c (host_dispatch): Don't set open_device_func,
15830 close_device_func, get_device_num_func or set_device_num_func.
15831 * oacc-init.c (base_dev, init_key): Remove.
15832 (cached_base_dev): New.
15833 (name_of_acc_device_t): New.
15834 (acc_init_1): Initialise default-numbered device, not zeroth.
15835 (acc_shutdown_1): Close all devices of a given type.
15836 (goacc_destroy_thread): Don't use base_dev.
15837 (lazy_open, lazy_init, lazy_init_and_open): Remove.
15838 (goacc_attach_host_thread_to_device): New.
15839 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15840 (acc_get_num_devices): Don't use base_dev.
15841 (acc_set_device_type): Reimplement.
15842 (acc_get_device_type): Don't use base_dev.
15843 (acc_get_device_num): Tweak logic.
15844 (acc_set_device_num): Likewise.
15845 (acc_on_device): Use acc_get_device_type.
15846 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15847 (goacc_lazy_initialize): Reimplement with acc_init and
15848 goacc_attach_host_thread_to_device.
15849 * oacc-int.h (goacc_thread): Add base_dev field.
15850 (base_dev): Remove extern declaration.
15851 (goacc_attach_host_thread_to_device): Add prototype.
15852 * oacc-mem.c (acc_malloc): Use current thread's device instead of
15853 base_dev.
15854 (acc_free): Likewise.
15855 (acc_memcpy_to_device): Likewise.
15856 (acc_memcpy_from_device): Likewise.
15857 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15858 goacc_lazy_initialize (throughout).
15859 (GOACC_parallel): Use tgt_offset to locate target functions.
15860 * target.c (gomp_map_vars): Don't set tgt->mem_map.
15861 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15862 (gomp_load_plugin_for_device): Remove open_device, close_device,
15863 get_device_num, set_device_num openacc hook initialisation. Don't set
15864 openacc.target_data.
15865 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15866 (GOMP_OFFLOAD_openacc_close_device)
15867 (GOMP_OFFLOAD_openacc_get_device_num)
15868 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15869 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15870 to int.
15871 * plugin/plugin-nvptx.c (ptx_inited): Remove.
15872 (instantiated_devices, ptx_dev_lock): New.
15873 (struct ptx_image_data): New.
15874 (ptx_devices, ptx_images, ptx_image_lock): New.
15875 (fini_streams_for_device): Reorder cuStreamDestroy call.
15876 (nvptx_get_num_devices): Remove forward declaration.
15877 (nvptx_init): Change return type to bool.
15878 (nvptx_fini): Remove.
15879 (nvptx_attach_host_thread_to_device): New.
15880 (nvptx_open_device): Return struct ptx_device* instead of void*.
15881 (nvptx_close_device): Change argument type to struct ptx_device*,
15882 return type to void.
15883 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15884 (kernel_target_data, kernel_host_table): Remove static globals.
15885 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15886 (GOMP_OFFLOAD_init_device): Reimplement.
15887 (GOMP_OFFLOAD_fini_device): Likewise.
15888 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15889 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15890 (GOMP_OFFLOAD_host2dev): Use ORD argument.
15891 (GOMP_OFFLOAD_openacc_open_device)
15892 (GOMP_OFFLOAD_openacc_close_device)
15893 (GOMP_OFFLOAD_openacc_set_device_num)
15894 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15895 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15896 (device number).
15897
15898 testsuite/
15899 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
15900
a51df54e
IV
159012015-04-06 Ilya Verbin <ilya.verbin@intel.com>
15902
15903 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
15904 * libgomp.h (struct gomp_memory_mapping): Remove.
15905 (struct target_mem_desc): Change type of mem_map from
15906 gomp_memory_mapping * to splay_tree_s *.
15907 (struct gomp_device_descr): Remove register_image_func, get_table_func.
15908 Add load_image_func, unload_image_func.
15909 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
15910 Remove offload_regions_registered.
15911 (gomp_init_tables): Remove.
15912 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15913 to splay_tree_s *.
15914 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
15915 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
15916 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
15917 offload_regions_registered.
15918 Initialize load_image_func, unload_image_func, mem_map.root.
15919 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
15920 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
15921 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
15922 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
15923 gomp_memory_mapping *. Use dev's lock and splay_tree.
15924 (lookup_dev): Use dev's lock.
15925 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
15926 (acc_is_present): Likewise.
15927 (acc_map_data): Likewise.
15928 (acc_unmap_data): Likewise. Use dev's lock.
15929 (present_create_copy): Likewise.
15930 (delete_copyout): Pass dev to lookup_host instead of mem_map.
15931 (update_dev_host): Likewise.
15932 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
15933 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
15934 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
15935 (GOMP_OFFLOAD_get_table): Remove
15936 (GOMP_OFFLOAD_load_image): New function.
15937 (GOMP_OFFLOAD_unload_image): New function.
15938 * target.c (register_lock): New mutex for offload image registration.
15939 (num_devices): Do not guard with PLUGIN_SUPPORT.
15940 (gomp_realloc_unlock): New static function.
15941 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
15942 before gomp_fatal.
15943 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
15944 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
15945 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
15946 mem_map's.
15947 (gomp_unmap_vars): Likewise.
15948 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
15949 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
15950 (gomp_offload_image_to_device): New static function.
15951 (GOMP_offload_register): Add mutex lock.
15952 Call gomp_offload_image_to_device for all initialized devices.
15953 Replace gomp_realloc with gomp_realloc_unlock.
15954 (GOMP_offload_unregister): New function.
15955 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
15956 get_table_func from the plugin with calls to init_device_func and
15957 gomp_offload_image_to_device.
15958 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15959 to splay_tree_s *.
15960 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
15961 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
15962 (GOMP_target_data): Do not call gomp_init_tables.
15963 (GOMP_target_update): Likewise. Remove argument from gomp_update.
15964 (gomp_load_plugin_for_device): Replace register_image and get_table
15965 with load_image and unload_image in DLSYM ().
15966 (gomp_register_images_for_device): Remove function.
15967 (gomp_target_init): Do not initialize current_device.mem_map.*,
15968 current_device.offload_regions_registered.
15969 Remove call to gomp_register_images_for_device.
15970 Do not free offload_images and num_offload_images.
15971
6c384511
JJ
159722015-03-30 Jakub Jelinek <jakub@redhat.com>
15973
15974 PR fortran/65597
15975 * testsuite/libgomp.fortran/pr65597.f90: New test.
15976
3e8165a5
TV
159772015-03-27 Tom de Vries <tom@codesourcery.com>
15978
15979 PR testsuite/65594
15980 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
15981 (init, check): New function.
15982 (foo): Change return type to void.
15983 (main): Call init and check.
15984
4d688c9a
TV
159852015-03-27 Tom de Vries <tom@codesourcery.com>
15986
15987 PR testsuite/65594
15988 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
15989 (foo): Use M for non-inner loops to scale down test-case.
15990
01c0b3b0
KT
159912015-03-25 Kai Tietz <ktietz@redhat.com>
15992
15993 PR libgomp/64972
15994 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
15995 (GOACC_data_start): Likewise.
15996 * target.c (gomp_map_vars): Likewise.
15997
844d9a76
JDA
159982015-03-21 John David Anglin <danglin@gcc.gnu.org>
15999
16000 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
16001 hppa*-*-hpux*.
16002
9b65e171
JJ
160032015-03-19 Jakub Jelinek <jakub@redhat.com>
16004
16005 * testsuite/libgomp.c/target-10.c: New test.
16006 * testsuite/libgomp.c++/target-4.C: New test.
16007
db397e2e
IV
160082015-03-13 Ilya Verbin <ilya.verbin@intel.com>
16009
16010 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
16011 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
16012
cd93945d
SH
160132015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
16014
16015 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
16016 * configure.ac (*-*-rtems*): Assume Pthread is supported.
16017 (pthread.h): Check for this header file.
16018 * configure: Regenerate.
16019
05deba9f
TV
160202015-02-25 Tom de Vries <tom@codesourcery.com>
16021
16022 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
16023 (check_reduction_op, check_reduction_macro, max, min):
16024 Declare.
16025 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
16026 function.
16027 (main): Use new functions.
16028
196904d8
IT
160292015-02-18 Ilya Tocar <ilya.tocar@intel.com>
16030
16031 * target.c (gomp_load_plugin_for_device): Use const char * instead of
16032 char * for variables holding dlerror return values.
16033 (DLSYM_OPT): Ditto.
16034
a2818955
TS
160352015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16036
16037 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
16038
26f93312
TS
160392015-02-17 Thomas Schwinge <thomas@codesourcery.com>
16040 Cesar Philippidis <cesar@codesourcery.com>
16041
16042 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
16043 GOACC_ctaid, and GOACC_nctaid routines.
16044
fa01ffcc
JJ
160452015-02-11 Jakub Jelinek <jakub@redhat.com>
16046
16047 PR c/64824
16048 * testsuite/libgomp.c/atomic-18.c: New test.
16049 * testsuite/libgomp.c++/atomic-16.C: New test.
16050
4886ec8e
JJ
160512015-02-04 Jakub Jelinek <jakub@redhat.com>
16052
16053 PR c/64824
16054 PR c/64868
16055 * testsuite/libgomp.c/pr64824.c: New test.
16056 * testsuite/libgomp.c/pr64868.c: New test.
16057 * testsuite/libgomp.c++/pr64824.C: New test.
16058 * testsuite/libgomp.c++/pr64868.C: New test.
16059
02d3e45e
DE
160602015-02-01 David Edelsohn <dje.gcc@gmail.com>
16061
16062 PR libgomp/64635
16063 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16064 Link with -lpthread.
16065 * config/aix/plugin-suffix.h: Delete.
16066
b5f7a6ca
JH
160672015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
16068
16069 PR libgomp/64635
16070 * configure.tgt (*-*-aix*): Use config_path "aix posix".
16071 (*-*-darwin*): Use config_path "bsd darwin posix".
16072 (*-*-hpux*): Use config_path "hpux posix".
16073 * target.c: Add include of plugin-suffix.h and use
16074 SONAME_SUFFIX macro.
16075 * config/aix/plugin-suffix.h: New file.
16076 * config/darwin/plugin-suffix.h: New file.
16077 * config/hpux/plugin-suffix.h: New file.
16078 * config/posix/plugin-suffix.h: New file.
16079
b8910447
JJ
160802015-01-23 Jakub Jelinek <jakub@redhat.com>
16081
16082 PR middle-end/64734
16083 * libgomp.c/pr64734.c: New test.
16084
a0c88d06
TV
160852015-01-23 Tom de Vries <tom@codesourcery.com>
16086
16087 PR libgomp/64672
16088 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16089
1506ae0e
TV
160902015-01-23 Tom de Vries <tom@codesourcery.com>
16091
16092 PR libgomp/64707
16093 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16094 dg-options.
16095
128b26dc
TS
160962015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16097
bed62c21 16098 PR libgomp/64625
128b26dc
TS
16099 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16100 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16101 formal parameter. Update all users.
16102 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16103 Document unused formal parameter.
16104
6e36114c
TS
161052015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16106
16107 * oacc-parallel.c: Don't include <alloca.h>.
16108 (GOACC_parallel): Use gomp_alloca instead of alloca.
16109
973e9808
GP
161102015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16111
16112 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16113
41dbbb37
TS
161142015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16115 James Norris <jnorris@codesourcery.com>
16116 Tom de Vries <tom@codesourcery.com>
16117 Julian Brown <julian@codesourcery.com>
16118 Cesar Philippidis <cesar@codesourcery.com>
16119 Nathan Sidwell <nathan@codesourcery.com>
16120 Tobias Burnus <burnus@net-b.de>
16121
16122 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16123 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16124 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16125 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16126 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16127 Include $(top_srcdir)/plugin/Makefrag.am.
16128 (nodist_libsubinclude_HEADERS): Add openacc.h.
16129 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16130 openacc.f90, openacc.mod, openacc_kinds.mod.
16131 (omp_lib.mod): Generalize into...
16132 (%.mod): ... this new rule.
16133 (openacc_kinds.mod, openacc.mod): New rules.
16134 * plugin/configfrag.ac: New file.
16135 * configure.ac: Move plugin/offloading support into it. Include
16136 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16137 * plugin/Makefrag.am: New file.
16138 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16139 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16140 export.
16141 (libgomp-test-support.exp): New rule.
16142 (all-local): Depend on it.
16143 * Makefile.in: Regenerate.
16144 * testsuite/Makefile.in: Regenerate.
16145 * config.h.in: Likewise.
16146 * configure: Likewise.
16147 * configure.tgt: Harden shell syntax.
16148 * env.c: Include "oacc-int.h".
16149 (parse_acc_device_type): New function.
16150 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16151 variables.
16152 (initialize_env): Initialize those. Call
16153 goacc_runtime_initialize.
16154 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16155 (gomp_fatal): Call gomp_vfatal.
16156 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16157 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16158 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16159 (splay_tree_node, splay_tree, splay_tree_key)
16160 (struct target_mem_desc, struct splay_tree_key_s)
16161 (struct gomp_memory_mapping, struct acc_dispatch_t)
16162 (struct gomp_device_descr, gomp_acc_insert_pointer)
16163 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16164 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16165 (gomp_free_memmap, gomp_fini_device): New declarations.
16166 (gomp_vdebug, gomp_debug): New macros.
16167 Include "splay-tree.h".
16168 * libgomp.map (OACC_2.0): New symbol version. Use for
16169 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16170 acc_set_device_type_h_, acc_get_device_type,
16171 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16172 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16173 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16174 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16175 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16176 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16177 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16178 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16179 acc_copyin_array_h_, acc_present_or_copyin,
16180 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16181 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16182 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16183 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16184 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16185 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16186 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16187 acc_update_device, acc_update_device_32_h_,
16188 acc_update_device_64_h_, acc_update_device_array_h_,
16189 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16190 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16191 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16192 acc_is_present_64_h_, acc_is_present_array_h_,
16193 acc_memcpy_to_device, acc_memcpy_from_device,
16194 acc_get_current_cuda_device, acc_get_current_cuda_context,
16195 acc_get_cuda_stream, acc_set_cuda_stream.
16196 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16197 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16198 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16199 GOACC_get_num_threads.
16200 (GOMP_PLUGIN_1.0): New symbol version. Use for
16201 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16202 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16203 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16204 GOMP_PLUGIN_acc_thread.
16205 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16206 environment variable.
16207 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16208 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16209 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16210 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16211 (splay_tree_remove): New declarations.
16212 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16213 (splay_tree_remove, splay_tree_lookup): Move into...
16214 * splay-tree.c: ... this new file.
16215 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16216 (splay_tree_node, splay_tree, splay_tree_key)
16217 (struct target_mem_desc, struct splay_tree_key_s)
16218 (struct gomp_device_descr): Don't declare.
16219 (num_devices_openmp): New variable.
16220 (gomp_get_num_devices ): Use it.
16221 (gomp_init_targets_once): New function.
16222 (gomp_get_num_devices ): Use it.
16223 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16224 (gomp_fini_device, gomp_register_image_for_device): New functions.
16225 (gomp_map_vars): Add devaddrs parameter.
16226 (gomp_update): Add mm parameter.
16227 (gomp_init_device): Move most of it into...
16228 (gomp_init_tables): ... this new function.
16229 (gomp_register_images_for_device): Remove function.
16230 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16231 Make them hidden instead of static.
16232 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16233 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16234 (GOMP_target_end_data, GOMP_target_update)
16235 (gomp_load_plugin_for_device, gomp_target_init): Update for
16236 OpenACC changes.
16237 * oacc-async.c: New file.
16238 * oacc-cuda.c: Likewise.
16239 * oacc-host.c: Likewise.
16240 * oacc-init.c: Likewise.
16241 * oacc-int.h: Likewise.
16242 * oacc-mem.c: Likewise.
16243 * oacc-parallel.c: Likewise.
16244 * oacc-plugin.c: Likewise.
16245 * oacc-plugin.h: Likewise.
16246 * oacc-ptx.h: Likewise.
16247 * openacc.f90: Likewise.
16248 * openacc.h: Likewise.
16249 * openacc_lib.h: Likewise.
16250 * plugin/plugin-host.c: Likewise.
16251 * plugin/plugin-nvptx.c: Likewise.
16252 * libgomp-plugin.c: Likewise.
16253 * libgomp-plugin.h: Likewise.
16254 * libgomp_target.h: Remove file after merging content into the
16255 former file. Update all users.
16256 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16257 (offload_targets_s, offload_targets_s_openacc): New variables.
16258 (check_effective_target_openacc_nvidia_accel_present)
16259 (check_effective_target_openacc_nvidia_accel_selected): New
16260 procedures.
16261 (libgomp_init): Update for OpenACC changes.
16262 * testsuite/libgomp-test-support.exp.in: New file.
16263 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16264 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16265 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16266 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16267 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16268 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16269 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16270 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16271 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16272 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16273 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16274 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16275 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16276 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16277 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16278 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16279 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16280 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16281 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16282 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16283 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16284 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16285 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16286 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16287 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16288 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16289 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16290 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16291 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16292 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16293 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16294 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16295 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16296 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16297 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16298 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16299 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16300 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16301 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16302 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16303 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16304 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16305 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16306 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16307 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16308 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16309 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16310 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16311 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16312 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16313 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16314 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16315 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16316 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16317 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16318 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16319 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16320 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16321 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16322 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16323 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16324 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16325 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16326 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16327 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16328 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16329 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16330 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16331 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16332 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16333 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16334 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16335 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16336 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16337 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16338 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16339 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16340 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16341 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16342 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16343 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16344 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16345 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16346 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16347 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16348 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16349 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16350 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16351 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16352 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16353 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16354 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16355 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16356 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16357 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16358 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16359 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16360 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16361 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16362 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16363 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16364 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16365 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16366 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16367 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16368 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16369 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16370 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16371 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16372 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16373 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16374 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16375 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16376 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16377 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16378 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16379 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16380 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16381 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16382 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16383 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16384 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16385 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16386 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16387 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16388 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16389 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16390 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16391 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16392 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16393 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16394 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16395 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16396 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16397 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16398 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16399 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16400 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16401 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16402 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16403 Likewise.
16404 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16405 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16406 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16407 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16408 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16409 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16410 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16411 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16412 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16413 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16414 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16415 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16416 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16417 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16418 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16419 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16420 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16421 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16422 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16423 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16424 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16425 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16426 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16427 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16428 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16429 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16430 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16431 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16432 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16433 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16434 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16435 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16436 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16437 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16438 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16439 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16440 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16441 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16442 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16443 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16444 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16445 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16446 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16447 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16448 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16449 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16450 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16451 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16452 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16453 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16454 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16455 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16456 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16457 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16458 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16459 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16460 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16461 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16462 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16463 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16464
f1f3453e
TS
164652015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16466 Julian Brown <julian@codesourcery.com>
16467 David Malcolm <dmalcolm@redhat.com>
16468
16469 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16470 to "GNU Offloading and Multi Processing Runtime Library". Change
16471 all users.
16472 * configure: Regenerate.
16473 * libgomp.texi: Update.
16474
f9a0eca4
TS
164752015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16476
b335ef4e
TS
16477 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16478 "$tgt_dir/lib32".
16479 * configure: Regenerate.
16480
f9a0eca4
TS
16481 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16482 "intelmic" in $offload_targets.
16483
b67cd4e3
JJ
164842015-01-05 Jakub Jelinek <jakub@redhat.com>
16485
5624e564
JJ
16486 Update copyright years.
16487
b67cd4e3
JJ
16488 * libgomp.texi: Bump @copying's copyright year.
16489
3b41b583
KT
164902014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16491
16492 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 16493 Move load of target-supports.exp earlier.
3b41b583 16494
2354caec
IV
164952014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16496
16497 * testsuite/libgomp.c/target-9.c: New test.
16498
f50eecba
VR
164992014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16500
16501 * config.h.in: Regenerate.
16502 * configure: Regenerate.
16503 * configure.ac: Add GCC_CHECK_EMUTLS.
16504 * libgomp.h: Add check for USE_EMUTLS: this case
16505 is equal to HAVE_TLS.
16506 * team.c: Likewise.
16507
68bc9270
UB
165082014-12-03 Uros Bizjak <ubizjak@gmail.com>
16509
16510 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16511
476ff787
AT
165122014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16513 Ilya Verbin <ilya.verbin@intel.com>
16514
16515 * testsuite/libgomp.c/target-critical-1.c: New test.
16516
31a30e62
JJ
165172014-11-26 Jakub Jelinek <jakub@redhat.com>
16518
16519 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 16520 to dg-options unless expensive testing is on.
31a30e62
JJ
16521 (TESTITERS): Define to N if not defined.
16522 (main): Use TESTITERS instead of N.
16523 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16524 dg-additional-options depending on whether expensive testing is on.
16525 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16526 Decrease N to 100000 and CHUNKSZ to 10000.
16527
3f9e8f13
JJ
165282014-11-24 Jakub Jelinek <jakub@redhat.com>
16529
16530 PR fortran/63938
31a30e62
JJ
16531 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16532 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 16533
c8451a46
SE
165342014-11-21 Steve Ellcey <sellcey@imgtec.com>
16535
16536 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16537
a699d672
L
165382014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16539
16540 PR bootstrap/63784
16541 * configure: Regenerated.
16542
4a19f719
UB
165432014-11-19 Uros Bizjak <ubizjak@gmail.com>
16544
16545 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16546 vect_simd_clones effective target.
16547 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16548
b1bf6c52
JJ
165492014-11-14 Jakub Jelinek <jakub@redhat.com>
16550
16551 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16552 of 32 as block_size.
16553 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16554 instead of 32 as block_size.
16555
d64ae614
AT
165562014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16557 Ilya Verbin <ilya.verbin@intel.com>
16558
16559 * Makefile.in: Regenerate.
16560 * configure: Regenerate.
16561 * configure.ac: Set up offload_additional_options,
16562 offload_additional_lib_paths and offload_targets.
16563 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16564 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16565 * testsuite/Makefile.in: Regenerate.
16566 * testsuite/lib/libgomp.exp (libgomp_init): Append
16567 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16568 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16569 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16570
122d7303
AT
165712014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16572 Ilya Verbin <ilya.verbin@intel.com>
16573 Kirill Yukhin <kirill.yukhin@intel.com>
16574 Ilya Tocar <ilya.tocar@intel.com>
16575
16576 * testsuite/lib/libgomp.exp
16577 (check_effective_target_offload_device): New.
16578 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16579 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16580 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16581 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16582 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16583 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16584 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16585 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16586 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16587 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16588 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16589 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16590 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16591 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16592 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16593 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16594 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16595 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16596 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16597 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16598 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16599 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16600 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16601 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16602 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16603 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16604 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16605 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16606 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16607 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16608 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16609 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16610 * testsuite/libgomp.c/target-7.c: Fix test.
16611 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16612 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16613 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16614 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16615 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16616 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16617 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16618 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16619 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16620 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16621 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16622 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16623 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16624 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16625 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16626 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16627 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16628 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16629 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16630 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16631 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16632 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16633 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16634 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16635 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16636 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16637 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16638 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16639 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16640 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16641 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16642
1df3f842
JJ
166432014-11-13 Jakub Jelinek <jakub@redhat.com>
16644 Ilya Verbin <ilya.verbin@intel.com>
16645 Thomas Schwinge <thomas@codesourcery.com>
16646 Andrey Turetskiy <andrey.turetskiy@intel.com>
16647
16648 * libgomp.map (GOMP_4.0.1): New symbol version.
16649 Add GOMP_offload_register.
16650 * libgomp_target.h: New file.
16651 * splay-tree.h: New file.
16652 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16653 (gomp_target_init): New forward declaration.
16654 (gomp_is_initialized): New static variable.
16655 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16656 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16657 New structures.
16658 (offload_images, num_offload_images, devices, num_devices): New static
16659 variables.
16660 (splay_compare): New static function.
16661 (struct gomp_device_descr): New structure.
16662 (gomp_get_num_devices): Call gomp_target_init.
16663 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16664 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16665 (GOMP_offload_register): New function.
16666 (GOMP_target): Arrange for host callback to be performed in a separate
16667 initial thread and contention group, inheriting ICVs from
16668 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16669 Add device initialization and lookup for target function in splay tree.
16670 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16671 (GOMP_target_end_data): Call gomp_unmap_vars.
16672 (GOMP_target_update): Add device initialization and call gomp_update.
16673 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16674 (gomp_target_init): New static functions.
16675
85c64bbe
BS
166762014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16677 Thomas Schwinge <thomas@codesourcery.com>
16678 Ilya Verbin <ilya.verbin@intel.com>
16679 Andrey Turetskiy <andrey.turetskiy@intel.com>
16680
16681 * config.h.in: Regenerate.
16682 * configure: Regenerate.
16683 * configure.ac: Check for libdl, required for plugin support.
16684 (PLUGIN_SUPPORT): Define if plugins are supported.
16685 (enable_offload_targets): Support Intel MIC targets.
16686 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16687
ebf6d33b
FXC
166882014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16689
16690 PR target/63610
16691 * configure: Regenerate.
16692
8c768629
RO
166932014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16694
16695 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16696
c1d62412
MP
166972014-10-06 Marek Polacek <polacek@redhat.com>
16698
16699 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16700 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16701 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16702 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16703
44a0c6cb
MP
167042014-10-06 Marek Polacek <polacek@redhat.com>
16705
16706 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16707 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16708 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16709 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16710 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16711 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16712 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16713 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16714 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16715 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16716 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16717 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16718 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16719 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16720 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16721 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16722 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16723 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16724 declarations.
16725
5771c391
JJ
167262014-10-03 Jakub Jelinek <jakub@redhat.com>
16727
16728 PR libgomp/61200
16729 * testsuite/libgomp.c/pr61200.c: New test.
16730
bce16b88
JJ
167312014-09-18 Jakub Jelinek <jakub@redhat.com>
16732
16733 PR c++/63248
16734 * testsuite/libgomp.c++/pr63248.C: New test.
16735
3696163c
JJ
167362014-08-04 Jakub Jelinek <jakub@redhat.com>
16737
16738 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16739 is not zero, but taskgroup->children is NULL and there are
16740 any task->children, schedule those instead of waiting.
16741 * testsuite/libgomp.c/depend-6.c: New test.
16742 * testsuite/libgomp.c/depend-7.c: New test.
16743 * testsuite/libgomp.c/depend-8.c: New test.
16744 * testsuite/libgomp.c/depend-9.c: New test.
16745 * testsuite/libgomp.c/depend-10.c: New test.
16746
0494285a
JJ
167472014-08-01 Jakub Jelinek <jakub@redhat.com>
16748
16749 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16750 (struct gomp_taskwait): New type.
16751 (struct gomp_task): Add taskwait and parent_depends_on, remove
16752 in_taskwait and taskwait_sem fields.
16753 (gomp_finish_task): Don't destroy taskwait_sem.
16754 * task.c (gomp_init_task): Don't init in_taskwait, instead init
16755 taskwait and parent_depends_on.
16756 (GOMP_task): For if (0) tasks with depend clause that depend on
16757 earlier tasks don't defer them, instead call
16758 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16759 Initialize redundant_out field, for redundant out entries just
16760 move them at the end of linked list instead of removing them
16761 completely, and set redundant_out flag instead of redundant.
16762 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16763 that task.
16764 (gomp_task_run_post_handle_dependers): If parent is in
16765 gomp_task_maybe_wait_for_dependencies and newly runnable task
16766 is not parent_depends_on, queue it in parent->children linked
16767 list after all runnable tasks with parent_depends_on set.
16768 Adjust for addition of taskwait indirection.
16769 (gomp_task_run_post_remove_parent): If parent is in
16770 gomp_task_maybe_wait_for_dependencies and task to be removed
16771 is parent_depends_on, decrement n_depend and if needed awake
16772 parent. Adjust for addition of taskwait indirection.
16773 (GOMP_taskwait): Adjust for addition of taskwait indirection.
16774 (gomp_task_maybe_wait_for_dependencies): New function.
16775 * testsuite/libgomp.c/depend-5.c: New test.
16776
60ab4b44
TB
167772014-07-13 Tobias Burnus <burnus@net-b.de>
16778
16779 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 16780 with TS 18508/Fortran 2015.
60ab4b44 16781
773ec47f
MP
167822014-07-06 Marek Polacek <polacek@redhat.com>
16783
16784 PR c/6940
16785 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16786
f707da16
JJ
167872014-07-03 Jakub Jelinek <jakub@redhat.com>
16788
16789 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16790 matches regex $lang_source_re, add $lang_include_flags to options.
16791 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16792 * testsuite/libgomp.c++/c++.exp: Likewise.
16793 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
16794 and lang_include_flags instead of adding -fintrinsic-modules-path= to
16795 ALWAYS_CFLAGS.
16796 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16797
07b6c044
TS
167982014-07-03 Thomas Schwinge <thomas@codesourcery.com>
16799
16800 * testsuite/libgomp.fortran/fortran.exp: Explain
16801 gfortran-dg-runtest usage.
16802
da6f124d
JJ
168032014-06-25 Jakub Jelinek <jakub@redhat.com>
16804
16805 * testsuite/libgomp.fortran/simd5.f90: New test.
16806 * testsuite/libgomp.fortran/simd6.f90: New test.
16807 * testsuite/libgomp.fortran/simd7.f90: New test.
16808
b46ebd6c
JJ
168092014-06-24 Jakub Jelinek <jakub@redhat.com>
16810
56ad0e38
JJ
16811 * testsuite/libgomp.c/for-2.c: Define SC to static for
16812 #pragma omp for simd testing.
16813 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16814 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16815 SC macro.
16816 * testsuite/libgomp.c/simd-14.c: New test.
16817 * testsuite/libgomp.c/simd-15.c: New test.
16818 * testsuite/libgomp.c/simd-16.c: New test.
16819 * testsuite/libgomp.c/simd-17.c: New test.
16820 * testsuite/libgomp.c++/for-10.C: Define SC to static for
16821 #pragma omp for simd testing.
16822 * testsuite/libgomp.c++/simd10.C: New test.
16823 * testsuite/libgomp.c++/simd11.C: New test.
16824 * testsuite/libgomp.c++/simd12.C: New test.
16825 * testsuite/libgomp.c++/simd13.C: New test.
16826
b46ebd6c
JJ
16827 * testsuite/libgomp.fortran/aligned1.f03: New test.
16828 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16829 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16830 tasks with !$omp parallel !$omp single.
16831 * testsuite/libgomp.fortran/target8.f90: New test.
16832 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16833 not to use trim in the combiner, instead call elemental function.
16834 (fn): New elemental function.
16835 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16836 Make elemental.
16837 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16838 omp_in): Likewise.
16839 * testsuite/libgomp.fortran/udr12.f90: New test.
16840 * testsuite/libgomp.fortran/udr13.f90: New test.
16841 * testsuite/libgomp.fortran/udr14.f90: New test.
16842 * testsuite/libgomp.fortran/udr15.f90: New test.
16843
f014c653
JJ
168442014-06-18 Jakub Jelinek <jakub@redhat.com>
16845
16846 * omp_lib.f90.in (openmp_version): Set to 201307.
16847 * omp_lib.h.in (openmp_version): Likewise.
16848 * testsuite/libgomp.c/target-8.c: New test.
16849 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16850 and inbranch clauses.
16851 * testsuite/libgomp.fortran/depend-3.f90: New test.
16852 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16853 openmp_version.
16854 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16855 * testsuite/libgomp.fortran/target1.f90: New test.
16856 * testsuite/libgomp.fortran/target2.f90: New test.
16857 * testsuite/libgomp.fortran/target3.f90: New test.
16858 * testsuite/libgomp.fortran/target4.f90: New test.
16859 * testsuite/libgomp.fortran/target5.f90: New test.
16860 * testsuite/libgomp.fortran/target6.f90: New test.
16861 * testsuite/libgomp.fortran/target7.f90: New test.
16862
92d28cbb
JJ
168632014-06-10 Jakub Jelinek <jakub@redhat.com>
16864
16865 PR fortran/60928
16866 * testsuite/libgomp.fortran/allocatable9.f90: New test.
16867 * testsuite/libgomp.fortran/allocatable10.f90: New test.
16868 * testsuite/libgomp.fortran/allocatable11.f90: New test.
16869 * testsuite/libgomp.fortran/allocatable12.f90: New test.
16870 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16871 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16872 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16873 * testsuite/libgomp.fortran/associate1.f90: New test.
16874 * testsuite/libgomp.fortran/associate2.f90: New test.
16875 * testsuite/libgomp.fortran/procptr1.f90: New test.
16876
5f23671d
JJ
168772014-06-06 Jakub Jelinek <jakub@redhat.com>
16878
16879 * testsuite/libgomp.fortran/simd1.f90: New test.
16880 * testsuite/libgomp.fortran/udr1.f90: New test.
16881 * testsuite/libgomp.fortran/udr2.f90: New test.
16882 * testsuite/libgomp.fortran/udr3.f90: New test.
16883 * testsuite/libgomp.fortran/udr4.f90: New test.
16884 * testsuite/libgomp.fortran/udr5.f90: New test.
16885 * testsuite/libgomp.fortran/udr6.f90: New test.
16886 * testsuite/libgomp.fortran/udr7.f90: New test.
16887 * testsuite/libgomp.fortran/udr8.f90: New test.
16888 * testsuite/libgomp.fortran/udr9.f90: New test.
16889 * testsuite/libgomp.fortran/udr10.f90: New test.
16890 * testsuite/libgomp.fortran/udr11.f90: New test.
16891
0389fbb5
UB
168922014-05-27 Uros Bizjak <ubizjak@gmail.com>
16893
16894 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16895 vect_simd_clones effective target.
16896 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16897
decaaec8
JJ
168982014-05-21 Jakub Jelinek <jakub@redhat.com>
16899
16900 PR middle-end/61252
16901 * testsuite/libgomp.c++/simd-9.C: New test.
16902
72832460
UB
169032014-05-18 Uros Bizjak <ubizjak@gmail.com>
16904
16905 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
16906 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
16907 texts according to their @menu entry positions.
16908
dd2fc525
JJ
169092014-05-11 Jakub Jelinek <jakub@redhat.com>
16910
16911 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
16912 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16913 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
16914 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
16915 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
16916 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
16917 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
16918 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
16919 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
16920 * testsuite/libgomp.fortran/depend-1.f90: New test.
16921 * testsuite/libgomp.fortran/depend-2.f90: New test.
16922 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
16923 * testsuite/libgomp.fortran/simd1.f90: New test.
16924 * testsuite/libgomp.fortran/simd2.f90: New test.
16925 * testsuite/libgomp.fortran/simd3.f90: New test.
16926 * testsuite/libgomp.fortran/simd4.f90: New test.
16927 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
16928
95782571
JJ
169292014-05-02 Jakub Jelinek <jakub@redhat.com>
16930
16931 * testsuite/libgomp.c/simd-10.c: New test.
16932 * testsuite/libgomp.c/simd-11.c: New test.
16933 * testsuite/libgomp.c/simd-12.c: New test.
16934 * testsuite/libgomp.c/simd-13.c: New test.
16935
f7468577
JJ
169362014-04-24 Jakub Jelinek <jakub@redhat.com>
16937
42056eac
JJ
16938 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
16939 atomic type clauses in any order and optional comma in between.
16940 * testsuite/libgomp.c++/atomic-15.C: Likewise.
16941 * testsuite/libgomp.c/atomic-17.c: Likewise.
16942
f7468577
JJ
16943 * testsuite/libgomp.c/simd-7.c: New test.
16944 * testsuite/libgomp.c/simd-8.c: New test.
16945 * testsuite/libgomp.c/simd-9.c: New test.
16946 * testsuite/libgomp.c/loop-16.c: New test.
16947
ab18f2f5
RH
169482014-04-02 Richard Henderson <rth@redhat.com>
16949
16950 * config/linux/futex.h (futex_wait): Get error value from errno.
16951 (futex_wake): Likewise.
16952
8bcc90b0
JJ
169532014-03-25 Jakub Jelinek <jakub@redhat.com>
16954
16955 PR c++/60331
16956 * testsuite/libgomp.c++/udr-11.C: New test.
16957 * testsuite/libgomp.c++/udr-12.C: New test.
16958 * testsuite/libgomp.c++/udr-13.C: New test.
16959 * testsuite/libgomp.c++/udr-14.C: New test.
16960 * testsuite/libgomp.c++/udr-15.C: New test.
16961 * testsuite/libgomp.c++/udr-16.C: New test.
16962 * testsuite/libgomp.c++/udr-17.C: New test.
16963 * testsuite/libgomp.c++/udr-18.C: New test.
16964 * testsuite/libgomp.c++/udr-19.C: New test.
16965
18d73c7f
RS
169662014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16967
16968 Update copyright years
16969
f9030485
RS
169702014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16971
16972 * hashtab.h: Use the standard form for the copyright notice.
16973
98db73df
TB
169742014-01-02 Tobias Burnus <burnus@net-b.de>
16975
16976 * libgomp.texi: Bump @copying's copyright year.
16977
ae246f7f
AT
169782013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
16979
93d90219 16980 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
16981 alloca () with __builtin_alloca ().
16982 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
16983 * testsuite/libgomp.c/lock-3.c: Likewise.
16984 * testsuite/libgomp.c/pr48591.c: Likewise.
16985
fa00a5fe
JJ
169862013-12-17 Jakub Jelinek <jakub@redhat.com>
16987
16988 PR testsuite/59534
16989 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
16990 comparisons.
16991
e9792e1d
JJ
169922013-12-16 Jakub Jelinek <jakub@redhat.com>
16993
16994 PR libgomp/58756
16995 * testsuite/libgomp.c/pr58756.c: New test.
16996
cab37c89
JJ
169972013-12-12 Jakub Jelinek <jakub@redhat.com>
16998
16999 PR libgomp/59467
17000 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
17001 !$omp parallel.
17002
de14871c
TS
170032013-11-07 Thomas Schwinge <thomas@codesourcery.com>
17004
1707a5de
TS
17005 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
17006 ALWAYS_CFLAGS.
17007 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
17008 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
17009 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
17010 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
17011 Likewise.
17012
70f05c43
TS
17013 * libgomp_g.h: Include <stddef.h> for size_t.
17014
de14871c
TS
17015 * libgomp.spec.in: Update comment about libgomp's dependencies.
17016 * configure.ac: Likewise.
17017 * configure: Regenerate.
17018
83fd6c5b
TB
170192013-10-16 Tobias Burnus <burnus@net-b.de>
17020
17021 * libgomp.texi: (Runtime Library Routines): Update references for
17022 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
17023 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
17024 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
17025 (Environment Variables): Update references for OpenMP 4.0. Add
17026 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
17027 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
17028 order.
17029
c8673881
JJ
170302013-10-14 Jakub Jelinek <jakub@redhat.com>
17031
17032 * env.c (parse_bind_var): Initialize value to avoid
17033 (false positive) warning.
17034
f89163fd
JJ
170352013-10-12 Jakub Jelinek <jakub@redhat.com>
17036
17037 PR libgomp/58691
17038 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
17039 to check variable.
17040 (gomp_init_num_threads): Move i variable declaration into
17041 #ifdef CPU_ALLOC_SIZE block.
17042 * config/linux/affinity.c (gomp_affinity_init_level): Test
17043 gomp_places_list_len == 0 rather than gomp_places_list == 0
17044 when checking for topology reading error.
17045 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
17046 * env.c (parse_affinity): Add ignore argument, if true, don't populate
17047 gomp_places_list, only parse env var and always return false.
17048 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
17049 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
17050 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
17051 and either of these variables were parsed correctly into a places
17052 list.
17053
1d340638
TS
170542013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17055 Jakub Jelinek <jakub@redhat.com>
17056
17057 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17058 of 5 loopfn matches.
17059 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17060 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17061 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17062 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17063 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17064 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17065 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17066 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17067
71a81c21
TS
170682013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17069
bd87f731
TS
17070 * Makefile.am (omp_lib.mod): Streamline rule.
17071 * Makefile.in: Regenerate.
17072
f5745bed
TS
17073 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17074 exceptions.
17075
b5512c66
TS
17076 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17077 * testsuite/libgomp.fortran/lib1.f90: Likewise.
17078 * testsuite/libgomp.fortran/lib2.f: Likewise.
17079 * testsuite/libgomp.fortran/lib3.f: Likewise.
17080
451c19c4
TS
17081 * configure.ac: Typo fix.
17082 * configure: Regenerate.
17083
86a6016d
TS
17084 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17085 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17086
71a81c21
TS
17087 * omp.h.in: Don't touch the user's namespace.
17088
acf0174b
JJ
170892013-10-11 Jakub Jelinek <jakub@redhat.com>
17090 Tobias Burnus <burnus@net-b.de>
17091 Richard Henderson <rth@redhat.com>
17092
17093 * target.c: New file.
17094 * Makefile.am (libgomp_la_SOURCES): Add target.c.
17095 * Makefile.in: Regenerated.
17096 * libgomp_g.h (GOMP_task): Add depend argument.
17097 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17098 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17099 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17100 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17101 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17102 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17103 GOMP_taskgroup_start, GOMP_taskgroup_end,
17104 GOMP_parallel_sections): New prototypes.
17105 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17106 (omp_is_initial_device_): New function.
17107 (ULP, STR1, STR2, ialias_redirect): Removed.
17108 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17109 omp_set_default_device_8_, omp_get_default_device_,
17110 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17111 functions.
17112 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17113 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17114 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17115 @@GOMP_4.0.
17116 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17117 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17118 omp_set_default_device, omp_set_default_device_,
17119 omp_set_default_device_8_, omp_get_default_device,
17120 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17121 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17122 omp_get_team_num_): Export @@OMP_4.0.
17123 * team.c (struct gomp_thread_start_data): Add place field.
17124 (gomp_thread_start): Clear thr->thread_pool and
17125 thr->task before returning. Use gomp_team_barrier_wait_final
17126 instead of gomp_team_barrier_wait. Initialize thr->place.
17127 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17128 team_cancelled and task_queued_count fields.
17129 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17130 before calling pthread_exit.
17131 (gomp_free_thread): No longer static. Use
17132 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17133 (gomp_team_start): Add flags argument. Set
17134 thr->thread_pool->threads_busy to nthreads immediately after creating
17135 new pool. Use gomp_managed_threads_lock instead of
17136 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17137 (gomp_team_end): Use gomp_managed_threads_lock instead of
17138 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17139 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 17140 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
17141 rather than thr->ts.work_share.
17142 (initialize_team): Don't call gomp_sem_init here.
17143 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17144 caller.
17145 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17146 * env.c (gomp_global_icv): Add default_device_var, target_data and
17147 bind_var initializers.
17148 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17149 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17150 gomp_places_list_len): New variables.
17151 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17152 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17153 sized places.
17154 (gomp_cancel_var): New global variable.
17155 (parse_int): New function.
17156 (handle_omp_display_env): New function.
17157 (initialize_env): Use it. Initialize default_device_var.
17158 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17159 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17160 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17161 been successfully parsed (and call gomp_init_affinity in that case).
17162 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17163 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17164 omp_get_team_num, omp_is_initial_device): New functions.
17165 * libgomp.h: Include stdlib.h.
17166 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17167 Define.
17168 (struct target_mem_desc): Forward declare.
17169 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17170 and thread_limit_var fields.
17171 (gomp_get_num_devices): New prototype.
17172 (gomp_cancel_var): New extern decl.
17173 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17174 team_cancelled and task_queued_count fields. Add comments about
17175 task_{,queued_,running_}count.
17176 (gomp_cancel_kind): New enum.
17177 (gomp_work_share_end_cancel): New prototype.
17178 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17179 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17180 and depend fields.
17181 (struct gomp_taskgroup): New type.
17182 (struct gomp_task_depend_entry,
17183 struct gomp_dependers_vec): New types.
17184 (gomp_finish_task): Free depend_hash if non-NULL.
17185 (struct gomp_team_state): Add place_partition_off
17186 and place_partition_len fields.
17187 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17188 gomp_places_list_len): New extern decls.
17189 (struct gomp_thread): Add place field.
17190 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17191 (gomp_init_thread_affinity): Add place argument.
17192 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17193 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17194 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17195 gomp_affinity_init_level, gomp_affinity_print_place): New
17196 prototypes.
17197 (gomp_team_start): Add flags argument.
17198 (gomp_thread_limit_var, gomp_remaining_threads_count,
17199 gomp_remaining_threads_lock): Remove.
17200 (gomp_managed_threads_lock): New variable.
17201 (struct gomp_thread_pool): Add threads_busy field.
17202 (gomp_free_thread): New prototype.
17203 * task.c: Include hashtab.h.
17204 (hash_entry_type): New typedef.
17205 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17206 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17207 copy_ctors_done and taskgroup fields.
17208 (GOMP_task): Add depend argument, handle depend clauses. If
17209 gomp_team_barrier_cancelled or if it's taskgroup has been
17210 cancelled, don't queue or start new tasks. Set copy_ctors_done
17211 field if needed. Initialize taskgroup field. If copy_ctors_done
17212 and already cancelled, don't discard the task. If taskgroup is
17213 non-NULL, enqueue the task into taskgroup queue. Increment
17214 num_children field in taskgroup. Increment task_queued_count.
17215 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17216 gomp_task_run_post_remove_taskgroup): New inline functions.
17217 (gomp_task_run_post_handle_depend_hash,
17218 gomp_task_run_post_handle_dependers,
17219 gomp_task_run_post_handle_depend): New functions.
17220 (GOMP_taskwait): Use them. If more than one new tasks
17221 have been queued, wake other threads if needed.
17222 (gomp_barrier_handle_tasks): Likewise. If
17223 gomp_team_barrier_cancelled, don't start any new tasks, just free
17224 all tasks.
17225 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17226 * omp_lib.f90.in
17227 (omp_proc_bind_kind, omp_proc_bind_false,
17228 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17229 omp_proc_bind_spread): New params.
17230 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17231 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17232 omp_get_team_num, omp_is_initial_device): New interfaces.
17233 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17234 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17235 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17236 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17237 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17238 useless use omp_lib_kinds.
17239 * omp.h.in (omp_proc_bind_t): New typedef.
17240 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17241 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17242 omp_get_team_num, omp_is_initial_device): New prototypes.
17243 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17244 through to gomp_team_start.
17245 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17246 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17247 Adjust gomp_parallel_loop_start callers.
17248 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17249 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17250 GOMP_loop_end_cancel): New functions.
17251 (GOMP_parallel_end): Add ialias_redirect.
17252 * hashtab.h: New file.
17253 * libgomp.texi (Environment Variables): Minor cleanup,
17254 update section refs to OpenMP 4.0rc2.
17255 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17256 environment variables.
17257 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17258 team->work_shares_to_free to thr->ts.work_share before calling
17259 free_work_share.
17260 (gomp_work_share_end_cancel): New function.
17261 * config/linux/proc.c: Include errno.h.
17262 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17263 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17264 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17265 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17266 gomp_cpuset_size is sizeof (cpu_set_t).
17267 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17268 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17269 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17270 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17271 contain any logical CPUs.
17272 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17273 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17274 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17275 pthread_getaffinity_np. Check gomp_places_list instead of
17276 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17277 * config/linux/bar.c (gomp_barrier_wait_end,
17278 gomp_barrier_wait_last): Use BAR_* defines.
17279 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17280 from state where needed. Set work_share_cancelled to 0 on last
17281 thread.
17282 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17283 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17284 functions.
17285 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17286 Add cpusetsize argument.
17287 (gomp_cpuset_size, gomp_cpusetp): Declare.
17288 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17289 (affinity_counter): Remove.
17290 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17291 if CPU_ALLOC_SIZE isn't defined.
17292 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17293 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17294 bind current thread to the first place.
17295 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17296 pthread_setaffinity_np to gomp_places_list[place].
17297 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17298 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17299 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17300 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17301 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17302 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17303 (gomp_barrier_t): Add awaited_final field.
17304 (gomp_barrier_init): Initialize awaited_final field.
17305 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17306 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17307 prototypes.
17308 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17309 defines.
17310 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17311 gomp_team_barrier_cancelled): New inline functions.
17312 (gomp_barrier_last_thread,
17313 gomp_team_barrier_set_task_pending,
17314 gomp_team_barrier_clear_task_pending,
17315 gomp_team_barrier_set_waiting_for_tasks,
17316 gomp_team_barrier_waiting_for_tasks,
17317 gomp_team_barrier_done): Use BAR_* defines.
17318 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17319 (gomp_barrier_wait_end): Use BAR_* defines.
17320 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17321 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17322 Use BAR_* defines.
17323 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17324 gomp_team_barrier_cancel): New functions.
17325 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17326 argument.
17327 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17328 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17329 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17330 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17331 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17332 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17333 (gomp_barrier_t): Add cancellable field.
17334 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17335 gomp_team_barrier_cancel): New prototypes.
17336 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17337 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17338 gomp_team_barrier_cancelled): New inline functions.
17339 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17340 gomp_team_barrier_set_task_pending,
17341 gomp_team_barrier_clear_task_pending,
17342 gomp_team_barrier_set_waiting_for_tasks,
17343 gomp_team_barrier_waiting_for_tasks,
17344 gomp_team_barrier_done): Use BAR_* defines.
17345 * barrier.c (GOMP_barrier_cancel): New function.
17346 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17347 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17348 omp_proc_bind_spread): New params.
17349 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17350 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17351 omp_get_team_num, omp_is_initial_device): New externals.
17352 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17353 New functions.
17354 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17355 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17356 infinity. If not nested, just return minimum of max_num_threads
17357 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17358 to the returned value. Otherwise, don't update atomically
17359 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17360 (GOMP_parallel_end): Adjust for thread_limit now being in
17361 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17362 infinity. Adjust threads_busy in the pool rather than
17363 gomp_remaining_threads_count. Remember team->nthreads and call
17364 gomp_team_end before adjusting threads_busy, if not nested
17365 afterwards, just set it to 1 non-atomically. Add ialias.
17366 (GOMP_parallel_start): Adjust gomp_team_start caller.
17367 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17368 * testsuite/libgomp.c/affinity-1.c: New test.
17369 * testsuite/libgomp.c/atomic-15.c: New test.
17370 * testsuite/libgomp.c/atomic-16.c: New test.
17371 * testsuite/libgomp.c/atomic-17.c: New test.
17372 * testsuite/libgomp.c/cancel-for-1.c: New test.
17373 * testsuite/libgomp.c/cancel-for-2.c: New test.
17374 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17375 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17376 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17377 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17378 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17379 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17380 * testsuite/libgomp.c/depend-1.c: New test.
17381 * testsuite/libgomp.c/depend-2.c: New test.
17382 * testsuite/libgomp.c/depend-3.c: New test.
17383 * testsuite/libgomp.c/depend-4.c: New test.
17384 * testsuite/libgomp.c/for-1.c: New test.
17385 * testsuite/libgomp.c/for-1.h: New file.
17386 * testsuite/libgomp.c/for-2.c: New test.
17387 * testsuite/libgomp.c/for-2.h: New file.
17388 * testsuite/libgomp.c/for-3.c: New test.
17389 * testsuite/libgomp.c/pr58392.c: New test.
17390 * testsuite/libgomp.c/simd-1.c: New test.
17391 * testsuite/libgomp.c/simd-2.c: New test.
17392 * testsuite/libgomp.c/simd-3.c: New test.
17393 * testsuite/libgomp.c/simd-4.c: New test.
17394 * testsuite/libgomp.c/simd-5.c: New test.
17395 * testsuite/libgomp.c/simd-6.c: New test.
17396 * testsuite/libgomp.c/target-1.c: New test.
17397 * testsuite/libgomp.c/target-2.c: New test.
17398 * testsuite/libgomp.c/target-3.c: New test.
17399 * testsuite/libgomp.c/target-4.c: New test.
17400 * testsuite/libgomp.c/target-5.c: New test.
17401 * testsuite/libgomp.c/target-6.c: New test.
17402 * testsuite/libgomp.c/target-7.c: New test.
17403 * testsuite/libgomp.c/taskgroup-1.c: New test.
17404 * testsuite/libgomp.c/thread-limit-1.c: New test.
17405 * testsuite/libgomp.c/thread-limit-2.c: New test.
17406 * testsuite/libgomp.c/thread-limit-3.c: New test.
17407 * testsuite/libgomp.c/udr-1.c: New test.
17408 * testsuite/libgomp.c/udr-2.c: New test.
17409 * testsuite/libgomp.c/udr-3.c: New test.
17410 * testsuite/libgomp.c++/affinity-1.C: New test.
17411 * testsuite/libgomp.c++/atomic-10.C: New test.
17412 * testsuite/libgomp.c++/atomic-11.C: New test.
17413 * testsuite/libgomp.c++/atomic-12.C: New test.
17414 * testsuite/libgomp.c++/atomic-13.C: New test.
17415 * testsuite/libgomp.c++/atomic-14.C: New test.
17416 * testsuite/libgomp.c++/atomic-15.C: New test.
17417 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17418 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17419 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17420 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17421 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17422 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17423 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17424 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17425 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17426 * testsuite/libgomp.c++/cancel-test.h: New file.
17427 * testsuite/libgomp.c++/for-9.C: New test.
17428 * testsuite/libgomp.c++/for-10.C: New test.
17429 * testsuite/libgomp.c++/for-11.C: New test.
17430 * testsuite/libgomp.c++/simd-1.C: New test.
17431 * testsuite/libgomp.c++/simd-2.C: New test.
17432 * testsuite/libgomp.c++/simd-3.C: New test.
17433 * testsuite/libgomp.c++/simd-4.C: New test.
17434 * testsuite/libgomp.c++/simd-5.C: New test.
17435 * testsuite/libgomp.c++/simd-6.C: New test.
17436 * testsuite/libgomp.c++/simd-7.C: New test.
17437 * testsuite/libgomp.c++/simd-8.C: New test.
17438 * testsuite/libgomp.c++/target-1.C: New test.
17439 * testsuite/libgomp.c++/target-2.C: New test.
17440 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17441 * testsuite/libgomp.c++/target-3.C: New test.
17442 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17443 * testsuite/libgomp.c++/udr-1.C: New test.
17444 * testsuite/libgomp.c++/udr-2.C: New test.
17445 * testsuite/libgomp.c++/udr-3.C: New test.
17446 * testsuite/libgomp.c++/udr-4.C: New test.
17447 * testsuite/libgomp.c++/udr-5.C: New test.
17448 * testsuite/libgomp.c++/udr-6.C: New test.
17449 * testsuite/libgomp.c++/udr-7.C: New test.
17450 * testsuite/libgomp.c++/udr-8.C: New test.
17451 * testsuite/libgomp.c++/udr-9.C: New test.
17452
bd599dea
JJ
174532013-09-20 Jakub Jelinek <jakub@redhat.com>
17454
17455 PR testsuite/57605
17456 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17457 ALWAYS_CFLAGS.
17458
3cbe17f7
AM
174592013-09-20 Alan Modra <amodra@gmail.com>
17460
17461 * configure: Regenerate.
17462
4befd127
JJ
174632013-09-19 Jakub Jelinek <jakub@redhat.com>
17464
17465 * testsuite/libgomp.c/sections-2.c: New test.
17466
946c8f7b
MS
174672013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17468
17469 * testsuite/libgomp.fortran/strassen.f90:
17470 Add dg-skip-if aarch64_tiny.
17471
1ef3b58e
IS
174722013-06-20 Iain Sandoe <iain@codesourcery.com>
17473 Cesar Philippidis <cesar@codesourcery.com>
17474
17475 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17476 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17477 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17478 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17479 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17480 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17481 Use dg-runtest rather than gfortran-dg-runtest.
17482
9275f73a
TS
174832013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17484
17485 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17486 Linux-based x86 systems to cover all GNU systems.
17487 * testsuite/libgomp.c/lock-3.c: Likewise.
17488 * testsuite/libgomp.c/pr48591.c: Likewise.
17489
492992e2
TS
174902013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17491
48df3acb
TS
17492 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17493 GNU/Hurd, as done for Linux-based systems.
17494
492992e2
TS
17495 * config/posix/ptrlock.h: Fix comment.
17496
4fed6b25
TB
174972013-05-27 Tobias Burnus <burnus@net-b.de>
17498
17499 PR fortran/57423
17500 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17501 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17502 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17503 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17504 omp_destroy_nest_lock): Correct arguments to match the one in
17505 the OpenMP spec.
17506 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17507 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17508 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17509 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17510
5a0f4dd3
JJ
175112013-05-16 Jakub Jelinek <jakub@redhat.com>
17512
17513 * testsuite/libgomp.c/loop-13.c: New test.
17514 * testsuite/libgomp.c/loop-14.c: New test.
17515 * testsuite/libgomp.c/loop-15.c: New test.
17516 * testsuite/libgomp.c++/loop-13.C: New test.
17517 * testsuite/libgomp.c++/loop-14.C: New test.
17518 * testsuite/libgomp.c++/loop-15.C: New test.
17519
6d840d99
JJ
175202013-02-06 Jakub Jelinek <jakub@redhat.com>
17521
17522 PR middle-end/56217
17523 * testsuite/libgomp.c++/pr56217.C: New test.
17524
bed8d8a6
AM
175252013-02-01 Alan Modra <amodra@gmail.com>
17526
17527 * task.c (GOMP_task, GOMP_taskwait): Comment.
17528
3b35cd04
DV
175292013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17530 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17531
17532 PR libgomp/55561
17533 * config/linux/wait.h (do_spin): Use atomic load for addr.
17534 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17535 for intptr and ptrlock.
17536 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17537 for ptrlock.
17538
9a647288
AM
175392013-01-22 Alan Modra <amodra@gmail.com>
17540
17541 PR libgomp/51376
17542 PR libgomp/56073
17543 * task.c (GOMP_task): Revert 2011-12-09 change.
17544 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17545 barrier to read task->children..
17546 (gomp_barrier_handle_tasks): ..and matching atomic store with
17547 release barrier here when setting parent->children to NULL.
17548
f34dea03
JJ
175492013-01-16 Jakub Jelinek <jakub@redhat.com>
17550 Tobias Burnus <burnus@net-b.de>
17551
17552 PR driver/55884
17553 * testsuite/libgomp.fortran/fortran.exp: Use
17554 -fintrinsic-modules-path= instead of
17555 -fintrinsic-modules-path.
17556
8129609c
RS
175572013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17558
17559 Update copyright years.
17560
aa86bf1e
TB
175612012-12-19 Tobias Burnus <burnus@net-b.de>
17562
17563 * testsuite/libgomp.fortran/fortran.exp: Set
17564 -fintrinsic-modules-path.
17565
2865ea66
TB
175662012-12-19 Tobias Burnus <burnus@net-b.de>
17567
17568 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17569 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17570
4c5ba8d0
JJ
175712012-11-21 Jakub Jelinek <jakub@redhat.com>
17572
17573 PR libgomp/55411
17574 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17575 if pool had any threads_used.
17576
e9f958c2
JH
175772012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17578
17579 * testsuite/libgomp.c++/pr24455.C: Use
17580 -Wl,-undefined,dynamic_lookup on darwin.
17581
a57d75dc
DE
175822012-11-07 David Edelsohn <dje.gcc@gmail.com>
17583
17584 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17585
c6c08485
DH
175862012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17587
17588 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17589
c1f37c00
IB
175902012-10-23 Ian Bolton <ian.bolton@arm.com>
17591 Jim MacArthur <jim.macarthur@arm.com>
17592 Marcus Shawcroft <marcus.shawcroft@arm.com>
17593 Nigel Stephens <nigel.stephens@arm.com>
17594 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17595 Richard Earnshaw <rearnsha@arm.com>
17596 Sofiane Naci <sofiane.naci@arm.com>
17597 Stephen Thomas <stephen.thomas@arm.com>
17598 Tejas Belagod <tejas.belagod@arm.com>
17599 Yufeng Zhang <yufeng.zhang@arm.com>
17600
17601 * configure.tgt: Add AArch64.
17602
7c424acd
JM
176032012-10-04 Jason Merrill <jason@redhat.com>
17604
17605 * testsuite/libgomp.c++/tls-init1.C: New.
17606
6608378b
DE
176072012-09-14 David Edelsohn <dje.gcc@gmail.com>
17608
17609 * configure: Regenerated.
17610
c24dbebb
CLT
176112012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17612
17613 * config/linux/mips/futex.h (sys_futex0): Change to static
17614 function with noinline, nomips16 attributes under MIPS16. Adjust
17615 asm statement to place 'li v0,SYS_futex' immediately before
17616 syscall insn.
17617
3d3949df
SL
176182012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17619
17620 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17621 conflict with index.html on case-insensitive file systems.
17622
68a12ef3
UB
176232012-07-03 Uros Bizjak <ubizjak@gmail.com>
17624
17625 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17626 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17627
33ad93b9 176282012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
17629 Michael Matz <matz@suse.de>
17630 Tobias Grosser <tobias@grosser.es>
17631 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
17632
17633 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17634 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17635 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17636 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17637
e6fdc918
AS
176382012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17639
17640 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17641
62e0a1ed
RG
176422012-06-22 Richard Guenther <rguenther@suse.de>
17643
17644 Merge from graphite branch
17645 2012-01-13 Tobias Grosser <tobias@grosser.es>
17646
17647 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17648 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17649
26127932
JJ
176502012-06-07 Jakub Jelinek <jakub@redhat.com>
17651
17652 PR middle-end/53580
17653 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17654 use GOMP_barrier () call instead.
17655 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17656 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17657 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17658 call GOMP_barrier instead.
17659 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17660
43fa5db5
JJ
176612012-06-06 Jakub Jelinek <jakub@redhat.com>
17662
17663 PR libgomp/52993
17664 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17665 argument to memset call.
17666
e6d5f8c9
L
176672012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17668
17669 * configure: Regenerated.
17670
559d990c
MLI
176712012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17672
17673 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17674
b9c23a61
L
176752012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17676
17677 PR bootstrap/52812
17678 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17679
c140ddf3
JJ
176802012-03-22 Jakub Jelinek <jakub@redhat.com>
17681
17682 PR middle-end/52547
17683 * testsuite/libgomp.c/pr52547.c: New test.
17684
6a26a74d
BRF
176852012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17686
17687 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17688
b24513a1
RO
176892012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17690
17691 * configure.tgt (mips-sgi-irix6*): Remove.
17692
5c30094f
RO
176932012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17694
17695 * configure.tgt (alpha*-dec-osf*): Remove.
17696
17697 * config/osf/sem.h: Remove.
17698 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17699
a339c9d6
EB
177002012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17701
17702 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17703
cc2de92d
RO
177042012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17705
17706 PR libstdc++/52188
17707 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17708 Remove ENABLE_SYMVERS_SOL2.
17709 * configure: Regenerate.
17710 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17711 (PREPROCESS): New variable.
17712 (libgomp.ver): New target.
17713 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17714 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17715 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17716 Use libgomp.ver.
17717 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17718 * Makefile.in: Regenerate.
17719
dd552284
WL
177202012-02-14 Walter Lee <walt@tilera.com>
17721
17722 * configure.tgt: Handle tilegx and tilepro.
17723 * config/linux/tile/futex.h: New file.
17724
31432e21
RG
177252012-02-08 Richard Guenther <rguenther@suse.de>
17726
17727 PR tree-optimization/46886
17728 * testsuite/libgomp.c/pr46886.c: New testcase.
17729
b9264b5f
MK
177302012-01-25 Matthias Klose <doko@ubuntu.com>
17731
17732 * config/linux/arm: Remove empty directory.
17733 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17734
fbf7be80
AM
177352011-12-09 Alan Modra <amodra@gmail.com>
17736
17737 PR libgomp/51376
17738 * task.c (GOMP_taskwait): Don't access task->children outside of
17739 task_lock mutex region.
17740 (GOMP_task): Likewise.
17741
5de62d00
JJ
177422011-12-06 Jakub Jelinek <jakub@redhat.com>
17743
17744 PR libgomp/51132
17745 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17746 to file scope.
17747 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17748 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17749 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17750 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17751 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17752
45608a43
AM
177532011-12-02 Alan Modra <amodra@gmail.com>
17754
17755 * config/linux/affinity.c: Use atomic rather than sync builtin.
17756 * config/linux/lock.c: Likewise.
17757 * config/linux/ptrlock.h: Likewise.
17758 * config/linux/ptrlock.c: Likewise.
17759 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17760 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17761 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17762 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17763 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17764 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17765 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17766 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17767 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17768 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17769
ab6dd406
AM
177702011-11-30 Alan Modra <amodra@gmail.com>
17771
17772 PR libgomp/51298
17773 * config/linux/bar.h: Use atomic rather than sync builtins.
17774 * config/linux/bar.c: Likewise. Add missing acquire
17775 synchronisation on generation field.
17776 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17777 double unlock.
17778
b40c885f
AM
177792011-11-30 Alan Modra <amodra@gmail.com>
17780
17781 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17782 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17783 * config/linux/mutex.h: Use atomic rather than sync builtins.
17784 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
17785 * config/linux/omp-lock.h: Comment fix.
17786 * config/linux/arm/mutex.h: Delete.
17787 * config/linux/powerpc/mutex.h: Delete.
17788 * config/linux/ia64/mutex.h: Delete.
17789 * config/linux/mips/mutex.h: Delete.
17790
3e348fcc
AM
177912011-11-30 Alan Modra <amodra@gmail.com>
17792
17793 PR libgomp/51249
17794 * config/linux/sem.h: Rewrite.
17795 * config/linux/sem.c: Rewrite.
17796
cef86eb2
RH
177972011-11-28 Richard Henderson <rth@redhat.com>
17798
17799 * libgomp.h (enum memmodel): New.
17800
c6084f68
AT
178012011-11-21 Andreas Tobler <andreast@fgznet.ch>
17802
17803 * configure: Regenerate.
17804
06fe026c
MK
178052011-10-10 Matthias Klose <doko@ubuntu.com>
17806
17807 * config/posix95: Remove empty directory.
17808
a6c975bd
JJ
178092011-08-26 Jakub Jelinek <jakub@redhat.com>
17810
17811 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17812
c26dffff
JJ
178132011-08-19 Jakub Jelinek <jakub@redhat.com>
17814
17815 PR fortran/49792
17816 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17817 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17818
ddaad3c8
RO
178192011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17820
17821 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17822
98d03683
RO
178232011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17824
17825 PR libgomp/49965
17826 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17827
e0b23d9f
UB
178282011-08-03 Uros Bizjak <ubizjak@gmail.com>
17829
17830 * config/linux/proc.h: New.
17831 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
17832 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
17833 (gomp_init_num_threads): Update call to cpuset_popcount.
17834 (get_num_procs): Ditto.
17835 * config/linux/affinity.c (gomp_init_affinity): Call
17836 gomp_cpuset_popcount.
17837
20906c66
JJ
178382011-08-02 Jakub Jelinek <jakub@redhat.com>
17839
17840 PR fortran/42041
17841 PR fortran/46752
17842 * omp.h.in (omp_in_final): New prototype.
17843 * omp_lib.f90.in (omp_in_final): New interface.
17844 (omp_integer_kind, omp_logical_kind): Remove
17845 and replace all its uses in the module with 4.
17846 (openmp_version): Change to 201107.
17847 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17848 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17849 kind for the parameters.
17850 (omp_in_final): New external.
17851 (openmp_version): Change to 201107.
17852 * task.c (omp_in_final): New function.
17853 (gomp_init_task): Initialize final_task.
17854 (GOMP_task): Remove unused attribute from flags. Handle final
17855 tasks.
17856 (GOMP_taskyield): New function.
17857 (omp_in_final): Return true if if (false) or final (true) task
17858 or descendant of final (true).
17859 * fortran.c (omp_in_final_): New function.
17860 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17861 (GOMP_3.0): Export GOMP_taskyield.
17862 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17863 variables.
17864 (parse_unsigned_long_list): New function.
17865 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
17866 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
17867 even if parse_affinity returned false.
17868 * config/linux/affinity.c (gomp_init_affinity): Handle
17869 gomp_cpu_affinity_len == 0.
17870 * libgomp_g.h (GOMP_taskyield): New prototype.
17871 * libgomp.h (struct gomp_task): Add final_task field.
17872 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17873 * team.c (gomp_team_start): Override new task's nthreads_var icv
17874 if list form OMP_NUM_THREADS has been used and it has value for
17875 the new nesting level.
17876
17877 * testsuite/libgomp.c/atomic-11.c: New test.
17878 * testsuite/libgomp.c/atomic-12.c: New test.
17879 * testsuite/libgomp.c/atomic-13.c: New test.
17880 * testsuite/libgomp.c/atomic-14.c: New test.
17881 * testsuite/libgomp.c/reduction-6.c: New test.
17882 * testsuite/libgomp.c/task-5.c: New test.
17883 * testsuite/libgomp.c++/atomic-2.C: New test.
17884 * testsuite/libgomp.c++/atomic-3.C: New test.
17885 * testsuite/libgomp.c++/atomic-4.C: New test.
17886 * testsuite/libgomp.c++/atomic-5.C: New test.
17887 * testsuite/libgomp.c++/atomic-6.C: New test.
17888 * testsuite/libgomp.c++/atomic-7.C: New test.
17889 * testsuite/libgomp.c++/atomic-8.C: New test.
17890 * testsuite/libgomp.c++/atomic-9.C: New test.
17891 * testsuite/libgomp.c++/task-8.C: New test.
17892 * testsuite/libgomp.c++/reduction-4.C: New test.
17893 * testsuite/libgomp.fortran/allocatable7.f90: New test.
17894 * testsuite/libgomp.fortran/allocatable8.f90: New test.
17895 * testsuite/libgomp.fortran/crayptr3.f90: New test.
17896 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17897 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17898 * testsuite/libgomp.fortran/pointer1.f90: New test.
17899 * testsuite/libgomp.fortran/pointer2.f90: New test.
17900 * testsuite/libgomp.fortran/task4.f90: New test.
17901
179022011-08-02 Tobias Burnus <burnus@net-b.de>
17903
17904 * libgomp.texi: Update OpenMP spec references to 3.1.
17905 (omp_in_final,OMP_PROC_BIND): New sections.
17906 (OMP_NUM_THREADS): Document that the value can be now a list.
17907 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
17908
c01ecafc
L
179092011-08-02 H.J. Lu <hongjiu.lu@intel.com>
17910
17911 * config/linux/x86/futex.h: Check __x86_64__ instead of
17912 __LP64__.
17913
25142650
JJ
179142011-07-29 Jakub Jelinek <jakub@redhat.com>
17915
17916 PR middle-end/49897
17917 PR middle-end/49898
17918 * testsuite/libgomp.c/pr49897-1.c: New test.
17919 * testsuite/libgomp.c/pr49897-2.c: New test.
17920 * testsuite/libgomp.c/pr49898-1.c: New test.
17921 * testsuite/libgomp.c/pr49898-2.c: New test.
17922
f53d712f
L
179232011-07-28 H.J. Lu <hongjiu.lu@intel.com>
17924
17925 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
17926 for ia32 instead of ilp32.
17927
17928 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
17929 * testsuite/libgomp.c/atomic-6.c: Likewise.
17930
3689198d
SP
179312011-07-23 Sebastian Pop <sebastian.pop@amd.com>
17932
17933 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
17934 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
17935
1a79cb73
RO
179362011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17937
17938 PR libgomp/45351
17939 * config/osf/sem.h: New file.
17940 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
17941
c1f51484
RO
179422011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17943
17944 PR target/49541
17945 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
17946 ldflags.
17947
bfee0724
JJ
179482011-07-15 Jakub Jelinek <jakub@redhat.com>
17949
17950 * config/linux/wait.h (do_spin): New inline, largely copied
17951 from do_wait, just don't do futex_wait here, instead return true if
17952 it should be done.
17953 (do_wait): Implement using do_spin.
17954 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
17955 to prototype.
17956 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17957 __sync_bool_compare_and_swap, pass the oldval to
17958 gomp_mutex_lock_slow.
17959 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
17960 If all mutex contenders are just spinning and not sleeping, don't
17961 change state to 2 unnecessarily. Optimize the loop when state has
17962 already become 2 to use just one atomic operation per loop instead
17963 of two.
17964 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
17965 to prototype.
17966 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17967 __sync_bool_compare_and_swap, pass the oldval to
17968 gomp_mutex_lock_slow.
17969
fb79f500
JJ
179702011-06-22 Jakub Jelinek <jakub@redhat.com>
17971
17972 PR libgomp/49490
17973 * iter.c (gomp_iter_static_next): For chunk size 0
17974 only use n ceil/ nthreads size for the first
17975 n % nthreads threads in the team instead of
17976 all threads except for the last few ones which
17977 get less work or none at all.
17978 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
17979 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
17980 chunk argument, set run_sched_modifier to 0 for static
17981 resp. 1 for other kinds. If chunk argument is 0
17982 and not static, set value to 1.
17983
4577f730
JJ
179842011-05-19 Jakub Jelinek <jakub@redhat.com>
17985
ea93a47b
JJ
17986 PR c++/49043
17987 * testsuite/libgomp.c++/pr49043.C: New test.
17988
4577f730
JJ
17989 PR c++/48869
17990 * testsuite/libgomp.c++/pr48869.C: New test.
17991
e7385332
JJ
179922011-05-06 Jakub Jelinek <jakub@redhat.com>
17993
17994 PR fortran/48894
17995 * fortran.c: Include limits.h.
17996 (TO_INT): Define.
17997 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
17998 *set.
17999 (omp_set_num_threads_8_, omp_set_schedule_8_,
18000 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
18001 omp_get_team_size_8_): Use TO_INT macro.
18002 * testsuite/libgomp.fortran/pr48894.f90: New test.
18003
20790697
JJ
180042011-04-13 Jakub Jelinek <jakub@redhat.com>
18005
18006 PR middle-end/48591
18007 * testsuite/libgomp.c/pr48591.c: New test.
18008
bf382f5f
RO
180092011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18010
18011 PR bootstrap/48135
18012 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
18013 * configure: Regenerate.
18014
113a53c1
JJ
180152011-02-27 Jakub Jelinek <jakub@redhat.com>
18016
18017 PR fortran/47886
18018 * testsuite/libgomp.fortran/task3.f90: New test.
18019
0024f1af
TB
180202011-02-24 Tobias Burnus <burnus@net-b.de>
18021
18022 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
18023
21e1e594
JJ
180242011-02-23 Jakub Jelinek <jakub@redhat.com>
18025
18026 PR libgomp/47854
18027 * libgomp.texi (omp_get_wtime): Don't say time in the past
18028 must be Unix Epoch.
18029
67962076
JJ
180302011-02-18 Jakub Jelinek <jakub@redhat.com>
18031
18032 PR libgomp/47804
18033 * testsuite/libgomp.fortran/fortran.exp: Check for both
18034 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
18035 but $blddir != "", still append ${blddir}/${lang_library_path}
18036 to ld_library_path.
18037
3808007c
TB
180382011-02-16 Tobias Burnus <burnus@net-b.de>
18039
18040 PR libgomp/47758
18041 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
18042 of libquadmath.a before adding its libpath to ldflags.
18043
53b4d41d
JJ
180442011-02-14 Jakub Jelinek <jakub@redhat.com>
18045
18046 PR libgomp/47731
18047 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
18048 to FUTEX_WAIT futex syscall.
18049 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
18050
029c8f3e
RW
180512011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18052
18053 * configure: Regenerate.
18054
bddd6626
BK
180552011-01-20 Benjamin Kosnik <bkoz@redhat.com>
18056
18057 PR libstdc++/36104
18058 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18059
f1d4ab26
GP
180602011-01-16 Gerald Pfeifer
18061
18062 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18063
2b503136
JJ
180642010-12-14 Jakub Jelinek <jakub@redhat.com>
18065
18066 PR fortran/46874
18067 * libgomp.fortran/allocatable6.f90: New test.
18068
c0f9d583
RO
180692010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18070
18071 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18072 * configure: Regenerate.
18073
7de6ba7a
DK
180742010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
18075
18076 PR target/40125
18077 PR lto/46695
18078 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18079 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18080 * aclocal.m4: Regenerate.
18081 * configure: Regenerate.
18082 * Makefile.in: Regenerate.
18083 * testsuite/Makefile.in: Regenerate.
18084
b7516041
JJ
180852010-12-02 Jakub Jelinek <jakub@redhat.com>
18086
edaadf74
JJ
18087 PR fortran/46753
18088 * libgomp.fortran/pr46753.f90: New test.
18089
4c698cf8
JJ
18090 PR libgomp/43706
18091 * env.c (initialize_env): Default to spin count 300000
18092 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18093 is specified.
18094
b7516041
JJ
18095 PR libgomp/45240
18096 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18097 at the end if sync builtins aren't supported.
18098
6b43a34c
RO
180992010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18100
18101 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18102
950691fa
RO
181032010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18104
18105 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18106
fb9041ea
IS
181072010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18108
18109 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18110
1ec601bf
FXC
181112010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18112 Tobias Burnus <burnus@net-b.de>
18113
18114 PR fortran/32049
3e348fcc 18115 * configure.ac:
1ec601bf
FXC
18116 * configure: Regenerate.
18117
d213e92e
MS
181182010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18119
18120 * config/linux/futex.h: New.
18121 * config/linux/arm/mutex.h: New.
18122 * configure.tgt (arm*-*-linux*): Add config path.
18123
89d5c66f
SP
181242010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18125
18126 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18127
87350d4a
TB
181282010-09-23 Tobias Burnus <burnus@net-b.de>
18129
18130 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18131 Change Fortran datatype to LOGICAL.
18132 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18133 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18134
75bc9e5e
RW
181352010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18136
18137 * configure: Regenerate.
18138
acb5c916
JJ
181392010-07-26 Jakub Jelinek <jakub@redhat.com>
18140
18141 * libgomp.texi: Add function keyword to a couple of Fortran
18142 interfaces, use integer instead of int for Fortran.
18143
6a2ba183
AH
181442010-07-26 Aldy Hernandez <aldyh@redhat.com>
18145
18146 * libgomp.texi: Fix spelling and pasto problems throughout.
18147 Adjust prototypes to match code.
18148
df161b69
TB
181492010-07-24 Tobias Burnus <burnus@net-b.de>
18150
18151 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18152 silence -fwhole-file warning.
18153
16c9d3b1
RO
181542010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18155
18156 * configure.tgt (*-*-solaris2.[56]*): Removed.
18157
6d28b933
RO
181582010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18159
18160 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18161 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18162 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18163 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18164 targetting solaris2*.
18165 * configure: Regenerate.
18166 * config.h.in: Regenerate.
18167
18168 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18169 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18170 Add libgomp_version_dep.
18171 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18172 versioning.
18173 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18174 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18175 * Makefile.in: Regenerate.
18176
18177 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18178 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18179 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18180 to common block, protected by
18181 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18182
07a67d6a
GP
181832010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18184
18185 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18186
dbd34b89
IS
181872010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18188
18189 PR bootstrap/43170
18190 * configure: Regenerate.
18191
13917ae3
RW
181922010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18193
18194 PR other/43620
18195 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18196 * configure: Regenerate.
18197 * Makefile.in: Regenerate.
18198 * testsuite/Makefile.in: Regenerate.
18199
b83a701b
JJ
182002010-04-26 Jakub Jelinek <jakub@redhat.com>
18201
18202 PR c/43893
18203 * testsuite/libgomp.c/pr43893.c: New test.
18204 * testsuite/libgomp.c++/pr43893.C: New test.
18205
78db7d92
JJ
182062010-04-21 Jakub Jelinek <jakub@redhat.com>
18207
18208 PR middle-end/43570
18209 * testsuite/libgomp.fortran/vla8.f90: New test.
18210
5221d7a9
JJ
182112010-04-20 Jakub Jelinek <jakub@redhat.com>
18212
e4ba7a60
JJ
18213 PR libgomp/43706
18214 * config/linux/affinity.c (gomp_init_affinity): Decrease
18215 gomp_available_cpus if affinity mask confines the process to fewer
18216 CPUs.
18217 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18218 non-NULL, just return gomp_available_cpus.
18219
5221d7a9
JJ
18220 PR libgomp/43569
18221 * sections.c (gomp_sections_init): Initialize ws->mode.
18222
289a9f86
UB
182232010-04-14 Uros Bizjak <ubizjak@gmail.com>
18224
18225 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18226 not unused bar variable.
18227 * configure: Regenerate.
18228
4d9e8446
RW
182292010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18230
18231 * Makefile.in: Regenerate.
18232 * aclocal.m4: Regenerate.
18233 * testsuite/Makefile.in: Regenerate.
18234
80f046cc
JJ
182352010-03-22 Jakub Jelinek <jakub@redhat.com>
18236
18237 PR libgomp/42942
18238 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18239 (initialize_env): Adjust callers.
18240 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18241 when the argument is 0.
18242
18243 * testsuite/libgomp.c/pr42942.c: New test.
18244
b58543c3
SP
182452010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18246
18247 PR middle-end/42644
18248 PR middle-end/42130
18249 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18250 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18251
41d1138f
RO
182522010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18253
18254 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18255 * testsuite/libgomp.c++/task-6.C: Likewise.
18256
6684eb28
SE
182572010-01-28 Steve Ellcey <sje@cup.hp.com>
18258
18259 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18260
2122aa97
PB
182612010-01-26 Paolo Bonzini <bonzini@gnu.org>
18262
18263 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18264 * configure: Regenerate.
18265
057dd91d
JJ
182662010-01-26 Jakub Jelinek <jakub@redhat.com>
18267
18268 PR fortran/42866
18269 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18270
d0709b6a
PB
182712010-01-20 Paolo Bonzini <bonzini@gnu.org>
18272
18273 * configure.ac: Test for executability of GFORTRAN.
18274 * configure: Regenerate.
18275
b9497ab5
RO
182762010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18277
18278 * configure: Regenerate.
18279
45de5648
L
182802010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18281
18282 PR libgomp/42602
18283 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18284
e74003a1
RG
182852010-01-03 Richard Guenther <rguenther@suse.de>
18286
18287 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18288
1b3abda8
SP
182892009-12-23 Sebastian Pop <sebpop@gmail.com>
18290
18291 * testsuite/libgomp.graphite/pr4118.c: New.
18292
e19977d3
IS
182932009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18294
18295 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18296 for darwin, protect the test with require-effective-target tls_runtime.
18297 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18298
1d32a772
IS
182992009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18300
18301 PR target/41605
18302 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18303 link spec %s substitutions for static libraries.
18304
deb109b2
JH
183052009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18306
18307 PR testsuite/42135
18308 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18309
43e02a8a
RW
183102009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18311
18312 * Makefile.in: Regenerate.
18313 * configure: Regenerate.
18314 * testsuite/Makefile.in: Regenerate.
18315
17f35e23
DK
183162009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18317
18318 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18319 settings for LC_ALL and LANG.
18320
281e33e1
JJ
183212009-11-25 Jakub Jelinek <jakub@redhat.com>
18322
18323 PR fortran/42162
18324 * testsuite/libgomp.fortran/pr42162.f90: New test.
18325
2b32c27d
JJ
183262009-11-13 Jakub Jelinek <jakub@redhat.com>
18327
18328 PR middle-end/42029
281e33e1 18329 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 18330
89c74f4a
JJ
183312009-10-26 Jakub Jelinek <jakub@redhat.com>
18332
18333 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18334 *s. Accept ld version without text in ()s.
18335 * configure: Regenerated.
18336
7e06c3d6
EB
183372009-10-22 Razya Ladelsky <razya@il.ibm.com>
18338
18339 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18340
0046b1a7
RW
183412009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18342
18343 PR libgomp/41418
18344 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18345 or a hyphen (happens with fortran language disabled).
18346 * configure: Regenerate.
18347
c82852f7
RW
183482009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18349
18350 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18351 use sed script portable to Solaris /bin/sed for extracting ld
18352 version.
18353 * configure: Regenerate.
18354
98f3eb1f
AM
183552009-09-17 Alexander Monakov <amonakov@ispras.ru>
18356
18357 * testsuite/libgomp.graphite/bounds.c: New test.
18358
878f62e5
RW
183592009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18360
18361 * Makefile.am (libgomp_la_LINK): New.
18362 * Makefile.in: Regenerate.
18363
df58e648
RW
183642009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18365
18366 * configure.ac (AC_PREREQ): Bump to 2.64.
18367
5213506e
RW
183682009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18369
70fa0efa
RW
18370 * Makefile.am (install-html, install-pdf): Remove.
18371 * Makefile.in: Regenerate.
18372
5213506e
RW
18373 * Makefile.in: Regenerate.
18374 * aclocal.m4: Regenerate.
18375 * config.h.in: Regenerate.
18376 * configure: Regenerate.
18377 * testsuite/Makefile.in: Regenerate.
18378
84fec8a5
RW
183792009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18380
18381 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18382 * Makefile.in: Regenerate.
18383
197c68cc
DK
183842009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18385
18386 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18387 * Makefile.in: Regenerate.
18388
693d54f2
TB
183892009-08-19 Tobias Burnus <burnus@net-b.de>
18390
18391 PR fortran/41102
18392 omp_lib.h.in: Fix -std=f95 errors.
18393
8cac884c
DE
183942009-08-14 David Edelsohn <edelsohn@gnu.org>
18395
18396 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18397 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18398 * testsuite/libgomp.graphite/graphite.exp: New.
18399
78729ee2
AT
184002009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18401
18402 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18403 only build.
18404
b13b7f39
DD
184052009-08-04 David Daney <ddaney@caviumnetworks.com>
18406
18407 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18408 needed memory barrier semantics.
18409 * config/linux/mips/mutex.h: New file.
18410
1b3b24c2
RW
184112009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18412
18413 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18414
396b7fa4
JM
184152009-07-16 Joseph Myers <joseph@codesourcery.com>
18416
18417 * configure: Regenerate.
18418
33cde516
RS
184192009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18420
18421 PR testsuite/40699
18422 PR testsuite/40707
18423 PR testsuite/40709
18424 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18425 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18426 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18427
bc21bfa5
RS
184282009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18429
18430 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18431 options when choosing a multilib.
18432
b30bfd40
RS
184332009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18434
18435 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18436 ld_library_path. Use add_path. Add just find_libgcc_s to
18437 ld_library_path, not every libgcc multilib directory.
18438 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18439 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18440 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18441 Use add_path.
18442 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18443
479c15c2
NF
184442009-06-09 Nathan Froyd <froydnj@codesourcery.com>
18445
18446 * Makefile.am (LTLDFLAGS): Define.
18447 (LINK): Define.
18448 * Makefile.in: Regenerate.
18449
667e6f89
JB
184502009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
18451
18452 PR fortran/39718
18453 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18454 libgfortranbegin, check existence of libgfortran.a instead of
18455 libgfortranbegin.a.
18456
6dea8e99
JJ
184572009-05-20 Jakub Jelinek <jakub@redhat.com>
18458
18459 PR libgomp/40174
18460 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18461 (gomp_free_pool_helper): Likewise.
18462
34d01e1d
VL
184632009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18464 Jakub Jelinek <jakub@redhat.com>
18465
18466 PR fortran/35423
18467 * testsuite/libgomp.fortran/workshare2.f90: New test.
18468
748086b7
JJ
184692009-04-09 Nick Clifton <nickc@redhat.com>
18470
18471 * iter.c: Change copyright header to refer to version 3 of the
18472 GNU General Public License with version 3.1 of the GCC Runtime
18473 Library Exception and to point readers at the COPYING3 and
18474 COPYING3.RUNTIME files and the FSF's license web page.
18475 * alloc.c: Likewise.
18476 * barrier.c: Likewise.
18477 * config/bsd/proc.c: Likewise.
18478 * config/linux/affinity.c: Likewise.
18479 * config/linux/alpha/futex.h: Likewise.
18480 * config/linux/bar.c: Likewise.
18481 * config/linux/bar.h: Likewise.
18482 * config/linux/ia64/futex.h: Likewise.
18483 * config/linux/ia64/mutex.h: Likewise.
18484 * config/linux/lock.c: Likewise.
18485 * config/linux/mips/futex.h: Likewise.
18486 * config/linux/mutex.c: Likewise.
18487 * config/linux/mutex.h: Likewise.
18488 * config/linux/powerpc/futex.h: Likewise.
18489 * config/linux/proc.c: Likewise.
18490 * config/linux/ptrlock.c: Likewise.
18491 * config/linux/ptrlock.h: Likewise.
18492 * config/linux/s390/futex.h: Likewise.
18493 * config/linux/sem.c: Likewise.
18494 * config/linux/sem.h: Likewise.
18495 * config/linux/sparc/futex.h: Likewise.
18496 * config/linux/wait.h: Likewise.
18497 * config/linux/x86/futex.h: Likewise.
18498 * config/mingw32/proc.c: Likewise.
18499 * config/mingw32/time.c: Likewise.
18500 * config/posix/affinity.c: Likewise.
18501 * config/posix/bar.c: Likewise.
18502 * config/posix/bar.h: Likewise.
18503 * config/posix/lock.c: Likewise.
18504 * config/posix/mutex.h: Likewise.
18505 * config/posix/proc.c: Likewise.
18506 * config/posix/ptrlock.h: Likewise.
18507 * config/posix/sem.c: Likewise.
18508 * config/posix/sem.h: Likewise.
18509 * config/posix/time.c: Likewise.
18510 * config/posix95/lock.c: Likewise.
18511 * critical.c: Likewise.
18512 * env.c: Likewise.
18513 * error.c: Likewise.
18514 * fortran.c: Likewise.
18515 * iter_ull.c: Likewise.
18516 * libgomp.h: Likewise.
18517 * libgomp_f.h.in: Likewise.
18518 * libgomp_g.h: Likewise.
18519 * loop.c: Likewise.
18520 * loop_ull.c: Likewise.
18521 * omp.h.in: Likewise.
18522 * omp_lib.f90.in: Likewise.
18523 * omp_lib.h.in: Likewise.
18524 * ordered.c: Likewise.
18525 * parallel.c: Likewise.
18526 * sections.c: Likewise.
18527 * single.c: Likewise.
18528 * task.c: Likewise.
18529 * team.c: Likewise.
18530 * work.c: Likewise.
18531
185322009-04-09 Jakub Jelinek <jakub@redhat.com>
18533
18534 * testsuite/config/default.exp: Change copyright header to refer to
18535 version 3 of the GNU General Public License and to point readers
18536 at the COPYING3 file and the FSF's license web page.
18537
4f0ae266
JJ
185382009-04-08 Jakub Jelinek <jakub@redhat.com>
18539
18540 PR middle-end/39573
18541 * libgomp.c++/pr39573.C: New test.
18542
03742a9b
JJ
185432009-04-01 Jakub Jelinek <jakub@redhat.com>
18544
18545 PR other/39591
18546 * testsuite/libgomp.c/pr39591-1.c: New test.
18547 * testsuite/libgomp.c/pr39591-2.c: New test.
18548 * testsuite/libgomp.c/pr39591-3.c: New test.
18549
e50ea10b
UB
185502009-03-25 Uros Bizjak <ubizjak@gmail.com>
18551
18552 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18553 * testsuite/libgomp.c/atomic-6.c: Ditto.
18554
c5cdb03f
JJ
185552009-03-23 Jakub Jelinek <jakub@redhat.com>
18556
18557 PR c/39495
18558 * testsuite/libgomp.c/loop-12.c: New test.
18559 * testsuite/libgomp.c/loop-11.c: New test.
18560 * testsuite/libgomp.c++/loop-11.C: New test.
18561 * testsuite/libgomp.c++/loop-12.C: New test.
18562 * testsuite/libgomp.c++/for-8.C: New test.
18563
7a9d3fe8
RW
185642009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18565
18566 * configure: Regenerate.
18567
3ad6b266
JJ
185682009-02-11 Jakub Jelinek <jakub@redhat.com>
18569
18570 PR middle-end/39154
18571 * testsuite/libgomp.c/pr39154.c: New test.
18572
b39dea08
ILT
185732009-01-30 Ian Lance Taylor <iant@google.com>
18574
18575 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18576 libgomp_ld_is_gold. Get gold version number.
18577 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18578 * configure: Rebuild.
18579
72c66596
IS
185802009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18581
e50ea10b 18582 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
18583 use libgfortran.a%s in their specs.
18584
876080ff
JJ
185852009-01-07 Jakub Jelinek <jakub@redhat.com>
18586
18587 PR libgomp/38086
18588 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18589 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18590 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18591 * configure: Regenerated.
18592 * config.h.in: Likewise.
18593
e4ebaef3
JJ
185942008-12-28 Jakub Jelinek <jakub@redhat.com>
18595
18596 PR c++/38650
18597 * testsuite/libgomp.c/pr38650.c: New test.
18598 * testsuite/libgomp.c++/pr38650.C: New test.
18599
382017a6
JJ
186002008-12-27 Jakub Jelinek <jakub@redhat.com>
18601
18602 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18603
79644b27
UB
186042008-12-26 Uros Bizjak <ubizjak@gmail.com>
18605
18606 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18607
baafc534
RW
186082008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18609
18610 * configure: Regenerate.
18611
d9c194cb
JJ
186122008-12-08 Jakub Jelinek <jakub@redhat.com>
18613
18614 PR middle-end/36802
18615 * testsuite/libgomp.c/pr36802-1.c: New test.
18616 * testsuite/libgomp.c/pr36802-2.c: New test.
18617 * testsuite/libgomp.c/pr36802-3.c: New test.
18618
86a182bf
JJ
186192008-12-01 Janis Johnson <janis187@us.ibm.com>
18620
18621 PR libgomp/38270
18622 * config/linux/powerpc/mutex.h: New.
18623
956adfaf
JJ
186242008-12-01 Jakub Jelinek <jakub@redhat.com>
18625
a2d4cdc9
JJ
18626 PR c++/38257
18627 * testsuite/libgomp.c++/for-7.C: New test.
18628
956adfaf
JJ
18629 PR c++/38348
18630 * testsuite/libgomp.c++/for-6.C: New test.
18631
d4038ca2
JJ
186322008-11-26 Janis Johnson <janis187@us.ibm.com>
18633
18634 PR testsuite/28870
18635 * testsuite/lib/libgomp.exp: Include new timeout library files.
18636 (libgomp_target_compile): Set timeout value from new proc.
18637
8b159eea
SE
186382008-11-13 Steve Ellcey <sje@cup.hp.com>
18639
18640 PR libgomp/37938
18641 * config/linux/ia64/mutex.h: New.
18642
5c6ed53a
TB
186432008-11-04 Tobias Burnus <burnus@net-b.de>
18644
18645 PR libgomp/37935
18646 * libgomp.texi (Runtime library routines, environment variables):
18647 Update for OpenMP version 3.0.
18648
6b4a97ed
PG
186492008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18650 Steve Ellcey <sje@cup.hp.com>
18651
18652 * configure: Regenerate for new libtool.
18653 * Makefile.in: Ditto.
18654 * testsuite/Makefile.in: Ditto.
18655
e2b34106
JJ
186562008-09-19 Jakub Jelinek <jakub@redhat.com>
18657 Andreas Tobler <a.tobler@schweiz.org>
18658
18659 * config/bsd/proc.c: New file.
8c3b3600 18660 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
18661 * configure.ac: Check for header <sys/sysctl.h>
18662 * configure: Regenerate.
18663 * config.h.in: Likewise.
18664
3606b8bf
JJ
186652008-09-05 Janis Johnson <janis187@us.ibm.com>
18666
18667 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18668
6528b88d
AL
186692008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18670
18671 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18672 * Makefile.in: Regenerated.
18673 * testsuite/Makefile.in: Regenerated.
18674
d9b14b12 186752008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 18676
a16b68bb 18677 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
18678 depend on blddir if blddir exists.
18679 (libgomp_target_compile): Likewise.
18680 * testsuite/libgomp.c++/c++.exp: Likewise.
18681 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18682
70b1e376
RW
186832008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18684
18685 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18686 Do not list GPL as Invariant Section.
18687
318e8c3f
IG
186882008-07-28 Ilie Garbacea <ilie@mips.com>
18689 Chao-ying Fu <fu@mips.com>
18690
18691 * configure.tgt: Enable futex for MIPS.
18692 * config/linux/mips/futex.h: New file.
18693
4db72361
JJ
186942008-07-16 Jakub Jelinek <jakub@redhat.com>
18695
18696 * team.c (gomp_team_end): Free team immediately if it has
18697 just one thread.
18698
87bd23b8
DE
186992008-07-08 David Edelsohn <edelsohn@gnu.org>
18700
18701 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18702 * testsuite/libgomp.fortran/fortran.exp: Same.
18703 * testsuite/libgomp.c/c.exp: Same.
18704 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18705 directory to library path first.
18706
323ff903
KW
187072008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18708
18709 * env.c (parse_stacksize): Add cast to avoid warning.
18710 (parse_spincount): Likewise.
18711
b357f682
JJ
187122008-06-27 Jakub Jelinek <jakub@redhat.com>
18713
ca2b1311
JJ
18714 * testsuite/libgomp.c/loop-10.c: New test.
18715 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18716 * libgomp.c++/loop-6.C (main): Likewise.
18717
b357f682
JJ
18718 PR debug/36617
18719 * testsuite/libgomp.c/debug-1.c: New test.
18720
09a46078
JJ
187212008-06-19 Jakub Jelinek <jakub@redhat.com>
18722
18723 * testsuite/libgomp.c/nqueens-1.c: New test.
18724
2368a460
JJ
18725 PR c++/36523
18726 * testsuite/libgomp.c++/task-7.C: New function.
18727
18c04407
RW
187282008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18729
18730 * configure: Regenerate.
18731
9c4e59e0
JDA
187322008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18733
18734 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18735 mutex when HAVE_SYNC_BUILTINS isn't defined.
18736
6ccde948
RW
187372008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18738
18739 * libgomp.texi (omp_test_lock): Fix typo.
18740
b896f9fd
TB
187412008-06-12 Tobias Burnus <burnus@net-b.de>
18742
18743 * omp_lib.f90.in: Add "implicit none".
18744
c34938a8
JJ
187452008-06-12 Jakub Jelinek <jakub@redhat.com>
18746
18747 PR middle-end/36506
18748 * testsuite/libgomp.c/reduction-5.c: New test.
18749
976e44e3
JJ
187502008-06-11 Jakub Jelinek <jakub@redhat.com>
18751
5f836cbb
JJ
18752 * libgomp.h (struct gomp_task): Add in_tied_task field.
18753 * task.c (gomp_init_task): Initialize it.
18754 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
18755 unconditionally. Don't call gomp_team_barrier_wake if
18756 current task is implicit or if(0) from implicit and number of
18757 running tasks is equal to nthreads - 1.
18758
01501fc8
JJ
18759 PR libgomp/36471
18760 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18761 omp_get_team_size_8): Fix pastos.
18762
976e44e3
JJ
18763 PR libgomp/36469
18764 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18765 * configure: Regenerated.
18766 * config.h.in: Regenerated.
18767 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18768 defined.
18769
e919209b
AT
187702008-06-06 Andreas Tobler <a.tobler@schweiz.org>
18771
18772 PR bootstrap/36452
18773 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18774 (GOMP_loop_ull_dynamic_start): Likewise.
18775 (GOMP_loop_ull_guided_start): Likewise.
18776 (GOMP_loop_ull_ordered_static_start): Likewise.
18777 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18778 (GOMP_loop_ull_ordered_guided_start): Likewise.
18779
a68ab351
JJ
187802008-06-06 Jakub Jelinek <jakub@redhat.com>
18781 Richard Henderson <rth@redhat.com>
18782 Ulrich Drepper <drepper@redhat.com>
18783 Jakob Blomer <jakob.blomer@ira.uka.de>
18784
18785 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18786 Substitute also OMP_*LOCK_25*.
18787 * configure: Regenerated.
18788 * config.h.in: Regenerated.
18789 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18790 ptrlock.c and task.c.
18791 * Makefile.in: Regenerated.
18792 * testsuite/Makefile.in: Regenerated.
18793 * task.c: New file.
18794 * loop_ull.c: New file.
18795 * iter_ull.c: New file.
18796 * libgomp.h: Include ptrlock.h.
18797 (enum gomp_task_kind): New type.
18798 (struct gomp_team): Add task_lock, task_queue, task_count,
18799 task_running_count, single_count fields. Add
18800 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18801 Remove work_share_lock, generation_mask,
18802 oldest_live_gen, num_live_gen and init_work_shares fields, add
18803 work work_share_list_alloc, work_share_list_free and work_share_chunk
18804 fields. Change work_shares from pointer to pointers into an array.
18805 Change ordered_release field into gomp_sem_t ** from flexible array
18806 member. Add implicit_task and initial_work_shares fields.
18807 Move close to the end of the struct.
18808 (struct gomp_team_state): Add single_count, last_work_share,
18809 active_level and level fields, remove work_share_generation.
18810 (gomp_barrier_handle_tasks): New prototype.
18811 (gomp_finish_task): New inline function.
18812 (struct gomp_work_share): Move chunk_size, end, incr into
18813 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18814 next_ll fields. Reshuffle fields. Add next_alloc,
18815 next_ws, next_free and inline_ordered_team_ids fields, change
18816 ordered_team_ids into pointer from flexible array member.
18817 Add mode field. Put lock and next into a different cache line
18818 from most of the write-once fields.
18819 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18820 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18821 gomp_iter_ull_guided_next): New prototypes.
18822 (gomp_new_icv): New prototype.
18823 (struct gomp_thread): Add thread_pool and task fields.
18824 (struct gomp_thread_pool): New type.
18825 (gomp_new_team): New prototype.
18826 (gomp_team_start): Change type of last argument.
18827 (gomp_new_work_share): Removed.
18828 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18829 (gomp_work_share_init_done): New static inline.
18830 (gomp_throttled_spin_count_var, gomp_available_cpus,
18831 gomp_managed_threads): New extern decls.
18832 (gomp_init_task): New prototype.
18833 (gomp_spin_count_var): New extern var decl.
18834 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18835 or no alias support, or if not PIC.
18836 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18837 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18838 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18839 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18840 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18841 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18842 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18843 gomp_test_nest_lock_25): New prototypes.
18844 (omp_lock_symver, strong_alias): Define.
18845 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18846 decls.
18847 (gomp_end_task): New.
18848 (struct gomp_task_icv, gomp_global_icv): New.
18849 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18850 (struct gomp_task): New.
18851 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18852 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18853 (gomp_icv): New.
18854 (gomp_schedule_type): Reorder enum to match
18855 omp_sched_t.
18856 * team.c (struct gomp_thread_start_data): Add thread_pool and task
18857 fields.
18858 (gomp_thread_start): Add gomp_team_barrier_wait call.
18859 For non-nested case remove clearing of docked thread thr fields.
18860 Use pool fields instead of global gomp_* variables. Use
18861 gomp_barrier_wait_last when needed. Initialize ts.active_level.
18862 Create tasks for each member thread.
18863 (free_team): Only destroy team barrier, task_lock here and free it.
18864 (gomp_free_thread): Free last_team if non-NULL.
18865 (gomp_team_end): Call gomp_team_barrier_wait instead of
18866 gomp_barrier_wait. For nested case call one extra
18867 gomp_barrier_wait. Move here some destruction from free_team.
18868 Call free_team on pool->last_team if any, rather than freeing
18869 current team. Destroy work_share_list_free_lock ifndef
18870 HAVE_SYNC_BUILTINS.
18871 (gomp_new_icv): New function.
18872 (gomp_threads, gomp_threads_size, gomp_threads_used,
18873 gomp_threads_dock): Removed.
18874 (gomp_thread_destructor): New variable.
18875 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18876 functions.
18877 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 18878 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
18879 Initialize thread_pool field for new threads. Clear single_count.
18880 Change last argument from ws to team, don't create
18881 new team, set ts.work_share to &team->work_shares[0] and clear
18882 ts.last_work_share. Don't clear ts.work_share_generation.
18883 If number of threads changed, adjust atomically gomp_managed_threads.
18884 Use gomp_init_task instead of gomp_new_task,
18885 set thr->task to the corresponding implicit_task array entry.
18886 Create tasks for each member thread. Initialize ts.level.
18887 (initialize_team): Call pthread_key_create on
18888 gomp_thread_destructor.
18889 (team_destructor): New function.
18890 (new_team): Removed.
18891 (gomp_new_team): New function.
18892 (free_team): Free gomp_work_share blocks chained through next_alloc,
18893 instead of freeing work_shares and destroying work_share_lock.
18894 (gomp_team_end): Call gomp_fini_work_share. If number of threads
18895 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
18896 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18897 of gomp_barrier_wait.
18898 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18899 instead of gomp_barrier_wait. Call gomp_work_share_init_done
18900 if gomp_work_share_start returned true. Don't unlock ws->lock.
18901 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
18902 of gomp_barrier_wait.
18903 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
18904 gomp_work_share_init_done if gomp_work_share_start returned true.
18905 Don't unlock ws->lock.
18906 * work.c: Include stddef.h.
18907 (free_work_share): Use work_share_list_free_lock instead
18908 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
18909 Call gomp_fini_work_share and then either free ws if orphaned, or
18910 put it into work_share_list_free list of the current team.
18911 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
18912 functions.
18913 (gomp_work_share_start, gomp_work_share_end,
18914 gomp_work_share_end_nowait): Rewritten.
18915 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
18916 (openmp_version): Set to 200805.
18917 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18918 omp_sched_guided, omp_sched_auto): New parameters.
18919 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18920 omp_set_max_active_levels, omp_get_max_active_levels,
18921 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18922 omp_get_active_level): New interfaces.
18923 * omp_lib.h.in (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 externals.
18930 * loop.c: Include limits.h.
18931 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
18932 GFS_AUTO.
18933 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
18934 Likewise. Use gomp_icv.
18935 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
18936 ts.static_trip here.
18937 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
18938 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
18939 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
18940 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
18941 don't unlock ws->lock, otherwise lock it.
18942 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
18943 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
18944 (gomp_parallel_loop_start): Call gomp_new_team instead of
18945 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
18946 Adjust gomp_team_start caller. Pass 0 as second argument to
18947 gomp_resolve_num_threads.
18948 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
18949 If adding ws->chunk_size nthreads + 1 times after end won't
18950 overflow, set ws->mode to 1.
18951 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
18952 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
18953 GOMP_loop_ull_ordered_static_start,
18954 GOMP_loop_ull_ordered_dynamic_start,
18955 GOMP_loop_ull_ordered_guided_start,
18956 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
18957 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
18958 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
18959 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
18960 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
18961 prototypes.
18962 * libgomp.map: Export lock routines also @@OMP_2.0.
18963 (GOMP_loop_ordered_dynamic_first,
18964 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
18965 GOMP_loop_ordered_static_first): Remove.
18966 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
18967 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
18968 GOMP_loop_ull_ordered_dynamic_next,
18969 GOMP_loop_ull_ordered_dynamic_start,
18970 GOMP_loop_ull_ordered_guided_next,
18971 GOMP_loop_ull_ordered_guided_start,
18972 GOMP_loop_ull_ordered_runtime_next,
18973 GOMP_loop_ull_ordered_runtime_start,
18974 GOMP_loop_ull_ordered_static_next,
18975 GOMP_loop_ull_ordered_static_start,
18976 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
18977 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
18978 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
18979 (omp_set_schedule, omp_get_schedule,
18980 omp_get_thread_limit, omp_set_max_active_levels,
18981 omp_get_max_active_levels, omp_get_level,
18982 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
18983 omp_set_schedule_, omp_set_schedule_8_,
18984 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18985 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18986 omp_get_max_active_levels_, omp_get_level_,
18987 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18988 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18989 New exports @@OMP_3.0.
18990 * omp.h.in (omp_sched_t): New type.
18991 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18992 omp_set_max_active_levels, omp_get_max_active_levels,
18993 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18994 omp_get_active_level): New prototypes.
18995 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
18996 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
18997 gomp_thread_limit_var, gomp_remaining_threads_count,
18998 gomp_remaining_threads_lock): New variables.
18999 (parse_spincount): New function.
19000 (initialize_env): Call gomp_init_num_threads unconditionally.
19001 Initialize gomp_available_cpus. Call parse_spincount,
19002 initialize gomp_{,throttled_}spin_count_var
19003 depending on presence and value of OMP_WAIT_POLICY and
19004 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
19005 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
19006 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
19007 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
19008 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
19009 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
19010 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
19011 (gomp_global_icv): New.
19012 (parse_schedule): Use it. Parse "auto".
19013 (omp_set_num_threads): Use gomp_icv.
19014 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
19015 Likewise.
19016 (omp_get_max_threads): Move from parallel.c.
19017 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
19018 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
19019 add ialias.
19020 (parse_stacksize, parse_wait_policy): New functions.
19021 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
19022 both wrappers for compatibility and new locks.
19023 (omp_set_schedule, omp_get_schedule,
19024 omp_get_thread_limit, omp_set_max_active_levels,
19025 omp_get_max_active_levels, omp_get_level,
19026 omp_get_ancestor_thread_num, omp_get_team_size,
19027 omp_get_active_level): New ialias_redirect.
19028 (omp_set_schedule_, omp_set_schedule_8_,
19029 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
19030 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
19031 omp_get_max_active_levels_, omp_get_level_,
19032 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
19033 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
19034 New functions.
19035 * parallel.c: Include limits.h.
19036 (gomp_resolve_num_threads): Add count argument. Rewritten.
19037 (GOMP_parallel_start): Call gomp_new_team and pass that as last
19038 argument to gomp_team_start. Pass 0 as second argument to
19039 gomp_resolve_num_threads.
19040 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
19041 if gomp_thread_limit_var != ULONG_MAX.
19042 (omp_in_parallel): Implement using ts.active_level.
19043 (omp_get_max_threads): Move to env.c.
19044 (omp_get_level, omp_get_ancestor_thread_num,
19045 omp_get_team_size, omp_get_active_level): New functions,
19046 add ialias.
19047 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
19048 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
19049 gomp_iter_dynamic_next instead of the _locked variant and don't take
19050 lock around it, otherwise acquire it before calling
19051 gomp_iter_dynamic_next_locked.
19052 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
19053 gomp_iter_dynamic_next instead of the _locked variant and don't take
19054 lock around it.
19055 (GOMP_parallel_sections_start): Call gomp_new_team instead of
19056 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
19057 Adjust gomp_team_start caller. Pass count as second argument to
19058 gomp_resolve_num_threads, don't adjust num_threads after the call.
19059 Use gomp_icv.
19060 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19061 ws->chunk_size by incr.
19062 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
19063 code.
19064 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19065 types.
19066 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19067 (omp_check_defines): Check even the compat defines.
19068 * config/linux/ptrlock.c: New file.
19069 * config/linux/ptrlock.h: New file.
19070 * config/linux/wait.h: New file.
19071 * config/posix/ptrlock.c: New file.
19072 * config/posix/ptrlock.h: New file.
19073 * config/linux/bar.h (gomp_team_barrier_wait,
19074 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19075 (gomp_team_barrier_set_task_pending,
19076 gomp_team_barrier_clear_task_pending,
19077 gomp_team_barrier_set_waiting_for_tasks,
19078 gomp_team_barrier_waiting_for_tasks,
19079 gomp_team_barrier_done): New inlines.
19080 (gomp_barrier_t): Rewritten.
19081 (gomp_barrier_state_t): New typedef.
19082 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19083 gomp_barrier_wait_start): Rewritten.
19084 (gomp_barrier_wait_end): Change second argument to
19085 gomp_barrier_state_t.
19086 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19087 inlines.
19088 * config/linux/bar.c: Include wait.h instead of libgomp.h and
19089 futex.h.
19090 (gomp_barrier_wait_end): Rewritten.
19091 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19092 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19093 * config/posix/bar.h (gomp_barrier_t): Add generation field.
19094 (gomp_barrier_state_t): New typedef.
19095 (gomp_team_barrier_wait,
19096 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19097 (gomp_barrier_wait_start): Or all but low 2 bits from generation
19098 into the return value. Return gomp_barrier_state_t.
19099 (gomp_team_barrier_set_task_pending,
19100 gomp_team_barrier_clear_task_pending,
19101 gomp_team_barrier_set_waiting_for_tasks,
19102 gomp_team_barrier_waiting_for_tasks,
19103 gomp_team_barrier_done): New inlines.
19104 (gomp_barrier_wait_end): Change second argument to
19105 gomp_barrier_state_t.
19106 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19107 inlines.
19108 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19109 (gomp_barrier_wait_end): Change second argument to
3e348fcc 19110 gomp_barrier_state_t.
a68ab351
JJ
19111 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19112 gomp_team_barrier_wake): New functions.
19113 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19114 futex.h.
19115 (gomp_futex_wake, gomp_futex_wait): New variables.
19116 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19117 * config/linux/lock.c: Rewrite to make locks task owned,
19118 for backwards compatibility provide the old entrypoints
19119 if symbol versioning. Include wait.h instead of libgomp.h and
19120 futex.h.
19121 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19122 * config/posix95/lock.c: Rewrite to make locks task owned,
19123 for backwards compatibility provide the old entrypoints
19124 if symbol versioning.
19125 * config/posix/lock.c: Rewrite to make locks task owned,
19126 for backwards compatibility provide the old entrypoints
19127 if symbol versioning.
19128 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19129 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19130 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19131 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19132 (sys_futex0): Return error code.
19133 (futex_wake, futex_wait): If ENOSYS was returned, clear
19134 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19135 (cpu_relax, atomic_write_barrier): New static inlines.
19136 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19137 (futex_wake, futex_wait): If ENOSYS was returned, clear
19138 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19139 (cpu_relax, atomic_write_barrier): New static inlines.
19140 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19141 (sys_futex0): Return error code.
19142 (futex_wake, futex_wait): If ENOSYS was returned, clear
19143 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19144 (cpu_relax, atomic_write_barrier): New static inlines.
19145 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19146 (sys_futex0): Return error code.
19147 (futex_wake, futex_wait): If ENOSYS was returned, clear
19148 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19149 (cpu_relax, atomic_write_barrier): New static inlines.
19150 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19151 (sys_futex0): Return error code.
19152 (futex_wake, futex_wait): If ENOSYS was returned, clear
19153 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19154 (cpu_relax, atomic_write_barrier): New static inlines.
19155 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19156 (sys_futex0): Return error code.
19157 (futex_wake, futex_wait): If ENOSYS was returned, clear
19158 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19159 (cpu_relax, atomic_write_barrier): New static inlines.
19160 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19161 futex.h.
19162 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19163 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19164 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19165 types.
19166 (omp_nest_lock_t): Change owner into void *, add lock field.
19167 * config/posix95/omp-lock.h: Include semaphore.h.
19168 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19169 (omp_lock_t): Use sem_t instead of mutex if semaphores
19170 aren't broken.
19171 (omp_nest_lock_t): Likewise. Change owner to void *.
19172 * config/posix/omp-lock.h: Include semaphore.h.
19173 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19174 (omp_lock_t): Use sem_t instead of mutex if semaphores
19175 aren't broken.
19176 (omp_nest_lock_t): Likewise. Add owner field.
19177
191782008-06-06 Jakub Jelinek <jakub@redhat.com>
19179
19180 * testsuite/libgomp.c/collapse-1.c: New test.
19181 * testsuite/libgomp.c/collapse-2.c: New test.
19182 * testsuite/libgomp.c/collapse-3.c: New test.
19183 * testsuite/libgomp.c/icv-1.c: New test.
19184 * testsuite/libgomp.c/icv-2.c: New test.
19185 * testsuite/libgomp.c/lib-2.c: New test.
19186 * testsuite/libgomp.c/lock-1.c: New test.
19187 * testsuite/libgomp.c/lock-2.c: New test.
19188 * testsuite/libgomp.c/lock-3.c: New test.
19189 * testsuite/libgomp.c/loop-4.c: New test.
19190 * testsuite/libgomp.c/loop-5.c: New test.
19191 * testsuite/libgomp.c/loop-6.c: New test.
19192 * testsuite/libgomp.c/loop-7.c: New test.
19193 * testsuite/libgomp.c/loop-8.c: New test.
19194 * testsuite/libgomp.c/loop-9.c: New test.
19195 * testsuite/libgomp.c/nested-3.c: New test.
19196 * testsuite/libgomp.c/nestedfn-6.c: New test.
19197 * testsuite/libgomp.c/sort-1.c: New test.
19198 * testsuite/libgomp.c/task-1.c: New test.
19199 * testsuite/libgomp.c/task-2.c: New test.
19200 * testsuite/libgomp.c/task-3.c: New test.
19201 * testsuite/libgomp.c/task-4.c: New test.
19202 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19203 to C++ testsuite default compiler options.
19204 * testsuite/libgomp.c++/collapse-1.C: New test.
19205 * testsuite/libgomp.c++/collapse-2.C: New test.
19206 * testsuite/libgomp.c++/ctor-10.C: New test.
19207 * testsuite/libgomp.c++/for-1.C: New test.
19208 * testsuite/libgomp.c++/for-2.C: New test.
19209 * testsuite/libgomp.c++/for-3.C: New test.
19210 * testsuite/libgomp.c++/for-4.C: New test.
19211 * testsuite/libgomp.c++/for-5.C: New test.
19212 * testsuite/libgomp.c++/loop-8.C: New test.
19213 * testsuite/libgomp.c++/loop-9.C: New test.
19214 * testsuite/libgomp.c++/loop-10.C: New test.
19215 * testsuite/libgomp.c++/task-1.C: New test.
19216 * testsuite/libgomp.c++/task-2.C: New test.
19217 * testsuite/libgomp.c++/task-3.C: New test.
19218 * testsuite/libgomp.c++/task-4.C: New test.
19219 * testsuite/libgomp.c++/task-5.C: New test.
19220 * testsuite/libgomp.c++/task-6.C: New test.
19221 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19222 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19223 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19224 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19225 * testsuite/libgomp.fortran/collapse1.f90: New test.
19226 * testsuite/libgomp.fortran/collapse2.f90: New test.
19227 * testsuite/libgomp.fortran/collapse3.f90: New test.
19228 * testsuite/libgomp.fortran/collapse4.f90: New test.
19229 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19230 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19231 * testsuite/libgomp.fortran/lib4.f90: New test.
19232 * testsuite/libgomp.fortran/lock-1.f90: New test.
19233 * testsuite/libgomp.fortran/lock-2.f90: New test.
19234 * testsuite/libgomp.fortran/nested1.f90: New test.
19235 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19236 * testsuite/libgomp.fortran/strassen.f90: New test.
19237 * testsuite/libgomp.fortran/tabs1.f90: New test.
19238 * testsuite/libgomp.fortran/tabs2.f: New test.
19239 * testsuite/libgomp.fortran/task1.f90: New test.
19240 * testsuite/libgomp.fortran/task2.f90: New test.
19241 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19242 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19243 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19244 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19245 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19246
7a0112e7
JJ
192472008-05-23 Jakub Jelinek <jakub@redhat.com>
19248
19249 PR c++/36308
19250 * testsuite/libgomp.c++/ctor-11.C: New test.
19251 * testsuite/libgomp.c++/ctor-12.C: New test.
19252
91a5b394
JJ
192532008-05-15 Janis Johnson <janis187@us.ibm.com>
19254
19255 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19256
c18c98c0
JJ
192572008-05-07 Jakub Jelinek <jakub@redhat.com>
19258
19259 PR middle-end/36106
19260 * testsuite/libgomp.c/atomic-5.c: New test.
19261 * testsuite/libgomp.c/atomic-6.c: New test.
19262 * testsuite/libgomp.c/autopar-1.c: New test.
19263
6d26724a
RW
192642008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19265
19266 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19267 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19268 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19269 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19270 * configure: Regenerate.
19271 * Makefile.in, testsuite/Makefile.in: Likewise.
19272
deb984e6
PB
192732008-04-18 Paolo Bonzini <bonzini@gnu.org>
19274
19275 PR bootstrap/35457
19276 * aclocal.m4: Regenerate.
19277 * configure: Regenerate.
19278
9e775963
JJ
192792008-03-18 Jakub Jelinek <jakub@redhat.com>
19280
8119fc93
JJ
19281 PR middle-end/35611
19282 * testsuite/libgomp.c/atomic-4.c: New test.
19283
9e775963
JJ
19284 PR libgomp/35625
19285 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19286 (gomp_iter_guided_next): Likewise.
19287 * testsuite/libgomp.c/pr35625.c: New test.
19288
38d24731
RW
192892008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19290
19291 * aclocal.m4: Regenerate.
19292 * configure: Likewise.
19293 * Makefile.in: Likewise.
19294 * testsuite/Makefile.in: Likewise.
19295
d0fb20be
JJ
192962008-03-13 Jakub Jelinek <jakub@redhat.com>
19297
19298 PR middle-end/35185
19299 * testsuite/libgomp.c++/pr35185.C: New test.
19300
7c8f7639
JJ
193012008-03-12 Jakub Jelinek <jakub@redhat.com>
19302
19303 PR middle-end/35549
19304 * testsuite/libgomp.c/pr35549.c: New test.
19305
251923f5
JJ
193062008-03-06 Jakub Jelinek <jakub@redhat.com>
19307
19308 * testsuite/libgomp.c/atomic-3.c: New test.
19309
f489fba1
FXC
193102008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19311
19312 PR fortran/33197
251923f5 19313 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
19314 .F08 file suffixes.
19315
a1b25e49
PG
193162008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19317
19318 PR libgomp/33131
19319 * configure.ac: Add ACX_HEADER_STRING.
19320 * env.c: Include strings.h.
19321 * aclocal.m4: Regenerate.
19322 * config.h.in: Regenerate.
19323 * configure: Regenerate.
19324 * Makefile.in: Regenerate.
19325 * testsuite/Makefile.in: Regenerate.
19326
6837b3b8
JJ
193272008-02-15 Jakub Jelinek <jakub@redhat.com>
19328
ac84c062
JJ
19329 PR middle-end/35196
19330 * testsuite/libgomp.c/pr35196.c: New test.
19331
6837b3b8
JJ
19332 PR middle-end/35130
19333 * testsuite/libgomp.fortran/pr35130.f90: New test.
19334 * testsuite/libgomp.c/pr35130.c: New test.
19335
c256730c
JJ
193362008-01-25 Jakub Jelinek <jakub@redhat.com>
19337
19338 PR middle-end/33880
19339 * testsuite/libgomp.c/pr33880.c: New test.
19340 * testsuite/libgomp.fortran/pr33880.f90: New test.
19341
c8e95542 193422008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
19343
19344 * configure: Regenerate.
19345
0f3e711e
JJ
193462008-01-08 Jakub Jelinek <jakub@redhat.com>
19347
19348 * configure.ac: Move futex checking into ../config/futex.m4.
19349 * configure: Rebuilt.
19350 * aclocal.m4: Rebuilt.
19351 * Makefile.in: Rebuilt.
19352
19353 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19354 2007-10-15 ../config/tls.m4 change.
19355
5259c813
JJ
193562007-12-19 Jakub Jelinek <jakub@redhat.com>
19357
19358 PR c++/34513
19359 * testsuite/libgomp.c/pr34513.c: New test.
19360 * testsuite/libgomp.c++/pr34513.C: New test.
19361
ae8d8879
JH
193622007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19363
19364 PR target/32765
19365 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19366
2b4cf991
JJ
193672007-12-04 Jakub Jelinek <jakub@redhat.com>
19368
19369 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19370
d2dda7fe
JJ
193712007-12-03 Jakub Jelinek <jakub@redhat.com>
19372
19373 * testsuite/libgomp.c/private-1.c: New test.
19374
d683ec81
PB
193752007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19376 Paolo Bonzini <bonzini@gnu.org>
19377
19378 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19379 instead of 'VPATH ='.
19380 * Makefile.in: Regenerate.
19381
a7415017
MK
193822007-11-23 Matthias Klose <doko@ubuntu.com>
19383
19384 * configure.ac: Adjust makeinfo version check.
19385 * configure: Regenerate.
19386
78e47463
JJ
193872007-11-10 Jakub Jelinek <jakub@redhat.com>
19388
19389 PR fortran/34020
19390 * testsuite/libgomp.fortran/pr34020.f90: New test.
19391
239371f9
JJ
193922007-11-06 Jakub Jelinek <jakub@redhat.com>
19393
19394 PR c++/33894
19395 * testsuite/libgomp.c++/atomic-1.C: New test.
19396
98a5fa94
JJ
193972007-10-25 Jakub Jelinek <jakub@redhat.com>
19398
19399 PR libgomp/33275
19400 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19401 Make x and y integers rather than (implicit) reals. Add private (j)
19402 clause to the last omp parallel.
19403
3afcaaf4
MR
194042007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19405
19406 * configure: Regenerate following changes to ../config/tls.m4.
19407
bd69daef
JJ
194082007-09-28 Jakub Jelinek <jakub@redhat.com>
19409
19410 * testsuite/libgomp.fortran/stack.f90: New test.
19411
1d0bd356
DS
194122007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19413
19414 * config/mingw32/proc.c: New file.
19415
b3172cab
UB
194162007-09-05 Uros Bizjak <ubizjak@gmail.com>
19417
19418 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19419 (main): Use __get_cpuid to get i386 target fetaures.
19420 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19421 (main): Use __get_cpuid to get x86_64 target fetaures.
19422
6da17392
JH
194232007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19424
19425 PR target/32765
19426 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19427 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19428
e1c82219
JJ
194292007-07-12 Jakub Jelinek <jakub@redhat.com>
19430
19431 PR fortran/32550
19432 * testsuite/libgomp.fortran/pr32550.f90: New test.
19433 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19434
12a27363
L
194352007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19436
19437 * aclocal.m4: Regenerated.
19438
5349080d
TB
194392007-07-05 Tobias Burnus <burnus@net-b.de>
19440
19441 PR fortran/32359
19442 * testsuite/libgomp.fortran/pr32359.f90: New.
19443
4f9c450c
JJ
194442007-07-02 Jakub Jelinek <jakub@redhat.com>
19445
19446 PR libgomp/32468
19447 * sections.c (GOMP_parallel_sections_start): Only decrease
19448 number of threads to COUNT if dyn_var is true.
19449 * testsuite/libgomp.c/pr32468.c: New test.
19450
28c67ed7
RO
194512007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19452
19453 PR libgomp/26308
19454 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19455
64964499
JJ
194562007-06-21 Jakub Jelinek <jakub@redhat.com>
19457
19458 PR middle-end/32362
19459 * testsuite/libgomp.c/pr32362-1.c: New test.
19460 * testsuite/libgomp.c/pr32362-2.c: New test.
19461 * testsuite/libgomp.c/pr32362-3.c: New test.
19462
46d8fbd1
JJ
194632007-06-07 Jakub Jelinek <jakub@redhat.com>
19464
19465 * team.c (gomp_team_start): Fix setting up thread_attr
19466 stack size.
19467
82a6cadf
PB
194682007-06-02 Paolo Bonzini <bonzini@gnu.org>
19469
19470 * configure: Regenerate.
19471
1cf3d07d
SE
194722007-05-23 Steve Ellcey <sje@cup.hp.com>
19473
19474 * Makefile.in: Regenerate.
19475 * configure: Regenerate.
19476 * aclocal.m4: Regenerate.
19477 * testsuite/Makefile.in: Regenerate.
19478
12aac30b
JJ
194792007-05-04 Jakub Jelinek <jakub@redhat.com>
19480
19481 * config/linux/proc.c: New file.
19482
f1028b02
JJ
19483 PR libgomp/28482
19484 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19485
06785a48
DF
194862007-04-19 Daniel Franke <franke.daniel@gmail.com>
19487
19488 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19489
b3b08ba0
MK
194902007-04-16 Matthias Klose <doko@debian.org>
19491
19492 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19493 flags if not building with -m64.
19494 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19495 flag for i?86-*-* targets, if current target matches -m64.
19496
6b2c5ce0
SE
194972007-04-14 Steve Ellcey <sje@cup.hp.com>
19498
19499 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19500 * Makefile.in: Regenerate.
19501
dd56fe7c
JDA
195022007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19503
19504 PR testsuite/31369
19505 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19506 ld_library_path.
19507 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19508
a0884cf0
JJ
195092007-04-04 Jakub Jelinek <jakub@redhat.com>
19510
19511 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19512 decls.
19513 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19514 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19515 (parse_affinity): New function.
19516 (initialize_env): Call it and gomp_init_affinity.
19517 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19518 create new pthread_attr_t and call gomp_init_thread_affinity
19519 on it for each thread before passing the attribute to pthread_create.
19520 * config/linux/affinity.c: New file.
19521 * config/posix/affinity.c: New file.
19522 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19523 * configure: Rebuilt.
19524 * config.h.in: Rebuilt.
19525 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19526 * Makefile.in: Rebuilt.
19527
1850744b
AT
195282007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19529
19530 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19531 *-*-darwin*.
19532 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19533 and use it if found.
19534
516f1ed8
UB
195352007-03-18 Uros Bizjak <ubizjak@gmail.com>
19536
19537 * testsuite/config/default.exp: New file.
19538 * testsuite/lib/libgomp.exp: New file.
19539 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19540 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19541 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19542 (libgomp_load): Remove.
19543 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19544 always_ld_library_path, not ld_library_path. Set additional_flags
19545 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19546 (target_compile): Do not call libgomp_init. Append lang_library_path
19547 and lang_link_flags to options.
19548 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19549 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19550 here.
19551 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19552 always_ld_library_path. Set LD_LIBRARY_PATH here.
19553 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19554 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19555 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19556 CX8 flag.
19557 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19558 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19559 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19560 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19561 * testsuite/libgomp.c/atomic-10.c: Ditto.
19562
2ada56f5
JJ
195632007-03-21 Jakub Jelinek <jakub@redhat.com>
19564
19565 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19566 dg-final cleanup-modules line.
19567 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19568 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19569 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19570 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19571 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19572 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19573 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19574
f210f1cd
AS
195752007-03-18 Andreas Schwab <schwab@suse.de>
19576
19577 * acinclude.m4: Adjust regular expression for ld version
19578 extraction.
19579 * configure: Regenerate.
19580
c4dc950d
BM
195812007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19582
19583 * Makefile.am: Add install-pdf target as copied from
19584 automake v1.10 rules.
19585 * Makefile.in: Regenerate
19586
e02a048f
JJ
195872007-02-07 Jakub Jelinek <jakub@redhat.com>
19588
78e075d4
JJ
19589 PR libgomp/28486
19590 * configure: Regenerate.
19591
e02a048f
JJ
19592 PR c++/30703
19593 * testsuite/libgomp.c++/pr30703.C: New test.
19594
60def7ed
JJ
195952007-02-02 Jakub Jelinek <jakub@redhat.com>
19596
19597 Revert:
19598 2006-07-05 Eric Christopher <echristo@apple.com>
19599 * configure.ac: Depend addition of -pthread on host OS.
19600 * configure: Regenerate.
19601
f1b0882e
RW
196022007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19603
19604 * libgomp.texi: Fix spacing after abbreviations.
19605
748b9d7c
DF
196062007-01-31 Daniel Franke <franke.daniel@gmail.com>
19607
19608 PR libgomp/30546
19609 * configure.ac: Add check for makeinfo
19610 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 19611 if an appropriate version of makeinfo is found.
748b9d7c
DF
19612 * aclocal.m4: Regenerated.
19613 * configure: Regenerated.
19614 * Makefile.in: Regenerated.
19615 * testsuite/Makefile.in: Regenerated.
19616
14734fc7
DF
196172007-01-29 Daniel Franke <franke.daniel@gmail.com>
19618
19619 PR libgomp/30540
19620 * libgomp.texi: More about implementation-dependent settings.
19621
7befd5d2
TB
196222007-01-26 Tobias Burnus <burnus@net-b.de>
19623
19624 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19625
4288fea2
JJ
196262007-01-24 Jakub Jelinek <jakub@redhat.com>
19627
19628 PR middle-end/30494
19629 * testsuite/libgomp.c/pr30494.c: New test.
19630
627ab4b8
TT
196312007-01-15 Tom Tromey <tromey@redhat.com>
19632
19633 * configure: Rebuilt.
19634 * configure.ac: Fixed comment.
19635
7c2b7f45
DF
196362007-01-14 Daniel Franke <franke.daniel@gmail.com>
19637
19638 * libgomp.texi: Document implementation specific default values of
19639 environment variables.
19640
3721b9e1
DF
196412006-12-21 Daniel Franke <franke.daniel@gmail.com>
19642
19643 PR libgomp/28209
19644 * libgomp.texi: New file.
19645 * configure.ac: Add --enable-generated-files-in-srcdir option.
19646 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19647 files to srcdir.
19648 * Makefile.in: Regenerated.
19649 * config.h.in: Regenerated.
19650 * testsuite/Makefile.in: Regenerated.
19651 * NOTES: Removed.
19652
62bd6216
DF
196532006-12-04 Daniel Franke <franke.daniel@gmail.com>
19654
19655 PR libgomp/29949
19656 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19657
aad741f4
EB
196582006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19659
19660 * configure: Regenerate.
19661
22568cc6
JJ
196622006-12-04 Jakub Jelinek <jakub@redhat.com>
19663
19664 PR libgomp/29947
19665 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19666 start if there shouldn't be any loop iterations.
19667 (gomp_loop_ordered_static_start): Remove start == end test.
19668 * testsuite/libgomp.c/pr29947-1.c: New test.
19669 * testsuite/libgomp.c/pr29947-2.c: New test.
19670
a9690009
EB
196712006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19672
19673 * configure.tgt: Force initial-exec TLS model on Linux only.
19674
597c25e6
DJ
196752006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19676
19677 * configure: Regenerated.
19678
6acf0b38
UB
196792006-11-09 Uros Bizjak <ubizjak@gmail.com>
19680
19681 * env.c (parse_schedule): Reject out of range values.
19682 (parse_unsigned_long): Reject out of range, negative or zero values.
19683
a7a53ca5
JJ
196842006-10-29 Jakub Jelinek <jakub@redhat.com>
19685
19686 PR fortran/29629
19687 * testsuite/libgomp.fortran/pr29629.f90: New test.
19688
6d4d216a
EB
196892006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19690
19691 PR libgomp/29494
19692 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19693 * config/posix95: New directory.
19694 * config/posix95/omp-lock.h: New file.
19695 * config/posix95/lock.c: Likewise.
19696
5b043f08
GK
196972006-10-14 Geoffrey Keating <geoffk@apple.com>
19698
19699 * aclocal.m4: Regenerate.
19700 * configure: Regenerate.
19701
b50019f0
DS
197022006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19703
19704 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19705 '<' to '<='.
19706
8887708e
DS
197072006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19708
19709 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19710 test.
19711 * configure: Regenerate.
19712 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19713
9b9e4cd6
JJ
197142006-09-26 Jakub Jelinek <jakub@redhat.com>
19715
a70ad3bb
JJ
19716 PR middle-end/25261
19717 PR middle-end/28790
19718 * testsuite/libgomp.c/nestedfn-4.c: New test.
19719 * testsuite/libgomp.c/nestedfn-5.c: New test.
19720 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19721
9b9e4cd6
JJ
19722 PR fortran/29097
19723 * testsuite/libgomp.fortran/condinc1.f: New test.
19724 * testsuite/libgomp.fortran/condinc2.f: New test.
19725 * testsuite/libgomp.fortran/condinc3.f90: New test.
19726 * testsuite/libgomp.fortran/condinc4.f90: New test.
19727 * testsuite/libgomp.fortran/condinc1.inc: New file.
19728
2fb31455
TT
197292006-09-18 Tom Tromey <tromey@redhat.com>
19730
19731 * configure: Rebuilt.
19732
c663e301
JM
197332006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19734
19735 PR c/28768
19736 PR preprocessor/14634
19737 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19738 to AC_DEFINE.
19739 * configure: Regenerate.
19740
38371be9
SK
197412006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19742
19743 * testsuite/libgomp.fortran/reduction3.f90: Change
19744 -2147483648 to -huge(i)-1 to avoid overflow.
19745 * testsuite/libgomp.fortran/reduction4.f90: Change
19746 Z'ffffffff' to not(0) to avoid overflow.
19747
571d5ac5
JM
197482006-08-26 Joseph S. Myers <joseph@codesourcery.com>
19749
19750 PR libgomp/25938
19751 * Makefile.am (libsubincludedir): New.
19752 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19753 * Makefile.in: Regenerate.
19754
89b3e3cd
JJ
197552006-08-17 Jakub Jelinek <jakub@redhat.com>
19756
19757 PR libgomp/28725
19758 * env.c: Include ctype.h.
19759 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19760 leading and/or trailing whitespace and compare strings case
19761 insensitively.
19762
742fae05
JJ
197632006-07-16 Jakub Jelinek <jakub@redhat.com>
19764
19765 PR fortran/28390
19766 * testsuite/libgomp.fortran/pr28390.f: New test.
19767
a1daed2d
EC
197682006-07-05 Eric Christopher <echristo@apple.com>
19769
19770 * configure.ac: Depend addition of -pthread on host OS.
19771 * configure: Regenerate.
19772
5d7b5199
JJ
197732006-06-21 Jakub Jelinek <jakub@redhat.com>
19774
19775 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19776 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19777 defined.
19778
fe5568e9
JJ
197792006-06-20 Jakub Jelinek <jakub@redhat.com>
19780
19781 PR libgomp/26175
19782 PR libgomp/26477
19783 * configure.ac: If neither --enable-linux-futex nor
19784 --disable-linux-futex is passed, determine the default by checking
19785 for compiling and/or running against NPTL. With --enable-linux-futex,
19786 check if SYS_gettid and SYS_futex are defined.
19787 * configure: Rebuilt.
19788
c3b11a40
RH
197892006-06-14 Richard Henderson <rth@redhat.com>
19790
19791 PR libgomp/28008
19792 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19793 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19794
d0d1b24d
RH
197952006-06-09 Richard Henderson <rth@redhat.com>
19796
19797 * env.c (gomp_nthreads_var): Change to unsigned long.
19798 (gomp_run_sched_chunk): Likewise.
19799 (parse_unsigned_long): Rename from parse_num_threads and generalize.
19800 (initialize_env): Initialize gomp_thread_attr.
19801 * libgomp.h (gomp_nthreads_var): Update decl.
19802 (gomp_run_sched_chunk): Likewise.
19803 (gomp_thread_attr): Declare.
19804 * team.c (gomp_thread_attr): Export.
19805 (initialize_team): Don't initialize it.
19806
cd75853e
JJ
198072006-06-09 Jakub Jelinek <jakub@redhat.com>
19808
19809 PR fortran/27916
19810 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19811 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19812
33815e0c
FXC
198132006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19814
19815 * config/mingw32/time.c: New file.
19816 * configure.tgt: Use it.
19817
6667de0d
CD
198182006-05-23 Carlos O'Donell <carlos@codesourcery.com>
19819
19820 * Makefile.am: Add install-html target. Add install-html to .PHONY
19821 * Makefile.in: Regenerate.
19822
e962c46b
JDA
198232006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19824
19825 PR libgomp/27612
19826 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19827 * testsuite/libgomp.c/critical-1.c: Likewise.
19828 * testsuite/libgomp.c/loop-1.c: Likewise.
19829 * testsuite/libgomp.c/loop-2.c: Likewise.
19830 * testsuite/libgomp.c/single-1.c: Likewise.
19831 * testsuite/libgomp.c/ordered-1.c: Likewise.
19832 * testsuite/libgomp.c/ordered-2.c: Likewise.
19833
eeb1d9e0
JJ
198342006-05-15 Jakub Jelinek <jakub@redhat.com>
19835
19836 PR middle-end/27416
19837 * libgomp.fortran/pr27416-1.f90: New test.
19838
693d710f
JJ
198392006-05-03 Jakub Jelinek <jakub@redhat.com>
19840
19841 PR fortran/27395
19842 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19843 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19844
8ca5b2a2
JJ
198452006-05-02 Jakub Jelinek <jakub@redhat.com>
19846
19847 PR c++/26943
19848 * testsuite/libgomp.c/pr26943-1.c: New test.
19849 * testsuite/libgomp.c/pr26943-2.c: New test.
19850 * testsuite/libgomp.c/pr26943-3.c: New test.
19851 * testsuite/libgomp.c/pr26943-4.c: New test.
19852 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19853 * testsuite/libgomp.c++/pr26943.C: New test.
19854
077b0dfb
JJ
198552006-05-02 Jakub Jelinek <jakub@redhat.com>
19856
19857 PR middle-end/27337
19858 * testsuite/libgomp.c++/pr27337.C: New test.
19859
91b6c26d
JJ
198602006-04-26 Jakub Jelinek <jakub@redhat.com>
19861
19862 PR c/26171
19863 * testsuite/libgomp.c/pr26171.c: New test.
19864
60e1758f
RH
198652006-04-25 Richard Henderson <rth@redhat.com>
19866
19867 PR libgomp/25865
19868 * configure.ac: Use GCC_CHECK_TLS.
19869 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19870 * Makefile.in, aclocal.m4, configure: Regenerate.
19871
615baed7
MK
198722006-04-10 Matthias Klose <doko@debian.org>
19873
19874 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19875 directory names containing underscores.
19876
fae2b46b
JJ
198772006-03-21 Jakub Jelinek <jakub@redhat.com>
19878
19879 PR c++/26691
19880 * testsuite/libgomp.c++/pr26691.C: New test.
19881
11a5f608
JJ
198822006-03-13 Jakub Jelinek <jakub@redhat.com>
19883
19884 * testsuite/libgomp.fortran/retval2.f90: New test.
19885
1799e5d5
RH
198862006-03-09 Diego Novillo <dnovillo@redhat.com>
19887
19888 * testsuite/libgomp.c++: New directory.
19889
d349482e
AT
198902006-02-25 Shantonu Sen <ssen@opendarwin.org>
19891
19892 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19893 * config/posix/sem.c: Implement the above.
19894
198952006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
19896
19897 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19898 define HAVE_BROKEN_POSIX_SEMAPHORES.
19899 * configure: Rebuilt.
19900 * config.h.in: Rebuilt.
19901
124452c9
FXC
199022006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19903
19904 PR bootstrap/26161
19905 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
19906 for the other pthread check.
19907 * configure: Regenerate.
19908 * config.h.in: Regenerate.
19909
dd8d6dfe
JJ
199102006-02-15 Jakub Jelinek <jakub@redhat.com>
19911
19912 PR libgomp/25938
19913 PR libgomp/25984
19914 * Makefile.am (fincludedir): New variable.
19915 (nodist_include_HEADERS): Remove Fortran files.
19916 (nodist_finclude_HEADERS): New variable.
19917 * Makefile.in: Regenerated.
19918
6c7a4dfd
JJ
199192006-02-13 Jakub Jelinek <jakub@redhat.com>
19920
19921 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
19922 Remove tests for returning assumed character length arrays.
19923
5142e08b
RS
199242006-02-12 Roger Sayle <roger@eyesopen.com>
19925 John David Anglin <dave@hiauly1.hia.nrc.ca>
19926
19927 PR libgomp/25936
19928 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 19929
5821fba8
UW
199302006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
19931
19932 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
19933
cb2bbc67
EB
199342006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
19935
19936 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
19937 part of LD_LIBRARY_PATH manually.
19938
f05ee80c
L
199392006-02-03 H.J. Lu <hongjiu.lu@intel.com>
19940
19941 PR libgomp/25852
19942 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
19943 libgomp_init.
19944
03b8fe49
PB
199452005-01-25 Paolo Bonzini <bonzini@gnu.org>
19946
19947 PR libgomp/25884
f05ee80c
L
19948 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
19949 * configure.ac (PERL): Don't set.
19950 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
19951 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
19952 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
19953 * omp.h.in: Wrap the new configure substitutions with @ characters.
19954 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
19955 * aclocal.m4, configure, Makefile.in: Regenerate.
19956 * mkomp_h.pl: Delete.
03b8fe49 19957
18cbfd85
PB
199582005-01-24 Paolo Bonzini <bonzini@gnu.org>
19959
19960 PR libgomp/25259
19961 * configure.ac: Use GCC_HEADER_STDINT.
19962 * libgomp.h: Include gstdint.h.
19963 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
19964 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
19965
c41303c6
RH
199662006-01-24 Richard Henderson <rth@redhat.com>
19967
19968 PR libgomp/25942
19969 * configure.ac: Add AM_MAINTAINER_MODE.
19970 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
19971
149b9553
DN
199722006-01-24 Diego Novillo <dnovillo@redhat.com>
19973
19974 * Makefile.in: Regenerate.
19975 * testsuite/Makefile.in: Regenerate.
19976 * aclocal.m4: Regenerate.
19977
192a50ad
AT
199782006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
19979
19980 * config/posix/proc.c: Conditional include of sys/loadavg.h for
19981 Solaris.
19982 * configure.ac: Add check for loadavg.h.
19983 (link_gomp): Adjust comment.
19984 * configure: Regenerate.
19985 * config.h.in: Regenerate.
19986
a55b8e18
SE
199872006-01-21 Steve Ellcey <sje@cup.hp.com>
19988
19989 PR libgomp/25877
19990 * configure.ac: Remove check for alloca.h.
19991 * configure: Regenerate.
19992 * config.h.in: Regenerate.
19993 * libgomp.h: define gomp_alloca to be __builtin_alloca.
19994 * team.c: Remove use of alloca.h.
19995 Call gomp_alloca instead of alloca.
19996
692eeb34
SE
199972006-01-20 Steve Ellcey <sje@cup.hp.com>
19998
19999 PR libgomp/25877
20000 * team.c: Add include of alloca.h.
20001 * configure.ac: Add check for alloca.h.
20002 * configure: Regenerate.
20003 * config.h.in: Regenerate.
20004
953ff289
DN
200052006-01-17 Jakub Jelinek <jakub@redhat.com>
20006
20007 PR fortran/25219
20008 * testsuite/libgomp.fortran/pr25219.f90: New test.
20009
200102005-12-05 Uros Bizjak <uros@kss-loka.si>
20011
20012 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
20013 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
20014 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20015 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20016 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
20017 testsuite/libgomp.fortran/threadprivate1.f90,
20018 testsuite/libgomp.fortran/threadprivate2.f90,
20019 testsuite/libgomp.fortran/threadprivate3.f90,
20020 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20021 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20022 testsuite/libgomp.fortran/omp_parse3.f90: Change required
20023 effective-target to TLS runtime.
20024
20025 * testsuite/libgomp.fortran/pr25162.f: Require
20026 effective-target TLS runtime.
20027
200282005-12-01 Jakub Jelinek <jakub@redhat.com>
20029
20030 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
20031 * testsuite/libgomp.c/nestedfn-3.c: New test.
20032
200332005-11-30 Jakub Jelinek <jakub@redhat.com>
20034
20035 PR fortran/25162
20036 * testsuite/libgomp.fortran/pr25162.f: New test.
20037
200382005-11-28 Jakub Jelinek <jakub@redhat.com>
20039
20040 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
20041 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
20042
200432005-11-25 Jakub Jelinek <jakub@redhat.com>
20044
20045 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
20046 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
20047 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
20048 single.c, team.c, work.c, config/linux/alpha/futex.h,
20049 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
20050 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
20051 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
20052 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
20053 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
20054 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
20055 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
20056 FSF address.
20057
200582005-11-18 Jakub Jelinek <jakub@redhat.com>
20059
20060 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20061 to nodist_noinst_HEADERS.
20062 * Makefile.in: Rebuilt.
20063
20064 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20065 add integer count field.
20066 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20067 omp_nest_lock_t type change.
20068 (omp_init_nest_lock): Likewise. Initialize count to 0.
20069 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20070 Increment count.
20071 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20072 Decrement count.
20073 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20074 Increment count if successful and return the new nesting level.
20075 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20076 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20077 * testsuite/libgomp.c/lib-1.c: New test.
20078 * testsuite/libgomp.fortran/lib1.f90: New test.
20079 * testsuite/libgomp.fortran/lib2.f: New test.
20080 * testsuite/libgomp.fortran/lib3.f: New test.
20081
200822005-11-17 Richard Henderson <rth@redhat.com>
20083
20084 PR 24845
20085 * Makefile.am (nodist_toolexeclib_HEADERS): New.
20086 * configure.ac (link_gomp): New. Substitute it.
20087 (AC_CONFIG_FILES): Add libgomp.spec.
20088 * libgomp.spec.in: New file.
20089 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20090 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20091
200922005-11-18 Jakub Jelinek <jakub@redhat.com>
20093
20094 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20095 reduction(-:var) behaving the same as reduction(+:var).
20096 * testsuite/libgomp.c/reduction-4.c: New test.
20097
200982005-11-15 Uros Bizjak <uros@kss-loka.si>
20099
20100 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20101 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20102 testsuite/libgomp.c/copyin-3.c,
20103 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20104 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20105 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20106 testsuite/libgomp.c++/pr24455.C,
20107 testsuite/libgomp.fortran/threadprivate1.f90,
20108 testsuite/libgomp.fortran/threadprivate2.f90,
20109 testsuite/libgomp.fortran/threadprivate3.f90,
20110 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20111 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20112 testsuite/libgomp.fortran/omp_parse3.f90: Require
20113 effective-target TLS.
20114
201152005-11-14 Diego Novillo <dnovillo@redhat.com>
20116
20117 * HEADER: Remove.
20118
201192005-11-13 Jakub Jelinek <jakub@redhat.com>
20120
20121 PR libgomp/24797
20122 * team.c (initialize_team): Pass NULL rather than free as
20123 pthread_key_create destructor. Initialize thread specific data
20124 pointer in initial thread to a static local variable rather than
20125 malloced memory.
20126
201272005-11-11 Uros Bizjak <uros@kss-loka.si>
20128
20129 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20130 its location to ld_library_path.
20131
201322005-11-10 Diego Novillo <dnovillo@redhat.com>
20133
20134 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20135
201362005-11-10 Diego Novillo <dnovillo@redhat.com>
20137
20138 * testsuite/libgomp.c: Rename from libgomp.dg.
20139
201402005-11-09 Diego Novillo <dnovillo@redhat.com>
20141
20142 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20143 threadprivate variable 'i'.
20144
201452005-11-09 Jakub Jelinek <jakub@redhat.com>
20146
20147 * config/linux/s390/futex.h: New file.
20148 * configure.tgt: Use it.
20149
20150 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20151 before the parallel.
20152
201532005-11-08 Jakub Jelinek <jakub@redhat.com>
20154
20155 PR c++/24734
20156 * testsuite/libgomp.c++/master-1.C: New test.
20157
201582005-11-07 Jakub Jelinek <jakub@redhat.com>
20159
20160 * testsuite/libgomp.dg/copyin-3.c: New test.
20161
201622005-11-07 Jakub Jelinek <jakub@redhat.com>
20163
20164 * testsuite/libgomp.fortran/retval1.f90: New test.
20165 * testsuite/libgomp.fortran/vla7.f90: New test.
20166
201672005-11-06 Jakub Jelinek <jakub@redhat.com>
20168
20169 * testsuite/libgomp.fortran/vla2.f90: New test.
20170 * testsuite/libgomp.fortran/vla3.f90: New test.
20171 * testsuite/libgomp.fortran/vla4.f90: New test.
20172 * testsuite/libgomp.fortran/vla5.f90: New test.
20173 * testsuite/libgomp.fortran/vla6.f90: New test.
20174
201752005-11-01 Jakub Jelinek <jakub@redhat.com>
20176
20177 * config/linux/sparc/futex.h: New file.
20178 * configure.tgt: Use it.
20179 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20180
20181 * critical.c: Include stdlib.h.
20182 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20183 ignoring return value.
20184 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20185 LIBGOMP_CHECK_SYNC_BUILTINS check.
20186 * configure: Rebuilt.
20187
201882005-10-31 Jakub Jelinek <jakub@redhat.com>
20189
20190 * testsuite/libgomp.fortran/vla1.f90: New test.
20191
201922005-10-31 Richard Henderson <rth@redhat.com>
20193
20194 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20195 setting 's' in different threads.
20196
201972005-10-31 Jakub Jelinek <jakub@redhat.com>
20198
20199 * libgomp.h (attribute_hidden, ialias): Define.
20200 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20201 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20202 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20203 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20204 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20205 omp_test_lock, omp_test_nest_lock): Likewise.
20206 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20207 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20208 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20209 omp_test_lock, omp_test_nest_lock): Likewise.
20210 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20211 omp_get_dynamic, omp_get_nested): Likewise.
20212 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20213 omp_get_thread_num, omp_in_parallel): Likewise.
20214 * fortran.c (ialias_redirect): Define.
20215 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20216 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20217 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20218 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20219 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20220 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20221 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20222 omp_get_wtime): Add ialias_redirect.
20223
202242005-10-30 Jakub Jelinek <jakub@redhat.com>
20225
20226 * fortran.c: Include stdlib.h.
20227
202282005-10-29 Jakub Jelinek <jakub@redhat.com>
20229
20230 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20231 * Makefile.in: Regenerated.
20232
202332005-10-28 Jakub Jelinek <jakub@redhat.com>
20234
20235 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20236 * libgomp_f.h.in (omp_check_defines): New function.
20237 * env.c: Include libgomp_f.h.
20238 (initialize_env): Call omp_check_defines.
20239
20240 * testsuite/libgomp.dg/copyin-2.c: New test.
20241 * testsuite/libgomp.c++/copyin-2.C: New test.
20242 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20243
20244 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20245 * testsuite/libgomp.fortran/sharing2.f90: New test.
20246
20247 * testsuite/libgomp.dg/copyin-1.c: New test.
20248 * testsuite/libgomp.c++/copyin-1.C: New test.
20249
202502005-10-26 Jakub Jelinek <jakub@redhat.com>
20251
20252 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20253
20254 * testsuite/libgomp.fortran/workshare1.f90: New test.
20255
20256 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20257 only test.
20258 * libgomp.fortran/sharing1.f90: New test.
20259
202602005-10-24 Jakub Jelinek <jakub@redhat.com>
20261
20262 PR c++/24502
20263 * testsuite/libgomp.c++/loop-7.C: New test.
20264
20265 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20266
20267 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20268 * testsuite/libgomp.fortran/reduction6.f90: New test.
20269 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20270
202712005-10-23 Richard Henderson <rth@redhat.com>
20272
20273 * testsuite/libgomp.c++/ctor-1.C: New.
20274 * testsuite/libgomp.c++/ctor-2.C: New.
20275 * testsuite/libgomp.c++/ctor-3.C: New.
20276 * testsuite/libgomp.c++/ctor-4.C: New.
20277 * testsuite/libgomp.c++/ctor-5.C: New.
20278 * testsuite/libgomp.c++/ctor-6.C: New.
20279 * testsuite/libgomp.c++/ctor-7.C: New.
20280 * testsuite/libgomp.c++/ctor-8.C: New.
20281 * testsuite/libgomp.c++/ctor-9.C: New.
20282
202832005-10-21 Diego Novillo <dnovillo@redhat.com>
20284
20285 PR 24455
20286 * testsuite/libgomp.c++/pr24455-1.C: New test.
20287 * testsuite/libgomp.c++/pr24455.C: New test.
20288 * testsuite/libgomp.dg/pr24455-1.c: New test.
20289 * testsuite/libgomp.dg/pr24455.c: New test.
20290
202912005-10-20 Richard Henderson <rth@redhat.com>
20292
20293 * testsuite/libgomp.c++/loop-6.C: New.
20294 * testsuite/libgomp.dg/loop-3.c: New.
20295
202962005-10-20 Jakub Jelinek <jakub@redhat.com>
20297
20298 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20299 explicitly private.
20300 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20301 explicitly shared.
20302
203032005-10-19 Diego Novillo <dnovillo@redhat.com>
20304
20305 * testsuite/libgomp.fortran/jacobi.f: New test.
20306
203072005-10-19 Richard Henderson <rth@redhat.com>
20308
20309 * configure.tgt (i?86-linux): Default to with_arch instead of
20310 CFLAGS. Add -mtune to match target_cpu.
20311 (x86_64-linux): Tune to i686.
20312
20313 * fortran.c (omp_test_nest_lock_): Fix typo.
20314
203152005-10-19 Jakub Jelinek <jakub@redhat.com>
20316
20317 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20318 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20319 * testsuite/libgomp.dg/ordered-3.c: New test.
20320
20321 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20322 Remove volatile keyword.
20323
20324 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20325 in COMMON block to avoid warnings on 64-bit targets.
20326
203272005-10-18 Diego Novillo <dnovillo@redhat.com>
20328
20329 * testsuite/libgomp.dg/shared-3.c: New test.
20330
203312005-10-18 Jakub Jelinek <jakub@redhat.com>
20332
20333 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20334 * testsuite/libgomp.fortran/reduction5.f90: New test.
20335
203362005-10-18 Jakub Jelinek <jakub@redhat.com>
20337
20338 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20339 dg-options.
20340 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20341 flush loop now that __sync_synchronize has proper memory barrier.
20342 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20343 Add -ffixed-form to dg-options.
20344
203452005-10-17 Diego Novillo <dnovillo@redhat.com>
20346
20347 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20348 from subdirectories.
20349 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20350 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20351 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20352 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20353 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20354 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20355 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20356 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20357 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20358 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20359 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20360 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20361 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20362 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20363 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20364 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20365 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20366 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20367 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20368 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20369 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20370 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20371 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20372 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20373 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20374
203752005-10-17 Jakub Jelinek <jakub@redhat.com>
20376
20377 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20378 lang_library_path exists. Use find instead of glob to gather tests.
20379 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20380
203812005-10-17 Diego Novillo <dnovillo@redhat.com>
20382
20383 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20384 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20385 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20386 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20387 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20388 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20389 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20390 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20391 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20392 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20393 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20394 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20395 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20396
203972005-10-15 Jakub Jelinek <jakub@redhat.com>
20398
20399 * testsuite/libgomp.dg/vla-1.c: New test.
20400
20401 * testsuite/libgomp.fortran/reference2.f90: New test.
20402
20403 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20404 declaration of omp_get_thread_num.
20405 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20406 use omp_lib.
20407
20408 * testsuite/libgomp.fortran/reduction1.f90: New test.
20409 * testsuite/libgomp.fortran/reduction2.f90: New test.
20410 * testsuite/libgomp.fortran/reduction3.f90: New test.
20411 * testsuite/libgomp.fortran/reduction4.f90: New test.
20412
204132005-10-13 Richard Henderson <rth@redhat.com>
20414
20415 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20416 * Makefile.in: Regenerate.
20417 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20418 * libgomp.h: Include bar.h.
20419 (struct gomp_barrier): Remove.
20420 (struct gomp_team): Add barrier. Replace master_barrier with
20421 master_release. Replace threads with ordered_release.
20422 (struct gomp_thread): Replace barrier with release.
20423 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20424 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20425 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20426 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20427 (GOMP_single_copy_end): Likewise.
20428 * team.c (gomp_threads_dock): New.
20429 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20430 (gomp_thread_start): Use gomp_barrier_wait.
20431 (new_team, free_team): Update for gomp_team changes.
20432 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20433 (gomp_team_end): Use gomp_barrier_wait.
20434 (initialize_team): Update for gomp_thread changes.
20435 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20436 (gomp_work_share_end_nowait): Use atomic ops when available.
20437 * config/linux/bar.c, config/linux/bar.h: New files.
20438 * config/posix/bar.c, config/posix/bar.h: New files.
20439
204402005-10-13 Jakub Jelinek <jakub@redhat.com>
20441
20442 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20443 * testsuite/libgomp.dg/single-2.c: New test.
20444
20445 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20446 lang_link_flags): Unset, so that they aren't inherited from previously
20447 sourced *.exp.
20448
20449 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20450
204512005-10-12 Richard Henderson <rth@redhat.com>
20452
20453 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20454 (libgomp_init): Use lang_test_file, lang_library_path, and
20455 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20456
20457 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20458 (lang_test_file, lang_link_flags): New.
20459 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20460
20461 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20462 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20463 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20464 testsuite/libgomp.c++/parallel-1.C,
20465 testsuite/libgomp.c++/reduction-1.C,
20466 testsuite/libgomp.c++/reduction-2.C,
20467 testsuite/libgomp.c++/reduction-3.C,
20468 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20469 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20470 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20471 New files, largely cribbed from the C testsuite.
20472
204732005-10-12 Jakub Jelinek <jakub@redhat.com>
20474
20475 * testsuite/libgomp.fortran/character1.f90: New test.
20476 * testsuite/libgomp.fortran/character2.f90: New test.
20477
20478 * testsuite/libgomp.dg/nested-1.c: New test.
20479 * testsuite/libgomp.dg/nested-2.c: New test.
20480 * testsuite/libgomp.fortran/do1.f90: New test.
20481 * testsuite/libgomp.fortran/do2.f90: New test.
20482
20483 * testsuite/libgomp.fortran/reference1.f90: New test.
20484
204852005-10-11 Jakub Jelinek <jakub@redhat.com>
20486
20487 * testsuite/libgomp.dg/reduction-1.c: New test.
20488 * testsuite/libgomp.dg/reduction-2.c: New test.
20489 * testsuite/libgomp.dg/reduction-3.c: New test.
20490
204912005-10-10 Jakub Jelinek <jakub@redhat.com>
20492
20493 * testsuite/libgomp.dg/atomic-1.c: New test.
20494 * testsuite/libgomp.dg/atomic-2.c: New test.
20495
204962005-10-09 Richard Henderson <rth@redhat.com>
20497
20498 * critical.c (atomic_lock): New.
20499 (initialize_critical): Initialize it.
20500 (GOMP_atomic_start, GOMP_atomic_end): New.
20501 * libgomp.map: Export them.
20502 * libgomp_g.h: Declare them.
20503
20504 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20505
205062005-10-02 Richard Henderson <rth@redhat.com>
20507
20508 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20509 to XCFLAGS instead of CFLAGS.
20510
205112005-09-30 Richard Henderson <rth@redhat.com>
20512
20513 * configure.ac: Determine whether -pthread or -lpthread is needed.
20514 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 20515 * Makefile.in, configure: Rebuild.
953ff289
DN
20516
205172005-09-28 Richard Henderson <rth@redhat.com>
20518
20519 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20520 * testsuite/libgomp.dg/omp-single-3.c: New test.
20521
205222005-09-28 Diego Novillo <dnovillo@redhat.com>
20523
20524 * testsuite/libgomp.dg/omp-single-2.c: New test.
20525 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20526
205272005-09-27 Richard Henderson <rth@redhat.com>
20528
20529 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20530 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20531
205322005-09-27 Jakub Jelinek <jakub@redhat.com>
20533
20534 * testsuite/libgomp.dg/omp-loop03.c: New test.
20535
205362005-09-27 Diego Novillo <dnovillo@redhat.com>
20537
20538 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20539
205402005-09-27 Diego Novillo <dnovillo@redhat.com>
20541
20542 * testsuite/libgomp.dg/omp-single-1.c: New test.
20543 * testsuite/libgomp.dg/shared-1.c: Return 0.
20544 Add prototype for abort.
20545 * testsuite/libgomp.dg/shared-2.c: Likewise.
20546
205472005-09-26 Jakub Jelinek <jakub@redhat.com>
20548
20549 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20550 constructs.
20551
205522005-09-26 Diego Novillo <dnovillo@redhat.com>
20553
20554 * testsuite/libgomp.dg/shared-1.c: New test.
20555 * testsuite/libgomp.dg/shared-2.c: New test.
20556
205572005-09-24 Richard Henderson <rth@redhat.com>
20558
20559 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20560
205612005-09-24 Richard Henderson <rth@redhat.com>
20562
20563 * iter.c (gomp_iter_static_next): Round up when computing number
20564 of iterations. Don't bother distributing a remainder equally.
20565
20566 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20567 Don't call srand. Zero b before testing.
20568 (main): New.
20569
205702005-09-24 Jakub Jelinek <jakub@redhat.com>
20571
20572 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20573 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20574
205752005-09-23 Jakub Jelinek <jakub@redhat.com>
20576
20577 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20578 without !$omp end do, followed immediately by subroutine end.
20579
205802005-09-23 Diego Novillo <dnovillo@redhat.com>
20581
20582 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20583
205842005-09-22 Richard Henderson <rth@redhat.com>
20585
20586 * critical.c (GOMP_critical_name_start): Change argument to void**.
20587 Reuse the pointer space if the mutex fits.
20588 (GOMP_critical_name_end): Likewise.
20589 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20590 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20591 (GOMP_critical_name_end): Likewise.
20592 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20593 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20594
205952005-09-20 Richard Henderson <rth@redhat.com>
20596
20597 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20598 (create_lock_lock): New.
20599 (initialize_critical): Initialize it.
20600 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20601 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20602
206032005-09-20 Diego Novillo <dnovillo@redhat.com>
20604
20605 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20606
206072005-09-20 Diego Novillo <dnovillo@redhat.com>
20608
20609 * testsuite/libgomp.dg/omp-loop01.c: New test.
20610 * testsuite/libgomp.dg/omp-loop02.c: New test.
20611
206122005-09-20 Jakub Jelinek <jakub@redhat.com>
20613
20614 * configure.ac (AC_PROG_FC): Add.
20615 (USE_FORTRAN): New automake conditional.
20616 * configure: Rebuilt.
20617 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20618 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20619 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20620 Add rules to build them.
20621 * Makefile.in: Rebuilt.
20622 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20623 OMP_NEST_LOCK_KIND.
20624 * libgomp.map: Add Fortran wrappers.
20625 * libgomp_f.h.in: New file.
20626 * omp_lib.h.in: New file.
20627 * omp_lib.f90.in: New file.
20628 * fortran.c: New file.
20629 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20630 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20631 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20632 libgfortran has been built.
20633 * testsuite/libgomp.fortran/fortran.exp: New file.
20634 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20635 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20636 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20637 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20638 * testsuite/libgomp.fortran/omp_hello.f: New test.
20639 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20640 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20641 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20642 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20643 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20644 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20645 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20646 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20647
206482005-08-30 Richard Henderson <rth@redhat.com>
20649
20650 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20651 function for when aliases are not usable.
20652 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20653 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20654 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20655 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20656 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20657 GOMP_loop_ordered_guided_next): Likewise.
20658 * ordered.c (GOMP_ordered_start): Likewise.
20659
206602005-08-01 Diego Novillo <dnovillo@redhat.com>
20661
20662 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20663 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20664 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20665 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20666 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20667 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20668 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20669 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20670 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20671
206722005-07-07 Eric Christopher <echristo@redhat.com>
20673 Diego Novillo <dnovillo@redhat.com>
20674
20675 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20676 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20677 up code.
20678 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20679 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20680 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20681 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20682 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20683 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20684 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20685
206862005-06-13 Diego Novillo <dnovillo@redhat.com>
20687
20688 * TOPLEVEL.patch: Remove.
20689
206902005-05-16 Richard Henderson <rth@redhat.com>
20691
20692 * configure.ac: Test for clock_gettime.
20693 * config.h.in, configure: Rebuild.
20694 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20695 (omp_get_wtime): Use clock_gettime if available.
20696 (omp_get_wtick): Use clock_getres if available.
20697
206982005-05-11 Richard Henderson <rth@redhat.com>
20699
20700 * config/linux/ia64/futex.h: New file.
20701 * configure.tgt: Use it.
20702
20703 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20704
207052005-05-07 Richard Henderson <rth@redhat.com>
20706
20707 * config/linux/powerpc/futex.h: New file.
20708 * configure.tgt: Use it.
20709
20710 * config/linux/i486/futex.h: Merge ...
20711 * config/linux/x86_64/futex.h: ... into ...
20712 * config/linux/x86/futex.h: ... here.
20713 * configure.tgt: Update to match.
20714
207152005-05-06 Richard Henderson <rth@redhat.com>
20716
20717 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20718 * config/linux/i486/futex.h: Likewise.
20719 * config/linux/x86_64/futex.h: Likewise.
20720
20721 * config/linux/lock.c: New file.
20722 * config/linux/omp-lock.h: New file.
20723
20724 * critical.c, env.h: Don't include omp.h
20725 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20726 * config/posix/time.c: Likewise.
20727 * config/posix/omp-lock.h: New file.
20728 * libgomp.h: Include omp-lock.h and omp.h.
20729 * Makefile.am (nodist_include_HEADERS): New.
20730 (omp.h): New rule.
20731 * configure.ac (PERL): New.
20732 * mkomp_h.pl: New file.
20733 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20734 with templates.
20735 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20736
20737 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20738 build directory. Re-add -march=i486 hack.
20739
20740 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20741 (libgomp_link_flags): Remove.
20742 (libgomp_initialized): Remove.
20743 (libgomp_init): Don't protect from reinitialization. Copy code
20744 from libstdc++ for getting the multilib set correctly.
20745
207462005-05-05 Richard Henderson <rth@redhat.com>
20747
20748 * config/linux/alpha/futex.h: New file.
20749 * configure.tgt (alpha*-*-linux*): Use it.
20750
20751 * config/posix/mutex.c: New file.
20752 * config/posix/sem.c: Use libgomp.h.
20753
20754 * configure.tgt (x86_64-linux): Also test CC for -m32.
20755 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20756
a1daed2d 20757 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
20758 after $gccpath.
20759
20760 * Makefile.am (SUBDIRS): New.
20761 (libgomp_la_LDFLAGS): Add -lpthread.
20762 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20763 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20764
20765 * libgomp_g.h: New file.
20766 * libgomp.h: Split out all public declarations to libgomp_g.h.
20767 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20768 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20769 * config/linux/sem.h: Likewise.
20770 * config/posix/sem.h: Likewise.
20771
20772 * Makefile.am (AM_LDFLAGS): New.
20773 (libgomp_version_script): Split out from ...
20774 (libgomp_la_LDFLAGS): ... here.
20775 (libgomp_version_info): New.
20776 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20777 (LIBGOMP_ENABLE): New.
20778 (LIBGOMP_CHECK_LINKER_FEATURES): New.
20779 (LIBGOMP_ENABLE_SYMVERS): New.
20780 * configure.ac (AC_INIT): Version 1.0.
20781 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20782 (enable-linux-futex): Likewise. Rename from enable-futex.
20783 (libtool_VERSION): New.
20784 (LIBGOMP_ENABLE_SYMVERS): Use it.
20785 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20786 * Makefile.in, aclocal.m4, configure: Rebuild.
20787
20788 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20789 (gomp_mutex_unlock_slow): Fix typo.
20790 * config/linux/sem.c: Similarly.
20791 (gomp_sem_post_slow): Fix typo.
20792 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20793 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20794 [__PIC__] (sys_futex0): Don't use tmp output in asm.
20795
20796 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20797 (libgomp_la_LDFLAGS): Add top_srcdir to path.
20798 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20799 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
20800 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20801 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20802 LDFLAGS. Pull enable_futex check to top-level.
20803 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
20804 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20805
20806 First attempt at real configury.
20807 * Makefile, config.h: Remove file.
20808 * Makefile.am, Makefile.in: New file.
20809 * acinclude.m4 aclocal.m4: New file.
20810 * configure.ac, configure.tgt, configure: New file.
20811
20812 * config/posix/lock.c: Rename from sys-lock.c.
20813 * config/posix/mutex.h: Rename from sys-mutex.h.
20814 * config/posix/sem.c: Rename from sys-sem.c.
20815 * config/posix/sem.h: Rename from sys-sem.h.
20816 * config/posix/proc.c: Rename from sys-proc.c.
20817 * config/posix/time.c: Rename from sys-proc.c.
20818
20819 * config/linux/mutex.c: New file.
20820 * config/linux/mutex.h: New file.
20821 * config/linux/sem.c: New file.
20822 * config/linux/sem.h: New file.
20823 * config/linux/i486/futex.h: New file.
20824 * config/linux/x86_64/futex.h: New file.
20825
208262005-05-04 Richard Henderson <rth@redhat.com>
20827
20828 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20829 * libgomp.h: Declare them.
20830 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20831 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20832
208332005-05-04 Richard Henderson <rth@redhat.com>
20834
20835 * libgomp-1 code drop
20836
208372005-05-04 Richard Henderson <rth@redhat.com>
20838
20839 * iter.c (gomp_iter_static_next): Return tri-state on 0.
20840 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20841 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20842 (gomp_iter_static_next): Update.
20843 (gomp_ordered_static_next): Update.
20844 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20845 (gomp_loop_ordered_static_start): Likewise. Exit early for a
20846 totally empty range.
20847 (gomp_loop_ordered_static_next): Refine test for calling
20848 gomp_ordered_static_next.
20849 * testsuite/ordered-1.c: Add case for more threads than iterations.
20850
20851 * iter.c (gomp_iter_runtime_next_locked): Remove.
20852 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 20853 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
20854 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20855 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20856 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20857 gomp_loop_ordered_guided_next): Downcase name, make static, add
20858 an external alias with the old name.
20859 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20860 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20861 switch and call one of the above static functions.
20862 * libgomp.h: Update.
20863
20864 * work.c (gomp_work_share_start): Lock the mutex for !first too.
20865 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20866 GOMP_loop_guided_start, GOMP_loop_runtime_start,
20867 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20868 GOMP_loop_ordered_guided_start): Update to match.
20869 * sections.c (GOMP_sections_start): Likewise.
20870 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20871
20872 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20873 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20874 Use bounds check instead of modulus.
20875 (gomp_ordered_sync): Split out of GOMP_ordered_start.
20876 (gomp_ordered_last): Don't sync with ordered_owner here.
20877 (gomp_ordered_next): Likewise.
20878 (gomp_ordered_static_loop_next): Likewise.
20879 * loop.c, libgomp.h: Update to match.
20880
20881 * libgomp.h (GOMP_barrier): Declare.
20882
20883 * testsuite/barrier-1.c: New file.
20884 * testsuite/critical-1.c: New file.
20885 * testsuite/ordered-2.c: New file.
20886 * testsuite/ordered-1.c: New file.
20887 * testsuite/sections-1.c: New file.
20888 * testsuite/single-1.c: New file.
20889 * testsuite/Makefile (TESTS): Add them.
20890
208912005-05-04 Richard Henderson <rth@redhat.com>
20892
20893 * libgomp.h (struct gomp_work_share): Add ordered_owner.
20894 * loop.c (GOMP_loop_static_start): If not the startup thread,
20895 acquire the mutex to wait for initialization complete.
20896 (GOMP_loop_ordered_static_start): Likewise.
20897 (GOMP_loop_ordered_runtime_start): Likewise.
20898 (GOMP_loop_ordered_static_first): Remove.
20899 (GOMP_loop_ordered_dynamic_first): Remove.
20900 (GOMP_loop_ordered_guided_first): Remove.
20901 (GOMP_loop_ordered_runtime_first): Remove.
20902 * ordered.c (gomp_ordered_loop_first): Post to own release when
20903 we're the first thread.
20904 (gomp_ordered_loop_last): Wait on release if not owner.
20905 (gomp_ordered_loop_next): Likewise.
20906 (gomp_ordered_static_loop_init): New.
20907 (gomp_ordered_static_loop_next): Use ordered_owner.
20908 (GOMP_ordered_start): Likewise.
20909 * work.c (gomp_new_work_share): Initialize ordered_owner.
20910
209112005-05-03 Richard Henderson <rth@redhat.com>
20912
20913 * Makefile (OPT): New.
20914 (CFLAGS): Use it.
20915
20916 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
20917 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
20918 * libgomp.h, libgomp.map, NOTES: Update to match.
20919
20920 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
20921 Add initialized and thr members.
20922 (gomp_thread_start): Pause when initially spawned to wait for
20923 the whole team to be created.
20924 (gomp_team_start): Release team members at the end.
20925
20926 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
20927 (f_foo_1): Use GOMP_loop_end.
20928 (f_foo_2): Use GOMP_loop_end_nowait.
20929
20930 * testsuite/loop-2.c: New file.
20931 * testsuite/Makefile (TESTS): Add it.
20932
209332005-05-03 Richard Henderson <rth@redhat.com>
20934
20935 * iter.c (gomp_iter_static_next): Fix overflow check typo.
20936 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
20937 * team.c (new_team): Initialize oldest_live_gen to 1 if no
20938 initial work_share.
20939
20940 * testsuite/Makefile: New file.
20941 * testsuite/loop-1.c: New file.
20942
209432005-05-03 Richard Henderson <rth@redhat.com>
20944
20945 Initial implementation and checkin.
21fa2a29 20946\f
6a720d41 20947Copyright (C) 2005-2024 Free Software Foundation, Inc.
21fa2a29
JJ
20948
20949Copying and distribution of this file, with or without modification,
20950are permitted in any medium without royalty provided the copyright
20951notice and this notice are preserved.