]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
eb84e8d3
GA
12024-01-03 Jakub Jelinek <jakub@redhat.com>
2
3 * libgomp.texi: Bump @copying's copyright year.
4
cdfaa4aa
GA
52023-12-21 Julian Brown <julian@codesourcery.com>
6
7 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
8
7ad9058c
GA
92023-12-20 Julian Brown <julian@codesourcery.com>
10
11 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
12 avoid out-of-bounds array checks in CUDA runtime.
13 (GOMP_OFFLOAD_memcpy3d): Likewise.
14 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
15
08c5d26a
GA
162023-12-18 Jakub Jelinek <jakub@redhat.com>
17
18 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
19 drop because of that unneeded target selector from other directives
20 and remove the aarch64 specific ones.
21
ea54b390
GA
222023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
23
24 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
25 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
26
272023-12-15 Thomas Schwinge <thomas@codesourcery.com>
28
29 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
30 'dg-output's to 'target offload_device_nonshared_as'.
31
322023-12-15 Julian Brown <julian@codesourcery.com>
33
34 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
35 goacc_exit_data_internal, GOACC_enter_exit_data): Add
36 GOMP_MAP_STRUCT_UNORD support.
37 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
38 Detect incorrect use of variable indexing of arrays of structs.
39 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
40 GOMP_MAP_STRUCT_UNORD support.
41 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
42 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
43 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
44 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
45
e8018ccf
GA
462023-12-13 Julian Brown <julian@codesourcery.com>
47
48 * testsuite/libgomp.fortran/map-subarray.f90: New test.
49 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
50 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
51 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
52 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
53 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
54 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
55 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
56 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
57 descriptor-mapping changes. Remove XFAIL.
58
592023-12-13 Julian Brown <julian@codesourcery.com>
60
61 * target.c (gomp_map_pointer): Modify zero-length array section
62 pointer handling.
63 (gomp_attach_pointer): Likewise.
64 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
65 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
66 "unassociated" pointers).
67 (gomp_map_vars_internal): Handle zero-sized struct members. Add
68 diagnostic for unmapped struct pointer members.
69 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
70 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
71 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
72 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
73 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
74 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
75 "free".
76 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
77 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
78 * testsuite/libgomp.c++/class-array-1.C: New test.
79 * testsuite/libgomp.c++/baseptrs-3.C: New test.
80 * testsuite/libgomp.c++/baseptrs-4.C: New test.
81 * testsuite/libgomp.c++/baseptrs-5.C: New test.
82 * testsuite/libgomp.c++/baseptrs-8.C: New test.
83 * testsuite/libgomp.c++/baseptrs-9.C: New test.
84 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
85 * testsuite/libgomp.c++/target-48.C: New test.
86 * testsuite/libgomp.c++/target-49.C: New test.
87 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
88 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
89 semantics.
90 * testsuite/libgomp.c++/target-this-3.C: Likewise.
91 * testsuite/libgomp.c++/target-this-4.C: Likewise.
92 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
93 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
94
952023-12-13 Thomas Schwinge <thomas@codesourcery.com>
96
97 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
98 vs. '%ld' format string mismatch.
99
1002023-12-13 Andrew Stubbs <ams@codesourcery.com>
101 Thomas Schwinge <thomas@codesourcery.com>
102
103 * allocator.c (MEMSPACE_ALLOC): Add PIN.
104 (MEMSPACE_CALLOC): Add PIN.
105 (MEMSPACE_REALLOC): Add PIN.
106 (MEMSPACE_FREE): Add PIN.
107 (MEMSPACE_VALIDATE): Add PIN.
108 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
109 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
110 (omp_aligned_calloc): Likewise.
111 (omp_realloc): Likewise.
112 (omp_free): Likewise.
113 * config/linux/allocator.c: New file.
114 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
115 (MEMSPACE_CALLOC): Add PIN.
116 (MEMSPACE_REALLOC): Add PIN.
117 (MEMSPACE_FREE): Add PIN.
118 (MEMSPACE_VALIDATE): Add PIN.
119 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
120 (MEMSPACE_CALLOC): Add PIN.
121 (MEMSPACE_REALLOC): Add PIN.
122 (MEMSPACE_FREE): Add PIN.
123 * libgomp.texi: Switch pinned trait to supported.
124 (MEMSPACE_VALIDATE): Add PIN.
125 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
126 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
127 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
128 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
129
d5c96225
GA
1302023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
131
132 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
133 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
134 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
135
1362023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
137
138 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
139 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
140
1412023-12-11 Tobias Burnus <tobias@codesourcery.com>
142
143 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
144
dd3b75d8
GA
1452023-12-08 Tobias Burnus <tobias@codesourcery.com>
146
147 * allocator.c (struct fort_alloc_splay_tree_key_s,
148 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
149 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
150 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
151 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
152 (GOMP_5.1.1): ... here.
153 * libgomp.texi (Impl. Status, Memory management): Update for
154 allocators/allocate directives.
155 * splay-tree.c: Handle splay_tree_static define to declare all
156 functions as static.
157 (splay_tree_lookup_node): New.
158 * splay-tree.h: Handle splay_tree_decl_only define.
159 (splay_tree_lookup_node): New prototype.
160 * target.c: Define splay_tree_static for 'reverse'.
161 * testsuite/libgomp.fortran/allocators-1.f90: New test.
162 * testsuite/libgomp.fortran/allocators-2.f90: New test.
163 * testsuite/libgomp.fortran/allocators-3.f90: New test.
164 * testsuite/libgomp.fortran/allocators-4.f90: New test.
165 * testsuite/libgomp.fortran/allocators-5.f90: New test.
166
ae9e48e5
GA
1672023-12-06 Andrew Stubbs <ams@codesourcery.com>
168
169 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
170 (TEAM_ARENA_FREE): Likewise.
171 (TEAM_ARENA_END): Likewise.
172 (GCN_LOWLAT_HEAP): New.
173 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
174 (__gcn_lowlat_init): New prototype.
175 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
176 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
177 (TEAM_ARENA_FREE): Likewise.
178 (TEAM_ARENA_END): Likewise.
179 * plugin/plugin-gcn.c (lowlat_size): New variable.
180 (print_kernel_dispatch): Label the group_segment_size purpose.
181 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
182 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
183 (run_kernel): Use shadow; don't assume values.
184 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
185 * config/gcn/allocator.c: New file.
186 * libgomp.texi: Document low-latency implementation details.
187
1882023-12-06 Andrew Stubbs <ams@codesourcery.com>
189
190 * allocator.c (MEMSPACE_VALIDATE): New macro.
191 (omp_init_allocator): Use MEMSPACE_VALIDATE.
192 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
193 (omp_aligned_calloc): Likewise.
194 (omp_realloc): Likewise.
195 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
196 (MEMSPACE_VALIDATE): New macro.
197 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
198 * libgomp.texi: Document low-latency implementation details.
199 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
200 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
201 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
202 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
203 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
204 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
205 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
206
2072023-12-06 Andrew Stubbs <ams@codesourcery.com>
208 Kwok Cheung Yeung <kcy@codesourcery.com>
209 Thomas Schwinge <thomas@codesourcery.com>
210
211 * allocator.c (MEMSPACE_ALLOC): New macro.
212 (MEMSPACE_CALLOC): New macro.
213 (MEMSPACE_REALLOC): New macro.
214 (MEMSPACE_FREE): New macro.
215 (predefined_alloc_mapping): New array. Add _Static_assert to match.
216 (ARRAY_SIZE): New macro.
217 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
218 Implement fall-backs for predefined allocators. Simplify existing
219 fall-backs.
220 (omp_free): Use MEMSPACE_FREE.
221 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
222 predefined allocators. Simplify existing fall-backs.
223 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
224 Implement fall-backs for predefined allocators. Simplify existing
225 fall-backs.
226 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
227 (__nvptx_lowlat_init): New prototype.
228 (gomp_nvptx_main): Call __nvptx_lowlat_init.
229 * libgomp.texi: Update memory space table.
230 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
231 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
232 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
233 * basic-allocator.c: New file.
234 * config/nvptx/allocator.c: New file.
235 * testsuite/libgomp.c/omp_alloc-1.c: New test.
236 * testsuite/libgomp.c/omp_alloc-2.c: New test.
237 * testsuite/libgomp.c/omp_alloc-3.c: New test.
238 * testsuite/libgomp.c/omp_alloc-4.c: New test.
239 * testsuite/libgomp.c/omp_alloc-5.c: New test.
240 * testsuite/libgomp.c/omp_alloc-6.c: New test.
241
8428bcd7
GA
2422023-11-30 Thomas Schwinge <thomas@codesourcery.com>
243
244 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
245 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
246 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
247 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
248 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
249 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
250 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
251 * testsuite/libgomp.c/declare-variant-4.c: New.
252
2532023-11-30 Thomas Schwinge <thomas@codesourcery.com>
254
255 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
256 into 'dg-do link'.
257 * testsuite/libgomp.c/declare-variant-3.c: New.
258 * testsuite/libgomp.c/declare-variant-3.h: Extend.
259
2602023-11-30 Thomas Schwinge <thomas@codesourcery.com>
261
262 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
263 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
264 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
265 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
266 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
267 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
268 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
269 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
270 'scan-offload-tree-dump' to
271 'only_for_offload_target amdgcn-amdhsa'.
272 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
273 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
274 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
275 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
276 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
277
2782023-11-30 Thomas Schwinge <thomas@codesourcery.com>
279
280 * testsuite/libgomp.c/declare-variant-3-sm30.c:
281 'dg-additional-options -foffload=nvptx-none'.
282 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
283 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
284 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
285 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
286 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
287
31d8cf17
GA
2882023-11-29 Thomas Schwinge <thomas@codesourcery.com>
289
290 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
291 'scan-offload-ipa-dump's to
292 'only_for_offload_target amdgcn-amdhsa'.
293 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
294 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
295
77cf1dba
GA
2962023-11-24 Tobias Burnus <tobias@codesourcery.com>
297
298 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
299 is now supported.
300
26a7e775
GA
3012023-11-22 Thomas Schwinge <thomas@codesourcery.com>
302
303 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
304 (f75, f80, f): Add '__attribute__ ((noipa))'.
305 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
306 (gfx908, gfx90a, f): Likewise.
307
17cc2e57
GA
3082023-11-15 Andrew Stubbs <ams@codesourcery.com>
309 Andrew Jenner <andrew@codesourcery.com>
310
311 * plugin/plugin-gcn.c (max_isa_vgprs): New.
312 (run_kernel): CDNA2 devices have more VGPRs.
313
b9fd8399
GA
3142023-11-10 Tobias Burnus <tobias@codesourcery.com>
315
316 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
317 renamed section from TR11.
318
c48f1056
GA
3192023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
320
321 * config/linux/target-indirect.c: Move to...
322 * target-indirect.c: ...here.
323
3242023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
325
326 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
327 * Makefile.in: Regenerate.
328 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
329 (GOMP_OFFLOAD_load_image): Add extra argument.
330 * libgomp.h (struct indirect_splay_tree_key_s): New.
331 (indirect_splay_tree_node, indirect_splay_tree,
332 indirect_splay_tree_key): New.
333 (indirect_splay_compare): New.
334 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
335 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
336 calls in target region and on indirect clause.
337 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
338 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
339 * oacc-host.c (host_load_image): Add extra argument.
340 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
341 enough, read host indirect functions table and pass to
342 load_image_func.
343 * config/accel/target-indirect.c: New.
344 * config/linux/target-indirect.c: New.
345 * config/gcn/team.c (build_indirect_map): Add prototype.
346 (gomp_gcn_enter_kernel): Initialize support for indirect
347 function calls on GCN target.
348 * config/nvptx/team.c (build_indirect_map): Add prototype.
349 (gomp_nvptx_main): Initialize support for indirect function
350 calls on NVPTX target.
351 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
352 indirect functions count.
353 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
354 is high enough, build address translation table and copy it to target
355 memory.
356 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
357 functions count.
358 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
359 is high enough, Build address translation table and copy it to target
360 memory.
361 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
362 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
363 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
364
459866ea
GA
3652023-11-05 Jakub Jelinek <jakub@redhat.com>
366
367 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
368 supported also in C.
369
eac0917b
GA
3702023-10-31 Thomas Schwinge <thomas@codesourcery.com>
371
372 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
373 'acc_map_data' variant.
374
f75fc1f0
GA
3752023-10-25 Thomas Schwinge <thomas@codesourcery.com>
376
377 * oacc-parallel.c (GOACC_data_start): Handle
378 'GOACC_FLAG_LOCAL_DEVICE'.
379 (GOACC_parallel_keyed): Simplify accordingly.
380 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
381
3822023-10-25 Thomas Schwinge <thomas@codesourcery.com>
383
384 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
385 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
386 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
387 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
388 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
389
3902023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
391
392 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
393 GOACC_FLAG_LOCAL_DEVICE case.
394 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
395
3b632746
GA
3962023-10-22 Iain Sandoe <iain@sandoe.co.uk>
397
398 * Makefile.am: Handle Darwin rpaths.
399 * Makefile.in: Regenerate.
400 * configure: Regenerate.
401 * configure.ac: Handle Darwin rpaths
402
6f684dd2
GA
4032023-10-20 Andrew Stubbs <ams@codesourcery.com>
404
405 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
406 (isa_hsa_name): Recognise gfx1030.
407 (isa_code): Likewise.
408 * team.c (defined): Remove s_endpgm.
409
4102023-10-20 Tobias Burnus <tobias@codesourcery.com>
411
412 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
413 _OPENMP >= 201811.
414
d5cfabc6
GA
4152023-10-15 Tobias Burnus <tobias@codesourcery.com>
416
417 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
418 improve wording especially for Fortran; mention -fopenmp-simd.
419 (Enabling OpenACC): Minor cleanup; remove conditional compilation
420 sentinel.
421
4222023-10-15 Tobias Burnus <tobias@codesourcery.com>
423
424 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
425 Actually document what the function does.
426 (GCC_ACC_NOTIFY): Remove unused env var.
427
4282023-10-15 Tobias Burnus <tobias@codesourcery.com>
429
430 * libgomp.texi: Replace most future tense by present tense.
431
b3cb98d7
GA
4322023-10-14 Tobias Burnus <tobias@codesourcery.com>
433
434 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
435 dg-additional-options "-fdump-tree-gimple"; fix scan.
436
4372023-10-14 Tobias Burnus <tobias@codesourcery.com>
438
439 * libgomp.texi: Fix some typos.
440 (Memory Management Routines): Document remaining 5.x routines.
441 (Memory allocation): Make clear when the section applies.
442
4432023-10-14 Tobias Burnus <tobias@codesourcery.com>
444
445 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
446 supports the allocate directive for stack variables.
447 * testsuite/libgomp.fortran/allocate-5.f90: New test.
448 * testsuite/libgomp.fortran/allocate-6.f90: New test.
449 * testsuite/libgomp.fortran/allocate-7.f90: New test.
450 * testsuite/libgomp.fortran/allocate-8.f90: New test.
451
f9ef2e6d
GA
4522023-10-12 Tobias Burnus <tobias@codesourcery.com>
453
454 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
455 OMP_TARGET_OFFLOAD.
456 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
457 clarify MANDATORY behavior.
458
4592023-10-12 Zhang, Jun <jun.zhang@intel.com>
460
461 * env.c (initialize_env): Use do_adjust_default_spincount.
462 * config/linux/x86/spincount.h: New file.
463
00c67d62
GA
4642023-10-08 Tobias Burnus <tobias@codesourcery.com>
465
466 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
467
0defa2a0
GA
4682023-10-06 Tobias Burnus <tobias@codesourcery.com>
469
470 * libgomp.texi (Device Memory Routines): New.
471
bf2e66e3
GA
4722023-10-04 Tobias Burnus <tobias@codesourcery.com>
473
474 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
475 and that other target archs have no 'arch'/'isa' traits implemented.
476
4907d220
GA
4772023-09-20 Tobias Burnus <tobias@codesourcery.com>
478
479 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
480 implemented for C only.
481 * testsuite/libgomp.c/allocate-4.c: New test.
482 * testsuite/libgomp.c/allocate-5.c: New test.
483 * testsuite/libgomp.c/allocate-6.c: New test.
484
4852023-09-20 Jakub Jelinek <jakub@redhat.com>
486
487 PR c++/111392
488 * libgomp.texi: Mark decl attribute was added to the C++ attribute
489 syntax as implemented.
490
590a8bec
GA
4912023-09-19 Jakub Jelinek <jakub@redhat.com>
492
493 PR libgomp/111413
494 * env.c (initialize_env): Don't dereference environ if it is NULL.
495 Reindent.
496
6b78e9a5
GA
4972023-09-18 Richard Biener <rguenther@suse.de>
498
499 PR tree-optimization/111294
500 * team.c (gomp_team_start): Assert alloca size to avoid false
501 positive alloc-size diagnostic.
502
a1c20158
GA
5032023-09-12 Thomas Schwinge <thomas@codesourcery.com>
504 Chung-Lin Tang <cltang@codesourcery.com>
505
506 PR testsuite/91884
507 PR testsuite/109951
508 * configure.ac: Revert earlier changes, instead
509 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
510 * Makefile.in: Regenerate.
511 * configure: Likewise.
512 * testsuite/Makefile.in: Likewise.
513 * testsuite/lib/libgomp.exp (libgomp_init): Remove
514 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
515 If '--with-build-sysroot=[...]' was specified, use it for
516 build-tree testing.
517 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
518 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
519 (SYSROOT_CFLAGS_FOR_TARGET): Set.
520 * testsuite/libgomp.c++/c++.exp (lang_source_re)
521 (lang_include_flags): Set for build-tree testing.
522 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
523 (lang_include_flags): Likewise.
524
109c11f6
GA
5252023-09-07 Tobias Burnus <tobias@codesourcery.com>
526
527 * libgomp.texi (Memory Management Routines): New; add documentation for
528 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
529 omp_get_default_allocator.
530 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
531
478c37e7
TB
5322023-09-07 Tobias Burnus <tobias@codesourcery.com>
533
534 * target.c (gomp_unload_device): Remove tailing whitespace.
535
d820cd78
GA
5362023-09-04 Tobias Burnus <tobias@codesourcery.com>
537 Thomas Schwinge <thomas@codesourcery.com>
538
539 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
540
b8863640
GA
5412023-08-25 Sandra Loosemore <sandra@codesourcery.com>
542
543 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
544
5452023-08-25 Sandra Loosemore <sandra@codesourcery.com>
546
547 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
548 * testsuite/libgomp.fortran/imperfect1.f90: New.
549 * testsuite/libgomp.fortran/imperfect2.f90: New.
550 * testsuite/libgomp.fortran/imperfect3.f90: New.
551 * testsuite/libgomp.fortran/imperfect4.f90: New.
552 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
553 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
554 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
555 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
556
5572023-08-25 Sandra Loosemore <sandra@codesourcery.com>
558
559 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
560 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
561 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
562 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
563 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
564 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
565 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
566 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
567 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
568 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
569
5702023-08-25 Sandra Loosemore <sandra@codesourcery.com>
571
572 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
573 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
574 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
575 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
576 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
577 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
578 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
579 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
580 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
581 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
582 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
583 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
584 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
585
6cd85273
GA
5862023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
587
588 * testsuite/lib/libgomp.exp: Add effective target.
589 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
590 functions.
591
5922023-08-22 Tobias Burnus <tobias@codesourcery.com>
593
594 * libgomp.texi (OpenMP 5.2 status): Add depobj with
595 destroy-var argument as 'N'. Mark defaultmap with
596 'all' category as 'Y'.
597
1ba33636
GA
5982023-08-19 Tobias Burnus <tobias@codesourcery.com>
599
600 PR middle-end/111017
601 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
602
1eb2433f
GA
6032023-08-17 Tobias Burnus <tobias@codesourcery.com>
604
605 PR libgomp/111024
606 * allocator.c (gomp_init_libnuma): Call numa_available; if
607 not available or not returning 0, disable libnuma usage.
608
4b92dba7
GA
6092023-08-07 Nick Alcock <nick.alcock@oracle.com>
610
611 * configure: Regenerate.
612
6132023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
614
615 * configure: Regenerate.
616
6172023-08-07 Nick Alcock <nick.alcock@oracle.com>
618
619 * configure: Regenerate.
620
6212023-08-07 Nick Alcock <nick.alcock@oracle.com>
622
623 * configure: Regenerate.
624
6252023-08-07 H.J. Lu <hjl.tools@gmail.com>
626
627 * configure: Regenerate.
628
6292023-08-07 H.J. Lu <hjl.tools@gmail.com>
630
631 * configure: Regenerate.
632
861962ee
GA
6332023-07-29 Tobias Burnus <tobias@codesourcery.com>
634
635 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
636 GOMP_OFFLOAD_CAP_SHARED_MEM.
637 (omp_target_memcpy_rect_copy): Likewise for lock condition.
638 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
639 memcpy3d/memcpy2d.
640 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
641 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
642 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
643
5278cd6a
GA
6442023-07-26 Tobias Burnus <tobias@codesourcery.com>
645
646 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
647 GOMP_OFFLOAD_memcpy3d): New prototypes.
648 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
649 and memcpy3d_func.
650 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
651 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
652 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
653 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
654 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
655 GOMP_OFFLOAD_memcpy3d): New.
656 * target.c (omp_target_memcpy_rect_worker):
657 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
658 Permit all device-to-device copyies; invoke new plugins for
659 2D and 3D copying when available.
660 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
661 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
662 * testsuite/libgomp.fortran/target-12.f90: Likewise.
663 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
664
6652023-07-26 Tobias Burnus <tobias@codesourcery.com>
666
667 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
668 (Tasking Routines): Document omp_in_explicit_task.
669 (Implementation-defined ICV Initialization): Use @ref not @code.
670
e2bf82d5
GA
6712023-07-20 Tobias Burnus <tobias@codesourcery.com>
672
673 * libgomp.texi (OpenMP Runtime Library Routines):
674 Split long list by adding sections and moving routines there.
675 (OMP_ALLOCATORS): Fix typo.
676
49bed11d
GA
6772023-07-19 Tobias Burnus <tobias@codesourcery.com>
678
679 PR fortran/107424
680 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
681 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
682 commented tests.
683 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
684 test file; tests are in non-rectangular-loop-1.f90.
685 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
686 testcase to use a non-constant step to retain the 'sorry' test.
687 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
688
473c1b58
GA
6892023-07-17 Tobias Burnus <tobias@codesoucery.com>
690 Chung-Lin Tang <cltang@codesourcery.com>
691
692 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
693 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
694
18dac101
GA
6952023-07-14 Tobias Burnus <tobias@codesourcery.com>
696
697 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
698 the traits. Add crossref to 'Memory allocation'.
699 (Memory allocation): Refer to OMP_ALLOCATOR for the available
700 traits and allocators/mem spaces; document the default value
701 for the pool_size trait.
702
7032023-07-14 Tobias Burnus <tobias@codesourcery.com>
704
705 * allocator.c (omp_init_allocator): Check whether symbol from
706 dlopened libnuma is available before using libnuma for
707 allocations.
708
3d0ca8b5
GA
7092023-07-13 David Edelsohn <dje.gcc@gmail.com>
710
711 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
712 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
713 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
714
15939bae
GA
7152023-07-12 Tobias Burnus <tobias@codesourcery.com>
716
717 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
718 'Memory allocation' section which contains the full status.
719 (TR11): Remove differently worded duplicated entry.
720
7212023-07-12 Tobias Burnus <tobias@codesourcery.com>
722
723 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
724 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
725 add GOMP_MEMKIND_LIBNUMA.
726 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
727 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
728 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
729 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
730 needed.
731 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
732 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
733 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
734 updated for libnuma usage.
735 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
736 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
737
af3d3ce3
GA
7382023-07-11 Tobias Burnus <tobias@codesourcery.com>
739
740 * allocator.c (omp_init_allocator): Use malloc for
741 omp_high_bw_mem_space when the memkind lib is unavailable
742 instead of returning omp_null_allocator.
743 * libgomp.texi (OpenMP 5.0): Fix typo.
744 (Memory allocation with libmemkind): Document implementation
745 in more detail.
746
270742ce
GA
7472023-06-22 Tobias Burnus <tobias@codesourcery.com>
748
749 * libgomp.texi: Use @var for ICV vars.
750 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
751 document which ICV is set and which scope the ICV has; extend/cleanup
752 some @ref.
753 (Implementation-defined ICV Initialization): New.
754 (nvptx): Document the implementation-defined used per-warp stack size.
755
e517d3f5
GA
7562023-06-19 Thomas Schwinge <thomas@codesourcery.com>
757
758 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
759 error.
760
7612023-06-19 Tobias Burnus <tobias@codesourcery.com>
762
763 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
764 as expected dg-output.
765
7662023-06-19 Tobias Burnus <tobias@codesourcery.com>
767
768 PR middle-end/110270
769 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
770 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
771 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
772 * testsuite/libgomp.c/target-19.c: Update expected value.
773 * testsuite/libgomp.c++/target-18.C: Likewise.
774 * testsuite/libgomp.c++/target-19.C: Likewise.
775 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
776 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
777 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
778
f10a4ce0
GA
7792023-06-16 Tobias Burnus <tobias@codesourcery.com>
780
781 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
782 gomp_init_targets_once was called before using default-device-var.
783 * testsuite/libgomp.c/target-55.c: New test.
784 * testsuite/libgomp.c/target-55a.c: New test.
785
7ff79341
GA
7862023-06-15 Tobias Burnus <tobias@codesourcery.com>
787
788 * env.c (gomp_def_allocator_envvar): New var.
789 (parse_allocator): Handle OpenMP 5.1 syntax.
790 (cleanup_env): New.
791 (omp_display_env): Output gomp_def_allocator_envvar
792 for an allocator with traits.
793 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
794 OMP_DISPLAY_AFFINITY): New.
795 * testsuite/libgomp.c/allocator-1.c: New test.
796 * testsuite/libgomp.c/allocator-2.c: New test.
797 * testsuite/libgomp.c/allocator-3.c: New test.
798 * testsuite/libgomp.c/allocator-4.c: New test.
799 * testsuite/libgomp.c/allocator-5.c: New test.
800 * testsuite/libgomp.c/allocator-6.c: New test.
801
c1c5edef
GA
8022023-06-14 Thomas Schwinge <thomas@codesourcery.com>
803
804 * target.c (resolve_device): Align a
805 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
806 * testsuite/libgomp.c/target-51.c: Adjust.
807
8082023-06-14 Thomas Schwinge <thomas@codesourcery.com>
809
810 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
811 set.
812 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
813 Likewise.
814 * testsuite/libgomp.c/simd-math-1.c: Remove
815 '-foffload-options=-lm'.
816 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
817 Likewise.
818 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
819 Likewise.
820
8212023-06-14 Thomas Schwinge <thomas@codesourcery.com>
822
823 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
824 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
825 Likewise.
826
8272023-06-14 Thomas Schwinge <thomas@codesourcery.com>
828
829 * testsuite/libgomp.c/target-51.c: Fix typo.
830
8312023-06-14 Tobias Burnus <tobias@codesourcery.com>
832
833 * env.c (gomp_default_icv_values): Init default_device_var to
834 an nonconforming value - INT_MIN.
835 (initialize_env): After env-var parsing, set default_device_var to
836 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
837 (omp_display_env): If default_device_var is INT_MIN, call
838 gomp_init_targets_once.
839 * icv-device.c (omp_get_default_device): Likewise.
840 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
841 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
842 * target.c (resolve_device): Improve error message device-num < 0
843 with 'mandatory' and no no-host devices available.
844 (gomp_target_init): Set default-device-var if INT_MIN.
845 * testsuite/libgomp.c/target-48.c: New test.
846 * testsuite/libgomp.c/target-49.c: New test.
847 * testsuite/libgomp.c/target-50.c: New test.
848 * testsuite/libgomp.c/target-50a.c: New test.
849 * testsuite/libgomp.c/target-51.c: New test.
850 * testsuite/libgomp.c/target-52.c: New test.
851 * testsuite/libgomp.c/target-53.c: New test.
852 * testsuite/libgomp.c/target-54.c: New test.
853
532fb120
GA
8542023-06-13 Tobias Burnus <tobias@codesourcery.com>
855
856 PR libgomp/109837
857 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
858 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
859
9d250bdb
GA
8602023-06-12 Tobias Burnus <tobias@codesourcery.com>
861
862 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
863 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
864 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
865 error message.
866 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
867 changed error message.
868 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
869 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
870 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
871 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
872 extend testcase to check that data is copied when needed.
873 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
874 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
875
8c5b1365
GA
8762023-06-07 Thomas Schwinge <thomas@codesourcery.com>
877 Tobias Burnus <tobias@codesourcery.com>
878
879 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
880 also for non-offload_device targets; check that it runs
881 successfully for those and for all until a checkpoint for all
882 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
883 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
884 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
885 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
886 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
887 add missing vars to map clause.
888
4f0d4825
GA
8892023-06-06 Tobias Burnus <tobias@codesourcery.com>
890
891 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
892 unified_address requirement as supported.
893 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
894 'unified_address' from the not-supported requirements.
895
8962023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
897 Tobias Burnus <tobias@codesourcery.com>
898
899 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
900 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
901 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
902 modifier.
903 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
904 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
905 Emit runtime error if memory region not present.
906 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
907 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
908 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
909 * testsuite/libgomp.fortran/target-present-1.f90: New test.
910 * testsuite/libgomp.fortran/target-present-2.f90: New test.
911 * testsuite/libgomp.fortran/target-present-3.f90: New test.
912
829d5975
GA
9132023-06-02 Thomas Schwinge <thomas@codesourcery.com>
914
915 PR testsuite/66005
916 * testsuite/lib/libgomp.exp: 'flock' through stdout.
917 * testsuite/flock: New.
918 * configure.ac (FLOCK): Point to that if no 'flock' available, but
919 'perl' is.
920 * configure: Regenerate.
921
9222023-06-02 Thomas Schwinge <thomas@codesourcery.com>
923
924 * configure.ac (PERL): Remove.
925 * configure: Regenerate.
926 * Makefile.in: Likewise.
927 * testsuite/Makefile.in: Likewise.
928
84749914
GA
9292023-06-01 Tobias Burnus <tobias@codesourcery.com>
930
931 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
932
6e6bb373
GA
9332023-05-26 Tobias Burnus <tobias@codesourcery.com>
934
935 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
936
4579954f
GA
9372023-05-21 Tobias Burnus <tobias@codesourcery.com>
938
939 PR libgomp/109875
940 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
941 * config/nvptx/target.c (GOMP_teams4): Likewise.
942 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
943 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
944 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
945 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
946
5df01f89
GA
9472023-05-19 Jakub Jelinek <jakub@redhat.com>
948
949 PR libgomp/109904
950 * configure.ac (link_gomp): Include also $DL_LIBS.
951 * configure: Regenerated.
952
ff2dcddf
GA
9532023-05-17 Tobias Burnus <tobias@codesourcery.com>
954
955 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
956 'target exit data'.
957 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
958 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
959 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
960 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
961
3427b51b
GA
9622023-05-15 Thomas Schwinge <thomas@codesourcery.com>
963
964 PR testsuite/66005
965 * configure.ac: Look for 'flock'.
966 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
967 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
968 * testsuite/lib/libgomp.exp: ... but here, instead.
969 (libgomp_load): Override for parallel testing.
970 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
971 * configure: Regenerate.
972 * Makefile.in: Regenerate.
973 * testsuite/Makefile.in: Regenerate.
974
9752023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
976 Thomas Schwinge <thomas@codesourcery.com>
977
978 PR testsuite/66005
979 * testsuite/Makefile.am (PWD_COMMAND): New variable.
980 (%/site.exp): New target.
981 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
982 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
983 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
984 (check_p_subdirs)
985 (check_DEJAGNU_libgomp_targets): New variables.
986 ($(check_DEJAGNU_libgomp_targets)): New target.
987 ($(check_DEJAGNU_libgomp_targets)): New dependency.
988 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
989 * testsuite/Makefile.in: Regenerate.
990 * testsuite/lib/libgomp.exp: For parallel testing,
991 'load_file ../libgomp-test-support.exp'.
992
9932023-05-15 Thomas Schwinge <thomas@codesourcery.com>
994
995 PR testsuite/91884
996 * configure.ac: 'AC_SUBST(CXX)'.
997 * configure: Regenerate.
998 * Makefile.in: Likewise.
999 * testsuite/Makefile.in: Likewise.
1000 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1001 (GFORTRAN_UNDER_TEST): Set.
1002 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1003 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1004 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1005 * testsuite/libgomp.fortran/fortran.exp: Use
1006 'GFORTRAN_UNDER_TEST'.
1007 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1008
10092023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1010
1011 PR testsuite/91884
1012 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1013 specify compiler.
1014 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1015 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1016 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1017 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1018 Likewise.
1019 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1020 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1021 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1022 Likewise.
1023
20ca33db
GA
10242023-05-12 Tobias Burnus <tobias@codesourcery.com>
1025
1026 PR libstdc++/109816
1027 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1028 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1029
10302023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1031
1032 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1033 'lang_library_path' into a list of 'lang_library_paths'.
1034 * testsuite/libgomp.c++/c++.exp: Adjust.
1035 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1036 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1037 libquadmath, too.
1038 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1039
10402023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1041
1042 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1043 at 'lang_test_file_found'.
1044 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1045 'return' early if not able to test. Simplify 'ld_library_path' setup.
1046 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1047 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1048 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1049
10502023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1051
1052 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1053 first.
1054 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1055 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1056 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1057
10582023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1059
1060 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1061 * testsuite/libgomp.c/c.exp: Likewise.
1062 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1063 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1064 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1065 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1066 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1067
35e324da
GA
10682023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1069
1070 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1071 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1072 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1073 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1074 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1075 'lang_test_file'.
1076 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1077 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1078 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1079 'lang_test_file_found' instead of 'lang_test_file'.
1080
10812023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1082
1083 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1084 set.
1085 * testsuite/libgomp.c++/c++.exp: Likewise.
1086 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1087
10882023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1089
1090 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1091 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1092
212905a4
GA
10932023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1094
1095 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1096 of 'libstdcxx_includes'.
1097 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1098
10992023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1100
1101 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1102 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1103 * libgomp.h (gomp_target_rev): Adjust.
1104 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1105 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1106 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1107 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1108 (rev_off_host_to_dev_cpy): Remove.
1109 (GOMP_OFFLOAD_run): Adjust.
1110
fde093b7
GA
11112023-05-04 Julian Brown <julian@codesourcery.com>
1112
1113 PR fortran/109622
1114 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1115 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1116 vector length warning.
1117 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1118 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1119 missing copyin/copyout variable. Ignore vector length warnings.
1120 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1121 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1122 vector length warnings.
1123 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1124
50205195
GA
11252023-04-28 Julian Brown <julian@codesourcery.com>
1126
1127 PR fortran/109622
1128 * testsuite/libgomp.fortran/pr109622.f90: New test.
1129 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1130 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1131
49cea02d
GA
11322023-04-25 Tobias Burnus <tobias@codesourcery.com>
1133
1134 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1135 * testsuite/libgomp.c/scan-23.c: New test.
1136 * testsuite/libgomp.fortran/scan-2.f90: New test.
1137
579cdc1e
GA
11382023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1139
1140 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1141 weak_undefined options.
1142
13ec81eb
GA
11432023-03-24 Tobias Burnus <tobias@codesourcery.com>
1144
1145 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1146
11472023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1148
1149 PR fortran/104949
1150 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1151 caveat/safeguard.
1152
c8065441
GA
11532023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1154
1155 PR libgomp/90596
1156 * target.c (gomp_map_vars_internal): Allow for
1157 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1158 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1159 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1160 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1161 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1162 Adjust, simplify.
1163 (gomp_offload_free): Remove.
1164 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1165 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1166 (cuda_free_argmem): Remove.
1167 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1168 Adjust.
1169
11702023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1171
1172 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1173 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1174 data.
1175
11762023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1177
1178 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1179 'GOMP_MAP_IF_PRESENT'.
1180 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1181 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1182 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1183 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1184 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1185 testing.
1186 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1187
11882023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1189
1190 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1191 shortcut.
1192
11932023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1194
1195 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1196 another aspect of OpenACC 'async' semantics.
1197
11982023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1199
1200 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1201 position.
1202 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1203 Verify 'acc_ev_alloc', 'acc_ev_free'.
1204
da2b9c6e
GA
12052023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1206
1207 PR libgomp/109062
1208 * env.c (wait_policy): Initialize to -1.
1209 (initialize_icvs): Initialize icvs->wait_policy to -1.
1210 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1211
6a87fdd3
GA
12122023-03-08 Tobias Burnus <tobias@codesourcery.com>
1213
1214 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1215
14db9ed5
GA
12162023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1217 Paul-Antoine Arras <pa@codesourcery.com>
1218
1219 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1220
c88a7c63
GA
12212023-03-01 Tobias Burnus <tobias@codesourcery.com>
1222
1223 PR middle-end/108546
1224 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1225 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1226
b6f98991
GA
12272023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1228
1229 * testsuite/libgomp.fortran/alloc-10.f90: Use
1230 '-Wno-complain-wrong-lang'.
1231 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1232 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1233 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1234 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1235 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1236 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1237 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1238 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1239 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1240 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1241 Likewise.
1242 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1243 Likewise.
1244 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1245 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1246 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1247 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1248 'dg-prune-output'.
1249
88cc4495
GA
12502023-02-16 Jakub Jelinek <jakub@redhat.com>
1251
1252 * libgomp.texi: Fix typos - theads -> threads.
1253
12542023-02-16 Jakub Jelinek <jakub@redhat.com>
1255
1256 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1257 comment typo and improve its wording.
1258
29a35391
GA
12592023-02-15 Tobias Burnus <tobias@codesourcery.com>
1260
1261 * target.c (gomp_target_rev): Dereference ptr
1262 to get device address.
1263 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1264 for unallocated allocatable.
1265
12662023-02-15 Tobias Burnus <tobias@codesourcery.com>
1267
1268 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1269 kind check.
1270 (GOMP_target_enter_exit_data): If the next map item is
1271 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1272 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1273
e92e2c96
GA
12742023-02-09 Tobias Burnus <tobias@codesourcery.com>
1275
1276 PR fortran/107424
1277 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1278 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1279 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1280 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1281 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1282 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1283
8f3b85ef
GA
12842023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1285
1286 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1287 offloading compilation.
1288
49e52115
GA
12892023-02-03 Tobias Burnus <tobias@codesourcery.com>
1290
1291 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1292 freeing not allocated memory.
1293 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1294
12952023-02-03 Tobias Burnus <tobias@codesourcery.com>
1296
1297 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1298 reverse offload.
1299 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1300 reverse-offload requirement.
1301
a37a0cb3
GA
13022023-02-02 Andrew Stubbs <ams@codesourcery.com>
1303
1304 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1305 (DEFAULT_TEAM_ARENA_SIZE): New define.
1306 (struct heap): Move to this file.
1307 (struct kernargs_abi): Likewise.
1308 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1309 the kernargs.
1310 * libgomp.h: Include libgomp-gcn.h.
1311 (TEAM_ARENA_SIZE): Remove.
1312 (team_malloc): Update the error message.
1313 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1314 struct kernargs_abi.
1315 (struct agent_info): Rename team arenas to ephemeral memories.
1316 (struct team_arena_list): Rename ....
1317 (struct ephemeral_memories_list): to this.
1318 (struct heap): Delete.
1319 (team_arena_size): New variable.
1320 (stack_size): New variable.
1321 (print_kernel_dispatch): Update debug messages.
1322 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1323 Read GCN_STACK_SIZE.
1324 (get_team_arena): Rename ...
1325 (configure_ephemeral_memories): ... to this, and set up stacks.
1326 (release_team_arena): Rename ...
1327 (release_ephemeral_memories): ... to this.
1328 (destroy_team_arenas): Rename ...
1329 (destroy_ephemeral_memories): ... to this.
1330 (create_kernel_dispatch): Add num_threads parameter.
1331 Adjust for kernargs_abi refactor and ephemeral memories.
1332 (release_kernel_dispatch): Adjust for ephemeral memories.
1333 (run_kernel): Pass thread-count to create_kernel_dispatch.
1334 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1335 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1336
13372023-02-02 Tobias Burnus <tobias@codesourcery.com>
1338
1339 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1340
0a251e74
GA
13412023-02-01 Tobias Burnus <tobias@codesourcery.com>
1342
1343 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1344 usage, remove unused -fdump-tree-original.
1345 * testsuite/libgomp.fortran/allocate-4.f90: New.
1346
13472023-02-01 Tobias Burnus <tobias@codesourcery.com>
1348
1349 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1350 (GCN): Add item about 'omp requires'.
1351 (nvptx): Likewise; add item about reverse offload.
1352
338eb0f0
GA
13532023-01-27 Tobias Burnus <tobias@codesourcery.com>
1354
1355 PR fortran/108558
1356 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1357
607f278a
GA
13582023-01-23 Tobias Burnus <tobias@codesourcery.com>
1359
1360 * libgomp.texi (OpenMP 5.0): Set non-rectangular
1361 loop nest back to 'P' as Fortran support is incomplete.
1362
0846336d
GA
13632023-01-19 Jakub Jelinek <jakub@redhat.com>
1364
1365 PR middle-end/108459
1366 * testsuite/libgomp.c/pr108459.c: New test.
1367
8d07b193
GA
13682023-01-17 Martin Liska <mliska@suse.cz>
1369
1370 * Makefile.in: Regenerate.
1371 * configure: Regenerate.
1372
d901bf8a
GA
13732023-01-07 LIU Hao <lh_mouse@126.com>
1374
1375 PR middle-end/108300
1376 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1377 <windows.h>.
1378
53ef7c1d
GA
13792023-01-05 Jakub Jelinek <jakub@redhat.com>
1380
1381 PR c++/108286
1382 * testsuite/libgomp.c++/pr108286.C: New test.
1383
fee53a31
GA
13842023-01-02 Jakub Jelinek <jakub@redhat.com>
1385
1386 * libgomp.texi: Bump @copying's copyright year.
1387
de282a20
GA
13882022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1389
1390 PR target/99555
1391 * config/nvptx/bar.c (generation_to_barrier): Remove.
1392 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1393 (GOMP_WAIT_H): Remove.
1394 (#include "../linux/bar.c"): Remove.
1395 (gomp_barrier_wait_end): New function.
1396 (gomp_barrier_wait): Likewise.
1397 (gomp_barrier_wait_last): Likewise.
1398 (gomp_team_barrier_wait_end): Likewise.
1399 (gomp_team_barrier_wait): Likewise.
1400 (gomp_team_barrier_wait_final): Likewise.
1401 (gomp_team_barrier_wait_cancel_end): Likewise.
1402 (gomp_team_barrier_wait_cancel): Likewise.
1403 (gomp_team_barrier_cancel): Likewise.
1404 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1405 (gomp_barrier_init): Remove init of waiters, lock fields.
1406 (gomp_team_barrier_wake): Remove prototype, add new static inline
1407 function.
1408
14092022-12-21 Jakub Jelinek <jakub@redhat.com>
1410
1411 PR c++/108180
1412 * testsuite/libgomp.c++/pr108180.C: New test.
1413
5fb1e674
GA
14142022-12-16 Tobias Burnus <tobias@codesourcery.com>
1415
1416 PR libfortran/108056
1417 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1418 accidentally added file.
1419
c8f767b2
GA
14202022-12-15 Tobias Burnus <tobias@codesourcery.com>
1421
1422 PR libfortran/108056
1423 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1424
26f4aefa
GA
14252022-12-14 Julian Brown <julian@codesourcery.com>
1426
1427 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1428 test.
1429
c6b12b80
GA
14302022-12-10 Tobias Burnus <tobias@codesourcery.com>
1431
1432 * libgomp.h (struct target_mem_desc): Predeclare; move
1433 below after 'reverse_splay_tree_node' and add rev_array
1434 member.
1435 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1436 (reverse_splay_tree_node, reverse_splay_tree,
1437 reverse_splay_tree_key): New typedef.
1438 (struct gomp_device_descr): Add mem_map_rev member.
1439 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1440 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1441 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1442 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1443 splay_tree_callback but returning int not void.
1444 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1445 taking splay_tree_callback_stop as argument.
1446 * splay-tree.c (splay_tree_foreach_internal_lazy,
1447 splay_tree_foreach_lazy): New; but early exit if callback returns
1448 nonzero.
1449 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1450 (gomp_map_lookup_rev): New.
1451 (gomp_load_image_to_device): Handle reverse-offload function
1452 lookup table.
1453 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1454 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1455 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1456 gomp_map_cdata_lookup): New auxiliary structs and functions for
1457 gomp_target_rev.
1458 (gomp_target_rev): Implement reverse offloading and its mapping.
1459 (gomp_target_init): Init current_device.mem_map_rev.root.
1460 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1461 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1462 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1463 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1464 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1465 mapping of on-device allocated variables.
1466
40ce6485
GA
14672022-12-09 Tobias Burnus <tobias@codesourcery.com>
1468
1469 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1470 item about 'align'; mark clause as 'Y' and directive as 'N'.
1471 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1472 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1473
3fe66f7f
GA
14742022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1475
1476 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1477 allow processing of device-specific values.
1478 (omp_set_teams_thread_limit): Likewise.
1479 (ialias): Likewise.
1480 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1481 (omp_set_teams_thread_limit): Likewise.
1482 (ialias): Likewise.
1483 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1484 (ialias): Likewise.
1485 (omp_set_teams_thread_limit): Likewise.
1486 * icv.c (omp_set_teams_thread_limit): Removed.
1487 (omp_get_teams_thread_limit): Likewise.
1488 (ialias): Likewise.
1489 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1490 to the limitation of the number of teams.
1491 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1492 the number of teams by twice the number of compute units.
1493 (parse_target_attributes): Limit the number of teams on gcn offload
1494 devices.
1495 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1496 handling.
1497 (gomp_load_image_to_device): Added a size check for the ICVs struct
1498 variable.
1499 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1500 copy back the ICV values from device to host.
1501 (GOMP_target_ext): Update the number of teams and threads in the kernel
1502 args also considering device-specific values.
1503 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1504 of OMP_TEAMS_THREAD_LIMIT from the environment.
1505 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1506 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1507 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1508 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1509 * testsuite/libgomp.fortran/icv-5.f90: New test.
1510 * testsuite/libgomp.fortran/icv-6.f90: New test.
1511
15122022-12-06 Tobias Burnus <tobias@codesourcery.com>
1513
1514 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1515 (TR11): Add missing '@tab N @tab'.
1516
6eea85a9
GA
15172022-11-30 Tobias Burnus <tobias@codesourcery.com>
1518
1519 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1520
15212022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1522
1523 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1524 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1525 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1526 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1527 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1528 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1529 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1530
b7748535
GA
15312022-11-28 Tobias Burnus <tobias@codesourcery.com>
1532
1533 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1534
d769c504
GA
15352022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1536
1537 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1538 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1539 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1540 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1541
15422022-11-25 Tobias Burnus <tobias@codesourcery.com>
1543
1544 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1545 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1546 as valid and the code having no reverse-offload code.
1547 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1548
15492022-11-25 Tobias Burnus <tobias@codesourcery.com>
1550
1551 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1552 and status for Technical Report (TR) 11.
1553
8b7fee1d
GA
15542022-11-21 Tobias Burnus <tobias@codesourcery.com>
1555
1556 * config/gcn/libgomp-gcn.h (struct output):
1557 Remove 'msg_u64' from the union, change
1558 value_u64[2] to value_u64[6].
1559 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1560 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1561 Likewise.
1562
fb98ede8
GA
15632022-11-19 Tobias Burnus <tobias@codesourcery.com>
1564
1565 * config/gcn/libgomp-gcn.h: New file; contains
1566 struct output, declared previously in plugin-gcn.c.
1567 * config/gcn/target.c: Include it.
1568 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1569 (GOMP_target_ext): Handle reverse offload.
1570 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1571 (struct kernargs): Replace struct def by the one
1572 from libgomp-gcn.h for output_data.
1573 (process_reverse_offload): New.
1574 (console_output): Call it.
1575
80909529
GA
15762022-11-16 Tobias Burnus <tobias@codesourcery.com>
1577 Andrew Stubbs <ams@codesourcery.com>
1578
1579 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1580 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1581
83d400bd
GA
15822022-11-14 Martin Liska <mliska@suse.cz>
1583
1584 Revert:
1585 2022-11-14 Martin Liska <mliska@suse.cz>
1586
1587 * doc/amd-radeon-gcn.rst: New file.
1588 * doc/conf.py: New file.
1589 * doc/copyright.rst: New file.
1590 * doc/cuda-streams-usage.rst: New file.
1591 * doc/enabling-openacc.rst: New file.
1592 * doc/enabling-openmp.rst: New file.
1593 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1594 * doc/first-invocation-openacc-library-api.rst: New file.
1595 * doc/funding.rst: New file.
1596 * doc/general-public-license-3.rst: New file.
1597 * doc/gnu-free-documentation-license.rst: New file.
1598 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1599 * doc/index.rst: New file.
1600 * doc/indices-and-tables.rst: New file.
1601 * doc/introduction.rst: New file.
1602 * doc/memory-allocation-with-libmemkind.rst: New file.
1603 * doc/nvptx.rst: New file.
1604 * doc/offload-target-specifics.rst: New file.
1605 * doc/openacc-environment-variables.rst: New file.
1606 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1607 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1608 * doc/openacc-environment-variables/accproflib.rst: New file.
1609 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1610 * doc/openacc-introduction.rst: New file.
1611 * doc/openacc-library-and-environment-variables.rst: New file.
1612 * doc/openacc-library-interoperability.rst: New file.
1613 * doc/openacc-profiling-interface.rst: New file.
1614 * doc/openacc-runtime-library-routines.rst: New file.
1615 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1616 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1617 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1618 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1619 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1620 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1621 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1622 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1623 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1624 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1625 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1626 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1627 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1628 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1629 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1630 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1631 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1632 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1633 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1634 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1635 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1636 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1637 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1638 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1639 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1640 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1641 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1642 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1643 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1644 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1645 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1646 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1647 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1648 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1649 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1650 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1651 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1652 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1653 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1654 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1655 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1656 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1657 * doc/openmp-context-selectors.rst: New file.
1658 * doc/openmp-environment-variables.rst: New file.
1659 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1660 * doc/openmp-environment-variables/gompdebug.rst: New file.
1661 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1662 * doc/openmp-environment-variables/gompspincount.rst: New file.
1663 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1664 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1665 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1666 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1667 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1668 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1669 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1670 * doc/openmp-environment-variables/ompnested.rst: New file.
1671 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1672 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1673 * doc/openmp-environment-variables/ompplaces.rst: New file.
1674 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1675 * doc/openmp-environment-variables/ompschedule.rst: New file.
1676 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1677 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1678 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1679 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1680 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1681 * doc/openmp-implementation-specifics.rst: New file.
1682 * doc/openmp-implementation-status.rst: New file.
1683 * doc/openmp-implementation-status/openmp-45.rst: New file.
1684 * doc/openmp-implementation-status/openmp-50.rst: New file.
1685 * doc/openmp-implementation-status/openmp-51.rst: New file.
1686 * doc/openmp-implementation-status/openmp-52.rst: New file.
1687 * doc/openmp-runtime-library-routines.rst: New file.
1688 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1689 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1690 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1691 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1692 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1693 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1694 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1695 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1696 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1697 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1698 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1699 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1700 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1701 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1702 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1703 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1704 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1705 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1706 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1707 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1708 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1709 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1710 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1711 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1712 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1713 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1714 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1715 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1716 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1717 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1718 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1719 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1720 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1721 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1722 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1723 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1724 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1725 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1726 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1727 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1728 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1729 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1730 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1731 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1732 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1733 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1734 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1735 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1736 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1737 * doc/reporting-bugs.rst: New file.
1738 * doc/the-libgomp-abi.rst: New file.
1739 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1740 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1741 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1742 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1743 New file.
1744 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1745 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1746 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1747 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1748 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1749 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1750 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1751 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1752 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1753 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1754 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1755
17562022-11-14 Martin Liska <mliska@suse.cz>
1757
1758 Revert:
1759 2022-11-14 Martin Liska <mliska@suse.cz>
1760
1761 * Makefile.in: Support Sphinx based documentation.
1762
17632022-11-14 Martin Liska <mliska@suse.cz>
1764
1765 Revert:
1766 2022-11-14 Martin Liska <mliska@suse.cz>
1767
1768 * libgomp.texi: Removed.
1769
17702022-11-14 Martin Liska <mliska@suse.cz>
1771
1772 Revert:
1773 2022-11-14 Martin Liska <mliska@suse.cz>
1774
1775 * Makefile.in: Support --with-sphinx-build.
1776 * configure.ac: Likewise..
1777 * configure: Regenerate.
1778
17792022-11-14 Martin Liska <mliska@suse.cz>
1780
1781 Revert:
1782 2022-11-09 Martin Liska <mliska@suse.cz>
1783
1784 * Makefile.in: Build info pages conditionally.
1785
17862022-11-14 Martin Liska <mliska@suse.cz>
1787
1788 Revert:
1789 2022-11-14 Martin Liska <mliska@suse.cz>
1790
1791 * doc/amd-radeon-gcn.rst:
3d3b561f 1792 Add trailing newline.
83d400bd 1793 * doc/copyright.rst:
3d3b561f 1794 Add trailing newline.
83d400bd 1795 * doc/cuda-streams-usage.rst:
3d3b561f 1796 Add trailing newline.
83d400bd 1797 * doc/enabling-openacc.rst:
3d3b561f 1798 Add trailing newline.
83d400bd 1799 * doc/enabling-openmp.rst:
3d3b561f 1800 Add trailing newline.
83d400bd 1801 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 1802 Add trailing newline.
83d400bd 1803 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 1804 Add trailing newline.
83d400bd 1805 * doc/funding.rst:
3d3b561f 1806 Add trailing newline.
83d400bd 1807 * doc/general-public-license-3.rst:
3d3b561f 1808 Add trailing newline.
83d400bd 1809 * doc/gnu-free-documentation-license.rst:
3d3b561f 1810 Add trailing newline.
83d400bd 1811 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 1812 Add trailing newline.
83d400bd 1813 * doc/index.rst:
3d3b561f 1814 Add trailing newline.
83d400bd 1815 * doc/indices-and-tables.rst:
3d3b561f 1816 Add trailing newline.
83d400bd 1817 * doc/introduction.rst:
3d3b561f 1818 Add trailing newline.
83d400bd 1819 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 1820 Add trailing newline.
83d400bd 1821 * doc/nvptx.rst:
3d3b561f 1822 Add trailing newline.
83d400bd 1823 * doc/offload-target-specifics.rst:
3d3b561f 1824 Add trailing newline.
83d400bd 1825 * doc/openacc-environment-variables.rst:
3d3b561f 1826 Add trailing newline.
83d400bd 1827 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 1828 Add trailing newline.
83d400bd 1829 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 1830 Add trailing newline.
83d400bd 1831 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 1832 Add trailing newline.
83d400bd 1833 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 1834 Add trailing newline.
83d400bd 1835 * doc/openacc-introduction.rst:
3d3b561f 1836 Add trailing newline.
83d400bd 1837 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 1838 Add trailing newline.
83d400bd 1839 * doc/openacc-library-interoperability.rst:
3d3b561f 1840 Add trailing newline.
83d400bd 1841 * doc/openacc-profiling-interface.rst:
3d3b561f 1842 Add trailing newline.
83d400bd 1843 * doc/openacc-runtime-library-routines.rst:
3d3b561f 1844 Add trailing newline.
83d400bd 1845 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 1846 Add trailing newline.
83d400bd 1847 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 1848 Add trailing newline.
83d400bd 1849 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 1850 Add trailing newline.
83d400bd 1851 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 1852 Add trailing newline.
83d400bd 1853 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 1854 Add trailing newline.
83d400bd 1855 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 1856 Add trailing newline.
83d400bd 1857 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 1858 Add trailing newline.
83d400bd 1859 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 1860 Add trailing newline.
83d400bd 1861 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 1862 Add trailing newline.
83d400bd 1863 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 1864 Add trailing newline.
83d400bd 1865 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 1866 Add trailing newline.
83d400bd 1867 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 1868 Add trailing newline.
83d400bd 1869 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 1870 Add trailing newline.
83d400bd 1871 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 1872 Add trailing newline.
83d400bd 1873 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 1874 Add trailing newline.
83d400bd 1875 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 1876 Add trailing newline.
83d400bd 1877 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 1878 Add trailing newline.
83d400bd 1879 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 1880 Add trailing newline.
83d400bd 1881 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 1882 Add trailing newline.
83d400bd 1883 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 1884 Add trailing newline.
83d400bd 1885 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 1886 Add trailing newline.
83d400bd 1887 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 1888 Add trailing newline.
83d400bd 1889 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 1890 Add trailing newline.
83d400bd 1891 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 1892 Add trailing newline.
83d400bd 1893 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 1894 Add trailing newline.
83d400bd 1895 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 1896 Add trailing newline.
83d400bd 1897 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 1898 Add trailing newline.
83d400bd 1899 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 1900 Add trailing newline.
83d400bd 1901 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 1902 Add trailing newline.
83d400bd 1903 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 1904 Add trailing newline.
83d400bd 1905 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 1906 Add trailing newline.
83d400bd 1907 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 1908 Add trailing newline.
83d400bd 1909 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 1910 Add trailing newline.
83d400bd 1911 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 1912 Add trailing newline.
83d400bd 1913 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 1914 Add trailing newline.
83d400bd 1915 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 1916 Add trailing newline.
83d400bd 1917 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 1918 Add trailing newline.
83d400bd 1919 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 1920 Add trailing newline.
83d400bd 1921 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 1922 Add trailing newline.
83d400bd 1923 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 1924 Add trailing newline.
83d400bd 1925 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 1926 Add trailing newline.
83d400bd 1927 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 1928 Add trailing newline.
83d400bd 1929 * doc/openmp-context-selectors.rst:
3d3b561f 1930 Add trailing newline.
83d400bd 1931 * doc/openmp-environment-variables.rst:
3d3b561f 1932 Add trailing newline.
83d400bd 1933 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 1934 Add trailing newline.
83d400bd 1935 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 1936 Add trailing newline.
83d400bd 1937 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 1938 Add trailing newline.
83d400bd 1939 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 1940 Add trailing newline.
83d400bd 1941 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 1942 Add trailing newline.
83d400bd 1943 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 1944 Add trailing newline.
83d400bd 1945 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 1946 Add trailing newline.
83d400bd 1947 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 1948 Add trailing newline.
83d400bd 1949 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 1950 Add trailing newline.
83d400bd 1951 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 1952 Add trailing newline.
83d400bd 1953 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 1954 Add trailing newline.
83d400bd 1955 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 1956 Add trailing newline.
83d400bd 1957 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 1958 Add trailing newline.
83d400bd 1959 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 1960 Add trailing newline.
83d400bd 1961 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 1962 Add trailing newline.
83d400bd 1963 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 1964 Add trailing newline.
83d400bd 1965 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 1966 Add trailing newline.
83d400bd 1967 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 1968 Add trailing newline.
83d400bd 1969 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 1970 Add trailing newline.
83d400bd 1971 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 1972 Add trailing newline.
83d400bd 1973 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 1974 Add trailing newline.
83d400bd 1975 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 1976 Add trailing newline.
83d400bd 1977 * doc/openmp-implementation-specifics.rst:
3d3b561f 1978 Add trailing newline.
83d400bd 1979 * doc/openmp-implementation-status.rst:
3d3b561f 1980 Add trailing newline.
83d400bd 1981 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 1982 Add trailing newline.
83d400bd 1983 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 1984 Add trailing newline.
83d400bd 1985 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 1986 Add trailing newline.
83d400bd 1987 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 1988 Add trailing newline.
83d400bd 1989 * doc/openmp-runtime-library-routines.rst:
3d3b561f 1990 Add trailing newline.
83d400bd 1991 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 1992 Add trailing newline.
83d400bd 1993 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 1994 Add trailing newline.
83d400bd 1995 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 1996 Add trailing newline.
83d400bd 1997 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 1998 Add trailing newline.
83d400bd 1999 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2000 Add trailing newline.
83d400bd 2001 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2002 Add trailing newline.
83d400bd 2003 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2004 Add trailing newline.
83d400bd 2005 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2006 Add trailing newline.
83d400bd 2007 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2008 Add trailing newline.
83d400bd 2009 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2010 Add trailing newline.
83d400bd 2011 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2012 Add trailing newline.
83d400bd 2013 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2014 Add trailing newline.
83d400bd 2015 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2016 Add trailing newline.
83d400bd 2017 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2018 Add trailing newline.
83d400bd 2019 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2020 Add trailing newline.
83d400bd 2021 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2022 Add trailing newline.
83d400bd 2023 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2024 Add trailing newline.
83d400bd 2025 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2026 Add trailing newline.
83d400bd 2027 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2028 Add trailing newline.
83d400bd 2029 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2030 Add trailing newline.
83d400bd 2031 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2032 Add trailing newline.
83d400bd 2033 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2034 Add trailing newline.
83d400bd 2035 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2036 Add trailing newline.
83d400bd 2037 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2038 Add trailing newline.
83d400bd 2039 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2040 Add trailing newline.
83d400bd 2041 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2042 Add trailing newline.
83d400bd 2043 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2044 Add trailing newline.
83d400bd 2045 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2046 Add trailing newline.
83d400bd 2047 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2048 Add trailing newline.
83d400bd 2049 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2050 Add trailing newline.
83d400bd 2051 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2052 Add trailing newline.
83d400bd 2053 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2054 Add trailing newline.
83d400bd 2055 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2056 Add trailing newline.
83d400bd 2057 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2058 Add trailing newline.
83d400bd 2059 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2060 Add trailing newline.
83d400bd 2061 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2062 Add trailing newline.
83d400bd 2063 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2064 Add trailing newline.
83d400bd 2065 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2066 Add trailing newline.
83d400bd 2067 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2068 Add trailing newline.
83d400bd 2069 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2070 Add trailing newline.
83d400bd 2071 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2072 Add trailing newline.
83d400bd 2073 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2074 Add trailing newline.
83d400bd 2075 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2076 Add trailing newline.
83d400bd 2077 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2078 Add trailing newline.
83d400bd 2079 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2080 Add trailing newline.
83d400bd 2081 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2082 Add trailing newline.
83d400bd 2083 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2084 Add trailing newline.
83d400bd 2085 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2086 Add trailing newline.
83d400bd 2087 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2088 Add trailing newline.
83d400bd 2089 * doc/reporting-bugs.rst:
3d3b561f 2090 Add trailing newline.
83d400bd 2091 * doc/the-libgomp-abi.rst:
3d3b561f 2092 Add trailing newline.
83d400bd 2093 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2094 Add trailing newline.
83d400bd 2095 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2096 Add trailing newline.
83d400bd 2097 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2098 Add trailing newline.
83d400bd 2099 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2100 Add trailing newline.
83d400bd 2101 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2102 Add trailing newline.
83d400bd 2103 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2104 Add trailing newline.
83d400bd 2105 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2106 Add trailing newline.
83d400bd 2107 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2108 Add trailing newline.
83d400bd 2109 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2110 Add trailing newline.
83d400bd 2111 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2112 Add trailing newline.
83d400bd 2113 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2114 Add trailing newline.
83d400bd 2115 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2116 Add trailing newline.
83d400bd 2117 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2118 Add trailing newline.
83d400bd 2119 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2120 Add trailing newline.
83d400bd 2121 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2122 Add trailing newline.
83d400bd
GA
2123
21242022-11-14 Martin Liska <mliska@suse.cz>
2125
2126 Revert:
2127 2022-11-09 Martin Liska <mliska@suse.cz>
2128
2129 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2130
21312022-11-14 Martin Liska <mliska@suse.cz>
2132
2133 Revert:
2134 2022-11-14 Martin Liska <mliska@suse.cz>
2135
2136 * doc/conf.py: Add newline at last line.
2137
21382022-11-14 Martin Liska <mliska@suse.cz>
2139
2140 Revert:
2141 2022-11-14 Martin Liska <mliska@suse.cz>
2142
2143 PR other/107620
2144 * configure: Regenerate.
2145 * configure.ac: Always set sphinx-build.
2146
eefbfbc7
GA
21472022-11-13 Martin Liska <mliska@suse.cz>
2148
2149 PR other/107620
2150 * configure: Regenerate.
2151 * configure.ac: Always set sphinx-build.
2152
30d77d49
GA
21532022-11-12 Jakub Jelinek <jakub@redhat.com>
2154
2155 PR libgomp/107641
2156 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2157 unsigned long. Change type of upper from unsigned to unsigned long.
2158
f225b813
GA
21592022-11-10 Martin Liska <mliska@suse.cz>
2160
2161 * doc/conf.py: Add newline at last line.
2162
1cdfd0e5
GA
21632022-11-09 Martin Liska <mliska@suse.cz>
2164
2165 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2166
21672022-11-09 Martin Liska <mliska@suse.cz>
2168
2169 * doc/amd-radeon-gcn.rst:
3d3b561f 2170 Add trailing newline.
1cdfd0e5 2171 * doc/copyright.rst:
3d3b561f 2172 Add trailing newline.
1cdfd0e5 2173 * doc/cuda-streams-usage.rst:
3d3b561f 2174 Add trailing newline.
1cdfd0e5 2175 * doc/enabling-openacc.rst:
3d3b561f 2176 Add trailing newline.
1cdfd0e5 2177 * doc/enabling-openmp.rst:
3d3b561f 2178 Add trailing newline.
1cdfd0e5 2179 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 2180 Add trailing newline.
1cdfd0e5 2181 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 2182 Add trailing newline.
1cdfd0e5 2183 * doc/funding.rst:
3d3b561f 2184 Add trailing newline.
1cdfd0e5 2185 * doc/general-public-license-3.rst:
3d3b561f 2186 Add trailing newline.
1cdfd0e5 2187 * doc/gnu-free-documentation-license.rst:
3d3b561f 2188 Add trailing newline.
1cdfd0e5 2189 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 2190 Add trailing newline.
1cdfd0e5 2191 * doc/index.rst:
3d3b561f 2192 Add trailing newline.
1cdfd0e5 2193 * doc/indices-and-tables.rst:
3d3b561f 2194 Add trailing newline.
1cdfd0e5 2195 * doc/introduction.rst:
3d3b561f 2196 Add trailing newline.
1cdfd0e5 2197 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 2198 Add trailing newline.
1cdfd0e5 2199 * doc/nvptx.rst:
3d3b561f 2200 Add trailing newline.
1cdfd0e5 2201 * doc/offload-target-specifics.rst:
3d3b561f 2202 Add trailing newline.
1cdfd0e5 2203 * doc/openacc-environment-variables.rst:
3d3b561f 2204 Add trailing newline.
1cdfd0e5 2205 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 2206 Add trailing newline.
1cdfd0e5 2207 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 2208 Add trailing newline.
1cdfd0e5 2209 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 2210 Add trailing newline.
1cdfd0e5 2211 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 2212 Add trailing newline.
1cdfd0e5 2213 * doc/openacc-introduction.rst:
3d3b561f 2214 Add trailing newline.
1cdfd0e5 2215 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 2216 Add trailing newline.
1cdfd0e5 2217 * doc/openacc-library-interoperability.rst:
3d3b561f 2218 Add trailing newline.
1cdfd0e5 2219 * doc/openacc-profiling-interface.rst:
3d3b561f 2220 Add trailing newline.
1cdfd0e5 2221 * doc/openacc-runtime-library-routines.rst:
3d3b561f 2222 Add trailing newline.
1cdfd0e5 2223 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 2224 Add trailing newline.
1cdfd0e5 2225 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 2226 Add trailing newline.
1cdfd0e5 2227 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 2228 Add trailing newline.
1cdfd0e5 2229 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 2230 Add trailing newline.
1cdfd0e5 2231 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 2232 Add trailing newline.
1cdfd0e5 2233 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 2234 Add trailing newline.
1cdfd0e5 2235 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 2236 Add trailing newline.
1cdfd0e5 2237 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 2238 Add trailing newline.
1cdfd0e5 2239 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 2240 Add trailing newline.
1cdfd0e5 2241 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 2242 Add trailing newline.
1cdfd0e5 2243 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 2244 Add trailing newline.
1cdfd0e5 2245 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 2246 Add trailing newline.
1cdfd0e5 2247 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 2248 Add trailing newline.
1cdfd0e5 2249 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 2250 Add trailing newline.
1cdfd0e5 2251 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 2252 Add trailing newline.
1cdfd0e5 2253 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 2254 Add trailing newline.
1cdfd0e5 2255 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 2256 Add trailing newline.
1cdfd0e5 2257 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 2258 Add trailing newline.
1cdfd0e5 2259 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 2260 Add trailing newline.
1cdfd0e5 2261 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 2262 Add trailing newline.
1cdfd0e5 2263 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 2264 Add trailing newline.
1cdfd0e5 2265 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 2266 Add trailing newline.
1cdfd0e5 2267 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 2268 Add trailing newline.
1cdfd0e5 2269 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 2270 Add trailing newline.
1cdfd0e5 2271 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 2272 Add trailing newline.
1cdfd0e5 2273 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 2274 Add trailing newline.
1cdfd0e5 2275 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 2276 Add trailing newline.
1cdfd0e5 2277 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 2278 Add trailing newline.
1cdfd0e5 2279 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 2280 Add trailing newline.
1cdfd0e5 2281 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 2282 Add trailing newline.
1cdfd0e5 2283 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 2284 Add trailing newline.
1cdfd0e5 2285 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 2286 Add trailing newline.
1cdfd0e5 2287 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 2288 Add trailing newline.
1cdfd0e5 2289 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 2290 Add trailing newline.
1cdfd0e5 2291 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 2292 Add trailing newline.
1cdfd0e5 2293 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 2294 Add trailing newline.
1cdfd0e5 2295 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 2296 Add trailing newline.
1cdfd0e5 2297 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 2298 Add trailing newline.
1cdfd0e5 2299 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 2300 Add trailing newline.
1cdfd0e5 2301 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 2302 Add trailing newline.
1cdfd0e5 2303 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 2304 Add trailing newline.
1cdfd0e5 2305 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 2306 Add trailing newline.
1cdfd0e5 2307 * doc/openmp-context-selectors.rst:
3d3b561f 2308 Add trailing newline.
1cdfd0e5 2309 * doc/openmp-environment-variables.rst:
3d3b561f 2310 Add trailing newline.
1cdfd0e5 2311 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 2312 Add trailing newline.
1cdfd0e5 2313 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 2314 Add trailing newline.
1cdfd0e5 2315 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 2316 Add trailing newline.
1cdfd0e5 2317 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 2318 Add trailing newline.
1cdfd0e5 2319 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 2320 Add trailing newline.
1cdfd0e5 2321 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 2322 Add trailing newline.
1cdfd0e5 2323 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 2324 Add trailing newline.
1cdfd0e5 2325 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 2326 Add trailing newline.
1cdfd0e5 2327 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 2328 Add trailing newline.
1cdfd0e5 2329 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 2330 Add trailing newline.
1cdfd0e5 2331 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 2332 Add trailing newline.
1cdfd0e5 2333 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 2334 Add trailing newline.
1cdfd0e5 2335 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 2336 Add trailing newline.
1cdfd0e5 2337 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 2338 Add trailing newline.
1cdfd0e5 2339 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 2340 Add trailing newline.
1cdfd0e5 2341 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 2342 Add trailing newline.
1cdfd0e5 2343 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 2344 Add trailing newline.
1cdfd0e5 2345 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 2346 Add trailing newline.
1cdfd0e5 2347 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 2348 Add trailing newline.
1cdfd0e5 2349 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 2350 Add trailing newline.
1cdfd0e5 2351 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 2352 Add trailing newline.
1cdfd0e5 2353 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 2354 Add trailing newline.
1cdfd0e5 2355 * doc/openmp-implementation-specifics.rst:
3d3b561f 2356 Add trailing newline.
1cdfd0e5 2357 * doc/openmp-implementation-status.rst:
3d3b561f 2358 Add trailing newline.
1cdfd0e5 2359 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 2360 Add trailing newline.
1cdfd0e5 2361 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 2362 Add trailing newline.
1cdfd0e5 2363 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 2364 Add trailing newline.
1cdfd0e5 2365 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 2366 Add trailing newline.
1cdfd0e5 2367 * doc/openmp-runtime-library-routines.rst:
3d3b561f 2368 Add trailing newline.
1cdfd0e5 2369 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 2370 Add trailing newline.
1cdfd0e5 2371 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 2372 Add trailing newline.
1cdfd0e5 2373 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 2374 Add trailing newline.
1cdfd0e5 2375 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 2376 Add trailing newline.
1cdfd0e5 2377 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2378 Add trailing newline.
1cdfd0e5 2379 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2380 Add trailing newline.
1cdfd0e5 2381 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2382 Add trailing newline.
1cdfd0e5 2383 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2384 Add trailing newline.
1cdfd0e5 2385 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2386 Add trailing newline.
1cdfd0e5 2387 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2388 Add trailing newline.
1cdfd0e5 2389 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2390 Add trailing newline.
1cdfd0e5 2391 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2392 Add trailing newline.
1cdfd0e5 2393 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2394 Add trailing newline.
1cdfd0e5 2395 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2396 Add trailing newline.
1cdfd0e5 2397 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2398 Add trailing newline.
1cdfd0e5 2399 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2400 Add trailing newline.
1cdfd0e5 2401 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2402 Add trailing newline.
1cdfd0e5 2403 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2404 Add trailing newline.
1cdfd0e5 2405 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2406 Add trailing newline.
1cdfd0e5 2407 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2408 Add trailing newline.
1cdfd0e5 2409 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2410 Add trailing newline.
1cdfd0e5 2411 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2412 Add trailing newline.
1cdfd0e5 2413 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2414 Add trailing newline.
1cdfd0e5 2415 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2416 Add trailing newline.
1cdfd0e5 2417 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2418 Add trailing newline.
1cdfd0e5 2419 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2420 Add trailing newline.
1cdfd0e5 2421 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2422 Add trailing newline.
1cdfd0e5 2423 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2424 Add trailing newline.
1cdfd0e5 2425 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2426 Add trailing newline.
1cdfd0e5 2427 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2428 Add trailing newline.
1cdfd0e5 2429 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2430 Add trailing newline.
1cdfd0e5 2431 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2432 Add trailing newline.
1cdfd0e5 2433 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2434 Add trailing newline.
1cdfd0e5 2435 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2436 Add trailing newline.
1cdfd0e5 2437 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2438 Add trailing newline.
1cdfd0e5 2439 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2440 Add trailing newline.
1cdfd0e5 2441 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2442 Add trailing newline.
1cdfd0e5 2443 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2444 Add trailing newline.
1cdfd0e5 2445 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2446 Add trailing newline.
1cdfd0e5 2447 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2448 Add trailing newline.
1cdfd0e5 2449 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2450 Add trailing newline.
1cdfd0e5 2451 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2452 Add trailing newline.
1cdfd0e5 2453 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2454 Add trailing newline.
1cdfd0e5 2455 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2456 Add trailing newline.
1cdfd0e5 2457 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2458 Add trailing newline.
1cdfd0e5 2459 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2460 Add trailing newline.
1cdfd0e5 2461 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2462 Add trailing newline.
1cdfd0e5 2463 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2464 Add trailing newline.
1cdfd0e5 2465 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2466 Add trailing newline.
1cdfd0e5 2467 * doc/reporting-bugs.rst:
3d3b561f 2468 Add trailing newline.
1cdfd0e5 2469 * doc/the-libgomp-abi.rst:
3d3b561f 2470 Add trailing newline.
1cdfd0e5 2471 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2472 Add trailing newline.
1cdfd0e5 2473 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2474 Add trailing newline.
1cdfd0e5 2475 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2476 Add trailing newline.
1cdfd0e5 2477 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2478 Add trailing newline.
1cdfd0e5 2479 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2480 Add trailing newline.
1cdfd0e5 2481 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2482 Add trailing newline.
1cdfd0e5 2483 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2484 Add trailing newline.
1cdfd0e5 2485 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2486 Add trailing newline.
1cdfd0e5 2487 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2488 Add trailing newline.
1cdfd0e5 2489 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2490 Add trailing newline.
1cdfd0e5 2491 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2492 Add trailing newline.
1cdfd0e5 2493 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2494 Add trailing newline.
1cdfd0e5 2495 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2496 Add trailing newline.
1cdfd0e5 2497 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2498 Add trailing newline.
1cdfd0e5 2499 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2500 Add trailing newline.
1cdfd0e5
GA
2501
25022022-11-09 Martin Liska <mliska@suse.cz>
2503
2504 * Makefile.in: Build info pages conditionally.
2505
25062022-11-09 Martin Liska <mliska@suse.cz>
2507
2508 * Makefile.in: Support --with-sphinx-build.
2509 * configure.ac: Likewise..
2510 * configure: Regenerate.
2511
25122022-11-09 Martin Liska <mliska@suse.cz>
2513
2514 * libgomp.texi: Removed.
2515
25162022-11-09 Martin Liska <mliska@suse.cz>
2517
2518 * Makefile.in: Support Sphinx based documentation.
2519
25202022-11-09 Martin Liska <mliska@suse.cz>
2521
2522 * doc/amd-radeon-gcn.rst: New file.
2523 * doc/conf.py: New file.
2524 * doc/copyright.rst: New file.
2525 * doc/cuda-streams-usage.rst: New file.
2526 * doc/enabling-openacc.rst: New file.
2527 * doc/enabling-openmp.rst: New file.
2528 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2529 * doc/first-invocation-openacc-library-api.rst: New file.
2530 * doc/funding.rst: New file.
2531 * doc/general-public-license-3.rst: New file.
2532 * doc/gnu-free-documentation-license.rst: New file.
2533 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2534 * doc/index.rst: New file.
2535 * doc/indices-and-tables.rst: New file.
2536 * doc/introduction.rst: New file.
2537 * doc/memory-allocation-with-libmemkind.rst: New file.
2538 * doc/nvptx.rst: New file.
2539 * doc/offload-target-specifics.rst: New file.
2540 * doc/openacc-environment-variables.rst: New file.
2541 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2542 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2543 * doc/openacc-environment-variables/accproflib.rst: New file.
2544 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2545 * doc/openacc-introduction.rst: New file.
2546 * doc/openacc-library-and-environment-variables.rst: New file.
2547 * doc/openacc-library-interoperability.rst: New file.
2548 * doc/openacc-profiling-interface.rst: New file.
2549 * doc/openacc-runtime-library-routines.rst: New file.
2550 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2551 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2552 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2553 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2554 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2555 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2556 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2557 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2558 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2559 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2560 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2561 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2562 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2563 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2564 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2565 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2566 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2567 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2568 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2569 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2570 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2571 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2572 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2573 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2574 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2575 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2576 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2577 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2578 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2579 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2580 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2581 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2582 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2583 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2584 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2585 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2586 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2587 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2588 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2589 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2590 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2591 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2592 * doc/openmp-context-selectors.rst: New file.
2593 * doc/openmp-environment-variables.rst: New file.
2594 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2595 * doc/openmp-environment-variables/gompdebug.rst: New file.
2596 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2597 * doc/openmp-environment-variables/gompspincount.rst: New file.
2598 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2599 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2600 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2601 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2602 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2603 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2604 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2605 * doc/openmp-environment-variables/ompnested.rst: New file.
2606 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2607 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2608 * doc/openmp-environment-variables/ompplaces.rst: New file.
2609 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2610 * doc/openmp-environment-variables/ompschedule.rst: New file.
2611 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2612 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2613 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2614 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2615 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2616 * doc/openmp-implementation-specifics.rst: New file.
2617 * doc/openmp-implementation-status.rst: New file.
2618 * doc/openmp-implementation-status/openmp-45.rst: New file.
2619 * doc/openmp-implementation-status/openmp-50.rst: New file.
2620 * doc/openmp-implementation-status/openmp-51.rst: New file.
2621 * doc/openmp-implementation-status/openmp-52.rst: New file.
2622 * doc/openmp-runtime-library-routines.rst: New file.
2623 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2624 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2625 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2626 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2627 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2628 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2629 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2630 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2631 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2632 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2633 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2634 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2635 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2636 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2637 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2638 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2639 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2640 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2641 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2642 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2643 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2644 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2645 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2646 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2647 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2648 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2649 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2650 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2651 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2652 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2653 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2654 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2655 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2656 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2657 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2658 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2659 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2660 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2661 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2662 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2663 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2664 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2665 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2666 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2667 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2668 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2669 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2670 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2671 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2672 * doc/reporting-bugs.rst: New file.
2673 * doc/the-libgomp-abi.rst: New file.
2674 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2675 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2676 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2677 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2678 New file.
2679 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2680 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2681 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2682 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2683 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2684 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2685 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2686 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2687 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2688 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2689 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2690
89d0a14a
JJ
26912022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2692
2693 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2694 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2695 documentation.
2696 * plugin/configfrag.ac <enable_offload_targets>
2697 [*-intelmic-* | *-intelmicemul-*]: Remove.
2698 * configure: Regenerate.
2699 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2700 handling.
2701 (offload_target_to_openacc_device_type)
2702 [$offload_target = *-intelmic*]: Remove.
2703 (check_effective_target_offload_device_intel_mic)
2704 (check_effective_target_offload_device_any_intel_mic): Remove.
2705 * testsuite/libgomp.c-c++-common/on_device_arch.h
2706 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2707 (any_device_arch_intel_mic): Remove.
2708 * testsuite/libgomp.c-c++-common/target-45.c: Remove
2709 'offload_device_any_intel_mic' XFAIL.
2710 * testsuite/libgomp.fortran/target10.f90: Likewise.
2711
d29260ce
GA
27122022-11-03 Tobias Burnus <tobias@codesourcery.com>
2713
2714 * testsuite/libgomp.fortran/target-11.f90: New test.
2715 * testsuite/libgomp.fortran/target-13.f90: New test.
2716
58035eee
GA
27172022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2718
2719 PR libgomp/106643
2720 PR fortran/96668
2721 * oacc-mem.c (goacc_enter_data_internal): Support
2722 OpenACC 'declare create' with Fortran allocatable arrays, part II.
2723 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2724 Adjust.
2725 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2726
27272022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2728
2729 PR libgomp/106643
2730 * oacc-mem.c (goacc_enter_data_internal): Support
2731 OpenACC 'declare create' with Fortran allocatable arrays, part I.
2732 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2733 New.
2734 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2735 New.
2736
27372022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2738
2739 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2740 New.
2741
27422022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2743
2744 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2745 New.
2746
27472022-11-02 Cesar Philippidis <cesar@codesourcery.com>
2748 Thomas Schwinge <thomas@codesourcery.com>
2749
2750 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2751
3055829a
GA
27522022-10-28 Julian Brown <julian@codesourcery.com>
2753 Thomas Schwinge <thomas@codesourcery.com>
2754
2755 PR middle-end/90115
2756 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2757 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2758 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2759 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2760 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2761
4e939ae1
GA
27622022-10-24 Thomas Schwinge <thomas@codesourcery.com>
2763
2764 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2765 'ptx_dev->rev_data'.
2766
27672022-10-24 Tobias Burnus <tobias@codesourcery.com>
2768
2769 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2770 'static' for this variable.
2771 * config/nvptx/libgomp-nvptx.h: New file.
2772 * config/nvptx/target.c: Include it.
2773 (GOMP_ADDITIONAL_ICVS): Declare extern var.
2774 (GOMP_REV_OFFLOAD_VAR): Declare var.
2775 (GOMP_target_ext): Handle reverse offload.
2776 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2777 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2778 * target.c (gomp_target_rev): ... this new stub function.
2779 * libgomp.h (gomp_target_rev): Declare.
2780 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2781 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2782 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2783 (struct ptx_device): Add rev_data member.
2784 (nvptx_open_device): Remove async_engines query, last used in
2785 r10-304-g1f4c5b9b; add unified-address assert check.
2786 (GOMP_OFFLOAD_get_num_devices): Claim unified address
2787 support.
2788 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2789 offload functions exist. Make offload var available
2790 on host and device.
2791 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2792 (GOMP_OFFLOAD_run): Handle reverse offload.
2793
10439719
GA
27942022-10-21 Thomas Schwinge <thomas@codesourcery.com>
2795
2796 PR tree-optimization/107195
2797 PR target/107344
2798 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2799 regions checking.
2800
47a6ae56
GA
28012022-10-20 Tobias Burnus <tobias@codesourcery.com>
2802
2803 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2804 New.
2805 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2806 on_device_arch_gcn): New.
2807 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2808 requires-4.c but using heap-allocated memory.
2809
28102022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2811
2812 PR target/105421
2813 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
2814
6237663c
GA
28152022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2816
2817 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
2818 '-foffload-options' syntax.
2819
621a911d
GA
28202022-10-13 Tobias Burnus <tobias@codesourcery.com>
2821
2822 * testsuite/libgomp.fortran/task-7.f90: New test.
2823 * testsuite/libgomp.fortran/task-8.f90: New test.
2824 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
2825 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
2826 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
2827 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
2828 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
2829
781f477a
GA
28302022-10-12 Jakub Jelinek <jakub@redhat.com>
2831
2832 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
2833 in deprecation bullet.
2834
28352022-10-12 Jakub Jelinek <jakub@redhat.com>
2836
2837 * omp.h.in (omp_in_explicit_task): Declare.
2838 * omp_lib.h.in (omp_in_explicit_task): Likewise.
2839 * omp_lib.f90.in (omp_in_explicit_task): New interface.
2840 * libgomp.map (OMP_5.2): New symbol version, export
2841 omp_in_explicit_task and omp_in_explicit_task_.
2842 * task.c (omp_in_explicit_task): New function.
2843 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
2844 (omp_in_explicit_task_): New function.
2845 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
2846 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
2847 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
2848 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
2849
28502022-10-12 Jakub Jelinek <jakub@redhat.com>
2851
2852 * task.c (gomp_create_artificial_team): Fix up handling of invocations
2853 from within explicit task.
2854 * target.c (GOMP_target_ext): Likewise.
2855 * testsuite/libgomp.c/task-7.c: New test.
2856 * testsuite/libgomp.c/task-8.c: New test.
2857 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
2858 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
2859
28602022-10-12 Martin Liska <mliska@suse.cz>
2861
2862 * configure: Regenerate.
2863
ab332cd7
GA
28642022-10-11 Olivier Hainque <hainque@adacore.com>
2865 Olivier Hainque <hainque@adacore.com>
2866
2867 * configure: Regenerate.
2868
966010b2
GA
28692022-10-05 Tobias Burnus <tobias@codesourcery.com>
2870
2871 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
2872
85872a69
GA
28732022-10-04 Jakub Jelinek <jakub@redhat.com>
2874
2875 * libgomp.texi (Support begin/end declare target syntax in C/C++):
2876 Mark as implemented.
2877
3a221b73
GA
28782022-09-30 Tobias Burnus <tobias@codesourcery.com>
2879
2880 PR fortran/105318
2881 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
2882
9e79a25b
GA
28832022-09-28 Tobias Burnus <tobias@codesourcery.com>
2884
2885 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
2886 for C/C++. Remove duplicated 'begin declare target' entry.
2887
28a61ecd
GA
28882022-09-24 Jakub Jelinek <jakub@redhat.com>
2889
2890 PR c/106981
2891 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
2892
ff822367
GA
28932022-09-14 Julian Brown <julian@codesourcery.com>
2894
2895 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
2896 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
2897 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
2898 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
2899 test to here, make "run" test.
2900
1995a022
GA
29012022-09-13 Jakub Jelinek <jakub@redhat.com>
2902
2903 PR libgomp/106906
2904 * env.c (get_icv_member_addr): Cast false to void * before assigning
2905 it to icv_addr[1], and comment the whole assignment out.
2906
29072022-09-13 Tobias Burnus <tobias@codesourcery.com>
2908
2909 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
2910 (nvptx): ... here.
2911
b5f09bd7
GA
29122022-09-12 Tobias Burnus <tobias@codesourcery.com>
2913
2914 * libgomp.texi (Offload-Target Specifics: nvptx): Document
2915 that reverse offload requires >= -march=sm_35.
2916 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
2917 with -misa=sm_35.
2918 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2919 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
2920 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
2921 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
2922 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
2923
29242022-09-12 Tobias Burnus <tobias@codesourcery.com>
2925
2926 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
2927 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
2928
29292022-09-12 Jakub Jelinek <jakub@redhat.com>
2930
2931 PR libgomp/106894
2932 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
2933 (main): Avoid tests for which corresponding non-_ALL suffixed variable
2934 is in the environment, or for OMP_NUM_TEAMS on the device
2935 OMP_NUM_TEAMS_DEV_?.
2936
5b3496e2
GA
29372022-09-10 Iain Sandoe <iain@sandoe.co.uk>
2938
2939 * env.c (initialize_env): Include libiberty environ.h.
2940
861d1a11
GA
29412022-09-09 Tobias Burnus <tobias@codesourcery.com>
2942
2943 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
2944 function address table '$offload_func_table' if rev_fn_table
2945 is not NULL.
2946
29472022-09-09 Tobias Burnus <tobias@codesourcery.com>
2948
2949 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
2950 .offload_func_table to populate rev_fn_table when requested.
2951
29522022-09-09 Tobias Burnus <tobias@codesourcery.com>
2953
2954 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
2955 'uint64_t **rev_fn_table' argument.
2956 * oacc-host.c (host_load_image): Likewise.
2957 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
2958 currently unused.
2959 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2960 * target.c (gomp_load_image_to_device): Update call but pass
2961 NULL for now.
2962
29632022-09-09 Jakub Jelinek <jakub@redhat.com>
2964
2965 PR libgomp/106894
2966 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
2967 char * for dest[1] initialization from params[1]. Formatting fixes.
2968
2e7ad70c
GA
29692022-09-08 Tobias Burnus <tobias@codesourcery.com>
2970
2971 PR fortran/106670
2972 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
2973
29742022-09-08 Tobias Burnus <tobias@codesourcery.com>
2975
2976 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
2977 section; move OpenMP Context Selectors from ...
2978 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
2979 'nvptx' sections.
2980
29812022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
2982
2983 * config/gcn/icv-device.c (omp_get_default_device): Return device-
2984 specific ICV.
2985 (omp_get_max_teams): Added for GCN devices.
2986 (omp_set_num_teams): Likewise.
2987 (ialias): Likewise.
2988 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
2989 specific ICV.
2990 (omp_get_max_teams): Added for NVPTX devices.
2991 (omp_set_num_teams): Likewise.
2992 (ialias): Likewise.
2993 * env.c (struct gomp_icv_list): New struct to store entries of initial
2994 ICV values.
2995 (struct gomp_offload_icv_list): New struct to store entries of device-
2996 specific ICV values that are copied to the device and back.
2997 (struct gomp_default_icv_values): New struct to store default values of
2998 ICVs according to the OpenMP standard.
2999 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3000 (print_env_var_error): Function that prints an error for invalid values
3001 for ICVs.
3002 (parse_unsigned_long_1): Removed getenv. Generalized.
3003 (parse_unsigned_long): Likewise.
3004 (parse_int_1): Likewise.
3005 (parse_int): Likewise.
3006 (parse_int_secure): Likewise.
3007 (parse_unsigned_long_list): Likewise.
3008 (parse_target_offload): Likewise.
3009 (parse_bind_var): Likewise.
3010 (parse_stacksize): Likewise.
3011 (parse_boolean): Likewise.
3012 (parse_wait_policy): Likewise.
3013 (parse_allocator): Likewise.
3014 (omp_display_env): Extended to output different variants of environment
3015 variables.
3016 (print_schedule): New helper function for omp_display_env which prints
3017 the values of run_sched_var.
3018 (print_proc_bind): New helper function for omp_display_env which prints
3019 the values of proc_bind_var.
3020 (enum gomp_parse_type): Collection of types used for parsing environment
3021 variables.
3022 (ENTRY): Preprocess string lengths of environment variables.
3023 (OMP_VAR_CNT): Preprocess table size.
3024 (OMP_HOST_VAR_CNT): Likewise.
3025 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3026 number.
3027 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3028 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3029 (print_device_specific_icvs): New helper function for omp_display_env to
3030 print device specific ICV values.
3031 (get_device_num): New helper function for parse_device_specific.
3032 Extracts the device number from an environment variable name.
3033 (get_icv_member_addr): Gets the memory address for a particular member
3034 of an ICV struct.
3035 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3036 (initialize_icvs): New function to initialize a gomp_initial_icvs
3037 struct.
3038 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3039 (startswith): Checks if a string starts with a given prefix.
3040 (initialize_env): Extended to parse the new syntax of environment
3041 variables.
3042 * icv-device.c (omp_get_max_teams): Added.
3043 (ialias): Likewise.
3044 (omp_set_num_teams): Likewise.
3045 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3046 (omp_get_max_teams): Likewise.
3047 (ialias): Likewise.
3048 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3049 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3050 holds the designated ICVs of the target device.
3051 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3052 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3053 no suffix.
3054 (enum gomp_env_suffix): Collection of possible suffixes of environment
3055 variables.
3056 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3057 initial values.
3058 (struct gomp_default_icv):New struct to hold ICVs for which we need
3059 to store initial values.
3060 (struct gomp_icv_list): Definition of a linked list that is used for
3061 storing ICVs for the devices and also for _DEV, _ALL, and without
3062 suffix.
3063 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3064 a device.
3065 (struct gomp_offload_icv_list): Definition of a linked list that holds
3066 device-specific ICVs that are copied to devices.
3067 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3068 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3069 * libgomp.texi: Updated.
3070 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3071 further ICVs from the offload image.
3072 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3073 * target.c (gomp_get_offload_icv_item): Get a list item of
3074 gomp_offload_icv_list.
3075 (get_gomp_offload_icvs): New. Returns the ICV values
3076 depending on the device num and the variable hierarchy.
3077 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3078 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3079 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3080 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3081 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3082 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3083 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3084
30852022-09-08 Jakub Jelinek <jakub@redhat.com>
3086
3087 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3088 fully supported.
3089 * testsuite/libgomp.c/doacross-4.c: New test.
3090 * testsuite/libgomp.c/doacross-5.c: New test.
3091 * testsuite/libgomp.c/doacross-6.c: New test.
3092 * testsuite/libgomp.c/doacross-7.c: New test.
3093
47d2dcd1
GA
30942022-09-05 Tobias Burnus <tobias@codesourcery.com>
3095
3096 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3097
16f542d6
GA
30982022-08-26 Tobias Burnus <tobias@codesourcery.com>
3099
3100 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3101 refer to 'requires'.
3102 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3103 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3104 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3105 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3106
0342f034
GA
31072022-08-17 Tobias Burnus <tobias@codesourcery.com>
3108
3109 PR middle-end/106548
3110 * testsuite/libgomp.c/linear-2.c: New test.
3111
31122022-08-17 Tobias Burnus <tobias@codesourcery.com>
3113
3114 * splay-tree.h: Fix splay_* macro unsetting if
3115 splay_tree_prefix is defined.
3116
b2bf0473
GA
31172022-07-29 Tobias Burnus <tobias@codesourcery.com>
3118
3119 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3120
31212022-07-29 Jakub Jelinek <jakub@redhat.com>
3122
3123 PR middle-end/106449
3124 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3125
43997608
GA
31262022-07-12 Tobias Burnus <tobias@codesourcery.com>
3127
3128 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3129
31302022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3131
3132 PR middle-end/101551
3133 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3134 'offloading_enabled' diagnostics issue.
3135
c72d4714
GA
31362022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3137
3138 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3139 '_Pragma' diagnostics verification.
3140
b53ebbc5
GA
31412022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3142
3143 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3144 improved warning locations.
3145 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3146
0fe604a2
GA
31472022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3148
3149 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3150 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3151 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3152 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3153 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3154
6345c414
GA
31552022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3156
3157 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3158 Denote as legacy entry points.
3159 * testsuite/lib/libgomp.exp
3160 (check_effective_target_offload_target_any): New proc.
3161 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3162 'offload_target_any'.
3163 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3164 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3165 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3166
31672022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3168
3169 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3170 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3171
31722022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3173
3174 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3175
4bc92c3b
GA
31762022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3177
3178 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3179 'data'.
3180 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3181
8467574d
GA
31822022-07-04 Tobias Burnus <tobias@codesourcery.com>
3183 Jakub Jelinek <jakub@redhat.com>
3184
3185 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3186
31872022-07-04 Tobias Burnus <tobias@codesourcery.com>
3188 Chung-Lin Tang <cltang@codesourcery.com>
3189 Thomas Schwinge <thomas@codesourcery.com>
3190
3191 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3192 omp_requires_mask arg.
3193 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3194 return -1 when device available but omp_requires_mask != 0.
3195 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3196 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3197 Update call.
3198 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3199 goacc_attach_host_thread_to_device, acc_get_num_devices,
3200 acc_set_device_num, get_property_any): Likewise.
3201 * target.c (omp_requires_mask): New global var.
3202 (gomp_requires_to_name): New.
3203 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3204 (gomp_target_init): Handle omp_requires_mask.
3205 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3206 (OpenMP 5.1): Add a missed item.
3207 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3208 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3209 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3210 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3211 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3212 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3213 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3214 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3215 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3216 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3217 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3218 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3219 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3220 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3221 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3222 * testsuite/libgomp.fortran/requires-1.f90: New test.
3223
ed974488
GA
32242022-07-01 Tobias Burnus <tobias@codesourcery.com>
3225
3226 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3227 with fromto as implemented.
3228
fb29fdea
GA
32292022-06-28 Martin Liska <mliska@suse.cz>
3230
3231 * acinclude.m4: Fix typo in mold linker detection.
3232 * Makefile.in: Regenerate.
3233 * configure: Regenerate.
3234
de89b078
GA
32352022-06-21 Jakub Jelinek <jakub@redhat.com>
3236 Paul Iannetta <piannetta@kalrayinc.com>
3237
3238 PR libgomp/106045
3239 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3240
5a66d7dd
GA
32412022-06-17 Martin Liska <mliska@suse.cz>
3242
3243 * libgomp.texi: Add table header for new features of
3244 OpenMP 5.2.
3245
499b9c5f
GA
32462022-06-15 Jakub Jelinek <jakub@redhat.com>
3247
3248 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3249 q to ddress of an automatic variable. Use -5 instead of -1 in
3250 omp_get_mapped_ptr call. Add test with omp_initial_device.
3251 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3252 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3253 Renumber stop arguments afterwards.
3254
c3642271
GA
32552022-06-13 Jakub Jelinek <jakub@redhat.com>
3256
3257 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3258 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3259 parameters.
3260 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3261 * target.c (resolve_device): Add remapped argument, handle
3262 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3263 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3264 if remapped, otherwise treat omp_initial_device that way. For
3265 omp_invalid_device, always emit gomp_fatal, even when
3266 OMP_TARGET_OFFLOAD isn't mandatory.
3267 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3268 GOMP_target_update, GOMP_target_update_ext,
3269 GOMP_target_enter_exit_data): Pass true as remapped argument to
3270 resolve_device.
3271 (omp_target_alloc, omp_target_free, omp_target_is_present,
3272 omp_target_memcpy_check, omp_target_associate_ptr,
3273 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3274 omp_target_is_accessible): Pass false as remapped argument to
3275 resolve_device. Treat omp_initial_device the same as
3276 gomp_get_num_devices (). Don't bypass resolve_device calls if
3277 device_num is negative.
3278 (omp_pause_resource): Treat omp_initial_device the same as
3279 gomp_get_num_devices (). Call resolve_device.
3280 * icv-device.c (omp_set_default_device): Always set to device_num
3281 even when it is negative.
3282 * libgomp.texi: Document that Conforming device numbers,
3283 omp_initial_device and omp_invalid_device is implemented.
3284 * testsuite/libgomp.c/target-41.c (main): Add test with
3285 omp_initial_device.
3286 * testsuite/libgomp.c/target-45.c: New test.
3287 * testsuite/libgomp.c/target-46.c: New test.
3288 * testsuite/libgomp.c/target-47.c: New test.
3289 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3290 test with omp_initial_device. Use -5 instead of -1 for negative value
3291 test.
3292 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3293 Likewise. Reorder stop numbers.
3294
ef1e4d80
GA
32952022-06-10 Jakub Jelinek <jakub@redhat.com>
3296
3297 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3298 rather than "libmemkind.so".
3299
33002022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3301
3302 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3303 * plugin/configfrag.ac (--with-cuda-driver)
3304 (--with-cuda-driver-include, --with-cuda-driver-lib)
3305 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3306 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3307 Remove.
3308 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3309 (cuda_driver_lib): Remove.
3310 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3311 * Makefile.in: Regenerate.
3312 * configure: Likewise.
3313 * testsuite/Makefile.in: Likewise.
3314
e3bba42f
GA
33152022-06-09 Jakub Jelinek <jakub@redhat.com>
3316
3317 * config/linux/allocator.c: Fix up #include directive.
3318
33192022-06-09 Jakub Jelinek <jakub@redhat.com>
3320
3321 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3322 (enum gomp_memkind_kind): New type.
3323 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3324 is defined.
3325 (struct gomp_memkind_data): New type.
3326 (memkind_data, memkind_data_once): New variables.
3327 (gomp_init_memkind, gomp_get_memkind): New functions.
3328 (omp_init_allocator): Initialize data.memkind, don't fail for
3329 omp_high_bw_mem_space if libmemkind supports it.
3330 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3331 memkind support of LIBGOMP_USE_MEMKIND is defined.
3332 * config/linux/allocator.c: New file.
3333
58b67140
GA
33342022-06-03 Tobias Burnus <tobias@codesourcery.com>
3335
3336 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3337 * testsuite/libgomp.fortran/scope-2.f90: New test.
3338
b168441c
GA
33392022-06-02 David Malcolm <dmalcolm@redhat.com>
3340
3341 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3342
820ead45
GA
33432022-05-31 Jakub Jelinek <jakub@redhat.com>
3344
3345 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3346 scope construct with allocate clause.
3347 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3348 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3349
37b3b5da
GA
33502022-05-28 Tobias Burnus <tobias@codesourcery.com>
3351
3352 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3353 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3354 explicit 'to' and 'enter' clause.
3355 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3356
33572022-05-28 Jakub Jelinek <jakub@redhat.com>
3358
3359 PR libgomp/105745
3360 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3361 defined(HAVE__ALIGNED_MALLOC) case.
3362 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3363 handling as last option before fallback instead of first.
3364 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3365 _aligned_free.
3366
d9176e64
GA
33672022-05-27 Jakub Jelinek <jakub@redhat.com>
3368
3369 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3370 clauses to enter.
3371 * testsuite/libgomp.c/target-41.c: Likewise.
3372
33732022-05-27 Tobias Burnus <tobias@codesourcery.com>
3374
3375 * libgomp.texi (Other new OpenMP 5.1 features): Add
3376 'begin declare target'.
3377 (Other new OpenMP 5.2 features): New.
3378
3dff965c
GA
33792022-05-25 Jakub Jelinek <jakub@redhat.com>
3380
3381 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3382 is the last task taskwait depend depends on, wake it up.
3383 Similarly if it is the last child of a taskgroup, use atomic
3384 store instead of decrement and awak taskgroup wait if any.
3385 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3386
768f49a2
GA
33872022-05-24 Andrew Stubbs <ams@codesourcery.com>
3388
3389 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3390 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3391 (gcn_gfx90a_s): New.
3392 (isa_hsa_name): Support gfx90a.
3393 (isa_code): Likewise.
3394
33952022-05-24 Tobias Burnus <tobias@codesourcery.com>
3396
3397 PR c/105378
3398 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3399 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3400
34012022-05-24 Jakub Jelinek <jakub@redhat.com>
3402
3403 PR c/105378
3404 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3405 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3406 * task.c (empty_task): New function.
3407 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3408 (gomp_task_run_post_handle_depend): Declare.
3409 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3410 for.
3411 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3412 (GOMP_taskwait_depend_nowait): New function.
3413 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3414
168fc8bd
GA
34152022-05-23 Tobias Burnus <tobias@codesourcery.com>
3416
3417 PR fortran/104949
3418 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3419 Support attach for GOMP_MAP_FIRSTPRIVATE.
3420 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3421 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3422 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3423
57f2ce6a
GA
34242022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3425
3426 * libgomp.map: Added omp_target_memcpy_async and
3427 omp_target_memcpy_rect_async.
3428 * libgomp.texi: Both functions are now supported.
3429 * omp.h.in: Added omp_target_memcpy_async and
3430 omp_target_memcpy_rect_async.
3431 * omp_lib.f90.in: Added interfaces for both new functions.
3432 * omp_lib.h.in: Likewise.
3433 * target.c (ialias_redirect): Added for GOMP_task.
3434 (omp_target_memcpy): Restructured into check and copy part.
3435 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3436 omp_target_memcpy_async that checks requirements.
3437 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3438 omp_target_memcpy_async that performs the memcpy.
3439 (omp_target_memcpy_async_helper): New helper function that is used in
3440 omp_target_memcpy_async for the asynchronous task.
3441 (omp_target_memcpy_async): Added.
3442 (omp_target_memcpy_rect): Restructured into check and copy part.
3443 (omp_target_memcpy_rect_check): New helper function for
3444 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3445 requirements.
3446 (omp_target_memcpy_rect_copy): New helper function for
3447 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3448 the memcpy.
3449 (omp_target_memcpy_rect_async_helper): New helper function that is used
3450 in omp_target_memcpy_rect_async for the asynchronous task.
3451 (omp_target_memcpy_rect_async): Added.
3452 * task.c (ialias): Added for GOMP_task.
3453 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3454 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3455 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3456 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3457 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3458 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3459 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3460 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3461
1cda629f
GA
34622022-05-18 Tobias Burnus <tobias@codesourcery.com>
3463
3464 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3465 (OpenMP Context Selectors): Add missing comma.
3466 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3467 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3468 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3469 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3470
3d9439b1
GA
34712022-05-17 Jakub Jelinek <jakub@redhat.com>
3472
3473 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3474 comment for omp_display_env feature.
3475
34762022-05-17 Tobias Burnus <tobias@codesourcery.com>
3477
3478 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3479 to document OpenMP context selectors.
3480
34812022-05-17 Jakub Jelinek <jakub@redhat.com>
3482
3483 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3484 from bool to unsigned char.
3485 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3486 Ignore dependencies where
3487 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3488 rather than just task->depend[i].is_in && ent->is_in. Remember
3489 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3490 conditional.
3491 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3492 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3493 rather than just elem.is_in && ent->is_in.
3494 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3495 inoutset depend-kind.
3496 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3497 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3498 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3499
35002022-05-17 Tobias Burnus <tobias@codesourcery.com>
3501
3502 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3503
35042022-05-17 Tobias Burnus <tobias@codesourcery.com>
3505
3506 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3507 * testsuite/libgomp.fortran/depend-5.f90: New test.
3508 * testsuite/libgomp.fortran/depend-6.f90: New test.
3509 * testsuite/libgomp.fortran/depend-7.f90: New test.
3510
702bd11f
GA
35112022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3512
3513 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3514 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3515 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3516
9df4ffe4
GA
35172022-05-13 Tobias Burnus <tobias@codesourcery.com>
3518
3519 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3520
35212022-05-13 Tobias Burnus <tobias@codesourcery.com>
3522
3523 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3524
35252022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3526
3527 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3528 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3529 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3530 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3531 * Makefile.in: Regenerate.
3532
49ace834
GA
35332022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3534
3535 * Makefile.am (libgomp_la_LIBADD): Initialize.
3536 * plugin/configfrag.ac (DL_LIBS): New.
3537 (PLUGIN_GCN_LIBS): Remove.
3538 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3539 * plugin/Makefrag.am (libgomp_la_LIBADD)
3540 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3541 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3542 * Makefile.in: Regenerate.
3543 * config.h.in: Likewise.
3544 * configure: Likewise.
3545 * testsuite/Makefile.in: Likewise.
3546
35472022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3548
3549 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3550 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3551 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3552 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3553 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3554 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3555 * Makefile.in: Regenerate.
3556 * config.h.in: Likewise.
3557 * configure: Likewise.
3558
35592022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3560
3561 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3562 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3563 * Makefile.in: Regenerate.
3564 * config.h.in: Likewise.
3565 * configure: Likewise.
3566 * testsuite/Makefile.in: Likewise.
3567
35682022-05-12 Jakub Jelinek <jakub@redhat.com>
3569
3570 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3571 * task.c (gomp_init_task): Initialize depend_all_memory.
3572 (gomp_task_handle_depend): Handle omp_all_memory.
3573 (gomp_task_run_post_handle_depend_hash): Clear
3574 parent->depend_all_memory if equal to current task.
3575 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3576 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3577 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3578 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3579
d0d513b5
GA
35802022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3581
3582 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3583 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3584 * Makefile.in: Regenerate.
3585 * configure: Likewise.
3586 * testsuite/Makefile.in: Likewise.
3587
35882022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3589
3590 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3591 consider 'PLUGIN_GCN_CPPFLAGS'.
3592 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3593 'PLUGIN_GCN_LDFLAGS'.
3594 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3595 Remove.
3596 * Makefile.in: Regenerate.
3597 * configure: Likewise.
3598 * testsuite/Makefile.in: Likewise.
3599
36002022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3601
3602 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3603 (HSA_RUNTIME_LDFLAGS): Remove.
3604 * configure: Regenerate.
3605
36062022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3607
3608 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3609 'append always_ld_library_path ":$hsa_runtime_lib"'.
3610 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3611
e8778989
GA
36122022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3613
3614 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3615 multi-device testing.
3616
ea3fbfda
GA
36172022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3618
3619 * libgomp.map: Added omp_target_is_accessible.
3620 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3621 * omp.h.in: Added omp_target_is_accessible.
3622 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3623 * omp_lib.h.in: Likewise.
3624 * target.c (omp_target_is_accessible): Added implementation of
3625 omp_target_is_accessible.
3626 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3627 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3628
ab869e7f
GA
36292022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3630
3631 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3632
3e7db517
GA
36332022-05-04 Tobias Burnus <tobias@codesourcery.com>
3634
3635 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3636
36372022-05-04 Tobias Burnus <tobias@codesourcery.com>
3638
3639 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3640
e66af28d
GA
36412022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3642
3643 * libgomp.map: Added omp_get_mapped_ptr.
3644 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3645 * omp.h.in: Added omp_get_mapped_ptr.
3646 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3647 * omp_lib.h.in: Likewise.
3648 * target.c (omp_get_mapped_ptr): Added implementation of
3649 omp_get_mapped_ptr.
3650 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3651 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3652 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3653 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3654 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3655 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3656 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3657 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3658
6b6f53d8
GA
36592022-04-28 Thomas Schwinge <thomas@codesourcery.com>
3660
3661 PR fortran/104717
3662 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3663 privatization scanning. For GCN offloading compilation, raise
3664 '-mgang-private-size'.
3665
01ad093b
GA
36662022-04-26 Jakub Jelinek <jakub@redhat.com>
3667
3668 PR libgomp/105358
3669 * work.c (gomp_init_work_share): Don't mask of adjustment for
3670 dynamic long long realignment if struct gomp_work_share has smaller
3671 alignof than long long.
3672 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3673 struct gomp_work_share has smaller alignof than long long or if
3674 sizeof (struct gomp_work_share) is smaller than
3675 INLINE_ORDERED_TEAM_IDS_OFF.
3676 * loop_ull.c (GOMP_loop_ull_start): Likewise.
3677 * sections.c (GOMP_sections2_start): Likewise.
3678
98de0da6
GA
36792022-04-25 Jakub Jelinek <jakub@redhat.com>
3680 Thomas Schwinge <thomas@codesourcery.com>
3681
3682 PR fortran/104717
3683 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3684
247bbed1
GA
36852022-04-13 Jakub Jelinek <jakub@redhat.com>
3686
3687 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3688
80eb8ec6
GA
36892022-04-06 Thomas Schwinge <thomas@codesourcery.com>
3690
3691 * plugin/cuda/cuda.h: Remove file.
3692 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3693 "cuda/cuda.h" instead of <cuda.h>.
3694 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3695 'PLUGIN_NVPTX_CPPFLAGS'.
3696 * configure: Regenerate.
3697
9d84ed68
GA
36982022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
3699
3700 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3701
5e09bb1b
GA
37022022-04-04 Tom de Vries <tdevries@suse.de>
3703
3704 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3705 on_device_arch_nvptx instead of offload_target_nvptx.
3706 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3707
8af4270d
GA
37082022-04-01 Tom de Vries <tdevries@suse.de>
3709
3710 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3711 and use REC_DEPTH.
3712 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3713
37142022-04-01 Tom de Vries <tdevries@suse.de>
3715
3716 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3717 num_workers check.
3718
9f774626
GA
37192022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
3720 Lulu Cheng <chenglulu@loongson.cn>
3721
3722 * configure.tgt: Add LoongArch triplet.
3723
aab0127d
GA
37242022-03-28 Tom de Vries <tdevries@suse.de>
3725
3726 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3727 instead of /libexec/.
3728 * configure: Regenerate.
3729
31e989a2
GA
37302022-03-25 Tom de Vries <tdevries@suse.de>
3731
3732 PR libgomp/105042
3733 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3734 execution time.
3735 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3736 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3737
d1ca63a1
GA
37382022-03-23 Tobias Burnus <tobias@codesourcery.com>
3739
3740 PR middle-end/104285
3741 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3742 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3743 * testsuite/libgomp.c++/target-same-name-2.C: New test.
3744 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3745 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3746 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3747
a2287813
GA
37482022-03-22 Tom de Vries <tdevries@suse.de>
3749
3750 PR target/104916
3751 PR target/104783
3752 * testsuite/libgomp.c/pr104783-2.c: New test.
3753
8ca61ad1
GA
37542022-03-18 Tobias Burnus <tobias@codesourcery.com>
3755
3756 PR fortran/103039
3757 * testsuite/libgomp.fortran/associate4.f90: New test.
3758
37592022-03-18 Tom de Vries <tdevries@suse.de>
3760
3761 PR target/104952
3762 * testsuite/libgomp.c/pr104952-1.c: New test.
3763 * testsuite/libgomp.c/pr104952-2.c: New test.
3764
37652022-03-18 Jakub Jelinek <jakub@redhat.com>
3766
3767 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3768 variable next to pl variable.
3769
e9ea3016
GA
37702022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3771
3772 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3773 Enhance.
3774 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3775 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3776
37772022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3778
3779 PR middle-end/90115
3780 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3781 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3782
9fc8f278
GA
37832022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
3784
3785 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3786 omp_set_max_active_levels.
3787 * testsuite/libgomp.fortran/icv-8.f90: New test.
3788
37892022-03-16 Thomas Schwinge <thomas@codesourcery.com>
3790
3791 PR testsuite/102841
3792 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3793
b9756c08
GA
37942022-03-13 Tobias Burnus <tobias@codesourcery.com>
3795
3796 * libgomp.texi: Fix typo.
3797
57eeedda
GA
37982022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3799
3800 PR middle-end/100280
3801 PR middle-end/104892
3802 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3803 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3804 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3805 Likewise.
3806 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3807 Likewise.
3808 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3809 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3810 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3811 Likewise.
3812
38132022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3814
3815 PR middle-end/104892
3816 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
3817 to PR104892.
3818 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
3819 enable '--param=openacc-kernels=decompose' and adjust.
3820 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3821 Likewise.
3822 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3823 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3824 Likewise.
3825
38262022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3827
3828 PR middle-end/90115
3829 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
3830 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
3831 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3832 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
3833
38342022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3835
3836 PR middle-end/100280
3837 PR middle-end/104086
3838 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3839 Merge this...
3840 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3841 ..., and this...
3842 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
3843 this, and adjust.
3844 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3845 Extend.
3846
5e28be89
GA
38472022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
3848
3849 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
3850 trait. Test last index in w and v array. Remove redundant
3851 assignment to V(1). Move alignment checks at the end of
3852 parallel region.
3853
38542022-03-10 Tom de Vries <tdevries@suse.de>
3855
3856 * testsuite/libgomp.c/pr104783.c: New test.
3857
38582022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3859
3860 PR middle-end/90115
3861 PR middle-end/102330
3862 PR middle-end/104774
3863 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3864 Enhance.
3865 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3866 Adjust.
3867 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3868 Likewise.
3869 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3870 Likewise.
3871 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3872 Likewise.
3873 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3874 Likewise.
3875 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3876 Likewise.
3877 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3878 Likewise.
3879 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3880 Likewise.
3881 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3882 Likewise.
3883 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3884 Likewise.
3885 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3886 Likewise.
3887 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3888 Likewise.
3889 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3890 Likewise.
3891 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3892 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3893 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3894
38952022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3896
3897 PR middle-end/90115
3898 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
3899 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3900 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3901 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3902
8d96e14c
GA
39032022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3904
3905 PR testsuite/104791
3906 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
3907 expected diagnostics.
3908
39092022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3910
3911 PR middle-end/104784
3912 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3913 Test with '--param=openacc-kernels=decompose'.
3914 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3915 Likewise.
3916 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3917 Likewise.
3918 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3919 Likewise.
3920 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3921 Likewise.
3922 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3923 Likewise.
3924 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3925 Likewise.
3926 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3927 Likewise.
3928 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3929 Likewise.
3930 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3931 Likewise.
3932 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3933 Likewise.
3934 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3935 Likewise.
3936 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3937 Likewise.
3938 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3939 Likewise.
3940 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3941 Likewise.
3942 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3943 Likewise.
3944 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3945 Likewise.
3946 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3947 Likewise.
3948 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3949 Likewise.
3950 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3951 Likewise.
3952 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3953 Likewise.
3954 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3955 Likewise.
3956 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3957 Likewise.
3958 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3959 Likewise.
3960 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3961 Likewise.
3962 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3963 Likewise.
3964 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3965 Likewise.
3966 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3967 Likewise.
3968 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3969 Likewise.
3970 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3971 Likewise.
3972 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3973 Likewise.
3974 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3975 Likewise.
3976 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3977 Likewise.
3978
39792022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3980
3981 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3982 Test '-fopt-info-omp-all'.
3983 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3984 Likewise.
3985 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3986 Likewise.
3987 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3988 Likewise.
3989 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3990 Likewise.
3991 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3992 Likewise.
3993 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3994 Likewise.
3995 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3996 Likewise.
3997 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3998 Likewise.
3999 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4000 Likewise.
4001 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4002 Likewise.
4003 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4004 Likewise.
4005 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4006 Likewise.
4007 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4008 Likewise.
4009 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4010 Likewise.
4011 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4012 Likewise.
4013 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4014 Likewise.
4015 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4016 Likewise.
4017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4018 Likewise.
4019 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4020 Likewise.
4021 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4022 Likewise.
4023 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4024 Likewise.
4025 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4026 Likewise.
4027 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4028 Likewise.
4029 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4030 Likewise.
4031 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4032 Likewise.
4033 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4034 Likewise.
4035 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4036 Likewise.
4037 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4038 Likewise.
4039 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4040 Likewise.
4041 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4042 Likewise.
4043 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4044 Likewise.
4045 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4046 Likewise.
4047
40482022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4049
4050 PR middle-end/100280
4051 PR middle-end/104132
4052 PR middle-end/104133
4053 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4054 Extend.
4055
40562022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4057
4058 PR middle-end/100280
4059 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4060 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4061 Likewise.
4062
40632022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4064
4065 PR middle-end/100280
4066 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4067 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4068 Likewise.
4069
a35f1697
GA
40702022-02-28 Tom de Vries <tdevries@suse.de>
4071
4072 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4073 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4074 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4075 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4076 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4077 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4078
756a6185
GA
40792022-02-24 Tom de Vries <tdevries@suse.de>
4080
4081 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4082 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4083 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4084 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4085 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4086 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4087 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4088
2cfb33fc
GA
40892022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4090
4091 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4092 gang-redundant execution.
4093
40942022-02-22 Tom de Vries <tdevries@suse.de>
4095
4096 PR target/99555
4097 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4098 from config/rtems/bar.c.
4099 (futex_wait, futex_wake): New function.
4100 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4101 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4102 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4103 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4104 and replace with include of config/linux/bar.c.
4105 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4106 (gomp_barrier_init): Init new fields.
4107 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4108 workarounds.
4109 * testsuite/libgomp.c/pr99555-1.c: Same.
4110 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4111
41122022-02-22 Tom de Vries <tdevries@suse.de>
4113
4114 PR testsuite/104146
4115 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4116 -foffload=-Wa,--verify for nvptx.
4117 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4118
875e493b
GA
41192022-02-15 Tobias Burnus <tobias@codesourcery.com>
4120
4121 * testsuite/libgomp.fortran/depend-4.f90: New test.
4122
a645583d
GA
41232022-02-10 Tobias Burnus <tobias@codesourcery.com>
4124
4125 PR c++/102204
4126 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4127
41282022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4129
4130 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4131 * target.c (copy_firstprivate_data): Copy only if host address is not
4132 NULL.
4133 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4134 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4135 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4136 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4137 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4138 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4139 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4140 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4141 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4142 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4143
2a2fda2d
GA
41442022-02-08 Jakub Jelinek <jakub@redhat.com>
4145
4146 PR libgomp/104385
4147 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4148 clear task->parent.
4149 * testsuite/libgomp.c/pr104385.c: New test.
4150
3c1cbde1
GA
41512022-02-04 Tobias Burnus <tobias@codesourcery.com>
4152
4153 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4154 STOP of previous commit.
4155
41562022-02-04 Tobias Burnus <tobias@codesourcery.com>
4157
4158 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4159 from is_64bit_aligned_.
4160 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4161 and use it, more implicit none, remove unused argument.
4162
682ede39
GA
41632022-02-03 David Seifert <soap@gentoo.org>
4164 Jakub Jelinek <jakub@redhat.com>
4165
4166 * configure.ac: Support --disable-werror.
4167 * configure: Regenerate.
4168
ae7e4af9
GA
41692022-02-01 Tom de Vries <tdevries@suse.de>
4170
4171 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4172 PR83812 workaround.
4173 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4174 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4175
41762022-02-01 Tom de Vries <tdevries@suse.de>
4177
4178 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4179 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4180 resources'.
4181 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4182 Same.
4183 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4184
41852022-02-01 Tom de Vries <tdevries@suse.de>
4186
4187 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4188 recursion depth.
4189 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4190
1bb52662
GA
41912022-01-31 Martin Liska <mliska@suse.cz>
4192
4193 * acinclude.m4: Detect *_ld_is_mold and use it.
4194 * configure: Regenerate.
4195
99f17e99
GA
41962022-01-27 Tobias Burnus <tobias@codesourcery.com>
4197
4198 * libgomp.texi (OpenMP 5.0): Update implementation status.
4199
9dd44357
GA
42002022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4201
4202 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4203 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4204 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4205 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4206 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4207 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4208 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4209 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4210 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4211 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4212 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4213 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4214 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4215 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4216 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4217
fe1ad141
GA
42182022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4219
4220 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4221 "static") to make the device num available in the offload image.
4222
42232022-01-19 Martin Liska <mliska@suse.cz>
4224 Thomas Schwinge <thomas@codesourcery.com>
4225
4226 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4227 patterns.
4228 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4229 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4230 Likewise.
4231 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4232 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4233 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4234 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4235 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4236 Likewise.
4237 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4238 Likewise.
4239 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4240 Likewise.
4241 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4242 Likewise.
4243 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4244 Likewise.
4245 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4246 Likewise.
4247 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4248 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4249 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4250
7a761ae6
GA
42512022-01-18 Martin Liska <mliska@suse.cz>
4252
4253 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4254 in dg-warning.
4255 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4256 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4257 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4258 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4259 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4260 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4261 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4262 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4263 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4264 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4265 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4266 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4267 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4268 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4269 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4270
fc829782
GA
42712022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4272
4273 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4274 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4275 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4276
42772022-01-17 Julian Brown <julian@codesourcery.com>
4278 Thomas Schwinge <thomas@codesourcery.com>
4279
4280 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4281 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4282 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4283
1e942d7c
GA
42842022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4285 Andrew Stubbs <ams@codesourcery.com>
4286
4287 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4288 the number of teams and threads if necessary.
4289 (gcn_exec): Automatically set the number of gangs and workers if
4290 necessary.
4291
ad3f0d08
GA
42922022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4293
4294 * testsuite/libgomp.fortran/allocate-1.c: New test.
4295 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4296 * libgomp.texi: Remove string that says that allocate clause
4297 support is for C/C++ only.
4298
42992022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4300
4301 * testsuite/libgomp.c-c++-common/on_device_arch.h
4302 (any_device_arch, any_device_arch_intel_mic): New.
4303 * testsuite/lib/libgomp.exp
4304 (check_effective_target_offload_device_any_intel_mic): New.
4305 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4306 * testsuite/libgomp.fortran/target10.f90: Likewise.
4307
43082022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4309
4310 PR tree-optimization/102192
4311 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4312 '-Wuninitialized' diagnostics.
4313
43142022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4315
4316 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4317 current '-Wuninitialized' diagnostics.
4318 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4319 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4320 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4321 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4322 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4323 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4324 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4325 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4326 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4327 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4328 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4329 Likewise.
4330
43312022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4332
4333 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4334 for 'offload_device_intel_mic'.
4335
43362022-01-13 Julian Brown <julian@codesourcery.com>
4337 Thomas Schwinge <thomas@codesourcery.com>
4338
4339 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4340 offloading execution XFAIL.
4341
43422022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4343
4344 PR middle-end/100280
4345 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4346 Update.
4347 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4348 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4349 Likewise.
4350
43512022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4352
4353 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4354 Enhance.
4355 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4356 Likewise.
4357 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4358 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4359 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4360 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4361 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4362 Likewise.
4363 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4364 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4365 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4366 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4367
7d11b64b
GA
43682022-01-04 Tobias Burnus <tobias@codesourcery.com>
4369
4370 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4371 * testsuite/libgomp.fortran/target10.f90: Likewise.
4372
43732022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4374
4375 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4376 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4377 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4378
a4ae8c37
GA
43792022-01-03 Jakub Jelinek <jakub@redhat.com>
4380
4381 * libgomp.texi: Bump @copying's copyright year.
4382
7f1239cb
GA
43832021-12-13 Tobias Burnus <tobias@codesourcery.com>
4384
4385 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4386 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4387
0bceef16
GA
43882021-12-10 Andrew Stubbs <ams@codesourcery.com>
4389
4390 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4391 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4392 table, not individual symbols.
4393
4b4839e3
GA
43942021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4395
4396 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4397 "target offload_device_nonshared_as"
4398 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4399 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4400
641ff219
GA
44012021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4402
4403 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4404 not overwritten during cross-host/device copying.
4405 (gomp_update): Likewise.
4406 (gomp_exit_data): Likewise.
4407 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4408 * testsuite/libgomp.c++/target-12.C: Likewise.
4409 * testsuite/libgomp.c++/target-15.C: Likewise.
4410 * testsuite/libgomp.c++/target-16.C: Likewise.
4411 * testsuite/libgomp.c++/target-17.C: Likewise.
4412 * testsuite/libgomp.c++/target-21.C: Likewise.
4413 * testsuite/libgomp.c++/target-23.C: Likewise.
4414 * testsuite/libgomp.c/target-23.c: Likewise.
4415 * testsuite/libgomp.c/target-29.c: Likewise.
4416 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4417
44182021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4419
4420 PR middle-end/92120
4421 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4422 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4423 (goacc_enter_data_internal): Likewise.
4424 * target.c (gomp_map_vars_existing): Update assert condition to
4425 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4426 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4427 parameter, add support for mapping a pointer with NULL target.
4428 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4429 parameter, add support for attaching a pointer with NULL target.
4430 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4431 gomp_attach_pointer, add handling for
4432 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4433 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4434 * testsuite/libgomp.c++/target-23.C: New testcase.
4435 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4436 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4437 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4438 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4439 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4440 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4441 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4442
70e4cb66
GA
44432021-12-04 Tobias Burnus <tobias@codesourcery.com>
4444
4445 * libgomp.texi (OpenMP 5.1): Update status.
4446
44472021-12-04 Tobias Burnus <tobias@codesourcery.com>
4448
4449 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4450
ea6ef320
GA
44512021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4452
4453 PR fortran/90030
4454 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4455 * testsuite/libgomp.fortran/pr90030.f90: New test.
4456
c177e806
GA
44572021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4458 Thomas Schwinge <thomas@codesourcery.com>
4459
4460 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4461 temporary skip.
4462
44632021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4464 Thomas Schwinge <thomas@codesourcery.com>
4465
4466 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4467 skip.
4468
87cd82c8
GA
44692021-11-29 Richard Biener <rguenther@suse.de>
4470
4471 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4472 return.
4473
d9ca4b45
GA
44742021-11-24 Jakub Jelinek <jakub@redhat.com>
4475
4476 PR middle-end/103384
4477 * testsuite/libgomp.c/declare-variant-2.c: New test.
4478
483092d3
GA
44792021-11-18 David Edelsohn <dje.gcc@gmail.com>
4480
4481 * alloc.c (gomp_aligned_alloc): Fix typo.
4482
44832021-11-18 Jakub Jelinek <jakub@redhat.com>
4484
4485 PR libgomp/102838
4486 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4487 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4488 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4489 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4490 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4491 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4492 gomp_aligned_alloc instead of team_malloc.
4493
44942021-11-18 Jakub Jelinek <jakub@redhat.com>
4495
4496 PR libgomp/102838
4497 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4498 memalign over posix_memalign over aligned_alloc over fallback
4499 with malloc instead of aligned_alloc over _aligned_alloc over
4500 posix_memalign over memalign over fallback with malloc. For
4501 aligned_alloc, round up size up to multiple of al.
4502
6b1695f4
GA
45032021-11-16 Jakub Jelinek <jakub@redhat.com>
4504
4505 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4506 construct as implemented.
4507
e2b57363
GA
45082021-11-15 Tobias Burnus <tobias@codesourcery.com>
4509
4510 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4511
45122021-11-15 Jakub Jelinek <jakub@redhat.com>
4513
4514 * task.c (gomp_create_target_task): Copy args array as well.
4515 * target.c (gomp_target_fallback): Add args argument.
4516 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4517 (GOMP_target): Adjust gomp_target_fallback caller.
4518 (GOMP_target_ext): Likewise.
4519 (gomp_target_task_fn): Likewise.
4520 * config/nvptx/team.c (gomp_nvptx_main): Set
4521 gomp_global_icv.thread_limit_var.
4522 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4523
45242021-11-15 Jakub Jelinek <jakub@redhat.com>
4525
4526 * config/nvptx/team.c (__gomp_team_num): Define as
4527 __attribute__((shared)) var.
4528 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4529 * config/nvptx/target.c (__gomp_team_num): Declare as
4530 extern __attribute__((shared)) var.
4531 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4532 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4533 is bigger than num_blocks, use num_teams_lower teams and arrange for
4534 bumping of __gomp_team_num if !first and returning false once we run
4535 out of teams.
4536 * config/nvptx/teams.c (__gomp_team_num): Declare as
4537 extern __attribute__((shared)) var.
4538 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4539
45402021-11-15 Jakub Jelinek <jakub@redhat.com>
4541
4542 * testsuite/libgomp.c/teams-5.c: New test.
4543
af2852b9
GA
45442021-11-12 Jakub Jelinek <jakub@redhat.com>
4545
4546 PR target/103201
4547 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4548 to ...
4549 * config/gcn/teams.c: ... here. New file.
4550
45512021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4552
4553 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4554 implicit map handling to allow a "superset" existing map as valid case.
4555 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4556 (get_implicit): New function to extract implicit status.
4557 (gomp_map_fields_existing): Adjust arguments in calls to
4558 gomp_map_vars_existing, and add uses of get_implicit.
4559 (gomp_map_vars_internal): Likewise.
4560 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4561
45622021-11-12 Jakub Jelinek <jakub@redhat.com>
4563
4564 * libgomp_g.h (GOMP_teams4): Declare.
4565 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4566 * target.c (GOMP_teams4): New function.
4567 * config/nvptx/target.c (GOMP_teams): Remove.
4568 (GOMP_teams4): New function.
4569 * config/gcn/target.c (GOMP_teams): Remove.
4570 (GOMP_teams4): New function.
4571 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4572 teams instead of <= 2.
4573 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4574
b39265d4
GA
45752021-11-11 Tobias Burnus <tobias@codesourcery.com>
4576
4577 * testsuite/libgomp.fortran/teams-1.f90: New test.
4578
45792021-11-11 Jakub Jelinek <jakub@redhat.com>
4580
4581 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4582 * team.c (struct gomp_thread_start_data): Likewise.
4583 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4584 (gomp_team_start): Initialize start_data->num_teams and
4585 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4586 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4587 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4588 instead of gomp_num_teams and gomp_team_num.
4589 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4590 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4591 * testsuite/libgomp.c/teams-4.c: New test.
4592
45932021-11-11 Jakub Jelinek <jakub@redhat.com>
4594
4595 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4596
c9b1334e
GA
45972021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4598
4599 * env.c (parse_gomp_openacc_dim): Restore parsing.
4600
0ef94462
GA
46012021-10-30 Tobias Burnus <tobias@codesourcery.com>
4602
4603 PR middle-end/102972
4604 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4605 parallel construct.
4606 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4607 * testsuite/libgomp.c/target-3.c: Likewise.
4608 * testsuite/libgomp.c/target-5.c: Likewise.
4609 * testsuite/libgomp.c/target-6.c: Likewise.
4610 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4611 * testsuite/libgomp.c/teams-1.c: Likewise.
4612 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4613 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4614 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4615 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4616 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4617 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4618 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4619
4c61300f
GA
46202021-10-29 Aldy Hernandez <aldyh@redhat.com>
4621
4622 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4623 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4624
04a2cf3f
GA
46252021-10-27 Jakub Jelinek <jakub@redhat.com>
4626
4627 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4628 aren't implemented for Fortran yet.
4629
46302021-10-27 Jakub Jelinek <jakub@redhat.com>
4631
4632 * testsuite/libgomp.c/loop-26.c: New test.
4633 * testsuite/libgomp.c/loop-27.c: New test.
4634
b621508d
GA
46352021-10-25 Tobias Burnus <tobias@codesourcery.com>
4636
4637 PR testsuite/102910
4638 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4639 instead of #include <alloca.h> + alloca.
4640
ae5c5406
GA
46412021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4642
4643 * libgomp.texi (Support of strictly structured blocks in Fortran):
4644 Adjust to 'Y'.
4645 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4646
674dda6b
GA
46472021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4648
4649 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4650 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4651
46522021-10-20 Jakub Jelinek <jakub@redhat.com>
4653
4654 PR libgomp/102838
4655 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4656 (struct gomp_work_share): Only use aligned(64) attribute if
4657 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4658 add padding before lock to ensure lock is at offset 64 bytes
4659 into the structure.
4660 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4661 New poor man's static assertions.
4662 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4663 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4664
46652021-10-20 Aldy Hernandez <aldyh@redhat.com>
4666 Richard Biener <rguenther@suse.de>
4667
4668 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4669
ce4d1f63
GA
46702021-10-18 Jakub Jelinek <jakub@redhat.com>
4671
4672 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4673 && gomp_places_list_len < count after nfirst <= nlast loop condition.
4674
46752021-10-18 Tobias Burnus <tobias@codesourcery.com>
4676
4677 PR fortran/102086
4678 PR fortran/92189
4679 PR fortran/92621
4680 PR fortran/101308
4681 PR fortran/101309
4682 PR fortran/101635
4683 PR fortran/92482
4684 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4685
93d183a5
GA
46862021-10-15 Jakub Jelinek <jakub@redhat.com>
4687
4688 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4689 type from char [50] to const char *.
4690 (places_array): Add a testcase for simplified syntax place followed
4691 by length or length and stride.
4692
46932021-10-15 Jakub Jelinek <jakub@redhat.com>
4694
4695 * env.c (parse_one_place): Handle non-negative-number the same
4696 as { non-negative-number }. Reject even !number:1 and
4697 !number:1:stride or !place:1 or !place:1:stride instead of just
4698 length other than 1.
4699 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4700 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4701 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4702 as implemented.
4703 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4704 simplified syntax.
4705
47062021-10-15 Jakub Jelinek <jakub@redhat.com>
4707
4708 * env.c (parse_schedule): For strtoul or strtoull calls which don't
4709 clearly reject return value 0 as invalid handle the case where end
4710 pointer is the same as first argument as invalid.
4711 (parse_unsigned_long_1): Likewise.
4712 (parse_one_place): Likewise.
4713 (parse_places_var): Likewise.
4714 (parse_stacksize): Likewise.
4715 (parse_spincount): Likewise.
4716 (parse_affinity): Likewise.
4717 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
4718 Make code valid C89.
4719 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4720 For strtoul calls which don't clearly reject return value 0 as
4721 invalid handle the case where end pointer is the same as first
4722 argument as invalid.
4723 (gomp_affinity_init_level_1): Likewise.
4724 (gomp_affinity_init_numa_domains): Likewise.
4725 * config/rtems/proc.c (parse_thread_pools): Likewise.
4726
47272021-10-15 Jakub Jelinek <jakub@redhat.com>
4728
4729 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4730 after creating count places clean up and return immediately.
4731 * testsuite/libgomp.c/places-6.c: New test.
4732 * testsuite/libgomp.c/places-7.c: New test.
4733 * testsuite/libgomp.c/places-8.c: New test.
4734 * testsuite/libgomp.c/places-9.c: New test.
4735 * testsuite/libgomp.c/places-10.c: New test.
4736
47372021-10-15 Jakub Jelinek <jakub@redhat.com>
4738
4739 * env.c (parse_places_var): Handle numa_domains as level 5.
4740 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4741 function.
4742 (gomp_affinity_init_level): Use it instead of
4743 gomp_affinity_init_level_1 for level == 5.
4744 * testsuite/libgomp.c/places-5.c: New test.
4745
47462021-10-15 Jakub Jelinek <jakub@redhat.com>
4747
4748 * env.c (parse_places_var): Handle ll_caches as level 4.
4749 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4750 function.
4751 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4752 last level cache.
4753 (gomp_affinity_init_level): Likewise.
4754 * testsuite/libgomp.c/places-1.c: New test.
4755 * testsuite/libgomp.c/places-2.c: New test.
4756 * testsuite/libgomp.c/places-3.c: New test.
4757 * testsuite/libgomp.c/places-4.c: New test.
4758
5d5885c9
GA
47592021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4760
4761 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4762 directive.
4763
47642021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4765
4766 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4767
52055987
GA
47682021-10-12 Julian Brown <julian@codesourcery.com>
4769
4770 * target.c (gomp_copy_host2dev): Release device lock on cbuf
4771 error path.
4772
47732021-10-12 Tobias Burnus <tobias@codesourcery.com>
4774
4775 * testsuite/libgomp.fortran/icv-3.f90: New.
4776 * testsuite/libgomp.fortran/icv-4.f90: New.
4777
47782021-10-12 Jakub Jelinek <jakub@redhat.com>
4779
4780 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4781 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4782 OMP_TEAMS_THREAD_LIMIT): Document.
4783
47842021-10-12 Jakub Jelinek <jakub@redhat.com>
4785
4786 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4787 to avoid makeinfo warnings.
4788
47892021-10-12 Jakub Jelinek <jakub@redhat.com>
4790
4791 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4792 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4793
47942021-10-12 Jakub Jelinek <jakub@redhat.com>
4795
4796 PR libgomp/102628
4797 PR libgomp/102668
4798 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4799 allocation sizes from 420 to 320 and from 768 to 568.
4800 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4801 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4802 for cr from 16 to 4.
4803
48042021-10-12 Jakub Jelinek <jakub@redhat.com>
4805
4806 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4807 * testsuite/libgomp.c/scan-12.c: Likewise.
4808 * testsuite/libgomp.c/scan-13.c: Likewise.
4809 * testsuite/libgomp.c/scan-14.c: Likewise.
4810 * testsuite/libgomp.c/scan-15.c: Likewise.
4811 * testsuite/libgomp.c/scan-16.c: Likewise.
4812 * testsuite/libgomp.c/scan-17.c: Likewise.
4813 * testsuite/libgomp.c/scan-18.c: Likewise.
4814 * testsuite/libgomp.c/scan-19.c: Likewise.
4815 * testsuite/libgomp.c/scan-20.c: Likewise.
4816 * testsuite/libgomp.c/scan-21.c: Likewise.
4817 * testsuite/libgomp.c/scan-22.c: Likewise.
4818 * testsuite/libgomp.c++/scan-9.C: Likewise.
4819 * testsuite/libgomp.c++/scan-10.C: Likewise.
4820 * testsuite/libgomp.c++/scan-11.C: Likewise.
4821 * testsuite/libgomp.c++/scan-12.C: Likewise.
4822 * testsuite/libgomp.c++/scan-13.C: Likewise.
4823 * testsuite/libgomp.c++/scan-14.C: Likewise.
4824 * testsuite/libgomp.c++/scan-15.C: Likewise.
4825 * testsuite/libgomp.c++/scan-16.C: Likewise.
4826
48272021-10-12 Kewen Lin <linkw@linux.ibm.com>
4828
4829 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
4830
732d7638
GA
48312021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
4832
4833 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
4834 omp_atv_serialized.
4835 * omp.h.in: Add deprecated flag for omp_atv_sequential.
4836 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
4837 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
4838 * testsuite/libgomp.fortran/alloc-12.f90: New test.
4839
48402021-10-11 Jakub Jelinek <jakub@redhat.com>
4841
4842 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
4843 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4844 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
4845 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4846 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
4847 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4848 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
4849 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
4850 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
4851 omp_set_teams_thread_limit{,_,_8_}.
4852 * icv.c (omp_set_num_teams, omp_get_max_teams,
4853 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
4854 functions.
4855 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
4856 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
4857 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
4858 vars.
4859 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
4860 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
4861 is not specified, use gomp_nteams_var.
4862 * fortran.c (omp_set_num_teams, omp_get_max_teams,
4863 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
4864 ialias_redirect.
4865 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
4866 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
4867 omp_get_teams_thread_limit_): New functions.
4868
c9db17b8
GA
48692021-10-09 liuhongt <hongtao.liu@intel.com>
4870
4871 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
4872 * testsuite/libgomp.c++/scan-11.C: Ditto.
4873 * testsuite/libgomp.c++/scan-12.C: Ditto.
4874 * testsuite/libgomp.c++/scan-13.C: Ditto.
4875 * testsuite/libgomp.c++/scan-14.C: Ditto.
4876 * testsuite/libgomp.c++/scan-15.C: Ditto.
4877 * testsuite/libgomp.c++/scan-16.C: Ditto.
4878 * testsuite/libgomp.c++/scan-9.C: Ditto.
4879 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
4880 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
4881 * testsuite/libgomp.c/scan-11.c: Ditto.
4882 * testsuite/libgomp.c/scan-12.c: Ditto.
4883 * testsuite/libgomp.c/scan-13.c: Ditto.
4884 * testsuite/libgomp.c/scan-14.c: Ditto.
4885 * testsuite/libgomp.c/scan-15.c: Ditto.
4886 * testsuite/libgomp.c/scan-16.c: Ditto.
4887 * testsuite/libgomp.c/scan-17.c: Ditto.
4888 * testsuite/libgomp.c/scan-18.c: Ditto.
4889 * testsuite/libgomp.c/scan-19.c: Ditto.
4890 * testsuite/libgomp.c/scan-20.c: Ditto.
4891 * testsuite/libgomp.c/scan-21.c: Ditto.
4892 * testsuite/libgomp.c/scan-22.c: Ditto.
4893
48942021-10-09 Jakub Jelinek <jakub@redhat.com>
4895
4896 * libgomp.texi (OpenMP 5.1): Mention implemented support for
4897 structured block sequences in C/C++. Mention support for
4898 unconstrained/reproducible modifiers on order clause.
4899 Mention partial (C/C++ only) support of extentensions to atomics
4900 construct. Mention partial (C/C++ on clause only) support of
4901 align/allocator modifiers on allocate clause.
4902
e3e07b89
GA
49032021-10-02 Tobias Burnus <tobias@codesourcery.com>
4904
4905 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
4906 based on libgomp.c-c++-common/order-reproducible-1.c.
4907 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
4908 * testsuite/libgomp.fortran/my-usleep.c: New test.
4909
9d116bcc
GA
49102021-10-01 Tobias Burnus <tobias@codesourcery.com>
4911
4912 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
4913 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
4914 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
4915 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
4916 based on libgomp.c-c++-common/alloc-9.c.
4917
49182021-10-01 Jakub Jelinek <jakub@redhat.com>
4919
4920 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
4921 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
4922
49232021-10-01 Jakub Jelinek <jakub@redhat.com>
4924
4925 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
4926 ialias_redirect.
4927 * env.c (handle_omp_display_env): Use ialias_call.
4928 * icv-device.c: Move ialias right below each function.
4929 (omp_get_device_num): Use ialias_call.
4930 * fortran.c (omp_fulfill_event): Add ialias_redirect.
4931 * icv.c (omp_get_active_level): Add ialias_redirect.
4932
49332021-10-01 Jakub Jelinek <jakub@redhat.com>
4934
4935 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
4936 __alloc_align__ (1) attribute.
4937 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
4938
24679983
GA
49392021-09-30 Tobias Burnus <tobias@codesourcery.com>
4940
4941 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
4942 for -fintrinsic-modules-path= warning of the C compiler.
4943 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
4944 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
4945
49462021-09-30 Tobias Burnus <tobias@codesourcery.com>
4947
4948 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
4949 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
4950 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4951 omp_realloc): Add.
4952 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4953 omp_realloc): Add.
4954 * testsuite/libgomp.fortran/alloc-10.f90: New test.
4955 * testsuite/libgomp.fortran/alloc-6.f90: New test.
4956 * testsuite/libgomp.fortran/alloc-7.c: New test.
4957 * testsuite/libgomp.fortran/alloc-7.f90: New test.
4958 * testsuite/libgomp.fortran/alloc-8.f90: New test.
4959 * testsuite/libgomp.fortran/alloc-9.f90: New test.
4960
49612021-09-30 Jakub Jelinek <jakub@redhat.com>
4962
4963 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
4964 omp_realloc): New prototypes.
4965 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
4966 attribute.
4967 * allocator.c: Include string.h.
4968 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
4969 variable and use it instead of alignment so that when retrying the old
4970 alignment is used again. Don't retry if new alignment is the same
4971 as old alignment, unless allocator had pool size.
4972 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
4973 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
4974 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
4975 omp_aligned_calloc and omp_realloc.
4976 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
4977 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
4978 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
4979 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
4980 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
4981 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
4982
fd133479
GA
49832021-09-28 Tobias Burnus <tobias@codesourcery.com>
4984
4985 PR libgomp/96661
4986 * configure.ac: Only check for int-type = 2*size_t support when
4987 building with Fortran support.
4988 * configure: Regenerate.
4989
49902021-09-28 Thomas Schwinge <thomas@codesourcery.com>
4991
4992 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
4993 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4994
cf966403
GA
49952021-09-27 Aldy Hernandez <aldyh@redhat.com>
4996
4997 * team.c: Initialize start_data.
4998 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
4999 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5000
50012021-09-27 Tobias Burnus <tobias@codesourcery.com>
5002
5003 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5004 dg-message back to dg-note.
5005
50062021-09-27 Tobias Burnus <tobias@codesourcery.com>
5007
5008 PR fortran/94070
5009 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5010 expected dg-note output.
5011
e4777439
GA
50122021-09-22 Tobias Burnus <tobias@codesourcery.com>
5013
5014 PR fortran/55534
5015 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5016 r12-3722 by removing -Wno-missing-include-dirs.
5017 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5018
50192021-09-22 Jakub Jelinek <jakub@redhat.com>
5020
5021 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5022 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5023
2c41dd82
GA
50242021-09-21 Tobias Burnus <tobias@codesourcery.com>
5025
5026 PR fortran/55534
5027 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5028 to ALWAYS_CFLAGS.
5029 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5030
cf74e7b5
GA
50312021-09-18 Jakub Jelinek <jakub@redhat.com>
5032
5033 * testsuite/libgomp.c++/default-1.C: New test.
5034 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5035 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5036 to default clause in C and C++" as implemented.
5037
0a4cb439
GA
50382021-09-17 Julian Brown <julian@codesourcery.com>
5039
5040 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5041
50422021-09-17 Julian Brown <julian@codesourcery.com>
5043
5044 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5045
50462021-09-17 Jakub Jelinek <jakub@redhat.com>
5047
5048 * libgomp.texi (OpenMP 5.1): Spelling fix,
5049 declare variante -> declare variant.
5050
50512021-09-17 Jakub Jelinek <jakub@redhat.com>
5052
5053 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5054 Use /* */ comments instead of //.
5055 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5056 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5057 * testsuite/libgomp.c++/atomic-16.C: New test.
5058 * testsuite/libgomp.c++/atomic-17.C: New test.
5059
a26206ec
GA
50602021-09-10 Jakub Jelinek <jakub@redhat.com>
5061
5062 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5063 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5064 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5065
b2748138
GA
50662021-09-07 Tobias Burnus <tobias@codesourcery.com>
5067
5068 * libgomp.texi (OpenMP Implementation Status): Extend
5069 OpenMP 5.0 section.
5070 (OpenACC Profiling Interface): Fix typo.
5071
50722021-09-07 Tobias Burnus <tobias@codesourcery.com>
5073
5074 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5075 not to 4.5; link to new section.
5076 (OpenMP Implementation Status): New.
5077
9f99555f
GA
50782021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5079
5080 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5081
7b739540
GA
50822021-09-03 Tobias Burnus <tobias@codesourcery.com>
5083
5084 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5085 dg-output.
5086 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5087
38b19c5b
GA
50882021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5089 Jakub Jelinek <jakub@redhat.com>
5090
5091 * testsuite/libgomp.c/address-space-1.c: New file.
5092
50932021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5094
5095 * testsuite/lib/libgomp.exp
5096 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5097 (check_effective_target_offload_device_intel_mic): New 'proc'.
5098 * testsuite/libgomp.c-c++-common/on_device_arch.h
5099 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5100 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5101 'dg-xfail-run-if'.
5102 * testsuite/libgomp.fortran/target10.f90: Likewise.
5103
51042021-08-23 Tobias Burnus <tobias@codesourcery.com>
5105
5106 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5107 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5108 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5109 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5110
51112021-08-23 Jakub Jelinek <jakub@redhat.com>
5112
5113 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5114 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5115 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5116
5b2876f9
GA
51172021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5118
5119 * config/nvptx/error.c (fwrite, exit): Override, too.
5120 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5121 of offloading testing.
5122 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5123
7c9e1645
GA
51242021-08-20 Tobias Burnus <tobias@codesourcery.com>
5125
5126 * testsuite/libgomp.fortran/error-1.f90: New test.
5127
51282021-08-20 Jakub Jelinek <jakub@redhat.com>
5129
5130 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5131 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5132 * error.c (GOMP_warning, GOMP_error): New functions.
5133 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5134
6e529985
GA
51352021-08-18 Tobias Burnus <tobias@codesourcery.com>
5136
5137 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5138 omp_target_free. omp_target_is_present, omp_target_memcpy,
5139 omp_target_memcpy_rect, omp_target_associate_ptr,
5140 omp_target_disassociate_ptr): Add interface.
5141 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5142 omp_target_free. omp_target_is_present, omp_target_memcpy,
5143 omp_target_memcpy_rect, omp_target_associate_ptr,
5144 omp_target_disassociate_ptr): Add interface.
5145 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5146 interface block for omp_alloc + omp_free.
5147 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5148 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5149 * testsuite/libgomp.fortran/target-12.f90: New test.
5150
51512021-08-18 Jakub Jelinek <jakub@redhat.com>
5152
5153 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5154
2d14d64b
GA
51552021-08-17 Tobias Burnus <tobias@codesourcery.com>
5156
5157 * testsuite/libgomp.fortran/scope-1.f90: New test.
5158 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5159
51602021-08-17 Jakub Jelinek <jakub@redhat.com>
5161
5162 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5163 * Makefile.in: Regenerated.
5164 * libgomp_g.h (GOMP_scope_start): Declare.
5165 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5166 * scope.c: New file.
5167 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5168 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5169
9d1d9fc8
GA
51702021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5171
5172 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5173 '?:' issues.
5174
51752021-08-16 Tobias Burnus <tobias@codesourcery.com>
5176
5177 * testsuite/libgomp.fortran/masked-1.f90: New test.
5178
261512fa
GA
51792021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5180
5181 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5182
72be20e2
GA
51832021-08-12 Jakub Jelinek <jakub@redhat.com>
5184
5185 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5186
51872021-08-12 Tobias Burnus <tobias@codesourcery.com>
5188
5189 * env.c (parse_bind_var): Accept 'primary' as alias for
5190 'master'.
5191 (omp_display_env): Add TODO comment to
5192 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5193 * libgomp.texi: Change 'master thread' to 'primary thread'
5194 in line with OpenMP 5.1.
5195 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5196 omp_proc_bind_master is an alias of it.
5197 (OMP_PROC_BIND): Mention 'PRIMARY'.
5198 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5199 (omp_proc_bind_primary): Add.
5200 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5201 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5202 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5203 * omp_lib.h.in (omp_proc_bind_primary): Add.
5204 * testsuite/libgomp.c/affinity-1.c: Check that
5205 'primary' works and is identical to 'master'.
5206
37768150
GA
52072021-08-09 Julian Brown <julian@codesourcery.com>
5208 Kwok Cheung Yeung <kcy@codesourcery.com>
5209 Thomas Schwinge <thomas@codesourcery.com>
5210
5211 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5212 16.
5213 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5214 [acc_device_radeon]: Update.
5215 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5216 [ACC_DEVICE_TYPE_radeon]: Likewise.
5217 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5218 [acc_device_radeon]: Likewise.
5219 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5220 [ACC_DEVICE_TYPE_radeon]: Likewise.
5221 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5222 'openacc_radeon_accel_selected' and '-O0'.
5223 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5224
8ebf4fb5
GA
52252021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5226
5227 * icv-device.c (omp_get_device_num): New API function, host side.
5228 * fortran.c (omp_get_device_num_): New interface function.
5229 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5230 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5231 omp_get_device_num_.
5232 * libgomp.texi (omp_get_device_num): Add documentation for new API
5233 function.
5234 * omp.h.in (omp_get_device_num): Add declaration.
5235 * omp_lib.f90.in (omp_get_device_num): Likewise.
5236 * omp_lib.h.in (omp_get_device_num): Likewise.
5237 * target.c (gomp_load_image_to_device): If additional entry for device
5238 number exists at end of returned entries from 'load_image_func' hook,
5239 copy the assigned device number over to the device variable.
5240 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5241 (omp_get_device_num): New API function, device side.
5242 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5243 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5244 at end of returned 'target_table' entries.
5245 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5246 (omp_get_device_num): New API function, device side.
5247 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5248 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5249 at end of returned 'target_table' entries.
5250 * testsuite/lib/libgomp.exp
5251 (check_effective_target_offload_target_intelmic): New function for
5252 testing for intelmic offloading.
5253 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5254 * testsuite/libgomp.fortran/target10.f90: New test.
5255
4d17ca1b
GA
52562021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5257 Ulrich Drepper <drepper@redhat.com>
5258
5259 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5260 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5261
52622021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5263 Julian Brown <julian@codesourcery.com>
5264 Kwok Cheung Yeung <kcy@codesourcery.com>
5265
5266 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5267 's%oaccdevlow%oaccloops%g'.
5268 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5269 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5270 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5271 Likewise.
5272 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5273 Likewise.
5274 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5275 Likewise.
5276 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5277 Likewise.
5278 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5279 Likewise.
5280 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5281 Likewise.
5282 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5283 Likewise.
5284 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5285 Likewise.
5286 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5287
872c1a56
ML
52882021-07-29 Aldy Hernandez <aldyh@redhat.com>
5289
5290 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5291 threader.
5292 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5293
af3f12e6
GA
52942021-07-27 Ulrich Drepper <drepper@gmail.com>
5295
5296 * env.c (wait_policy, stacksize): New static variables,
5297 move out of handle_omp_display_env.
5298 (omp_display_env): New function. The meat of the old
5299 handle_omp_display_env function.
5300 (handle_omp_display_env): Change to not take parameters
5301 and instead use the global variables. Only perform
5302 parsing, defer to omp_display_env for the implementation.
5303 (initialize_env): Remove local variables wait_policy and
5304 stacksize. Don't pass parameters to handle_omp_display_env.
5305 * fortran.c: Add ialias_redirect for omp_display_env.
5306 (omp_display_env_, omp_display_env_8_): New functions.
5307 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5308 omp_display_env_, and omp_display_env_8_.
5309 * omp.h.in: Declare omp_display_env.
5310 * omp_lib.f90.in: Likewise.
5311 * omp_lib.h.in: Likewise.
5312
53132021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5314 Julian Brown <julian@codesourcery.com>
5315
5316 * target.c (gomp_coalesce_buf_add): Update comment.
5317 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5318 'aq && cbuf'.
5319 (gomp_map_vars_internal): Only 'if (!aq)', do
5320 'gomp_coalesce_buf_add'.
5321 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5322 XFAIL.
5323
53242021-07-27 Julian Brown <julian@codesourcery.com>
5325 Thomas Schwinge <thomas@codesourcery.com>
5326
5327 * libgomp.h (gomp_copy_host2dev): Update prototype.
5328 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5329 argument to gomp_copy_host2dev (false).
5330 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5331 (copy_data): Don't free src.
5332 (queue_push_copy): Remove free_src handling.
5333 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5334 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5335 snapshotting.
5336 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5337 queue_push_copy.
5338 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5339 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5340 data when true, and set up deferred freeing of temporary buffer.
5341 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5342 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5343 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5344 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5345 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5346 XFAIL.
5347
53482021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5349 Tom de Vries <tom@codesourcery.com>
5350
5351 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5352 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5353
53542021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5355
5356 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5357 sequencing of 'async' data copying vs. profiling events.
5358 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5359 Likewise.
5360
53612021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5362 Julian Brown <julian@codesourcery.com>
5363
5364 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5365 'async'/'wait' issue.
5366 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5367 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5368 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5369
419c6c68
GA
53702021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5371 Joseph Myers <joseph@codesourcery.com>
5372 Cesar Philippidis <cesar@codesourcery.com>
5373
5374 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5375 file.
5376 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5377 Likewise.
5378 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5379 Likewise.
5380 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5381
92d45509
GA
53822021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5383
5384 PR target/101484
5385 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5386 '-Wno-error=array-bounds'.
5387 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5388 * libgomp.h [__AMDGCN__]: Likewise.
5389
21ea2f93
GA
53902021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5391
5392 PR target/101484
5393 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5394 * libgomp.h [__AMDGCN__]: Likewise.
5395
0e775456
GA
53962021-07-13 Jakub Jelinek <jakub@redhat.com>
5397 Florian Weimer <fweimer@redhat.com>
5398
5399 * config/linux/sem.h: Don't include limits.h.
5400 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5401 * config/linux/affinity.c: Include limits.h.
5402
bea7c16a
GA
54032021-07-01 Jakub Jelinek <jakub@redhat.com>
5404
5405 PR middle-end/94366
5406 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5407
6bc18203
GA
54082021-06-29 Tobias Burnus <tobias@codesourcery.com>
5409
5410 PR other/67300
5411 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5412 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5413 avoid disabling other offload targets.
5414 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5415 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5416 * testsuite/libgomp.c/target-44.c: Likewise.
5417
54182021-06-29 Tobias Burnus <tobias@codesourcery.com>
5419
5420 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5421 target has shared memory and disable some scalar pointer/allocatable
5422 checks if not as firstprivate does not work.
5423
90708f87
GA
54242021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5425
5426 PR testsuite/101114
5427 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5428 Add "target offload_device_nonshared_as" condition for enabling test.
5429
9aa8327e
GA
54302021-06-24 Jakub Jelinek <jakub@redhat.com>
5431
5432 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5433 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5434 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5435 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5436
fcf617f0
GA
54372021-06-23 Jakub Jelinek <jakub@redhat.com>
5438
5439 PR middle-end/101167
5440 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5441
688359a2
GA
54422021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5443
5444 * hashtab.h (htab_clear): New function with initialization code
5445 factored out from...
5446 (htab_create): ...here, adjust to use htab_clear function.
5447 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5448 special refcount values, add comments.
5449 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5450 (REFCOUNT_LINK): Likewise.
5451 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5452 element siblings.
5453 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5454 sibling maps.
5455 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5456 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5457 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5458 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5459 (struct splay_tree_key_s): Add structelem_refcount and
5460 structelem_refcount_ptr fields into a union with dynamic_refcount.
5461 Add comments.
5462 (gomp_map_vars): Delete declaration.
5463 (gomp_map_vars_async): Likewise.
5464 (gomp_unmap_vars): Likewise.
5465 (gomp_unmap_vars_async): Likewise.
5466 (goacc_map_vars): New declaration.
5467 (goacc_unmap_vars): Likewise.
5468 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5469 (goacc_enter_datum): Likewise.
5470 (goacc_enter_data_internal): Likewise.
5471 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5472 and goacc_unmap_vars.
5473 (GOACC_data_start): Adjust to use goacc_map_vars.
5474 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5475 * target.c (hash_entry_type): New typedef.
5476 (htab_alloc): New function hook for hashtab.h.
5477 (htab_free): Likewise.
5478 (htab_hash): Likewise.
5479 (htab_eq): Likewise.
5480 (hashtab.h): Add file include.
5481 (gomp_increment_refcount): New function.
5482 (gomp_decrement_refcount): Likewise.
5483 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5484 gomp_increment_refcount.
5485 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5486 to gomp_map_vars_existing.
5487 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5488 variable to guard OpenMP specific paths, adjust calls to
5489 gomp_map_vars_existing, add structure element sibling splay_tree_key
5490 sequence creation code, adjust Fortran map case to avoid increment
5491 under OpenMP.
5492 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5493 local refcount_set if caller passed in NULL, adjust call to
5494 gomp_map_vars_internal.
5495 (gomp_map_vars_async): Adjust and rename into...
5496 (goacc_map_vars): ...this new function, adjust call to
5497 gomp_map_vars_internal.
5498 (gomp_remove_splay_tree_key): New function with code factored out from
5499 gomp_remove_var_internal.
5500 (gomp_remove_var_internal): Add code to handle removing multiple
5501 splay_tree_key sequence for structure elements, adjust code to use
5502 gomp_remove_splay_tree_key for splay-tree key removal.
5503 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5504 gomp_decrement_refcount.
5505 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5506 local refcount_set if caller passed in NULL, adjust call to
5507 gomp_unmap_vars_internal.
5508 (gomp_unmap_vars_async): Adjust and rename into...
5509 (goacc_unmap_vars): ...this new function, adjust call to
5510 gomp_unmap_vars_internal.
5511 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5512 gomp_unmap_vars.
5513 (GOMP_target_ext): Likewise.
5514 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5515 (GOMP_target_data): Likewise.
5516 (GOMP_target_data_ext): Likewise.
5517 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5518 (gomp_exit_data): Add refcount_set parameter, adjust to use
5519 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5520 after main loop.
5521 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5522 gomp_map_vars and gomp_exit_data.
5523 (gomp_target_task_fn): Likewise.
5524 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5525 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5526 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5527 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5528 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5529 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5530
ede6c356
GA
55312021-06-15 Tobias Burnus <tobias@codesourcery.com>
5532
5533 PR fortran/92568
5534 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5535
43c35d0d
GA
55362021-06-10 Andrew Stubbs <ams@codesourcery.com>
5537 Thomas Schwinge <thomas@codesourcery.com>
5538
5539 * libgomp.map (GOACC_2.0.2): New symbol version.
5540 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5541 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5542
55432021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5544 Andrew Stubbs <ams@codesourcery.com>
5545
5546 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5547 extracted from...
5548 (GOACC_enter_exit_data): ... here.
5549 (GOACC_declare): Use it.
5550
55512021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5552
5553 * oacc-parallel.c (GOACC_declare): Move...
5554 * oacc-mem.c: ... here.
5555 * libgomp_g.h: Adjust.
5556
55572021-06-10 Andrew Stubbs <ams@codesourcery.com>
5558 Thomas Schwinge <thomas@codesourcery.com>
5559
5560 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5561 handling.
5562
55632021-06-10 Jakub Jelinek <jakub@redhat.com>
5564
5565 PR tree-optimization/100981
5566 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5567 dsdotr and dsdoti to 0.
5568
4f625f47
GA
55692021-06-09 H.J. Lu <hjl.tools@gmail.com>
5570
5571 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5572 if atomic compare-and-swap is supported on 'int'.
5573
55742021-06-09 Richard Biener <rguenther@suse.de>
5575
5576 PR tree-optimization/100981
5577 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5578
c6038721
GA
55792021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5580
5581 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5582 unconditionally.
5583 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5584 Update.
5585 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5586 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5587
55882021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5589
5590 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5591 '-DACC_MEM_SHARED=0'.
5592 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5593 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5594 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5595 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5596 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5597 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5598 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5599 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5600 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5601 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5602 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5603 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5604 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5605 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5606 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5607 'acc_device_radeon' testing.
5608 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5609 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5610 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5611 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5612 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5613 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5614 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5615 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5616 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5617 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5618 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5619 for non-'openacc_nvidia_accel_selected'.
5620 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5621 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5622 all implement this checking".
5623 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5625 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5626 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5627 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5628
56292021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5630
5631 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5632 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5633
56342021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5635
5636 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5637 for 'acc_device_radeon'.
5638
56392021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5640
5641 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5642 for non-'acc_device_nvidia'.
5643
56442021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5645
5646 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5647 'acc_device_radeon' testing.
5648 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5649 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5650 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5651
56522021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5653
5654 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5655 require 'openacc_nvidia_accel_selected'. Fix up for
5656 'ACC_DEVICE_TYPE_radeon'.
5657
56582021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5659
5660 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5661 'openacc_nvidia_accel_selected'.
5662 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5663
56642021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5665
5666 * testsuite/lib/libgomp.exp
5667 (check_effective_target_openacc_radeon_accel_selected):
5668 Streamline.
5669
56702021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5671
5672 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5673 PR80547 workaround.
5674
56752021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5676
5677 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5678 <acc_device_nvidia>: Update comment.
5679
48166757
GA
56802021-05-28 Tobias Burnus <tobias@codesourcery.com>
5681
5682 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5683
cd62d089
GA
56842021-05-27 Jakub Jelinek <jakub@redhat.com>
5685
5686 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5687 check_effective_target_openacc_cublas,
5688 check_effective_target_openacc_cudart): New.
5689 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5690 target openacc_cublas.
5691 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5692 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5693 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5694 target openacc_cuda.
5695 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5696 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5697 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5698 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5699 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5700 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5701 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5702 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5703 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5704 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5705 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5706 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5707 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5708 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5709 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5710 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5711 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5712 targets openacc_cublas and openacc_cudart.
5713 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5714 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5715 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5716 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5717 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5718 Require effective target openacc_cudart.
5719 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5720 for effective target openacc_cuda and add && defined USE_CUDA_H to
5721 preprocessor conditionals. Guard -lcuda also on openacc_cuda
5722 effective target.
5723
01c59ef2
GA
57242021-05-26 Jakub Jelinek <jakub@redhat.com>
5725
5726 PR libgomp/100573
5727 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5728 GOMP_target_end_data, GOMP_target_update_ext,
5729 GOMP_target_enter_exit_data): New dummy entrypoints.
5730 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5731 GOMP_target_end_data, GOMP_target_update_ext,
5732 GOMP_target_enter_exit_data): Likewise.
5733 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5734 OMPFROM, OMPTO): Define.
5735 (main): Remove #pragma omp target teams around all the tests.
5736 * testsuite/libgomp.c-c++-common/target-41.c: New test.
5737 * testsuite/libgomp.c-c++-common/target-42.c: New test.
5738
2bc6dace
GA
57392021-05-25 Jakub Jelinek <jakub@redhat.com>
5740
5741 PR middle-end/99928
5742 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5743
637569df
GA
57442021-05-24 Tobias Burnus <tobias@codesourcery.com>
5745
5746 PR fortran/86470
5747 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5748 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5749 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5750
15d30d2f
GA
57512021-05-22 Thomas Schwinge <thomas@codesourcery.com>
5752
5753 PR testsuite/90115
5754 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5755 uninteresting/varying diagnostics.
5756
2832d51b
GA
57572021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5758
5759 PR middle-end/90115
5760 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5761 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5762
57632021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5764
5765 PR middle-end/90115
5766 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5767 file.
5768 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5769 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5770 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5771 Likewise.
5772 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5773 Likewise.
5774 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5775 Likewise.
5776 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5777 Likewise.
5778 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5779 Likewise.
5780 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5781 Likewise.
5782 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5783 Likewise.
5784 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5785 Likewise.
5786 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5787 Likewise.
5788 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5789 Likewise.
5790 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5791 Likewise.
5792 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5793 Likewise.
5794 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5795 Likewise.
5796 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5797 Likewise.
5798 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5799 Likewise.
5800 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5801 Likewise.
5802 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5803 Likewise.
5804 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5805 Likewise.
5806 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5807 Likewise.
5808 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5809 Likewise.
5810 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5811 Likewise.
5812 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5813 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5814 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5815 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
5816 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5817 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5818 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5819 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5820 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5821 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5822 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5823 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5824 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5825 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5826 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5827 Likewise.
5828 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
5829 Likewise.
5830 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
5831 Likewise.
5832 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5833 Likewise.
5834 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5835 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5836 Likewise.
5837 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5838 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5839 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5840 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5841 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
5842 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5843 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5844 Likewise.
5845 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5846 Likewise.
5847 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5848 Likewise.
5849 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5850 Likewise.
5851 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5852 Likewise.
5853 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5854 Likewise.
5855 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5856 Likewise.
5857 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5858 Likewise.
5859 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5860 Likewise.
5861 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5862 Likewise.
5863 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5864 Likewise.
5865 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5866 Likewise.
5867 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5868 Likewise.
5869 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5870 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5871 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5872 Likewise.
5873 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5874 Likewise.
5875 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5876 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5877 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5878
58792021-05-21 Julian Brown <julian@codesourcery.com>
5880 Chung-Lin Tang <cltang@codesourcery.com>
5881 Thomas Schwinge <thomas@codesourcery.com>
5882
5883 PR middle-end/90115
5884 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
5885 test.
5886 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5887 Likewise.
5888 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5889 Likewise.
5890
58912021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5892
5893 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
5894 for nvptx offloading.
5895
58962021-05-21 Tobias Burnus <tobias@codesourcery.com>
5897
5898 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
5899
65f32e5d
GA
59002021-05-19 Thomas Schwinge <thomas@codesourcery.com>
5901
5902 PR target/83812
5903 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
5904
59052021-05-19 Julian Brown <julian@codesourcery.com>
5906
5907 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
5908
a8daf9a1
GA
59092021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5910
5911 * testsuite/lib/libgomp.exp
5912 (check_effective_target_offload_target_nvptx): Don't shadow global
5913 'offload_targets' variable.
5914
59152021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5916
5917 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
5918 '-latomic' to nvptx offloading compilation.
5919 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5920
59212021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5922
5923 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
5924 offloading compilation.
5925
a7ffc1ef
GA
59262021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
5927
5928 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
5929 if new tasks generated.
5930 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
5931
87a7d10c
GA
59322021-05-14 Tobias Burnus <tobias@codesourcery.com>
5933
5934 * testsuite/libgomp.fortran/parallel-master.f90: New test.
5935
f9af11c7
GA
59362021-05-13 Martin Liska <mliska@suse.cz>
5937
5938 PR testsuite/100569
5939 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
5940 * testsuite/libgomp.c/pr46032-2.c: Likewise.
5941 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
5942 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
5943
0ff3a0f2
GA
59442021-05-12 Tobias Burnus <tobias@codesourcery.com>
5945
5946 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
5947 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
5948
037e3661
GA
59492021-05-11 Jakub Jelinek <jakub@redhat.com>
5950
5951 PR middle-end/100471
5952 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
5953 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
5954 reduction pointer.
5955 * testsuite/libgomp.c/task-reduction-4.c: New test.
5956
62d87a32
GA
59572021-05-07 Tobias Burnus <tobias@codesourcery.com>
5958 Tom de Vries <tdevries@suse.de>
5959
5960 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
5961 complex/floating-point || + && reduction with 'omp target'.
5962 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5963
99e8df7a
GA
59642021-05-04 Tobias Burnus <tobias@codesourcery.com>
5965
5966 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
5967 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
5968 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
5969 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
5970
59712021-05-04 Tobias Burnus <tobias@codesourcery.com>
5972
5973 PR testsuite/100397
5974 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
5975 declaration to scope of non-'depend'-guarded assignment to avoid races.
5976
e690396d
GA
59772021-05-03 Tom de Vries <tdevries@suse.de>
5978
5979 PR target/100321
5980 * testsuite/libgomp.c/target-44.c: New test.
5981
9326049e
GA
59822021-04-30 Roman Zhuykov <zhroma@ispras.ru>
5983
5984 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
5985
3c8e539d
GA
59862021-04-29 Tom de Vries <tdevries@suse.de>
5987
5988 * testsuite/libgomp.c/pr81778.c: New test.
5989
59902021-04-29 Tom de Vries <tdevries@suse.de>
5991
5992 PR target/100232
5993 * testsuite/libgomp.c/target-43.c: New file.
5994
e4ff4ffb
GA
59952021-04-28 Jakub Jelinek <jakub@redhat.com>
5996 Tobias Burnus <tobias@codesourcery.com>
5997
5998 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
5999 * target.c (gomp_load_plugin_for_device): If set and if a plugin
6000 can't be dlopened, silently assume it has no devices.
6001 * Makefile.in: Regenerate.
6002 * config.h.in: Regenerate.
6003 * configure: Regenerate.
6004
c0fa3f2f
GA
60052021-04-26 Tobias Burnus <tobias@codesourcery.com>
6006
6007 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6008 Use [Ww]arning in dg-bogus as FE diagnostic and default
6009 diagnostic differ and the result depends on ENABLE_OFFLOAD.
6010 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6011 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6012 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6013
60142021-04-26 Tobias Burnus <tobias@codesourcery.com>
6015
6016 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6017 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6018 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6019 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6020 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6021
60222021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6023 Nathan Sidwell <nathan@codesourcery.com>
6024 Tom de Vries <vries@codesourcery.com>
6025 Julian Brown <julian@codesourcery.com>
6026 Kwok Cheung Yeung <kcy@codesourcery.com>
6027
6028 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6029 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6030 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6032 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6034 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6035 Likewise.
6036 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6037 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6038 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6040 Likewise.
6041 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6043 Likewise.
6044 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6045 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6046 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6047 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6048 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6049 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6050 Likewise.
6051 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6052 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6053 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6054 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6055 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6056 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6057 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6058 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6059 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6060 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6061 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6062
60632021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6064
6065 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6066 compile with '-w'.
6067 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6068 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6069 Likewise.
6070 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6071 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6072 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6073 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6074 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6075 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6076 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6077
e3948473
GA
60782021-04-22 Richard Biener <rguenther@suse.de>
6079
6080 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6081 only on nvptx-none.
6082
c1ef0c92
GA
60832021-04-21 Tobias Burnus <tobias@codesourcery.com>
6084
6085 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6086 omp_depend_kind instead of defining it as 16.
6087
60882021-04-21 Tobias Burnus <tobias@codesourcery.com>
6089
6090 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6091 New, based on check_effective_target_offload_target_nvptx.
6092 (check_effective_target_offload_target_nvptx): Call it.
6093 (check_effective_target_offload_target_amdgcn): New.
6094 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6095 Require target offload_target_nvptx || offload_target_amdgcn.
6096 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6097 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6098 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6099
61002021-04-21 Tobias Burnus <tobias@codesourcery.com>
6101
6102 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6103
6e81e015
GA
61042021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6105
6106 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6107 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6108 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6109 Likewise.
6110 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6111 Likewise.
6112 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6113
ee351f7f
GA
61142021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6115
6116 PR target/99555
6117 * testsuite/lib/libgomp.exp
6118 (check_effective_target_offload_device_nvptx): New.
6119 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6120 resolved, make sure that we exit quickly, with error status,
6121 XFAILed.
6122 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6123 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6124
df3b1289
GA
61252021-04-14 Jakub Jelinek <jakub@redhat.com>
6126
6127 PR testsuite/100071
6128 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6129 cp = omp_alloc with cp, p arguments instead of cq, q and call
6130 c_f_pointer after last cq = omp_alloc with cq, q.
6131
a0ecde22
GA
61322021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6133
6134 PR middle-end/98088
6135 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6136 for loop with GT/GE condition.
6137 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6138
3115aba8
GA
61392021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6140
6141 PR middle-end/84991
6142 PR middle-end/84992
6143 PR middle-end/90779
6144 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6145
61462021-04-09 Jakub Jelinek <jakub@redhat.com>
6147
6148 PR libgomp/99984
6149 * team.c (gomp_thread_start): Call pthread_setspecific for
6150 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6151 has been initialized to avoid false positive warning.
6152
65374af2
GA
61532021-03-29 Tobias Burnus <tobias@codesourcery.com>
6154
6155 PR target/99555
6156 * testsuite/lib/on_device_arch.c: Move to ...
6157 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6158 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6159 #include on_device_arch.h.
6160 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6161 on_device_arch.h instead of using dg-additional-source.
6162 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6163 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6164 on_device_arch.c without relative paths.
6165
4493b1c1
GA
61662021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6167
6168 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6169 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6170 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6171 * config.h.in: Regenerate.
6172 * configure: Likewise.
6173
61742021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6175
6176 PR target/99555
6177 * testsuite/lib/on_device_arch.c: New file.
6178 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6179 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6180 skip for nvptx offloading, with error status.
6181 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6182
61832021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6184
6185 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6186 OpenACC 'serial' construct diagnostic for nvptx offloading.
6187
3c5b6d24
GA
61882021-03-15 Tobias Burnus <tobias@codesourcery.com>
6189
6190 PR c++/99509
6191 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6192
6da2762a
GA
61932021-03-12 Tobias Burnus <tobias@codesourcery.com>
6194
6195 PR fortran/98858
6196 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6197
67f10d28
GA
61982021-03-04 Jakub Jelinek <jakub@redhat.com>
6199
6200 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6201 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6202 checking of -m32 or -mx32 options on the command line.
6203 * config.h.in: Regenerated.
6204 * configure: Regenerated.
6205
ec9dc4fa
GA
62062021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6207
6208 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6209 support from the target.
6210
daa68844
GA
62112021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6212 Jakub Jelinek <jakub@redhat.com>
6213
6214 PR libgomp/98738
6215 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6216 (struct gomp_task): Replace detach and completion_sem fields with
6217 union containing completion_sem and detach_team. Add deferred_p
6218 field.
6219 (struct gomp_team): Remove task_detach_queue.
6220 * task.c: Include assert.h.
6221 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6222 Rearrange initialization order of fields.
6223 (task_fulfilled_p): Delete.
6224 (GOMP_task): Use address of task as the event handle. Remove
6225 initialization of detach field. Initialize deferred_p field.
6226 Use automatic local for completion_sem. Initialize detach_team field
6227 for deferred tasks.
6228 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6229 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6230 decrement task_running_count. Move finish_cancelled block out of
6231 else branch. Relocate call to gomp_team_barrier_done.
6232 (GOMP_taskwait): Handle tasks with completion events that have not
6233 been fulfilled.
6234 (GOMP_taskgroup_end): Likewise.
6235 (omp_fulfill_event): Use address of task as event handle. Post to
6236 completion_sem for undeferred tasks. Clear detach_team if task
6237 has not finished. For finished tasks, handle post-execution tasks,
6238 call gomp_team_barrier_wake if necessary, and free task.
6239 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6240 (free_team): Remove free of task_detach_queue.
6241 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6242 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6243 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6244 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6245 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6246 Change data-sharing of detach events on enclosing parallel to private.
6247 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6248 taskwait directive.
6249 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6250 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6251 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6252 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6253 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6254 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6255 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6256 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6257 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6258 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6259 Change data-sharing of detach events on enclosing parallel to private.
6260 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6261 taskwait directive.
6262 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6263 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6264 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6265 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6266 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6267
2f5765cf
GA
62682021-02-22 Tobias Burnus <tobias@codesourcery.com>
6269
6270 PR fortran/99171
6271 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6272
acc0ee5c
GA
62732021-02-17 Julian Brown <julian@codesourcery.com>
6274
6275 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6276 expected errors.
6277
62782021-02-17 Julian Brown <julian@codesourcery.com>
6279
6280 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6281 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6282
0c5cdb31
GA
62832021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6284
6285 * config/linux/x86/futex.h (__futex_wait):
6286 Revert output type back to long.
6287 (__futex_wake): Ditto.
6288 (futex_wait): Update for revert.
6289 (futex_wake): Ditto.
6290
62912021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6292
6293 * config/linux/x86/futex.h (__futex_wait): New static inline
6294 wrapper function. Correct output type to int and
6295 timeout type to void *.
6296 (__futex_wake): New static inline wrapper function.
6297 Correct output type to int.
6298 (futex_wait): Use __futex_wait.
6299 (futex_wake): Use __futex_wake.
6300
4b37c3ea
GA
63012021-02-10 Julian Brown <julian@codesourcery.com>
6302
6303 PR fortran/98979
6304 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6305 errors.
6306
a19dd5e6
GA
63072021-02-04 Julian Brown <julian@codesourcery.com>
6308
6309 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6310
9faaa807
GA
63112021-02-03 Andrew Stubbs <ams@codesourcery.com>
6312
6313 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6314 EF_AMDGPU_MACH_AMDGCN_GFX908.
6315 (gcn_gfx908_s): New constant string.
6316 (isa_hsa_name): Add gfx908.
6317 (isa_code): Add gfx908.
6318
161e4c08
GA
63192021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6320
6321 * libgomp.texi (omp_fulfill_event): New entry.
6322
b93d0e36
GA
63232021-01-20 Jakub Jelinek <jakub@redhat.com>
6324
6325 * task.c (GOMP_task): Rename priority argument to priority_arg,
6326 add priority automatic variable and modify that variable. Instead of
6327 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6328 check flags for that bit.
6329
f35a4f96
GA
63302021-01-19 Tobias Burnus <tobias@codesourcery.com>
6331
6332 PR fortran/98476
6333 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6334
ef1f8ee6
GA
63352021-01-18 Andreas Schwab <schwab@suse.de>
6336
6337 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6338
63392021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6340
6341 * config/rtems/sem.h (gomp_sem_getcount): New function.
6342
63432021-01-18 Jakub Jelinek <jakub@redhat.com>
6344
6345 * config/linux/sem.h (gomp_sem_getcount): New function.
6346 * config/posix/sem.h (gomp_sem_getcount): New function.
6347 * config/posix/sem.c (gomp_sem_getcount): New function.
6348 * config/accel/sem.h (gomp_sem_getcount): New function.
6349 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6350 (omp_fulfill_event): Likewise.
6351
59cf67d1
GA
63522021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6353
6354 * fortran.c (omp_fulfill_event_): New.
6355 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6356 (struct gomp_team): Add task_detach_queue and task_detach_count
6357 fields.
6358 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6359 * libgomp_g.h (GOMP_task): Add extra argument.
6360 * omp.h.in (enum omp_event_handle_t): New.
6361 (omp_fulfill_event): New.
6362 * omp_lib.f90.in (omp_event_handle_kind): New.
6363 (omp_fulfill_event): New.
6364 * omp_lib.h.in (omp_event_handle_kind): New.
6365 (omp_fulfill_event): Declare.
6366 * priority_queue.c (priority_tree_find): New.
6367 (priority_list_find): New.
6368 (priority_queue_find): New.
6369 * priority_queue.h (priority_queue_predicate): New.
6370 (priority_queue_find): New.
6371 * task.c (gomp_init_task): Initialize detach field.
6372 (task_fulfilled_p): New.
6373 (GOMP_task): Add detach argument. Ignore detach argument if
6374 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6375 field. Copy address of completion_sem into detach argument and
6376 into the start of the data record. Wait for detach event if task
6377 not deferred.
6378 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6379 Remove completed tasks and requeue dependent tasks.
6380 (omp_fulfill_event): New.
6381 * team.c (gomp_new_team): Initialize task_detach_queue and
6382 task_detach_count fields.
6383 (free_team): Free task_detach_queue field.
6384 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6385 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6386 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6387 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6388 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6389 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6390 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6391 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6392 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6393 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6394 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6395 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6396
2f7f0d32
GA
63972021-01-15 Jakub Jelinek <jakub@redhat.com>
6398
6399 PR target/70454
6400 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6401 be added through preprocessor check on
6402 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6403
5fff80fd
GA
64042021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6405
6406 PR libgomp/65099
6407 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6408 configurations.
6409 * configure: Regenerate.
6410 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6411 check.
6412
651b8a50
GA
64132021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6414
6415 * configure: Re-generate.
6416
64172021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6418
6419 * configure: Re-generate.
6420
64212021-01-05 Julian Brown <julian@codesourcery.com>
6422
6423 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6424 (struct ptx_device): Add omp_stacks struct.
6425 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6426 (nvptx_close_device): Free cached stacks block and mutex.
6427 (nvptx_stacks_free): New function.
6428 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6429 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6430 (nvptx_stacks_alloc): Rename to...
6431 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6432 size or smaller is required.
6433 (nvptx_stacks_free): Remove.
6434 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6435 during kernel execution.
6436
b6dd195a
GA
64372021-01-01 Jakub Jelinek <jakub@redhat.com>
6438
6439 * libgomp.texi: Bump @copying's copyright year.
6440
2d3425a5
GA
64412020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6442
6443 * libgomp.texi (Top): Avoid bad "up" link.
6444
b1a2242e
GA
64452020-12-18 Jakub Jelinek <jakub@redhat.com>
6446
6447 * testsuite/libgomp.c/task-6.c: New test.
6448
ca2bd949
GA
64492020-12-09 Andrew Stubbs <ams@codesourcery.com>
6450
6451 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6452 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6453
f6e8e279
GA
64542020-12-08 Tobias Burnus <tobias@codesourcery.com>
6455
6456 * testsuite/libgomp.fortran/scan-1.f90: New test.
6457
6e1edf48
GA
64582020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6459
6460 PR target/97865
6461 * configure: Regenerate.
6462
a9625c50
GA
64632020-11-29 John David Anglin <danglin@gcc.gnu.org>
6464
6465 * configure: Regenerate.
6466
360258da
GA
64672020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6468
6469 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6470 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6471
64722020-11-25 Andrew Stubbs <ams@codesourcery.com>
6473
6474 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6475 expected results.
6476
1e2c9a27
GA
64772020-11-24 Andrew Stubbs <ams@codesourcery.com>
6478
6479 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6480 (reserved): Delete unused define.
6481
64822020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6483
6484 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6485 Tcl 8.5-specific behavior.
6486 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6487
25bb75f8
GA
64882020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6489
6490 * env.c (gomp_global_icv): Remove nest_var field. Add
6491 max_active_levels_var field.
6492 (gomp_max_active_levels_var): Remove.
6493 (parse_boolean): Return true on success.
6494 (handle_omp_display_env): Express OMP_NESTED in terms of
6495 max_active_levels_var. Change format specifier for
6496 max_active_levels_var.
6497 (initialize_env): Set max_active_levels_var from
6498 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6499 OMP_PROC_BIND.
6500 * icv.c (omp_set_nested): Express in terms of
6501 max_active_levels_var.
6502 (omp_get_nested): Likewise.
6503 (omp_set_max_active_levels): Use max_active_levels_var field instead
6504 of gomp_max_active_levels_var.
6505 (omp_get_max_active_levels): Likewise.
6506 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6507 max_active_levels_var field.
6508 (gomp_supported_active_levels): Set to UCHAR_MAX.
6509 (gomp_max_active_levels_var): Delete.
6510 * libgomp.texi (omp_get_nested): Update documentation.
6511 (omp_set_nested): Likewise.
6512 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6513 (OMP_NESTED): Likewise.
6514 (OMP_NUM_THREADS): Likewise.
6515 (OMP_PROC_BIND): Likewise.
6516 * parallel.c (gomp_resolve_num_threads): Replace reference
6517 to nest_var with max_active_levels_var. Use max_active_levels_var
6518 field instead of gomp_max_active_levels_var.
6519
65202020-11-18 Tobias Burnus <tobias@codesourcery.com>
6521
6522 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6523 nvptx_usleep; use also for device={arch(gcn)}.
6524
faab61b5
GA
65252020-11-14 Jakub Jelinek <jakub@redhat.com>
6526
6527 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6528 (foo): Add tests for non-VLA private and firstprivate clauses on
6529 omp task.
6530 (bar): Likewise. Remove taking of address from private/firstprivate
6531 variables.
6532 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6533 (foo): Add p, q, px and s arguments. Add tests for array reductions
6534 and for non-VLA private and firstprivate clauses on omp task.
6535 (bar): Removed.
6536 (main): Adjust foo caller. Don't call bar.
6537
77f67db2
GA
65382020-11-13 Gergö Barany <gergo@codesourcery.com>
6539 Thomas Schwinge <thomas@codesourcery.com>
6540
6541 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6542 New.
6543 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6544 Likewise.
6545 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6546 Likewise.
6547 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6548 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6549
65502020-11-13 Gergö Barany <gergo@codesourcery.com>
6551 Thomas Schwinge <thomas@codesourcery.com>
6552
6553 PR fortran/94358
6554 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6555
65562020-11-13 Jakub Jelinek <jakub@redhat.com>
6557
6558 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6559 for array reductions.
6560 (main): Adjust foo callers.
6561
a5a11525
GA
65622020-11-12 Jakub Jelinek <jakub@redhat.com>
6563
6564 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6565 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6566 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6567 * allocator.c (omp_aligned_alloc): New for now static function,
6568 add alignment argument and handle it.
6569 (omp_alloc): Reimplement using omp_aligned_alloc.
6570 (GOMP_alloc, GOMP_free): New functions.
6571 (omp_free): Add ialias.
6572 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6573 * testsuite/libgomp.c++/allocate-1.C: New test.
6574
65752020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6576
6577 PR fortran/97782
6578 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6579
bb622641
GA
65802020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6581
6582 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6583 usable.
6584 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6585 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6586 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6587 (goacc_enter_data_internal): Likewise.
6588 * target.c (gomp_map_vars_internal):
6589 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6590 of gomp_attach_pointer for OpenMP cases.
6591 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6592 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6593 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6594
0cfd9109
GA
65952020-11-05 Ulrich Drepper <drepper@redhat.com>
6596 Kwok Cheung Yeung <kcy@codesourcery.com>
6597
6598 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6599 * Makefile.in: Regenerate.
6600 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6601 pragmas to ignore -Wdeprecated-declarations warnings.
6602 * icv.c: Likewise.
6603 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6604 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6605 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6606 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6607 deprecated.
6608 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6609 to test options.
6610 * testsuite/libgomp.c/affinity-1.c: Likewise.
6611 * testsuite/libgomp.c/affinity-2.c: Likewise.
6612 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6613 * testsuite/libgomp.c/lib-1.c: Likewise.
6614 * testsuite/libgomp.c/nested-1.c: Likewise.
6615 * testsuite/libgomp.c/nested-2.c: Likewise.
6616 * testsuite/libgomp.c/nested-3.c: Likewise.
6617 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6618 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6619 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6620 * testsuite/libgomp.c/pr35549.c: Likewise.
6621 * testsuite/libgomp.c/pr42942.c: Likewise.
6622 * testsuite/libgomp.c/pr61200.c: Likewise.
6623 * testsuite/libgomp.c/sort-1.c: Likewise.
6624 * testsuite/libgomp.c/target-5.c: Likewise.
6625 * testsuite/libgomp.c/target-6.c: Likewise.
6626 * testsuite/libgomp.c/teams-1.c: Likewise.
6627 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6628 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6629 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6630 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6631 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6632 * testsuite/libgomp.fortran/lib2.f: Likewise.
6633 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6634 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6635
88ce3d5f
GA
66362020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6637
6638 PR target/85486
6639 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6640 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6641 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6642
66432020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6644
6645 PR testsuite/80219
6646 PR testsuite/85303
6647 * testsuite/lib/libgomp.exp (libgomp_init): Set
6648 'gcc_warning_prefix', 'gcc_error_prefix'.
6649
66502020-10-30 Jakub Jelinek <jakub@redhat.com>
6651
6652 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6653 even in field_tgt_clear initializer.
6654
e93aae4a
GA
66552020-10-28 Jakub Jelinek <jakub@redhat.com>
6656
6657 * testsuite/libgomp.c/target-42.c: New test.
6658
66592020-10-28 Jakub Jelinek <jakub@redhat.com>
6660 Tom de Vries <tdevries@suse.de>
6661
6662 PR testsuite/81690
6663 * testsuite/libgomp.c/usleep.h: New file.
6664 * testsuite/libgomp.c/target-32.c: Include usleep.h.
6665 (main): Use tgt_usleep instead of usleep.
6666 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6667 (main): Use tgt_usleep instead of usleep.
6668
66692020-10-28 Jakub Jelinek <jakub@redhat.com>
6670
6671 PR lto/96680
6672 * testsuite/libgomp.c/declare-variant-1.c: New test.
6673
56ddd5e2
GA
66742020-10-22 Jakub Jelinek <jakub@redhat.com>
6675
6676 * testsuite/libgomp.c/target-41.c: New test.
6677
66782020-10-22 Jakub Jelinek <jakub@redhat.com>
6679
6680 * icv.c (omp_get_initial_device): Remove including corresponding
6681 ialias.
6682 * icv-device.c (omp_get_initial_device): New function. Return
6683 gomp_get_num_devices (). Add ialias.
6684 * target.c (resolve_device): Don't fail with
6685 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6686 gomp_get_num_devices ().
6687 (omp_target_alloc, omp_target_free, omp_target_is_present,
6688 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6689 omp_target_disassociate_ptr, omp_pause_resource): Use
6690 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6691 first use in the functions, in uses dominated by the
6692 gomp_get_num_devices call use num_devices_openmp instead.
6693 * libgomp.texi (omp_get_initial_device): Document.
6694 * config/gcn/icv-device.c (omp_get_initial_device): New function.
6695 Add ialias.
6696 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6697 * testsuite/libgomp.c/target-40.c: New test.
6698
66992020-10-21 Jakub Jelinek <jakub@redhat.com>
6700
6701 * env.c (parse_target_offload): Change new_offload var type to int,
6702 preinitialize to -1, remove found var and test new_offload != -1
6703 instead of found.
6704
e2e04288
GA
67052020-10-20 Jakub Jelinek <jakub@redhat.com>
6706
6707 * target.c (gomp_target_init): Inside of the function, use automatic
6708 variables corresponding to num_devices, num_devices_openmp and devices
6709 global variables and update the globals only at the end of the
6710 function.
6711
67122020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
6713
6714 * env.c (gomp_target_offload_var): New.
6715 (parse_target_offload): New.
6716 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6717 (initialize_env): Parse OMP_TARGET_OFFLOAD.
6718 * libgomp.h (gomp_target_offload_t): New.
6719 (gomp_target_offload_var): New.
6720 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6721 * target.c (resolve_device): Generate error if device not found and
6722 offloading is mandatory.
6723 (gomp_target_fallback): Generate error if offloading is mandatory.
6724 (GOMP_target): Add argument in call to gomp_target_fallback.
6725 (GOMP_target_ext): Likewise.
6726 (gomp_target_data_fallback): Generate error if offloading is mandatory.
6727 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6728 (GOMP_target_data_ext): Likewise.
6729 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6730 (gomp_target_init): Return early if offloading is disabled.
6731
b85d5dc5
GA
67322020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
6733
6734 * libgomp.texi (omp_get_max_active_levels): Modify description.
6735 (omp_get_supported_active_levels): Make descriptions consistent.
6736
b2698c21
GA
67372020-10-14 Jakub Jelinek <jakub@redhat.com>
6738
6739 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6740
bdd74cc2
GA
67412020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6742
6743 * env.c (gomp_max_active_levels_var): Initialize to
6744 gomp_supported_active_levels.
6745 (initialize_env): Limit gomp_max_active_levels_var to be at most
6746 equal to gomp_supported_active_levels.
6747 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6748 (omp_get_supported_active_levels_): New.
6749 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6750 to at most equal to gomp_supported_active_levels.
6751 (omp_get_supported_active_levels): New.
6752 * libgomp.h (gomp_supported_active_levels): New.
6753 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6754 omp_get_supported_active_levels_.
6755 * libgomp.texi (omp_get_supported_active_levels): New.
6756 (omp_set_max_active_levels): Update. Add reference to
6757 omp_get_supported_active_levels.
6758 * omp.h.in (omp_get_supported_active_levels): New.
6759 * omp_lib.f90.in (omp_get_supported_active_levels): New.
6760 * omp_lib.h.in (omp_get_supported_active_levels): New.
6761 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6762 against omp_get_supported_active_levels.
6763 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6764
2baa36d4
GA
67652020-10-11 Clement Chigot <clement.chigot@atos.net>
6766
6767 * config/t-aix: Delete and recreate libgomp before creating
6768 FAT library.
6769
da9df699
GA
67702020-10-08 Tom de Vries <tdevries@suse.de>
6771
6772 PR libgomp/81802
6773 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6774 dimensions.
6775
8e97b905
GA
67762020-10-06 Tom de Vries <tdevries@suse.de>
6777
6778 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6779
67802020-10-06 Tom de Vries <tdevries@suse.de>
6781
6782 PR middle-end/90861
6783 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6784
7e9282ae
GA
67852020-10-05 Tom de Vries <tdevries@suse.de>
6786
6787 PR fortran/95654
6788 * testsuite/libgomp.fortran/pr95654.f90: New test.
6789
b0b9b8f0
GA
67902020-10-02 Tobias Burnus <tobias@codesourcery.com>
6791
6792 * Makefile.in: Regenerate with automake 1.15.1.
6793 * aclocal.m4: Likewise.
6794 * configure: Likewise.
6795 * testsuite/Makefile.in: Likewise.
6796
660bfe61
GA
67972020-09-30 Andrew Stubbs <ams@codesourcery.com>
6798
6799 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6800 and amdgcn targets.
6801
68022020-09-30 Tobias Burnus <tobias@codesourcery.com>
6803
6804 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6805
93bca37c
GA
68062020-09-29 Andrew Stubbs <ams@codesourcery.com>
6807
6808 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6809 total number of threads is one.
6810 (gomp_team_barrier_wake): Likewise.
6811 (gomp_team_barrier_wait_end): Likewise.
6812 (gomp_team_barrier_wait_cancel_end): Likewise.
6813 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
6814 (gomp_team_barrier_wake): Likewise.
6815 (gomp_team_barrier_wait_end): Likewise.
6816 (gomp_team_barrier_wait_cancel_end): Likewise.
6817 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
6818
e84761c6
GA
68192020-09-28 Tobias Burnus <tobias@codesourcery.com>
6820
6821 PR middle-end/96390
6822 * testsuite/libgomp.c++/pr96390.C: New test.
6823 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
6824
4383c595
GA
68252020-09-27 Clement Chigot <clement.chigot@atos.net>
6826
6827 * config/t-aix: Use $(AR) without -X32_64.
6828
cdd8f031
GA
68292020-09-25 Jakub Jelinek <jakub@redhat.com>
6830
6831 * testsuite/libgomp.c/loop-25.c: New test.
6832
521d2711
GA
68332020-09-22 Tobias Burnus <tobias@codesourcery.com>
6834
6835 PR fortran/95654
6836 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
6837
68382020-09-22 Tom de Vries <tdevries@suse.de>
6839
6840 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
6841 fails.
6842
ecde1b0a
GA
68432020-09-16 Nathan Sidwell <nathan@acm.org>
6844
6845 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
6846
9f7ab8c5
GA
68472020-09-15 Tobias Burnus <tobias@codesourcery.com>
6848
6849 PR fortran/96668
6850 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
6851
68522020-09-15 Tobias Burnus <tobias@codesourcery.com>
6853
6854 PR fortran/96668
6855 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
6856 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
6857 (gomp_map_vars_existing): Update call to it.
6858 (gomp_map_fields_existing): Likewise
6859 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
6860 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
6861 remapped.
6862 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
6863 GOMP_MAP_POINTER.
6864 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
6865 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
6866
50a71cd0
GA
68672020-09-14 Tom de Vries <tdevries@suse.de>
6868
6869 * config/nvptx/atomic.c: New file. Add
6870 __sync_val_compare_and_swap_16.
6871 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
6872 target offload_target_nvptx.
6873
31a05046
GA
68742020-09-08 Julian Brown <julian@codesourcery.com>
6875
6876 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
6877 iteration-ordering assumptions.
6878
68792020-09-08 Julian Brown <julian@codesourcery.com>
6880
6881 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
6882 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6883
5b9a3d2a
GA
68842020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
6885
6886 * plugin/plugin-nvptx.c (nvptx_free):
6887 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
6888 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
6889 comments.
6890
68912020-08-20 Tobias Burnus <tobias@codesourcery.com>
6892
6893 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
6894
b3cb5606
GA
68952020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6896
6897 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
6898
68992020-08-13 Jakub Jelinek <jakub@redhat.com>
6900
6901 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
6902 * testsuite/libgomp.c/loop-23.c (main): Likewise.
6903 * testsuite/libgomp.c/loop-24.c: New test.
6904
bc0ca715
GA
69052020-08-08 Jakub Jelinek <jakub@redhat.com>
6906 Tobias Burnus <tobias@codesourcery.com>
6907
6908 PR fortran/93553
6909 * testsuite/libgomp.fortran/pr93553.f90: New test.
6910
aa5ea20c
GA
69112020-08-05 Jakub Jelinek <jakub@redhat.com>
6912
6913 * testsuite/libgomp.c/loop-22.c: New test.
6914 * testsuite/libgomp.c/loop-23.c: New test.
6915
69162020-08-05 Jakub Jelinek <jakub@redhat.com>
6917
6918 PR middle-end/96459
6919 * testsuite/libgomp.c/teams-3.c: New test.
6920 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
6921 if not defined yet.
6922 (N(test)): Use it before all N(f*) calls.
6923 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
6924 (main): Don't call all test_* functions from within
6925 #pragma omp teams reduction(|:err), call them directly.
6926
abba2591
GA
69272020-08-04 Tom de Vries <tdevries@suse.de>
6928
6929 PR target/96428
6930 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
6931 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
6932
6a1ad710
GA
69332020-08-03 Julian Brown <julian@codesourcery.com>
6934 Thomas Schwinge <thomas@codesourcery.com>
6935
6936 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
6937 shared-memory devices. Extend with further checking.
6938
69392020-08-03 Martin Jambor <mjambor@suse.cz>
6940
6941 * plugin/Makefrag.am: Remove configuration of HSA plugin.
6942 * aclocal.m4: Regenerated.
6943 * Makefile.in: Regenerated.
6944 * config.h.in: Regenerated.
6945 * configure: Regenerated.
6946 * plugin/configfrag.ac: Likewise.
6947 * plugin/hsa_ext_finalize.h: Removed.
6948 * plugin/plugin-hsa.c: Likewise.
6949 * testsuite/Makefile.in: Regenerated.
6950 * testsuite/lib/libgomp.exp
6951 (offload_target_to_openacc_device_type): Remove hsa case.
6952 (check_effective_target_hsa_offloading_selected_nocache): Removed
6953 (check_effective_target_hsa_offloading_selected): Likewise.
6954 (libgomp_init): Do not add -Wno-hsa to additional_flags.
6955 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
6956 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6957 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
6958 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6959 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6960 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6961 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
6962 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6963 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6964 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6965 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6966 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6967 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6968 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6969 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6970 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6971 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
6972 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6973 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
6974 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6975 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6976 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
6977 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6978 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6979
e71dab87
GA
69802020-07-27 Julian Brown <julian@codesourcery.com>
6981 Thomas Schwinge <thomas@codesourcery.com>
6982
6983 * libgomp.h (struct target_var_desc): Rename do_detach field to
6984 is_attach.
6985 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
6986 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
6987 (goacc_enter_data_internal): Don't affect reference counts
6988 for attach mappings.
6989 (goacc_exit_data_internal): Don't affect reference counts for detach
6990 mappings.
6991 * target.c (gomp_map_vars_existing): Don't affect reference counts for
6992 attach mappings.
6993 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
6994 mark attach mappings.
6995 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
6996 reference count for attach mappings.
6997 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
6998 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6999 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7000 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7001 test as shouldfail.
7002 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7003 gracefully in no-finalize mode.
7004 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7005
53256ee3
GA
70062020-07-24 Thomas Schwinge <thomas@codesourcery.com>
7007
7008 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7009 use.
7010 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7011 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7012
9bb403dc
GA
70132020-07-23 Julian Brown <julian@codesourcery.com>
7014 Thomas Schwinge <thomas@codesourcery.com>
7015
7016 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7017 finalization for detach operation.
7018 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7019 New test.
7020
70212020-07-23 Tobias Burnus <tobias@codesourcery.com>
7022
7023 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7024 * libgomp_f.h.in (omp_check_defines): Check whether
7025 sizeof of determined Fortran kind and C typedef match.
7026 * omp_lib.f90.in: Add omp_depened_kind.
7027 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7028 * configure: Regenerate.
7029 * Makefile.in: Regenerate.
7030 * testsuite/Makefile.in: Regenerate.
7031
3ea9abca
GA
70322020-07-22 Tobias Burnus <tobias@codesourcery.com>
7033
7034 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7035 gcc/testsuite/c-c++-common/gomp/.
7036 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7037 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7038 from gcc/testsuite/gfortran.dg/gomp/.
7039 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7040
70412020-07-22 Tobias Burnus <tobias@codesourcery.com>
7042
7043 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7044 * omp_lib.h.in: Likewise.
7045
aeb34e15
GA
70462020-07-18 H.J. Lu <hjl.tools@gmail.com>
7047
7048 PR target/95620
7049 * testsuite/libgomp.c/pr95620.c: New test.
7050
96686b3f
GA
70512020-07-16 Julian Brown <julian@codesourcery.com>
7052 Thomas Schwinge <thomas@codesourcery.com>
7053
7054 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7055 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7056
fe8185b5
GA
70572020-07-15 Tobias Burnus <tobias@codesourcery.com>
7058
7059 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7060 avoid conversion on 32bit systems from 32bit to 64bit due
7061 to -fdefault-integer-8.
7062
70632020-07-15 Tobias Burnus <tobias@codesourcery.com>
7064
7065 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7066 variables; add character(kind=4) tests; update TODO comment.
7067
70682020-07-15 Tobias Burnus <tobias@codesourcery.com>
7069
7070 * allocator.c: Add ialias for omp_init_allocator and
7071 omp_destroy_allocator.
7072 * configure.ac: Set INTPTR_T_KIND.
7073 * configure: Regenerate.
7074 * Makefile.in: Regenerate.
7075 * testsuite/Makefile.in: Regenerate.
7076 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7077 omp_set_default_allocator_, omp_get_default_allocator_): New
7078 functions and ialias_redirect.
7079 * icv.c: Add ialias for omp_set_default_allocator and
7080 omp_get_default_allocator.
7081 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7082 omp_destroy_allocator_, omp_set_default_allocator_ and
7083 omp_get_default_allocator_.
7084 * omp_lib.f90.in: Add allocator traits parameters, declare
7085 allocator routines and add related kind parameters.
7086 * omp_lib.h.in: Likewise.
7087 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7088 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7089 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7090 * testsuite/libgomp.fortran/alloc-3.F: New test.
7091 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7092 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7093
8ca07a30
GA
70942020-07-14 Tom de Vries <tom@codesourcery.com>
7095 Cesar Philippidis <cesar@codesourcery.com>
7096 Thomas Schwinge <thomas@codesourcery.com>
7097 Kwok Cheung Yeung <kcy@codesourcery.com>
7098
7099 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7100 New variable.
7101 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7102 acc_init_state to initializing at the start, and to initialized at the
7103 end.
7104 (self_initializing_p): New function.
7105 (acc_get_device_type): Return acc_device_none if called by thread that
7106 is currently executing acc_init_1.
7107 * libgomp.texi (acc_get_device_type): Update documentation.
7108 (Implementation Status and Implementation-Defined Behavior): Likewise.
7109 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7110
71112020-07-14 David Edelsohn <dje.gcc@gmail.com>
7112
7113 * config/t-aix: Set BITS from compiler cpp macro.
7114
71152020-07-14 Tobias Burnus <tobias@codesourcery.com>
7116
7117 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7118
71192020-07-14 Tobias Burnus <tobias@codesourcery.com>
7120
7121 PR fortran/67311
7122 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7123
71242020-07-14 Jakub Jelinek <jakub@redhat.com>
7125
7126 * testsuite/libgomp.c/loop-21.c: New test.
7127
ea69fcf9
GA
71282020-07-13 Julian Brown <julian@codesourcery.com>
7129 Thomas Schwinge <thomas@codesourcery.com>
7130
7131 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7132
86536295
GA
71332020-07-10 Julian Brown <julian@codesourcery.com>
7134 Thomas Schwinge <thomas@codesourcery.com>
7135
7136 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7137 dynamic_refcount.
7138 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7139 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7140 dynamic_refcount.
7141 (acc_unmap_data): Update comment.
7142 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7143 dynamic_refcount semantics.
7144 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7145 Adjust for dynamic_refcount semantics.
7146 (goacc_enter_data_internal): Implement "present" case of dynamic
7147 memory-map handling here. Update "non-present" case for
7148 dynamic_refcount semantics.
7149 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7150 * target.c (gomp_map_vars_internal): Remove
7151 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7152 handling.
7153 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7154 (gomp_load_image_to_device): Substitute dynamic_refcount for
7155 virtual_refcount.
7156 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7157 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7158 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7159 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7160 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7161 trace output.
7162 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7163 trace output.
7164 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7165 test.
7166 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7167 Remove stale comment.
7168 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7169 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7170 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7171 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7172 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7173 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7174
71752020-07-10 Julian Brown <julian@codesourcery.com>
7176 Thomas Schwinge <thomas@codesourcery.com>
7177
7178 * oacc-mem.c (goacc_map_var_existing): New function.
7179 (goacc_enter_datum): Use above function.
7180 (goacc_exit_datum_1): New function.
7181 (goacc_exit_datum): Use above function.
7182
3f8ca9cb
GA
71832020-07-09 Julian Brown <julian@codesourcery.com>
7184 Thomas Schwinge <thomas@codesourcery.com>
7185
7186 PR middle-end/95270
7187 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7188 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7189
71902020-07-09 Julian Brown <julian@codesourcery.com>
7191
7192 * oacc-mem.c (find_group_last): Group data-movement clauses
7193 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7194 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7195
71962020-07-09 Jakub Jelinek <jakub@redhat.com>
7197
7198 * testsuite/libgomp.c/loop-19.c: New test.
7199 * testsuite/libgomp.c/loop-20.c: New test.
7200
72012020-07-09 Jakub Jelinek <jakub@redhat.com>
7202
7203 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7204 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7205 it. Remove __omp_alloctrait_value_max__.
7206 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7207 omp_atk_alignment and omp_atk_pool_size.
7208
b991c834
GA
72092020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7210
7211 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7212 behavior for 'GOMP_MAP_FORCE_FROM'.
7213 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7214
72152020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7216
7217 * oacc-mem.c (goacc_exit_data_internal): Remove
7218 'GOMP_MAP_ALWAYS_FROM' handling.
7219
46fbb6c6
GA
72202020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7221
7222 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7223 'scan-assembler' with 'scan-offload-rtl'.
7224 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7225 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7226 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7227 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7228
72292020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7230
7231 * target.c (gomp_map_vars_existing): Assert 'kind !=
7232 GOMP_MAP_ATTACH'.
7233 (gomp_map_vars_internal): Clean up.
7234
9a33c41f
GA
72352020-06-27 Jakub Jelinek <jakub@redhat.com>
7236
7237 * testsuite/libgomp.c/loop-17.c: New test.
7238 * testsuite/libgomp.c/loop-18.c: New test.
7239
c9c05f73
GA
72402020-06-26 Marek Polacek <polacek@redhat.com>
7241
7242 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7243
4543acc8
GA
72442020-06-23 Alexandre Oliva <oliva@adacore.com>
7245
7246 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7247 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7248
605a8f3b
GA
72492020-06-22 David Edelsohn <dje.gcc@gmail.com>
7250
7251 * Makefile.am: Use -include.
7252 * Makefile.in: Regenerate.
7253
f86e11a2
GA
72542020-06-21 David Edelsohn <dje.gcc@gmail.com>
7255
7256 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7257 * Makefile.in: Regenerate
7258 * configure.ac (tmake_file): Substitute.
7259 * configure: Regenerate.
7260 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7261 * config/t-aix: New file.
7262
aff95ee7
GA
72632020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7264
7265 PR lto/94848
7266 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7267 'dg-do run'.
7268
72692020-06-17 Andrew Stubbs <ams@codesourcery.com>
7270
7271 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7272 variant for HSA_RUNTIME_LIB name.
7273 (find_executable_symbol_1): Delete.
7274 (find_executable_symbol): Delete.
7275 (init_kernel_properties): Add ".kd" suffix to symbol names.
7276 (find_load_offset): Delete.
7277 (create_and_finalize_hsa_program): Remove relocation handling.
7278
56638b9b
GA
72792020-06-16 Tobias Burnus <tobias@codesourcery.com>
7280
7281 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7282
2c455ae0
GA
72832020-06-08 Tobias Burnus <tobias@codesourcery.com>
7284
7285 PR lto/94848
7286 PR middle-end/95551
7287 * testsuite/libgomp.fortran/target-var.f90: New test.
7288
1a59f3db
GA
72892020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7290 Julian Brown <julian@codesourcery.com>
7291
7292 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7293 special handling.
7294
72952020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7296 Julian Brown <julian@codesourcery.com>
7297
7298 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7299 Simplify.
7300
73012020-06-05 Julian Brown <julian@codesourcery.com>
7302
7303 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7304 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7305
3add3425
GA
73062020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7307
7308 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7309 Evaluate 'copyfrom' individually for each entry.
7310 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7311
73122020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7313
7314 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7315 Evaluate 'finalize' individually for each entry.
7316 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7317 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7318 file.
7319
73202020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7321
7322 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7323 usage.
7324 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7325
73262020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7327 Julian Brown <julian@codesourcery.com>
7328
7329 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7330 checking.
7331 (acc_unmap_data, goacc_exit_data_internal): Restore
7332 'is_tgt_unmapped' checking.
7333 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7334 file.
7335 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7336 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7337 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7338 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7339 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7340 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7341
73422020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7343 Julian Brown <julian@codesourcery.com>
7344
7345 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7346
73472020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7348
7349 PR libgomp/92854
7350 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7351
73522020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7353
7354 PR libgomp/92854
7355 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7356 more.
7357
73582020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7359 Julian Brown <julian@codesourcery.com>
7360
7361 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7362 'gomp_map_vars'.
3d3b561f 7363 (acc_map_data): Clean up accordingly.
3add3425
GA
7364
73652020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7366
7367 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7368 of over-eager 'finalize' clause.
7369 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7370 file.
7371 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7372 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7373 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7374 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7375 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7376 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7377 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7378 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7379
73802020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7381
7382 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7383
73842020-06-04 Julian Brown <julian@codesourcery.com>
7385
7386 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7387 error path.
7388 (goacc_detach_internal): Likewise.
7389
73902020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7391
7392 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7393 the checkpoint.
7394 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7395 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7396 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7397 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7398 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7399
a9312a79
GA
74002020-06-02 Jakub Jelinek <jakub@redhat.com>
7401
7402 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7403 defined.
7404
945b53cc
GA
74052020-05-30 Jakub Jelinek <jakub@redhat.com>
7406
7407 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7408
74092020-05-30 Jakub Jelinek <jakub@redhat.com>
7410
7411 * allocator.c (omp_alloc): For size == 0, return NULL early.
7412
885ef72f
GA
74132020-05-29 H.J. Lu <hjl.tools@gmail.com>
7414
7415 PR bootstrap/95413
7416 * configure: Regenerated.
7417
8df7ee67
TK
74182020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7419
7420 PR libfortran/95191
7421 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7422
800bcc8c
JJ
74232020-05-19 Jakub Jelinek <jakub@redhat.com>
7424
7425 * omp.h.in (omp_uintptr_t): New typedef.
7426 (__GOMP_UINTPTR_T_ENUM): Define.
7427 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7428 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7429 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7430 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7431 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7432 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7433 (gomp_def_allocator): Declare.
7434 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7435 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7436 omp_alloc and omp_free.
7437 * team.c (gomp_team_start): Copy over ts.def_allocator.
7438 * env.c (gomp_def_allocator): New variable.
7439 (parse_wait_policy): Adjust function comment.
7440 (parse_allocator): New function.
7441 (handle_omp_display_env): Print OMP_ALLOCATOR.
7442 (initialize_env): Call parse_allocator.
7443 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7444 * allocator.c: New file.
7445 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7446 functions.
7447 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7448 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7449 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7450 * Makefile.in: Regenerated.
7451
4c1a5d8b
L
74522020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7453
7454 PR bootstrap/95147
7455 * configure: Regenerated.
7456
cdc34b50
TK
74572020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7458
7459 PR libfortran/95119
7460 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7461
74622020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7463
7464 * configure: Regenerated.
7465
74662020-05-14 Jakub Jelinek <jakub@redhat.com>
7467
7468 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7469
f884bef2
TB
74702020-05-13 Tobias Burnus <tobias@codesourcery.com>
7471
7472 PR fortran/94690
7473 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7474 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7475 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7476 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7477 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7478 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7479 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7480
dc703151
JJ
74812020-05-12 Jakub Jelinek <jakub@redhat.com>
7482
7483 * testsuite/libgomp.c/target-39.c: New test.
7484
b9dc11b6
TS
74852020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7486
a5d0bc12
TS
7487 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7488 * openacc.f90 (acc_device_current): Likewise.
7489 * openacc.h (acc_device_current): Likewise.
7490 * openacc_lib.h (acc_device_current): Likewise.
7491
7f198924
TS
7492 PR target/94282
7493 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7494 'dg-allow-blank-lines-in-output'.
7495
4912a04f
TS
7496 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7497 * testsuite/lib/libgomp.exp
7498 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7499 'radeon'. Adjust all users.
7500 (check_effective_target_openacc_amdgcn_accel_present): Rename
7501 to...
7502 (check_effective_target_openacc_radeon_accel_present): ... this.
7503 Adjust all users.
7504 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7505 (check_effective_target_openacc_radeon_accel_selected): ... this.
7506 Adjust all users.
7507
b9dc11b6
TS
7508 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7509 'dg-do run'.
7510
966de09b
AS
75112020-04-23 Andrew Stubbs <ams@codesourcery.com>
7512
7513 PR other/94629
7514
7515 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7516 hsa_iterate_agents.
7517 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7518 hsa_agent_iterate_regions.
7519
3f5d94c1
TS
75202020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7521
7522 PR middle-end/94635
7523 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7524 run'.
7525
85d8c05a
TB
75262020-04-20 Tobias Burnus <tobias@codesourcery.com>
7527
7528 PR middle-end/94120
7529 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7530 test case.
7531
af557050
TB
75322020-04-17 Tobias Burnus <tobias@codesourcery.com>
7533
7534 PR middle-end/94635
7535 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7536
af4c9257
TS
75372020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7538
7539 PR libgomp/92843
7540 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7541 Rename to...
7542 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7543 ... this.
7544 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7545 Rename to...
7546 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7547 ... this.
7548 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7549 Rename to...
7550 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7551 ... this.
7552 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7553 Rename to...
7554 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7555 ... this.
7556 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7557 Rename to...
7558 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7559 ... this.
7560 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7561 Rename to...
7562 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7563 ... this.
7564 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7565 Rename to...
7566 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7567 ... this.
7568 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7569 Rename to...
7570 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7571 ... this.
7572 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7573 Rename to...
7574 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7575 ... this.
7576 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7577 Rename to...
7578 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7579 ... this.
7580 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7581 Rename to...
7582 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7583 ... this.
7584 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7585 Rename to...
7586 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7587 ... this.
7588 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7589 Rename to...
7590 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7591 ... this.
7592 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7593 Rename to...
7594 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7595 ... this.
7596 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7597 Rename to...
7598 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7599 ... this.
7600 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7601 Rename to...
7602 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7603 ... this.
7604
be9862dd
JB
76052020-04-10 Julian Brown <julian@codesourcery.com>
7606 Thomas Schwinge <thomas@codesourcery.com>
7607
7608 PR libgomp/92843
7609 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7610 New file.
7611 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7612 Likewise.
7613 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7614 Likewise.
7615 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7616 Likewise.
7617 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7618 Likewise.
7619 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7620 Likewise.
7621 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7622 Likewise.
7623 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7624 Likewise.
7625 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7626 Likewise.
7627 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7628 Likewise.
7629 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7630 Likewise.
7631 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7632 Likewise.
7633 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7634 Likewise.
7635 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7636 Likewise.
7637 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7638 Likewise.
7639 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7640 Likewise.
7641
6b816a5f
TS
76422020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7643
7644 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7645 run'.
7646
13e41d8b
TB
76472020-04-08 Tobias Burnus <tobias@codesourcery.com>
7648
7649 PR middle-end/94120
7650 * libgomp.oacc-c++/declare-pr94120.C: New.
7651
749bd22d
MR
76522020-04-06 Maciej W. Rozycki <macro@wdc.com>
7653
7654 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7655 files.
7656 * configure: Regenerate.
7657 * testsuite/libgomp-site-extra.exp.in: New file.
7658 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7659 variable.
7660 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7661 variable.
7662 * testsuite/Makefile.in: Regenerate.
7663
2b1e849b
TS
76642020-04-03 Thomas Schwinge <thomas@codesourcery.com>
7665
7666 PR tree-optimization/89713
7667 PR c/94392
7668 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7669 'bar.sync'.
7670 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7671
689418b9
TB
76722020-03-31 Tobias Burnus <tobias@codesourcery.com>
7673
7674 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7675 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7676
c2211a60
TB
76772020-03-24 Tobias Burnus <tobias@codesourcery.com>
7678
7679 PR libgomp/81689
7680 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7681
4897bb00
TB
76822020-03-20 Tobias Burnus <tobias@codesourcery.com>
7683
7684 PR libgomp/94251
7685 * target.c (gomp_load_image_to_device): Fix link
7686 variable handling.
7687
02f7334a
JJ
76882020-03-19 Jakub Jelinek <jakub@redhat.com>
7689
7690 PR c++/93931
7691 * testsuite/libgomp.c++/pr93931.C: New test.
7692
bb83e069
TB
76932020-03-19 Tobias Burnus <tobias@codesourcery.com>
7694
7695 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7696 dg-allow-blank-lines-in-output.
7697
26cbcfe5
TB
76982020-03-18 Julian Brown <julian@codesourcery.com>
7699 Tobias Burnus <tobias@codesourcery.com>
7700
7701 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7702 it work concurrently.
7703
4da92887
TB
77042020-03-18 Tobias Burnus <tobias@codesourcery.com>
7705
7706 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7707 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7708 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7709
9c3cdb43
JJ
77102020-03-14 Jakub Jelinek <jakub@redhat.com>
7711
7712 PR middle-end/93566
7713 * testsuite/libgomp.c/pr93566.c: New test.
7714
83d45e1d
FH
77152020-02-21 Frederik Harwath <frederik@codesourcery.com>
7716
7717 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7718 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7719 integer(acc_device_property) for the type of the return value of
7720 acc_get_property.
7721
8d1a1cb1
TB
77222020-02-19 Tobias Burnus <tobias@codesourcery.com>
7723
7724 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7725 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7726 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7727 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7728 (acc_set_device_num): Fix Fortran argument name, use same name for C.
7729 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7730 corrections; add note about the previous interface and named constant.
7731 (OpenACC library and environment variables): Fix two typos.
7732 * openacc.f90: Use for all procedures the argument names from the spec
7733 as for …_h they are user visible.
7734 (openacc_kinds): Rename acc_device_property to
7735 acc_device_property_kinds and change value to int32 ; and update users.
7736 Re-add acc_device_property for for backward compatibility.
7737 (acc_get_property_string_h): Clean up as acc_device_property_kind
7738 changed.
7739 (acc_get_property_h): Likewise and return c_size_t instead of
7740 acc_device_property.
7741 (openacc): Also export acc_device_property_kinds.
7742 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7743 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7744 handling; check against /= 0 instead of == 1 to match C.
7745 * openacc_lib.h: Use for all procedures the argument names from the spec
7746 as for …_h they are user visible. Place !GCC$ into the first column to
7747 be active also for fixed-form souce form.
7748 (acc_device_current, acc_device_property_kind, acc_device_property,
7749 acc_property_memory, acc_property_free_memory, acc_property_name,
7750 acc_property_vendor, acc_property_driver): New named constants.
7751 (acc_get_property, acc_get_property_string): New generic interface.
7752
2d9eb4e4
FH
77532020-02-13 Frederik Harwath <frederik@codesourcery.com>
7754
7755 PR libgomp/93481
7756 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7757 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7758 optional.
7759 (gomp_target_task_fn): Assert "devicep->async_run_func".
7760 (clear_unsupported_flags): New function to remove unsupported flags
7761 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7762 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7763 * testsuite/libgomp.c/target-33.c:
7764 Remove xfail for offload_target_nvptx.
7765 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
7766
77672020-02-10 Frederik Harwath <frederik@codesourcery.com>
7768
7769 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7770 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7771 * testsuite/libgomp.c/target-34.c: Likewise.
7772 * testsuite/libgomp.c/target-link-1.c: Add xfail for
7773 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7774
9bc3b95d
JJ
77752020-02-09 Jakub Jelinek <jakub@redhat.com>
7776
7777 * testsuite/libgomp.c/target-38.c: New test.
7778
cb3f0648
JJ
77792020-02-06 Jakub Jelinek <jakub@redhat.com>
7780
7781 PR libgomp/93515
7782 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7783
91bc3c98
TB
77842020-02-05 Tobias Burnus <tobias@codesourcery.com>
7785
7786 * testsuite/lib/libgomp.exp
7787 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7788 and not as 'source' argument to libgomp_target_compile.
7789
591f869a
AS
77902020-02-03 Andrew Stubbs <ams@codesourcery.com>
7791
7792 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7793 (gcn_gfx801_s): Remove.
7794 (isa_hsa_name): Remove gfx801.
7795 (isa_gcc_name): Remove gfx801/carizzo.
7796 (isa_code): Remove gfx801.
7797
e464fc90
TB
77982020-02-03 Julian Brown <julian@codesourcery.com>
7799 Tobias Burnus <tobias@codesourcery.com>
7800
7801 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7802 and *_finalize variants; document acc_attach and acc_detach; update
7803 references from OpenACC 2.0 to 2.6.
7804 * openacc.f90 (openacc_version): Update to 201711.
7805 * openacc_lib.h (openacc_version): Update to 201711.
7806 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7807 openacc_version to 201711.
7808 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7809
5a28e272
KCY
78102020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
7811
7812 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
7813 and vgpr_count fields.
7814 (struct kernel_info): Add a field for a hsa_kernel_description.
7815 (run_kernel): Reduce the number of threads/workers if the requested
7816 number would require too many VGPRs.
7817 (init_basic_kernel_info): Initialize description field with
7818 the hsa_kernel_description entry for the kernel.
7819
5ab5d81b
TB
78202020-01-29 Tobias Burnus <tobias@codesourcery.com>
7821
7822 PR bootstrap/93409
7823 * plugin/configfrag.ac (enable_offload_targets): Skip
7824 HSA and GCN plugin besides -m32 also for -mx32.
7825 * configure: Regenerate.
7826
989a5fb3
FH
78272020-01-29 Frederik Harwath <frederik@codesourcery.com>
7828
7829 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
7830
78312020-01-29 Frederik Harwath <frederik@codesourcery.com>
7832
7833 * plugin-gcn.c (struct agent_info): Add fields "name" and
7834 "vendor_name" ...
7835 (GOMP_OFFLOAD_init_device): ... and init from here.
7836 (struct hsa_context_info): Add field "driver_version_s" ...
7837 (init_hsa_contest): ... and init from here.
7838 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
7839 implementation.
7840 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7841 Enable test execution for amdgcn and host offloading targets.
7842 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
7843 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7844 (expect_device_properties): Split function into ...
7845 (expect_device_string_properties): ... this new function ...
7846 (expect_device_memory): ... and this new function.
7847 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
7848 Add test.
7849
278c3214
JB
78502020-01-28 Julian Brown <julian@codesourcery.com>
7851
7852 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
7853 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
7854 component/non-component variable refs in a single directive.
7855 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
7856
e8e66971
MR
78572020-01-24 Maciej W. Rozycki <macro@wdc.com>
7858
7859 * configure.ac: Handle `--with-toolexeclibdir='.
7860 * Makefile.in: Regenerate.
7861 * aclocal.m4: Regenerate.
7862 * configure: Regenerate.
7863 * testsuite/Makefile.in: Regenerate.
7864
9e424d97
FH
78652020-01-24 Frederik Harwath <frederik@codesourcery.com>
7866
7867 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7868 (expect_device_properties): Remove "expected_free_mem" argument,
7869 change "expected_total_mem" argument type to size_t;
7870 change types of acc_get_property results to size_t,
7871 adapt format strings.
7872 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7873 Use %zu instead of %zd to print size_t values.
7874 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
7875 rename to ...
7876 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
7877 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
7878 rename to ...
7879 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
7880
14e5e746
AS
78812020-01-23 Andrew Stubbs <ams@codesourcery.com>
7882
7883 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
7884 the device id.
7885
09e0ad62
AS
78862020-01-20 Andrew Stubbs <ams@codesourcery.com>
7887
7888 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
7889 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
7890 Adjust test dimensions for amdgcn.
7891 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
7892 gang/worker/vector expectations dynamically.
7893 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
7894 (main): Likewise.
7895 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
7896 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
7897 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
7898 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
7899 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
7900 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
7901 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
7902 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
7903 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
7904 (acc_gang): Recognise acc_device_radeon.
7905 (acc_worker): Likewise.
7906 (acc_vector): Likewise.
7907 (main): Set expectations for amdgcn.
7908 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
7909 (main): Adjust gang/worker/vector expectations dynamically.
7910 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
7911 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
7912 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
7913 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
7914 for amdgcn.
7915
6687d13a
AS
79162020-01-17 Andrew Stubbs <ams@codesourcery.com>
7917
7918 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
7919 acc_device_radeon.
7920 (openacc): Likewise.
7921 * openacc.f90 (openacc_kinds): Likewise.
7922 (openacc): Likewise.
7923 * openacc.h (acc_device_t): Likewise.
7924 * openacc_lib.h: Likewise.
7925 * testsuite/lib/libgomp.exp
7926 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
7927 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
7928 (cb_compute_construct_end): Likewise.
7929 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
7930 (cb_enqueue_launch_start): Likewise.
7931 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
7932 (cb_enter_data_end): Likewise.
7933 (cb_exit_data_start): Likewise.
7934 (cb_exit_data_end): Likewise.
7935 (cb_compute_construct_end): Likewise.
7936 (cb_enqueue_launch_start): Likewise.
7937 (cb_enqueue_launch_end): Likewise.
7938 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
7939 (main): Likewise.
7940
b3b75e66
TS
79412020-01-10 Thomas Schwinge <thomas@codesourcery.com>
7942
6fc0385c
TS
7943 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
7944 to use this instead of 'enum gomp_device_property'.
7945 (GOMP_OFFLOAD_get_property): Rename to...
7946 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
7947 * libgomp.h (struct gomp_device_descr): Move
7948 'GOMP_OFFLOAD_openacc_get_property'...
7949 (struct acc_dispatch_t): ... here. Adjust all users.
7950 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
7951
b3b75e66
TS
7952 * target.c (gomp_map_vars_internal)
7953 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
7954 paths.
7955
91df4397
JJ
79562020-01-10 Jakub Jelinek <jakub@redhat.com>
7957
7958 PR libgomp/93219
7959 * libgomp.h (gomp_print_string): Change return type from void to int.
7960 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
7961 not all characters have been written.
7962
df2c0d36
TB
79632020-01-08 Tobias Burnus <tobias@codesourcery.com>
7964
7965 * libgomp.texi: Fix typos, use https.
7966
f760c0c7
TB
79672020-01-03 Tobias Burnus <tobias@codesourcery.com>
7968
7969 * testsuite/libgomp.fortran/optional-map.f90: Add test for
7970 unallocated/disassociated actual arguments to nonallocatable/nonpointer
7971 dummy arguments; those are/shall be regarded as absent arguments.
7972 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
7973 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
7974
7e7065b9
JJ
79752020-01-01 Jakub Jelinek <jakub@redhat.com>
7976
8d9254fc
JJ
7977 Update copyright years.
7978
7e7065b9
JJ
7979 * libgomp.texi: Bump @copying's copyright year.
7980
2c829799
AM
79812019-12-31 Ayush Mittal <ayush.m@samsung.com>
7982
7983 PR libgomp/93065
7984 * oacc-init.c (goacc_runtime_deinitialize): New function.
7985
e9dcb75e
JJ
79862019-12-28 Jakub Jelinek <jakub@redhat.com>
7987
7988 PR bootstrap/93074
7989 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
7990 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
7991
6c84c8bf
MR
79922019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
7993 Frederik Harwath <frederik@codesourcery.com>
7994 Thomas Schwinge <tschwinge@codesourcery.com>
7995
7996 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
7997 * libgomp-plugin.h (gomp_device_property_value): New union.
7998 (gomp_device_property_value): New prototype.
7999 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8000 constant.
8001 (acc_device_property_t): New enum.
8002 (acc_get_property, acc_get_property_string): New prototypes.
8003 * oacc-init.c (acc_get_device_type): Also assert that result
8004 is not `acc_device_current'.
8005 (get_property_any, acc_get_property, acc_get_property_string):
8006 New functions.
8007 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8008 `acc_property_memory', `acc_property_free_memory',
8009 `acc_property_name', `acc_property_vendor' and
8010 `acc_property_driver' constants. Add `acc_device_property' data
8011 type.
8012 (openacc_internal): Add `acc_get_property' and
8013 `acc_get_property_string' interfaces. Add `acc_get_property_h',
8014 `acc_get_property_string_h', `acc_get_property_l' and
8015 `acc_get_property_string_l'.
8016 * oacc-host.c (host_get_property): New function.
8017 (host_dispatch): Wire it.
8018 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8019 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8020 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8021 * libgomp.texi (OpenACC Runtime Library Routines): Add
8022 `acc_get_property'.
8023 (acc_get_property): New node.
8024 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8025 function (stub).
8026 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8027 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8028 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8029 calls.
8030 (GOMP_OFFLOAD_get_property): New function.
8031 (struct ptx_device): Add new field "name".
8032 (cuda_driver_version_s): Add new static variable ...
8033 (nvptx_init): ... and init from here.
8034
8035 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8036 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8037 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8038 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8039 with test helper functions.
8040
8041 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8042
c8e759b4
MR
80432019-12-22 Maciej W. Rozycki <macro@wdc.com>
8044
8045 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8046 variable.
8047
b092fb3b
TS
80482019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8049
8050 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8051 link' handling.
8052
9be3ac5d
JB
80532019-12-19 Julian Brown <julian@codesourcery.com>
8054
8055 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8056 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8057 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8058
02817027
JB
80592019-12-19 Julian Brown <julian@codesourcery.com>
8060 Cesar Philippidis <cesar@codesourcery.com>
8061
8062 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8063 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8064 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8065 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8066 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8067 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8068 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8069 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8070 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8071 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8072 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8073 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8074 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8075
c2eb021f
JB
80762019-12-19 Julian Brown <julian@codesourcery.com>
8077
8078 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8079 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8080 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8081 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8082 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8083 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8084 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8085 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8086 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8087 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8088 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8089 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8090
8e7e71ff
JB
80912019-12-19 Julian Brown <julian@codesourcery.com>
8092
8093 * libgomp.h (struct target_var_desc): Add do_detach flag.
8094 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8095 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8096 struct components. Tidy up and add some new checks.
8097 (goacc_enter_data_internal): Update call to find_group_last.
8098 (goacc_exit_data_internal): Support detach operations and
8099 GOMP_MAP_STRUCT.
8100 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8101 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8102 attach/detach in enter/exit data detection code.
8103 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8104 tgt_var_desc.
8105 (gomp_map_vars_internal): Support attach.
8106 (gomp_unmap_vars_internal): Support detach.
8107
5d5be7bf
JB
81082019-12-19 Julian Brown <julian@codesourcery.com>
8109 Thomas Schwinge <thomas@codesourcery.com>
8110
8111 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8112 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8113 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8114 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8115 acc_detach_finalize_async.
8116 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8117 acc_detach, acc_detach_async, acc_detach_finalize,
8118 acc_detach_finalize_async): New functions.
8119 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8120 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8121 prototypes.
8122 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8123 (gomp_remove_var_internal): Free attachment counts if present.
8124 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8125 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8126
5bcd470b
JB
81272019-12-19 Julian Brown <julian@codesourcery.com>
8128 Cesar Philippidis <cesar@codesourcery.com>
8129
8130 * libgomp.h (gomp_map_val): Add prototype.
8131 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8132 open-coding device-address calculation.
8133 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8134 non-present case.
8135
378da98f
JB
81362019-12-19 Julian Brown <julian@codesourcery.com>
8137
8138 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8139 field for virtual_refcount.
8140 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8141 (gomp_free_memmap): Remove prototype.
8142 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8143 instead of calling gomp_free_memmap.
8144 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8145 dynamic_refcount.
8146 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8147 to_free field to NULL then calling gomp_unmap_vars. Handle
8148 REFCOUNT_INFINITY on target blocks.
8149 (goacc_enter_data): Rename to...
8150 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8151 handling for mapping groups. Use virtual_refcount instead of
8152 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8153 map_map_vars_async call. Re-do lookup for target pointer return value.
8154 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8155 renamed goacc_enter_datum function.
8156 (goacc_exit_data): Rename to...
8157 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8158 (acc_delete, acc_delete_async, acc_delete_finalize,
8159 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8160 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8161 goacc_exit_datum function.
8162 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8163 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8164 New functions.
8165 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8166 goacc_exit_data_internal helper functions.
8167 * target.c (gomp_map_vars_internal): Handle
8168 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8169 semantics.
8170 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8171 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8172 virtual_refcount field instead of dynamic_refcount.
8173 (gomp_free_memmap): Remove function.
8174 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8175 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8176 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8177
2a656a93
JB
81782019-12-19 Julian Brown <julian@codesourcery.com>
8179 Thomas Schwinge <thomas@codesourcery.com>
8180
8181 * libgomp.h (struct splay_tree_aux): New.
8182 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8183 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8184 to aux struct.
8185 (gomp_remove_var_internal): Free aux block if present.
8186 (gomp_load_image_to_device): Zero-initialise aux field instead of
8187 link_key field.
8188 (omp_target_associate_pointer): Zero-initialise aux field.
8189
601399c0
JJ
81902019-12-18 Jakub Jelinek <jakub@redhat.com>
8191
8192 PR middle-end/86416
8193 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8194 q or none.
8195 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8196 L or none.
8197
a6163563
JB
81982019-12-19 Julian Brown <julian@codesourcery.com>
8199 Maciej W. Rozycki <macro@codesourcery.com>
8200 Tobias Burnus <tobias@codesourcery.com>
8201 Thomas Schwinge <thomas@codesourcery.com>
8202
8203 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8204 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8205 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8206 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8207 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8208 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8209 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8210 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8211 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8212
6278b549
TS
82132019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8214
77ce5555
TS
8215 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8216 called...
8217 (goacc_insert_pointer): ... from here, "present" case.
8218 (goacc_insert_pointer): Inline function into...
8219 (GOACC_enter_exit_data): ... here, and simplify.
8220
9444a299
TS
8221 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8222 called...
8223 (goacc_insert_pointer): ... from here, "not present" case.
8224
5031b619
TS
8225 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8226 all users.
8227
1a79b578
TS
8228 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8229 'goacc_enter_data', 'goacc_exit_data'.
8230
34cfe31e
TS
8231 * oacc-mem.c (delete_copyout): Refactor into...
8232 (goacc_exit_data): ... this. Adjust all users.
8233
aaf0e9d7
TS
8234 * oacc-mem.c (present_create_copy): Refactor into...
8235 (goacc_enter_data): ... this. Adjust all users.
8236
83d1d065
TS
8237 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8238 'gomp_remove_var'.
8239
cc3f11f5
TS
8240 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8241 like 'GOMP_MAP_FROM'.
8242
ddb25eb9
TS
8243 PR libgomp/92726
8244 PR libgomp/92970
8245 PR libgomp/92984
8246 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8247 fails.
8248 (GOACC_enter_exit_data): Simplify accordingly.
8249 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8250 subsuming...
8251 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8252 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8253 file.
8254 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8255 subsuming...
8256 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8257 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8258 file.
8259 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8260 subsuming...
8261 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8262
32128577
TS
8263 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8264 'finalize' handling.
8265
ba40277f
TS
8266 PR libgomp/92848
8267 * oacc-mem.c (acc_map_data, present_create_copy)
8268 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8269 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8270 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8271 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8272 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8273 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8274 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8275 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8276 Remove "XFAIL"s.
8277
6278b549
TS
8278 * target.c (gomp_unmap_tgt): Make it 'static'.
8279 * libgomp.h (gomp_unmap_tgt): Remove.
8280
c80c9e26
TB
82812019-12-18 Tobias Burnus <tobias@codesourcery.com>
8282
8283 PR middle-end/86416
8284 * testsuite/libgomp.c/pr86416-1.c: New.
8285 * testsuite/libgomp.c/pr86416-2.c: New.
8286
0b8499a4
TB
82872019-12-17 Tobias Burnus <tobias@codesourcery.com>
8288
8289 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8290 all symbols as public except for the 'use …, only' imported symbol,
8291 which is private.
8292 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8293 all symbols from module openacc_kinds as PUBLIC
8294 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8295 fix comment typo.
8296 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8297
1cbd94e8
JB
82982019-12-13 Julian Brown <julian@codesourcery.com>
8299
8300 PR libgomp/92881
8301
8302 * libgomp.h (gomp_remove_var_async): Add prototype.
8303 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8304 gomp_remove_var.
8305 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8306 whether target_mem_desc was unmapped.
8307 (gomp_unref_tgt_void): New.
8308 (gomp_remove_var): Reimplement in terms of...
8309 (gomp_remove_var_internal): ...this new helper function.
8310 (gomp_remove_var_async): New, implemented using above helper function.
8311 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8312 gomp_unref_tgt.
8313
26b74ed0
AS
83142019-12-13 Andrew Stubbs <ams@codesourcery.com>
8315
8316 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8317 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8318 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8319 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8320 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8321 Likewise.
8322 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8323 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8324
7858bb96
TB
83252019-12-13 Tobias Burnus <tobias@codesourcery.com>
8326
8327 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8328 as public except for the 'use …, only' imported symbol, which is
8329 private.
8330 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8331 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8332 attributes for acc_copyout_finalize and acc_delete_finalize.
8333
f8ac7d8f
JJ
83342019-12-11 Jakub Jelinek <jakub@redhat.com>
8335
8336 PR fortran/92899
8337 * testsuite/libgomp.fortran/atomic1.f90: New test.
8338
3d1b5e71
TS
83392019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8340
d6e8c01c
TS
8341 PR libgomp/92843
8342 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8343 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8344 assertions.
8345 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8346 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8347 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8348 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8349 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8350
57963e39
TS
8351 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8352 * oacc-mem.c: ... here.
8353 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8354 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8355 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8356 Remove.
8357 * libgomp_g.h: Update.
8358
c5578b56
TS
8359 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8360 * oacc-async.c: ... here.
8361 * oacc-int.h (goacc_wait): Declare.
8362 * libgomp_g.h: Update
8363
3d1b5e71
TS
8364 PR libgomp/92854
8365 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8366 New file.
8367 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8368 Likewise.
8369 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8370 Likewise.
8371 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8372 Likewise.
8373 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8374 Likewise.
8375 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8376 Likewise.
8377
5e939438
TS
83782019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8379 Julian Brown <julian@codesourcery.com>
8380
8381 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8382 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8383
93d90219
TB
83842019-12-11 Tobias Burnus <tobias@codesourcery.com>
8385
8386 * omp_lib.h.in: Fix spelling of function declaration
8387 omp_get_cancell(l)ation.
8388 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8389 Fix typos.
8390 * env.c: Fix comment typos.
8391 * oacc-host.c: Likewise.
8392 * ordered.c: Likewise.
8393 * task.c: Likewise.
8394 * team.c: Likewise.
8395 * config/gcn/task.c: Likewise.
8396 * config/gcn/team.c: Likewise.
8397 * config/nvptx/task.c: Likewise.
8398 * config/nvptx/team.c: Likewise.
8399 * plugin/plugin-gcn.c: Likewise.
8400 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8401 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8402 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8403
a0221aee
TB
84042019-12-11 Tobias Burnus <tobias@codesourcery.com>
8405
8406 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8407 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8408 unnecessary 'dg-additional-options "-w"'.
8409
47afc7b4
TS
84102019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8411 Julian Brown <julian@codesourcery.com>
8412
8413 PR libgomp/92116
8414 PR libgomp/92877
8415
8416 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8417 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8418 Adjust all users.
8419 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8420 Remove XFAIL.
8421 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8422 Likewise.
8423 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8424
b5859e40
TS
84252019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8426
cec41816
TS
8427 PR libgomp/92503
8428 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8429 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8430 file.
8431 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8432 Likewise.
8433 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8434 Likewise.
8435 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8436 Likewise.
8437 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8438 Likewise.
8439 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8440 Likewise.
8441 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8442 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8443 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8444 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8445 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8446 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8447 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8448 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8449 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8450 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8451
e103542b
TS
8452 PR libgomp/92840
8453 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8454 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8455 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8456 New file.
8457 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8458 Likewise.
8459 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8460 Likewise.
8461 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8462 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8463
41f36f22
TS
8464 PR libgomp/92511
8465 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8466 this file...
8467 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8468 this file...
8469 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8470 file...
8471 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8472 file...
8473 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8474 ... with their content moved into, and extended in this new file.
8475 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8476 New file.
8477 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8478 Likewise.
8479 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8480 Likewise.
8481 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8482 Likewise.
8483
6effebe1
TS
8484 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8485
7d020473
TS
8486 PR libgomp/92854
8487 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8488
1e1fb715
TS
8489 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8490
b5859e40
TS
8491 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8492
11586ed9
TB
84932019-12-09 Tobias Burnus <tobias@codesourcery.com>
8494
8495 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8496 unique.
8497 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8498 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8499 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8500 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8501 Ditto.
8502 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8503 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8504
3ad4a03a
KCY
85052019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8506
8507 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8508
6e4d01d6
TB
85092019-12-06 Tobias Burnus <tobias@codesourcery.com>
8510 Kwok Cheung Yeung <kcy@codesourcery.com>
8511
8512 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8513 if input it a NULL pointer.
8514 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8515 diagnostic of NULL pointer.
8516 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8517 * testsuite/libgomp.fortran/optional-map.f90: New.
8518 * testsuite/libgomp.fortran/use_device_addr-1.f90
8519 (test_dummy_opt_callee_1_absent): New.
8520 (test_dummy_opt_call_1): Call it.
8521 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8522 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8523 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8524 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8525 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8526 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8527 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8528 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8529 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8530 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8531 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8532 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8533 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8534 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8535 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8536 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8537
ad80ec46
TB
85382019-12-05 Tobias Burnus <tobias@codesourcery.com>
8539
8540 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8541 expect dg-output of 'Error termination.' for GCN.
8542 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8543 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8544
a8a5f4cc
JJ
85452019-12-04 Jakub Jelinek <jakub@redhat.com>
8546
8547 PR fortran/92756
8548 * testsuite/libgomp.fortran/teams1.f90: New test.
8549 * testsuite/libgomp.fortran/teams2.f90: New test.
8550
d8f0024b
FH
85512019-12-03 Frederik Harwath <frederik@codesourcery.com>
8552
8553 * oacc-init.c (acc_known_device_type): Add function.
8554 (unknown_device_type_error): Add function.
8555 (name_of_acc_device_t): Change to call unknown_device_type_error
8556 on unknown type.
8557 (resolve_device): Use acc_known_device_type.
8558 (acc_init): Fail if acc_device_t argument is not valid.
8559 (acc_shutdown): Likewise.
8560 (acc_get_num_devices): Likewise.
8561 (acc_set_device_type): Likewise.
8562 (acc_get_device_num): Likewise.
8563 (acc_set_device_num): Likewise.
8564 (acc_on_device): Add comment that argument validity is not checked.
8565
83caa34e
AS
85662019-12-03 Andrew Stubbs <ams@codesourcery.com>
8567
8568 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8569 Recognize amdgcn.
8570 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8571 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8572 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8573 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8574 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8575
00484365
SN
85762019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8577
8578 PR libgomp/91938
8579 * configure.tgt: Avoid IE tls on *-*-musl*.
8580
9909a059
TB
85812019-11-29 Tobias Burnus <tobias@codesourcery.com>
8582
8583 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8584 adding a common-block test case.
8585
b3f44388
JJ
85862019-11-29 Jakub Jelinek <jakub@redhat.com>
8587
8588 PR c++/60228
8589 * testsuite/libgomp.c++/udr-20.C: New test.
8590 * testsuite/libgomp.c++/udr-21.C: New test.
8591
b1a73b48
TS
85922019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8593
8594 * testsuite/lib/libgomp.exp
8595 (check_effective_target_offload_target_nvptx): New proc.
8596 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8597 'dg-skip-if'.
8598 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8599 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8600 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8601
b8e72446
RO
86022019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8603
8604 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8605 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8606 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8607 * testsuite/libgomp.c/private-1.c: Likewise.
8608 * testsuite/libgomp.c/task-1.c: Likewise.
8609 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8610
d88b27da
JB
86112019-11-20 Julian Brown <julian@codesourcery.com>
8612
8613 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8614 aq->mutex here.
8615 (queue_push_launch): Lock aq->mutex before calling
8616 wait_for_queue_nonfull.
8617 (queue_push_callback): Likewise.
8618 (queue_push_asyncwait): Likewise.
8619 (queue_push_placeholder): Likewise.
8620
8d2f4ddf
JB
86212019-11-20 Julian Brown <julian@codesourcery.com>
8622
8623 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8624 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8625 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8626 return code.
8627
e307b05f
JB
86282019-11-20 Julian Brown <julian@codesourcery.com>
8629
8630 PR libgomp/92511
8631
8632 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8633 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8634 in non-present/create case.
8635 (delete_copyout): Change error condition to fail only on copies outside
8636 of mapped block. Adjust error message accordingly.
8637 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8638 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8639 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8640 message.
8641 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8642 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8643 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8644
83115e9e
MR
86452019-11-20 Maciej W. Rozycki <macro@wdc.com>
8646
8647 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8648 libatomic in build-tree testing.
8649
a1289887
MR
86502019-11-18 Maciej W. Rozycki <macro@wdc.com>
8651
8652 * testsuite/Makefile.in: Regenerate.
8653
8916ba87
AS
86542019-11-15 Andrew Stubbs <ams@codesourcery.com>
8655
8656 * testsuite/libgomp.c/target-print-1.c: New file.
8657 * testsuite/libgomp.fortran/target-print-1.f90: New file.
8658 * testsuite/libgomp.oacc-c/print-1.c: New file.
8659 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8660
237957cc
AS
86612019-11-13 Andrew Stubbs <ams@codesourcery.com>
8662 Kwok Cheung Yeung <kcy@codesourcery.com>
8663 Julian Brown <julian@codesourcery.com>
8664 Tom de Vries <tom@codesourcery.com>
8665
8666 * plugin/Makefrag.am: Add amdgcn plugin support.
8667 * plugin/configfrag.ac: Likewise.
8668 * plugin/plugin-gcn.c: New file.
8669 * configure: Regenerate.
8670 * Makefile.in: Regenerate.
8671 * testsuite/Makefile.in: Regenerate.
8672
cee16451
AS
86732019-11-13 Andrew Stubbs <ams@codesourcery.com>
8674
8675 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8676 and use team_malloc variants.
8677 (gomp_gcn_exit_kernel): Use team_free.
8678 * libgomp.h (TEAM_ARENA_SIZE): Define.
8679 (TEAM_ARENA_START): Define.
8680 (TEAM_ARENA_FREE): Define.
8681 (TEAM_ARENA_END): Define.
8682 (team_malloc): New function.
8683 (team_malloc_cleared): New function.
8684 (team_free): New function.
8685 * team.c (gomp_new_team): Initialize and use team_malloc.
8686 (free_team): Use team_free.
8687 (gomp_free_thread): Use team_free.
8688 (gomp_pause_host): Use team_free.
8689 * work.c (gomp_init_work_share): Use team_malloc.
8690 (gomp_fini_work_share): Use team_free.
8691
fa499995
AS
86922019-11-13 Andrew Stubbs <ams@codesourcery.com>
8693 Kwok Cheung Yeung <kcy@codesourcery.com>
8694 Julian Brown <julian@codesourcery.com>
8695 Tom de Vries <tom@codesourcery.com>
8696
8697 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8698 * Makefile.in: Regenerate.
8699 * config.h.in (PLUGIN_GCN): Add new undef.
8700 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8701 * config/gcn/affinity-fmt.c: New file.
8702 * config/gcn/bar.c: New file.
8703 * config/gcn/bar.h: New file.
8704 * config/gcn/doacross.h: New file.
8705 * config/gcn/icv-device.c: New file.
8706 * config/gcn/oacc-target.c: New file.
8707 * config/gcn/simple-bar.h: New file.
8708 * config/gcn/target.c: New file.
8709 * config/gcn/task.c: New file.
8710 * config/gcn/team.c: New file.
8711 * config/gcn/time.c: New file.
8712 * configure.ac: Add amdgcn*-*-*.
8713 * configure: Regenerate.
8714 * configure.tgt: Add amdgcn*-*-*.
8715 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8716 * libgomp.h (gcn_thrs): Add amdgcn variant.
8717 (set_gcn_thrs): Likewise.
8718 (gomp_thread): Likewise.
8719 * oacc-int.h (goacc_thread): Likewise.
8720 * oacc-target.c: New file.
8721 * openacc.f90 (acc_device_gcn): New parameter.
8722 * openacc.h (acc_device_t): Add acc_device_gcn.
8723 * team.c (gomp_free_pool_helper): Add amdgcn support.
8724
d2903ce0
AS
87252019-11-13 Andrew Stubbs <ams@codesourcery.com>
8726 Julian Brown <julian@codesourcery.com>
8727
8728 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8729 parameter.
8730 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8731 queue constructor.
8732 * oacc-host.c (host_openacc_async_construct): Add device parameter.
8733 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8734 device parameter.
8735
b3d14b3a
AS
87362019-11-13 Andrew Stubbs <ams@codesourcery.com>
8737
8738 * configure.tgt (nvptx*-*-*): Add "accel" directory.
8739 * config/nvptx/libgomp-plugin.c: Move ...
8740 * config/accel/libgomp-plugin.c: ... to here.
8741 * config/nvptx/lock.c: Move ...
8742 * config/accel/lock.c: ... to here.
8743 * config/nvptx/mutex.c: Move ...
8744 * config/accel/mutex.c: ... to here.
8745 * config/nvptx/mutex.h: Move ...
8746 * config/accel/mutex.h: ... to here.
8747 * config/nvptx/oacc-async.c: Move ...
8748 * config/accel/oacc-async.c: ... to here.
8749 * config/nvptx/oacc-cuda.c: Move ...
8750 * config/accel/oacc-cuda.c: ... to here.
8751 * config/nvptx/oacc-host.c: Move ...
8752 * config/accel/oacc-host.c: ... to here.
8753 * config/nvptx/oacc-init.c: Move ...
8754 * config/accel/oacc-init.c: ... to here.
8755 * config/nvptx/oacc-mem.c: Move ...
8756 * config/accel/oacc-mem.c: ... to here.
8757 * config/nvptx/oacc-plugin.c: Move ...
8758 * config/accel/oacc-plugin.c: ... to here.
8759 * config/nvptx/omp-lock.h: Move ...
8760 * config/accel/omp-lock.h: ... to here.
8761 * config/nvptx/openacc.f90: Move ...
8762 * config/accel/openacc.f90: ... to here.
8763 * config/nvptx/pool.h: Move ...
8764 * config/accel/pool.h: ... to here.
8765 * config/nvptx/proc.c: Move ...
8766 * config/accel/proc.c: ... to here.
8767 * config/nvptx/ptrlock.c: Move ...
8768 * config/accel/ptrlock.c: ... to here.
8769 * config/nvptx/ptrlock.h: Move ...
8770 * config/accel/ptrlock.h: ... to here.
8771 * config/nvptx/sem.c: Move ...
8772 * config/accel/sem.c: ... to here.
8773 * config/nvptx/sem.h: Move ...
8774 * config/accel/sem.h: ... to here.
8775 * config/nvptx/thread-stacksize.h: Move ...
8776 * config/accel/thread-stacksize.h: ... to here.
8777
62aee289
MR
87782019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
8779 Tobias Burnus <tobias@codesourcery.com>
8780 Frederik Harwath <frederik@codesourcery.com>
8781 Thomas Schwinge <thomas@codesourcery.com>
8782
8783 libgomp/
8784 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8785 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8786 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8787
a2c26c50
TB
87882019-11-11 Tobias Burnus <tobias@codesourcery.com>
8789 Kwok Cheung Yeung <kcy@codesourcery.com>
8790
8791 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8792 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8793
6d4868f3
TS
87942019-11-11 Thomas Schwinge <thomas@codesourcery.com>
8795
bfa1837b
TS
8796 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8797
6d4868f3
TS
8798 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8799 run'.
8800 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8801 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8802
5d183d17
FH
88032019-11-06 Thomas Schwinge <thomas@codesourcery.com>
8804
8805 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8806 Add expected warnings about missing reduction clauses.
8807 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8808 Likewise.
8809 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8810 Likewise.
8811 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
8812 Likewise.
8813
d8f03b03
TB
88142019-11-04 Tobias Burnus <tobias@codesourcery.com>
8815
8816 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
8817 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
8818 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
8819 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8820 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8821 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8822
12fd2ec5
TB
88232019-11-04 Tobias Burnus <tobias@codesourcery.com>
8824
8825 PR fortran/92305
8826 * testsuite/libgomp.fortran/allocatable2.f90: Use
8827 unique numbers with 'stop'.
8828 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8829 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8830 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
8831 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
8832 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
8833
92e63bd2
TB
88342019-11-01 Tobias Burnus <tobias@codesourcery.com>
8835
8836 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
8837 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
8838 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8839 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
8840 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
8841 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
8842
91ae0a46
TB
88432019-10-30 Tobias Burnus <tobias@codesourcery.com>
8844
8845 * testsuite/libgomp.fortran/target9.f90: New.
8846
c425e66b
TB
88472019-10-30 Tobias Burnus <tobias@codesourcery.com>
8848
8849 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
8850 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
8851 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
8852 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
8853 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
8854 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
8855 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
8856 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
8857 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
8858 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
8859 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
8860 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
8861 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
8862 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
8863 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
8864 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
8865 * testsuite/libgomp.fortran/associate1.f90: Ditto.
8866 * testsuite/libgomp.fortran/associate2.f90: Ditto.
8867 * testsuite/libgomp.fortran/associate3.f90: Ditto.
8868 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
8869 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
8870 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
8871 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
8872 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
8873 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
8874 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
8875 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
8876 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
8877 * testsuite/libgomp.fortran/character1.f90: Ditto.
8878 * testsuite/libgomp.fortran/character2.f90: Ditto.
8879 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
8880 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
8881 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
8882 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
8883 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
8884 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
8885 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
8886 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
8887 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
8888 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
8889 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
8890 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
8891 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
8892 * testsuite/libgomp.fortran/do1.f90: Ditto.
8893 * testsuite/libgomp.fortran/do2.f90: Ditto.
8894 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
8895 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
8896 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
8897 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
8898 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
8899 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
8900 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
8901 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
8902 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
8903 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
8904 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
8905 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
8906 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
8907 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
8908 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
8909 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
8910 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
8911 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
8912 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
8913 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
8914 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
8915 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
8916 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
8917 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
8918 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
8919 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
8920 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
8921 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
8922 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
8923 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
8924 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
8925 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
8926 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
8927 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
8928 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
8929 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
8930 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
8931 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
8932 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
8933 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
8934 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
8935 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
8936 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
8937 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
8938 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
8939 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
8940 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
8941 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
8942 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
8943 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
8944 * testsuite/libgomp.fortran/lib1.f90: Ditto.
8945 * testsuite/libgomp.fortran/lib4.f90: Ditto.
8946 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
8947 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
8948 * testsuite/libgomp.fortran/nested1.f90: Ditto.
8949 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
8950 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
8951 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
8952 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8953 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
8954 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
8955 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8956 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
8957 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
8958 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
8959 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
8960 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
8961 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
8962 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
8963 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8964 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
8965 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8966 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
8967 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
8968 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
8969 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
8970 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
8971 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
8972 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
8973 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
8974 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
8975 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
8976 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
8977 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
8978 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
8979 * testsuite/libgomp.fortran/pr28390.f: Ditto.
8980 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
8981 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8982 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
8983 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
8984 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
8985 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
8986 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
8987 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
8988 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
8989 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
8990 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
8991 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
8992 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
8993 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
8994 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
8995 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
8996 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
8997 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
8998 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
8999 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9000 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9001 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9002 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9003 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9004 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9005 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9006 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9007 * testsuite/libgomp.fortran/reference1.f90: Ditto.
9008 * testsuite/libgomp.fortran/reference2.f90: Ditto.
9009 * testsuite/libgomp.fortran/retval1.f90: Ditto.
9010 * testsuite/libgomp.fortran/retval2.f90: Ditto.
9011 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9012 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9013 * testsuite/libgomp.fortran/simd1.f90: Ditto.
9014 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9015 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9016 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9017 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9018 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9019 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9020 * testsuite/libgomp.fortran/stack.f90: Ditto.
9021 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9022 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9023 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9024 * testsuite/libgomp.fortran/target1.f90: Ditto.
9025 * testsuite/libgomp.fortran/target2.f90: Ditto.
9026 * testsuite/libgomp.fortran/target3.f90: Ditto.
9027 * testsuite/libgomp.fortran/target4.f90: Ditto.
9028 * testsuite/libgomp.fortran/target5.f90: Ditto.
9029 * testsuite/libgomp.fortran/target6.f90: Ditto.
9030 * testsuite/libgomp.fortran/target7.f90: Ditto.
9031 * testsuite/libgomp.fortran/target8.f90: Ditto.
9032 * testsuite/libgomp.fortran/task1.f90: Ditto.
9033 * testsuite/libgomp.fortran/task2.f90: Ditto.
9034 * testsuite/libgomp.fortran/task3.f90: Ditto.
9035 * testsuite/libgomp.fortran/task4.f90: Ditto.
9036 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9037 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9038 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9039 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9040 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9041 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9042 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9043 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9044 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9045 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9046 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9047 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9048 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9049 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9050 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9051 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9052 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9053 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9054 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9055 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9056 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9057 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9058 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9059 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9060 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9061 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9062 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9063 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9064 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9065 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9066 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9067 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9068 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9069 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9070
01509e2f
TB
90712019-10-30 Tobias Burnus <tobias@codesourcery.com>
9072
9073 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9074 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9075 Ditto; add 'dg-do run' for torture testing.
9076 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9077 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9078 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9079 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9080 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9081 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9082 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9083 * testsuite/libgomp.fortran/task2.f90: Ditto.
9084 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9085 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9086 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9087 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9088 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9089 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9090
ffbdd78a
TB
90912019-10-28 Tobias Burnus <tobias@codesourcery.com>
9092
9093 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9094 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9095 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9096 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9097 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9098 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9099 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9100 Use 'stop' not abort().
9101 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9102 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9103 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9104 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9105 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9106 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9107 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9108 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9109 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9110 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9111 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9112 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9113 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9114 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9115 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9116 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9117 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9118 Ditto.
9119 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9120 Ditto.
9121 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9122 Ditto.
9123 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9124 Ditto.
9125 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9126 Ditto.
9127 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9128 Ditto.
9129 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9130 Ditto.
9131 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9132 Ditto.
9133 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9134 Ditto.
9135 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9136 Ditto.
9137 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9138 Ditto.
9139 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9140 Ditto.
9141 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9142 Ditto.
9143 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9144 Ditto.
9145 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9146 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9147 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9148 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9149 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9150 Likewise and also add 'dg-do run'.
9151 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9152 Ditto.
9153
ec084613
CP
91542019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9155 Tobias Burnus <tobias@codesourcery.com>
9156
9157 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9158 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9159 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9160
77ef3394
JJ
91612019-10-14 Jakub Jelinek <jakub@redhat.com>
9162
9163 PR libgomp/92081
9164 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9165 than 0.
9166
08c14aaa
TB
91672019-10-11 Tobias Burnus <tobias@codesourcery.com>
9168
9169 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9170 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9171
6bbead0c
TS
91722019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9173
9174 PR middle-end/92036
9175 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9176 file.
9177
eba3dee8
TB
91782019-10-09 Tobias Burnus <tobias@codesourcery.com>
9179
9180 PR testsuite/91884
9181 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9182 add -lquadmath.
9183 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9184
7d48e14f
JJ
91852019-10-09 Jakub Jelinek <jakub@redhat.com>
9186
9187 PR libgomp/92028
9188 * target.c (gomp_map_vars_internal): Readd the previous
9189 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9190 though do that just in the !not_found_cnt case.
9191
65b67cf3
TB
91922019-10-08 Tobias Burnus <tobias@codesourcery.com>
9193
9194 * gfortran.dg/gomp/target-simd.f90: New.
9195
6c7e076b
JB
91962019-10-02 Julian Brown <julian@codesourcery.com>
9197 Cesar Philippidis <cesar@codesourcery.com>
9198
9199 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9200 * target.c (FIELD_TGT_EMPTY): Define.
9201 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9202 as switch instead of list of ifs.
9203 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9204
d61bff85
AT
92052019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9206
9207 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9208 include. Replace alloca () with __builtin_alloca ().
9209 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9210
810f316d
JJ
92112019-10-01 Jakub Jelinek <jakub@redhat.com>
9212
9213 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9214 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9215 * oacc-parallel.c: Don't include "libgomp_g.h".
9216 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9217 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9218 * aclocal.m4: Regenerated.
9219 * config.h.in: Regenerated.
9220 * configure: Regenerated.
9221 * Makefile.in: Regenerated.
9222
d7f9ee98
KCY
92232019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9224
9225 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9226
e9085da5
MR
92272019-09-27 Maciej W. Rozycki <macro@wdc.com>
9228
9229 * configure: Regenerate.
9230
c28712be
TB
92312019-09-13 Tobias Burnus <tobias@codesourcery.com>
9232
9233 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9234 string is initialized.
9235
3c086f8d
FW
92362019-09-06 Florian Weimer <fweimer@redhat.com>
9237
9238 * configure: Regenerate.
9239
c6c2d1bc
CLT
92402019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9241
9242 PR other/79543
9243 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9244 scanning to conform to the GNU Coding Standards.
9245 * configure: Regenerate.
9246
5cb72d83
JJ
92472019-08-28 Jakub Jelinek <jakub@redhat.com>
9248
9249 PR libgomp/91530
9250 * testsuite/libgomp.c/scan-21.c: New test.
9251 * testsuite/libgomp.c/scan-22.c: New test.
9252
0ad7981c
JJ
92532019-08-27 Jakub Jelinek <jakub@redhat.com>
9254
9255 PR libgomp/91530
9256 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9257 targets.
9258 * testsuite/libgomp.c/scan-12.c: Likewise.
9259 * testsuite/libgomp.c/scan-13.c: Likewise.
9260 * testsuite/libgomp.c/scan-14.c: Likewise.
9261 * testsuite/libgomp.c/scan-15.c: Likewise.
9262 * testsuite/libgomp.c/scan-16.c: Likewise.
9263 * testsuite/libgomp.c/scan-17.c: Likewise.
9264 * testsuite/libgomp.c/scan-18.c: Likewise.
9265 * testsuite/libgomp.c/scan-19.c: Likewise.
9266 * testsuite/libgomp.c/scan-20.c: Likewise.
9267 * testsuite/libgomp.c++/scan-9.C: Likewise.
9268 * testsuite/libgomp.c++/scan-10.C: Likewise.
9269 * testsuite/libgomp.c++/scan-11.C: Likewise.
9270 * testsuite/libgomp.c++/scan-12.C: Likewise.
9271 * testsuite/libgomp.c++/scan-14.C: Likewise.
9272 * testsuite/libgomp.c++/scan-15.C: Likewise.
9273 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9274 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9275 * testsuite/libgomp.c++/scan-16.C: Likewise.
9276
1e67491a
TK
92772019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9278
9279 PR fortran/91473
9280 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9281 -std=legacy so invalid code in the test case is accepted.
9282
393fdeb1
TK
92832019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9284
9285 PR fortran/91422
9286 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9287 dimension.
9288
8860d270
JJ
92892019-08-08 Jakub Jelinek <jakub@redhat.com>
9290
9291 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9292 perform the lookup in the first loop only if !not_found_cnt, otherwise
9293 perform lookups for it in the second loop guarded with
9294 if (not_found_cnt || has_firstprivate).
9295 * testsuite/libgomp.c/target-37.c: New test.
9296 * testsuite/libgomp.c++/target-22.C: New test.
9297
398e3feb
JJ
92982019-08-07 Jakub Jelinek <jakub@redhat.com>
9299
9300 * testsuite/libgomp.c/target-18.c (struct S): New type.
9301 (foo): Use use_device_addr clause instead of use_device_ptr clause
9302 where required by OpenMP 5.0, add further tests for both use_device_ptr
9303 and use_device_addr clauses.
9304 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9305 (foo): Use use_device_addr clause instead of use_device_ptr clause
9306 where required by OpenMP 5.0, add further tests for both use_device_ptr
9307 and use_device_addr clauses. Add t and u arguments.
9308 (main): Adjust caller.
9309
d81ab49d
JJ
93102019-08-06 Jakub Jelinek <jakub@redhat.com>
9311
9312 * testsuite/libgomp.c++/loop-13.C: New test.
9313 * testsuite/libgomp.c++/loop-14.C: New test.
9314 * testsuite/libgomp.c++/loop-15.C: New test.
9315
c3ac76aa
JJ
93162019-07-31 Jakub Jelinek <jakub@redhat.com>
9317
9318 PR middle-end/91301
9319 * testsuite/libgomp.c++/for-27.C: New test.
9320
8dc63166
SK
93212019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9322
393fdeb1 9323 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 9324 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 9325
554a530f
JJ
93262019-07-20 Jakub Jelinek <jakub@redhat.com>
9327
9328 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9329
6cda84b5
JJ
93302019-07-08 Jakub Jelinek <jakub@redhat.com>
9331
9332 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9333 * testsuite/libgomp.c++/scan-16.C: Likewise.
9334
1f52d1a8
JJ
93352019-07-06 Jakub Jelinek <jakub@redhat.com>
9336
6f67abcd
JJ
9337 * testsuite/libgomp.c/scan-19.c: New test.
9338 * testsuite/libgomp.c/scan-20.c: New test.
9339
1f52d1a8
JJ
9340 * testsuite/libgomp.c/scan-11.c: New test.
9341 * testsuite/libgomp.c/scan-12.c: New test.
9342 * testsuite/libgomp.c/scan-13.c: New test.
9343 * testsuite/libgomp.c/scan-14.c: New test.
9344 * testsuite/libgomp.c/scan-15.c: New test.
9345 * testsuite/libgomp.c/scan-16.c: New test.
9346 * testsuite/libgomp.c/scan-17.c: New test.
9347 * testsuite/libgomp.c/scan-18.c: New test.
9348 * testsuite/libgomp.c++/scan-9.C: New test.
9349 * testsuite/libgomp.c++/scan-10.C: New test.
9350 * testsuite/libgomp.c++/scan-11.C: New test.
9351 * testsuite/libgomp.c++/scan-12.C: New test.
9352 * testsuite/libgomp.c++/scan-13.C: New test.
9353 * testsuite/libgomp.c++/scan-14.C: New test.
9354 * testsuite/libgomp.c++/scan-15.C: New test.
9355 * testsuite/libgomp.c++/scan-16.C: New test.
9356
2f03073f
JJ
93572019-07-04 Jakub Jelinek <jakub@redhat.com>
9358
9359 * testsuite/libgomp.c/scan-9.c: New test.
9360 * testsuite/libgomp.c/scan-10.c: New test.
9361
2f6bb511
JJ
93622019-07-03 Jakub Jelinek <jakub@redhat.com>
9363
9364 * testsuite/libgomp.c++/scan-1.C: New test.
9365 * testsuite/libgomp.c++/scan-2.C: New test.
9366 * testsuite/libgomp.c++/scan-3.C: New test.
9367 * testsuite/libgomp.c++/scan-4.C: New test.
9368 * testsuite/libgomp.c++/scan-5.C: New test.
9369 * testsuite/libgomp.c++/scan-6.C: New test.
9370 * testsuite/libgomp.c++/scan-7.C: New test.
9371 * testsuite/libgomp.c++/scan-8.C: New test.
9372 * testsuite/libgomp.c/scan-1.c: New test.
9373 * testsuite/libgomp.c/scan-2.c: New test.
9374 * testsuite/libgomp.c/scan-3.c: New test.
9375 * testsuite/libgomp.c/scan-4.c: New test.
9376 * testsuite/libgomp.c/scan-5.c: New test.
9377 * testsuite/libgomp.c/scan-6.c: New test.
9378 * testsuite/libgomp.c/scan-7.c: New test.
9379 * testsuite/libgomp.c/scan-8.c: New test.
9380
bd194a51
TS
93812019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9382
85fca03a
TS
9383 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9384 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9385 Likewise.
9386
bd194a51
TS
9387 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9388 check.
9389
6652161e
CP
93902019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9391
9392 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9393 file.
9394
3a37d6f6
TS
93952019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9396
4017da8d
TS
9397 PR fortran/90743
9398 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9399 case.
9400 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9401 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9402 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9403 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9404
6f7c1f65
TS
9405 PR testsuite/90861
9406 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9407
3a37d6f6
TS
9408 PR middle-end/90862
9409 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9410
f45ce17d
TV
94112019-06-16 Tom de Vries <tdevries@suse.de>
9412
9413 PR tree-optimization/89376
9414 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9415
00908992
TV
94162019-06-15 Tom de Vries <tdevries@suse.de>
9417
9418 PR tree-optimization/89713
9419 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9420 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9421
211b7533
JJ
94222019-06-15 Jakub Jelinek <jakub@redhat.com>
9423
9424 PR middle-end/90779
9425 * testsuite/libgomp.c/pr90779.c: New test.
9426 * testsuite/libgomp.fortran/pr90779.f90: New test.
9427
120a01d1
TV
94282019-06-15 Tom de Vries <tdevries@suse.de>
9429
9430 PR tree-optimization/90009
9431 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9432
c29c92c7
FX
94332019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9434
9435 PR tree-optimization/89713
9436 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9437
ce9c4ec3
JJ
94382019-06-11 Jakub Jelinek <jakub@redhat.com>
9439
9440 PR target/90811
9441 * testsuite/libgomp.c/pr90811.c: New test.
9442
28b3a77c
JJ
94432019-06-05 Jakub Jelinek <jakub@redhat.com>
9444
9445 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9446 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9447
7855700e
JJ
94482019-06-04 Jakub Jelinek <jakub@redhat.com>
9449
9450 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9451 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9452 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9453 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9454
a7155c2e
RO
94552019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9456
9457 * configure.ac: Call AX_COUNT_CPUS.
9458 Substitute CPU_COUNT.
9459 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9460 count fallback.
9461 * aclocal.m4: Regenerate.
9462 * configure: Regenerate.
9463 * Makefile.in, testsuite/Makefile.in: Regenerate.
9464
7e47198b
JJ
94652019-05-29 Jakub Jelinek <jakub@redhat.com>
9466
9467 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9468 to ...
9469 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9470 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9471 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9472
fcfb8032
JJ
94732019-05-27 Jakub Jelinek <jakub@redhat.com>
9474
8e7757ba
JJ
9475 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9476
36c7a3ff
JJ
9477 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9478
fcfb8032
JJ
9479 PR libgomp/90641
9480 * work.c (gomp_init_work_share): Instead of aligning final ordered
9481 value to multiples of long long alignment, align to that the
9482 first part (ordered team ids) and if inline_ordered_team_ids
9483 is not on a long long alignment boundary within the structure,
9484 use __alignof__ (long long) - 1 pad size always.
9485 * loop.c (GOMP_loop_start): Fix *mem computation if
9486 inline_ordered_team_ids is not aligned on long long alignment boundary
9487 within the structure.
9488 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9489 * sections.c (GOMP_sections2_start): Likewise.
9490
b5c26449
JJ
94912019-05-24 Jakub Jelinek <jakub@redhat.com>
9492
6c7ae8c5
JJ
9493 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9494 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9495
b5c26449
JJ
9496 PR libgomp/90585
9497 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9498 HAVE_INTTYPES_H is defined.
9499 (print_uint64_t): New typedef.
9500 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9501 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9502 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9503 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9504 before casting to void *.
9505 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9506 * oacc-mem.c: Don't include config.h nor stdint.h.
9507 * target.c: Don't include config.h.
9508 * oacc-cuda.c: Likewise.
9509 * oacc-host.c: Don't include stdint.h.
9510
3e03ed66
JJ
95112019-05-20 Jakub Jelinek <jakub@redhat.com>
9512
9513 PR libgomp/90527
9514 * alloc.c (_GNU_SOURCE): Define.
9515
5fae049d
TS
95162019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9517
9518 * acc_prof.h: New file.
9519 * oacc-profiling.c: Likewise.
9520 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9521 Add these, respectively.
9522 * Makefile.in: Regenerate.
9523 * env.c (initialize_env): Call goacc_profiling_initialize.
9524 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9525 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9526 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9527 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9528 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9529 acc_prof_register, acc_prof_unregister, and acc_register_library.
9530 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9531 GOMP_PLUGIN_goacc_thread.
9532 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9533 prof_callbacks_enabled members.
9534 (goacc_prof_enabled, goacc_profiling_initialize)
9535 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9536 (goacc_profiling_dispatch): Declare.
9537 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9538 (GOACC_PROFILING_SETUP_P): Define.
9539 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9540 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9541 OpenACC Profiling Interface.
9542 * oacc-cuda.c (acc_get_current_cuda_device)
9543 (acc_get_current_cuda_context, acc_get_cuda_stream)
9544 (acc_set_cuda_stream): Likewise.
9545 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9546 (acc_init, acc_set_device_type, acc_get_device_type)
9547 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9548 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9549 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9550 (acc_unmap_data, present_create_copy, delete_copyout)
9551 (update_dev_host): Likewise.
9552 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9553 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9554 Likewise.
9555 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9556 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9557 Likewise.
9558 * libgomp.texi: Update.
9559 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9560 file.
9561 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9562 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9563 Likewise.
9564 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9565 Likewise.
9566 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9567 Likewise.
9568 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9569 Likewise.
9570
1f4c5b9b
CLT
95712019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9572
9573 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9574 (struct goacc_asyncqueue_list): Likewise.
9575 (goacc_aq): Likewise.
9576 (goacc_aq_list): Likewise.
9577 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9578 (GOMP_OFFLOAD_openacc_async_test): Remove.
9579 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9580 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9581 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9582 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9583 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9584 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9585 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9586 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9587 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9588 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9589 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9590 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9591 (GOMP_OFFLOAD_openacc_async_test): Declare.
9592 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9593 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9594 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9595 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9596 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9597
9598 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9599 (gomp_acc_insert_pointer): Adjust declaration.
9600 (gomp_copy_host2dev): New declaration.
9601 (gomp_copy_dev2host): Likewise.
9602 (gomp_map_vars_async): Likewise.
9603 (gomp_unmap_tgt): Likewise.
9604 (gomp_unmap_vars_async): Likewise.
9605 (gomp_fini_device): Likewise.
9606
9607 * oacc-async.c (get_goacc_thread): New function.
9608 (get_goacc_thread_device): New function.
9609 (lookup_goacc_asyncqueue): New function.
9610 (get_goacc_asyncqueue): New function.
9611 (acc_async_test): Adjust code to use new async design.
9612 (acc_async_test_all): Likewise.
9613 (acc_wait): Likewise.
9614 (acc_wait_async): Likewise.
9615 (acc_wait_all): Likewise.
9616 (acc_wait_all_async): Likewise.
9617 (goacc_async_free): New function.
9618 (goacc_init_asyncqueues): Likewise.
9619 (goacc_fini_asyncqueues): Likewise.
9620 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9621 design.
9622 (acc_set_cuda_stream): Likewise.
9623 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9624 (host_openacc_register_async_cleanup): Remove.
9625 (host_openacc_async_exec): New function.
9626 (host_openacc_async_test): Adjust parameters.
9627 (host_openacc_async_test_all): Remove.
9628 (host_openacc_async_wait): Remove.
9629 (host_openacc_async_wait_async): Remove.
9630 (host_openacc_async_wait_all): Remove.
9631 (host_openacc_async_wait_all_async): Remove.
9632 (host_openacc_async_set_async): Remove.
9633 (host_openacc_async_synchronize): New function.
9634 (host_openacc_async_serialize): New function.
9635 (host_openacc_async_host2dev): New function.
9636 (host_openacc_async_dev2host): New function.
9637 (host_openacc_async_queue_callback): New function.
9638 (host_openacc_async_construct): New function.
9639 (host_openacc_async_destruct): New function.
9640 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 9641 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
9642 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9643 (goacc_attach_host_thread_to_device): Remove old async code usage.
9644 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9645 (goacc_fini_asyncqueues): Likewise.
9646 (goacc_async_copyout_unmap_vars): Likewise.
9647 (goacc_async_free): Likewise.
9648 (get_goacc_asyncqueue): Likewise.
9649 (lookup_goacc_asyncqueue): Likewise.
9650 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9651 design.
9652 (present_create_copy): Adjust code to use new async design.
9653 (delete_copyout): Likewise.
9654 (update_dev_host): Likewise.
9655 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9656 async design.
9657 (gomp_acc_remove_pointer): Adjust code to use new async design.
9658 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9659 design.
9660 (GOACC_enter_exit_data): Likewise.
9661 (goacc_wait): Likewise.
9662 (GOACC_update): Likewise.
9663 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9664 when called, warn as obsolete in comment.
9665 * target.c (goacc_device_copy_async): New function.
9666 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9667 add goacc_device_copy_async case.
9668 (gomp_copy_dev2host): Likewise.
9669 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9670 (gomp_map_pointer): Likewise.
9671 (gomp_map_fields_existing): Likewise.
9672 (gomp_map_vars_internal): New always_inline function, renamed from
9673 gomp_map_vars.
9674 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9675 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9676 passing goacc_asyncqueue argument.
9677 (gomp_unmap_tgt): Remove static, add attribute_hidden.
9678 (gomp_unref_tgt): New function.
9679 (gomp_unmap_vars_internal): New always_inline function, renamed from
9680 gomp_unmap_vars.
9681 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9682 (gomp_unmap_vars_async): Implement by calling
9683 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9684 (gomp_fini_device): New function.
9685 (gomp_exit_data): Adjust gomp_copy_dev2host call.
9686 (gomp_load_plugin_for_device): Remove old interface, adjust to load
9687 new async interface.
9688 (gomp_target_fini): Adjust code to call gomp_fini_device.
9689
9690 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9691 (struct ptx_stream): Remove.
9692 (struct nvptx_thread): Remove current_stream field.
9693 (cuda_map_create): Remove.
9694 (cuda_map_destroy): Remove.
9695 (map_init): Remove.
9696 (map_fini): Remove.
9697 (map_pop): Remove.
9698 (map_push): Remove.
9699 (struct goacc_asyncqueue): Define.
9700 (struct nvptx_callback): Define.
9701 (struct ptx_free_block): Define.
9702 (struct ptx_device): Remove null_stream, active_streams, async_streams,
9703 stream_lock, and next fields.
9704 (enum ptx_event_type): Remove.
9705 (struct ptx_event): Remove.
9706 (ptx_event_lock): Remove.
9707 (ptx_events): Remove.
9708 (init_streams_for_device): Remove.
9709 (fini_streams_for_device): Remove.
9710 (select_stream_for_async): Remove.
9711 (nvptx_init): Remove ptx_events and ptx_event_lock references.
9712 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9713 case.
9714 (nvptx_open_device): Add free_blocks initialization, remove
9715 init_streams_for_device call.
9716 (nvptx_close_device): Remove fini_streams_for_device call, add
9717 free_blocks destruct code.
9718 (event_gc): Remove.
9719 (event_add): Remove.
9720 (nvptx_exec): Adjust parameters and code.
9721 (nvptx_free): Likewise.
9722 (nvptx_host2dev): Remove.
9723 (nvptx_dev2host): Remove.
9724 (nvptx_set_async): Remove.
9725 (nvptx_async_test): Remove.
9726 (nvptx_async_test_all): Remove.
9727 (nvptx_wait): Remove.
9728 (nvptx_wait_async): Remove.
9729 (nvptx_wait_all): Remove.
9730 (nvptx_wait_all_async): Remove.
9731 (nvptx_get_cuda_stream): Remove.
9732 (nvptx_set_cuda_stream): Remove.
9733 (GOMP_OFFLOAD_alloc): Adjust code.
9734 (GOMP_OFFLOAD_free): Likewise.
9735 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9736 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9737 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9738 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9739 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9740 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9741 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9742 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9743 (cuda_free_argmem): New function.
9744 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9745 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9746 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9747 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9748 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9749 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9750 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9751 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9752 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9753 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9754 (cuda_callback_wrapper): New function.
9755 (cuda_memcpy_sanity_check): New function.
9756 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9757 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9758 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9759 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9760
da2d30c1
TS
97612019-05-07 Thomas Schwinge <thomas@codesourcery.com>
9762
9763 PR target/87835
9764 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9765
2bbbfa4e
TS
97662019-05-06 Thomas Schwinge <thomas@codesourcery.com>
9767
9768 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9769
bbf1efe1
KB
97702019-03-27 Kevin Buettner <kevinb@redhat.com>
9771
9772 * team.c (gomp_team_start): Initialize pool->threads[0].
9773
1241136c
TS
97742019-02-22 Thomas Schwinge <thomas@codesourcery.com>
9775
b03d721a
TS
9776 * testsuite/libgomp.oacc-c++/c++.exp: Specify
9777 "-foffload=$offload_target".
9778 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9779 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9780 * testsuite/lib/libgomp.exp
9781 (check_effective_target_openacc_nvidia_accel_configured): Remove,
9782 as (conceptually) merged into
9783 check_effective_target_openacc_nvidia_accel_selected. Adjust all
9784 users.
9785
0a0384b4
TS
9786 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9787 * testsuite/libgomp-test-support.exp.in: Adjust.
9788 * testsuite/lib/libgomp.exp: Likewise. Don't populate
9789 openacc_device_types_s.
9790 (offload_target_to_openacc_device_type): New proc.
9791 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9792 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9793 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9794 * Makefile.in: Regenerate.
9795 * configure: Likewise.
9796 * testsuite/Makefile.in: Likewise.
9797
ee332b4a
TS
9798 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9799 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9800 instead of OFFLOAD_TARGETS.
9801 * target.c (gomp_target_init): Adjust.
9802 * testsuite/libgomp-test-support.exp.in: Likewise.
9803 * testsuite/lib/libgomp.exp: Likewise. Populate
9804 openacc_device_types_s instead of offload_targets_s_openacc.
9805 (check_effective_target_openacc_nvidia_accel_selected)
9806 (check_effective_target_openacc_host_selected): Adjust.
9807 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9808 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9809 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9810 * Makefile.in: Regenerate.
9811 * config.h.in: Likewise.
9812 * configure: Likewise.
9813 * testsuite/Makefile.in: Likewise.
9814
1241136c
TS
9815 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
9816 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
9817 "offloading: supported, but hardware not accessible".
9818 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9819 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9820
19695f4d
CLT
98212019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
9822
9823 PR c/87924
9824 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
9825 goacc_wait().
9826 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
9827 and related adjustment.
9828
8b44f8ec
JJ
98292019-01-30 Jakub Jelinek <jakub@redhat.com>
9830
9831 PR c++/88988
9832 * testsuite/libgomp.c++/pr88988.C: New test.
9833
be3a87e7
JJ
98342019-01-28 Jakub Jelinek <jakub@redhat.com>
9835
9836 PR middle-end/89002
9837 * testsuite/libgomp.c/pr89002.c: New test.
9838
497ef4d7
RB
98392019-01-28 Richard Biener <rguenther@suse.de>
9840
9841 PR testsuite/89064
9842 PR tree-optimization/86865
9843 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
9844
738c56d4
TV
98452019-01-24 Tom de Vries <tdevries@suse.de>
9846
9847 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
9848 once instantiated_devices drops to 0.
9849
4a75460b
TV
98502019-01-23 Tom de Vries <tdevries@suse.de>
9851
9852 PR target/PR88946
9853 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
9854 cuMemFree.
9855 (nvptx_exec): Don't call map_push if mapnum == 0.
9856 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
9857
4fef8e4d
TV
98582019-01-23 Tom de Vries <tdevries@suse.de>
9859
9860 PR target/88941
9861 PR target/88939
9862 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
9863 (map_fini): Remove "assert (!s->map->active)".
9864 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
9865
2ee6cb22
TV
98662019-01-23 Tom de Vries <tdevries@suse.de>
9867
9868 PR target/87835
9869 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
9870 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
9871
d41d952c
TV
98722019-01-15 Tom de Vries <tdevries@suse.de>
9873
9874 PR target/80547
9875 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
9876 New test.
9877
efb56ae8
TV
98782019-01-12 Tom de Vries <tdevries@suse.de>
9879
9880 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
9881 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
9882 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
9883 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
9884
2c2ff168
TV
98852019-01-12 Tom de Vries <tdevries@suse.de>
9886
9887 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
9888
a1057758
TV
98892019-01-12 Tom de Vries <tdevries@suse.de>
9890
9891 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
9892 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
9893 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
9894
56314b77
TV
98952019-01-12 Tom de Vries <tdevries@suse.de>
9896
9897 PR target/85486
9898 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
9899 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
9900
b39e4366
TV
99012019-01-12 Tom de Vries <tdevries@suse.de>
9902
9903 PR target/85381
9904 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
9905 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
9906
2cb7a501
TV
99072019-01-12 Tom de Vries <tdevries@suse.de>
9908
9909 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
9910 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
9911 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
9912
8e77f71e
TV
99132019-01-12 Tom de Vries <tdevries@suse.de>
9914
9915 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
9916 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
9917 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
9918
52d22ece
TV
99192019-01-12 Tom de Vries <tdevries@suse.de>
9920
9921 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
9922 resources diagnostic.
9923
2b9d9e39
TV
99242019-01-12 Tom de Vries <tdevries@suse.de>
9925
9926 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
9927 vector length to be 128.
9928 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
9929 length 2097152 to be reduced to 1024 instead of 32.
9930
4102bda6
TS
99312019-01-11 Thomas Schwinge <thomas@codesourcery.com>
9932 James Norris <jnorris@codesourcery.com>
9933
9934 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
9935 Library Routines", and "Environment Variables".
9936
052aaace
TV
99372019-01-11 Tom de Vries <tdevries@suse.de>
9938
9939 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
9940 num_workers 16.
9941
9390f916
TV
99422019-01-11 Tom de Vries <tdevries@suse.de>
9943
9944 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
9945 -foffload=-w.
9946 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
9947 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
9948 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
9949 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
9950
2c3e7ad2
TV
99512019-01-11 Tom de Vries <tdevries@suse.de>
9952
9953 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
9954 test.
9955
e222497d
NS
99562019-01-10 Nathan Sidwell <nathan@acm.org>
9957 Julian Brown <julian@codesourcery.com>
9958
9959 PR lto/71959
9960 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
9961 * testsuite/libgomp.oacc-c++/pr71959.C: New.
9962
cb87fec3
SH
99632019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9964
9965 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
9966 and paste code.
9967
30b4d0d0
SH
99682019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9969
9970 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
9971 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9972 write.
9973
5d0bc70a
TV
99742019-01-09 Tom de Vries <tdevries@suse.de>
9975
9976 PR target/88756
9977 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
9978 #define instead of "const int".
9979 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
9980 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
9981 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
9982 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
9983
2c372e81
TV
99842019-01-09 Tom de Vries <tdevries@suse.de>
9985
9986 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
9987 one worker.
9988
43493c97
TV
99892019-01-07 Tom de Vries <tdevries@suse.de>
9990
9991 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
9992 GOMP_OPENACC_DIM argument.
9993
5c571497
TV
99942019-01-03 Tom de Vries <tdevries@suse.de>
9995
9996 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
9997 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
9998
a5544970
JJ
99992019-01-01 Jakub Jelinek <jakub@redhat.com>
10000
10001 Update copyright years.
10002
3f27508c
JJ
100032019-01-01 Jakub Jelinek <jakub@redhat.com>
10004
10005 * libgomp.texi: Bump @copying's copyright year.
10006
59d5960c
TS
100072018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10008
10009 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10010 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10011 (GOACC_declare): Redefine the "device" argument to "flags".
10012
a44c1790
TS
100132018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10014 Cesar Philippidis <cesar@codesourcery.com>
10015
10016 * target.c (struct gomp_coalesce_chunk): New structure.
10017 (struct gomp_coalesce_buf): Update the chunks member to use that
10018 type. Adjust all users.
10019
a152954e
TV
100202018-12-19 Tom de Vries <tdevries@suse.de>
10021
10022 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10023 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10024 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10025
49188cd1
TV
100262018-12-19 Tom de Vries <tdevries@suse.de>
10027
10028 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10029 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10030 gcc/testsuite/gcc.dg/goacc.
10031 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10032
c759830b
TS
100332018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10034 Chung-Lin Tang <cltang@codesourcery.com>
10035
10036 * oacc-mem.c (acc_present_or_create): Remove definition and change
10037 to alias of acc_create.
10038 (acc_present_or_copyin): Remove definition and change to alias of
10039 acc_copyin.
10040 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10041 of acc_present_or_create.
10042 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10043 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10044 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10045 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10046 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10047 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10048 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10049 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10050 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10051 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10052 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10053 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10054 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10055 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10056 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10057 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10058
7de562ee
TS
100592018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10060
f847198e
TS
10061 PR libgomp/88495
10062 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10063 "identical parameters".
10064 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10065 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10066
c8ab8aab
TS
10067 PR libgomp/88484
10068 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10069 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10070
1404af62
TS
10071 PR libgomp/88407
10072 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10073 (nvptx_wait_async): Unseen async-argument is a no-op.
10074 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10075 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10076 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10077 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10078 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10079 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10080 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10081 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10082 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10083
7de562ee
TS
10084 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10085 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10086
17469af7
CLT
100872018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10088
10089 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10090 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10091 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10092
18c247cc
TS
100932018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10094
10095 PR libgomp/88370
10096 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10097 (acc_set_cuda_stream): Clarify.
10098 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10099 "async_valid_p".
10100 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10101 acc_async_sync".
10102 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10103 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10104 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10105 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10106
b0aba46c
TV
101072018-12-14 Tom de Vries <tdevries@suse.de>
10108
10109 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10110 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10111 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10112 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10113 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10114
fe0827ee
TV
101152018-12-13 Tom de Vries <tdevries@suse.de>
10116
10117 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10118 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10119 * fortran.c (omp_display_affinity_): ... here.
10120 * libgomp.h (gomp_print_string): Declare.
10121 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10122 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10123 write.
10124
a51f8c92
JJ
101252018-12-13 Jakub Jelinek <jakub@redhat.com>
10126
10127 PR libgomp/88460
10128 * testsuite/libgomp.c++/for-24.C (results): Include it in
10129 omp declare target region.
10130 (main): Use map (always, tofrom: results) instead of
10131 map (tofrom: results).
10132
a6ef2ac9
JJ
101332018-12-12 Jakub Jelinek <jakub@redhat.com>
10134
7a289b7d
JJ
10135 PR fortran/88463
10136 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10137 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10138
a6ef2ac9
JJ
10139 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10140
9c47a019
AS
101412018-12-12 Andreas Schwab <schwab@suse.de>
10142
10143 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10144 clobbered.
10145
d0cbb206
TK
101462018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10147
10148 PR fortran/88411
10149 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10150
84ca08d2
TS
101512018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10152 Jakub Jelinek <jakub@redhat.com>
10153
10154 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10155 devicep->host2dev_func.
10156
6997628d
JJ
101572018-12-08 Jakub Jelinek <jakub@redhat.com>
10158
10159 PR libgomp/87995
10160 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10161 tls_runtime effective target.
10162 (t): New threadprivate variable.
10163 (main): Set t in threads which execute iterations of the worksharing
10164 loop. Propagate that to the task after the loop and don't abort
10165 if the current taskgroup hasn't been cancelled.
10166
daa8c1d7
JJ
101672018-12-02 Jakub Jelinek <jakub@redhat.com>
10168
4a82df9a
JJ
10169 * testsuite/libgomp.c/task-reduction-3.c: New test.
10170
daa8c1d7
JJ
10171 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10172
fe570ff8
CP
101732018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10174
10175 PR libgomp/88288
10176 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10177 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10178
c223608f
TS
101792018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10180
10181 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10182
fc60283c
RB
101832018-10-19 Richard Biener <rguenther@suse.de>
10184
10185 PR tree-optimization/88182
10186 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10187
ffcf3b79
JJ
101882018-11-26 Jakub Jelinek <jakub@redhat.com>
10189
10190 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10191 (RUNTEST): Don't define.
10192 (RUNTESTDEFAULTFLAGS): Add.
10193 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10194 (distclean-am): Depend on distclean-DEJAGNU.
10195 (check-am): If -j% option is present in MFLAGS and if
10196 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10197 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10198 * testsuite/Makefile.in: Regenerated.
10199
ef6e6914
RB
102002018-11-26 Richard Biener <rguenther@suse.de>
10201
10202 PR tree-optimization/88182
10203 * testsuite/libgomp.c++/pr88182.C: New testcase.
10204
72d3bb76
JJ
102052018-11-20 Jakub Jelinek <jakub@redhat.com>
10206
10207 PR bootstrap/88106
10208 * config/mingw32/affinity-fmt.c: New file.
10209
207286c3
JJ
102102018-11-09 Jakub Jelinek <jakub@redhat.com>
10211
9666c522
JJ
10212 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10213 (gomp_display_affinity): Use __builtin_choose_expr to handle
10214 properly handle argument having integral, or pointer or some other
10215 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10216 with uint64_t type instead of %llx and unsigned long long.
10217
207286c3
JJ
10218 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10219 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10220
2033f45b
RO
102212018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10222
10223 * affinity.c: Include <string.h>, <stdio.h>.
10224 (gomp_display_affinity_place): Remove cpusetp.
10225 * teams.c: Include <limits.h>.
10226
28567c40
JJ
102272018-11-08 Jakub Jelinek <jakub@redhat.com>
10228
8991d779
JJ
10229 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10230 in_reduction clause for s[0].
10231
28567c40
JJ
10232 * affinity.c (gomp_display_affinity_place): New function.
10233 * affinity-fmt.c: New file.
10234 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10235 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10236 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10237 Move these functions to ...
10238 * config/nvptx/teams.c: ... here. New file.
10239 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10240 New functions.
10241 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10242 functions.
10243 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10244 and _aligned_malloc.
10245 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10246 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10247 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10248 gomp_affinity_format_len): New variables.
10249 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10250 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10251 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10252 modifiers. Display (non-default) chunk sizes. Print
10253 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10254 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10255 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10256 * fortran.c: Include stdio.h and string.h.
10257 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10258 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10259 (omp_set_affinity_format_, omp_get_affinity_format_,
10260 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10261 omp_pause_resource_all_): New functions.
10262 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10263 switch.
10264 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10265 functions to ...
10266 * teams.c: ... here. New file.
10267 * libgomp_g.h: Include gstdint.h.
10268 (GOMP_loop_nonmonotonic_runtime_start,
10269 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10270 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10271 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10272 GOMP_parallel_loop_nonmonotonic_runtime,
10273 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10274 GOMP_loop_ull_nonmonotonic_runtime_start,
10275 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10276 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10277 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10278 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10279 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10280 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10281 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10282 GOMP_teams_reg): Declare.
10283 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10284 gomp_aligned_alloc uses fallback implementation.
10285 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10286 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10287 (struct gomp_doacross_work_share): Add extra field.
10288 (struct gomp_work_share): Add task_reductions field.
10289 (struct gomp_taskgroup): Add workshare and reductions fields.
10290 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10291 (gomp_thread_handle): New typedef.
10292 (gomp_display_affinity_place, gomp_set_affinity_format,
10293 gomp_display_string, gomp_display_affinity,
10294 gomp_display_affinity_thread): Declare.
10295 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10296 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10297 gomp_workshare_task_reduction_register): Declare.
10298 (gomp_team_start): Add taskgroup argument.
10299 (gomp_pause_host): Declare.
10300 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10301 to size_t.
10302 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10303 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10304 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10305 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10306 GOMP_loop_ull_doacross_start,
10307 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10308 GOMP_loop_maybe_nonmonotonic_runtime_next,
10309 GOMP_loop_maybe_nonmonotonic_runtime_start,
10310 GOMP_loop_nonmonotonic_runtime_next,
10311 GOMP_loop_nonmonotonic_runtime_start,
10312 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10313 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10314 GOMP_loop_ull_nonmonotonic_runtime_next,
10315 GOMP_loop_ull_nonmonotonic_runtime_start,
10316 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10317 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10318 GOMP_taskgroup_reduction_register,
10319 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10320 GOMP_teams_reg and GOMP_taskwait_depend.
10321 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10322 omp_{capture,display}_affinity{,_}, and
10323 omp_[gs]et_affinity_format{,_}.
10324 * loop.c: Include string.h.
10325 (GOMP_loop_runtime_next): Add ialias.
10326 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10327 (gomp_loop_static_start, gomp_loop_dynamic_start,
10328 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10329 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10330 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10331 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10332 or gomp_doacross_init callers.
10333 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10334 GOMP_loop_doacross_start): New functions.
10335 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10336 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10337 Mask off GFS_MONOTONIC bit.
10338 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10339 GOMP_loop_maybe_nonmonotonic_runtime_start,
10340 GOMP_loop_nonmonotonic_runtime_next,
10341 GOMP_loop_nonmonotonic_runtime_start,
10342 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10343 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10344 functions.
10345 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10346 gomp_team_start.
10347 * loop_ull.c: Include string.h.
10348 (GOMP_loop_ull_runtime_next): Add ialias.
10349 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10350 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10351 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10352 gomp_loop_ull_ordered_dynamic_start,
10353 gomp_loop_ull_ordered_guided_start,
10354 gomp_loop_ull_doacross_static_start,
10355 gomp_loop_ull_doacross_dynamic_start,
10356 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10357 and gomp_doacross_ull_init callers.
10358 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10359 GOMP_loop_ull_doacross_start): New functions.
10360 (GOMP_loop_ull_runtime_start,
10361 GOMP_loop_ull_ordered_runtime_start,
10362 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10363 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10364 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10365 GOMP_loop_ull_nonmonotonic_runtime_next,
10366 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10367 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10368 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10369 (omp_pause_resource_t, omp_depend_t): New typedefs.
10370 (enum omp_lock_hint_t): Renamed to ...
10371 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10372 enumerators using numbers and omp_lock_hint_* as their aliases.
10373 (omp_lock_hint_t): New typedef. Rename to ...
10374 (omp_sync_hint_t): ... this.
10375 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10376 omp_sync_hint_t instead of omp_lock_hint_t.
10377 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10378 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10379 Declare.
10380 (omp_target_is_present, omp_target_disassociate_ptr):
10381 Change first argument from void * to const void *.
10382 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10383 from void * to const void *.
10384 (omp_target_associate_ptr): Change first and second arguments from
10385 void * to const void *.
10386 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10387 omp_pause_hard): New parameters.
10388 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10389 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10390 New interfaces.
10391 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10392 omp_pause_hard): New parameters.
10393 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10394 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10395 New externals.
10396 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10397 EXTRA argument. If not needed to prepare array, if extra is 0,
10398 clear ws->doacross, otherwise allocate just doacross structure and
10399 extra payload. If array is needed, allocate also extra payload.
10400 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10401 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10402 doacross == NULL.
10403 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10404 gomp_team_start.
10405 (GOMP_parallel): Likewise. Formatting fix.
10406 (GOMP_parallel_reductions): New function.
10407 (GOMP_cancellation_point): If taskgroup has workshare
10408 flag set, check cancelled of prev taskgroup if any.
10409 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10410 on prev taskgroup if any.
10411 * sections.c: Include string.h.
10412 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10413 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10414 (GOMP_sections2_start): New function.
10415 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10416 Pass NULL as taskgroup to gomp_team_start.
10417 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10418 gomp_work_share_start callers.
10419 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10420 If taskgroup has workshare flag set, check cancelled on prev
10421 taskgroup if any. Guard all cancellation tests with
10422 gomp_cancel_var test.
10423 (omp_target_is_present, omp_target_disassociate_ptr):
10424 Change ptr argument from void * to const void *.
10425 (omp_target_memcpy): Change src argument from void * to const void *.
10426 (omp_target_memcpy_rect): Likewise.
10427 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10428 instead of char * where needed.
10429 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10430 from void * to const void *.
10431 (omp_pause_resource, omp_pause_resource_all): New functions.
10432 * task.c (gomp_task_handle_depend): Handle new depend array format
10433 in addition to the old. Handle mutexinoutset kinds the same as
10434 inout for now, handle unspecified kinds.
10435 (gomp_create_target_task): If taskgroup has workshare flag set, check
10436 cancelled on prev taskgroup if any. Guard all cancellation tests with
10437 gomp_cancel_var test. Handle new depend array format count in
10438 addition to the old.
10439 (GOMP_task): Likewise. Adjust function comment.
10440 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10441 cancelled on prev taskgroup if any. Guard all cancellation tests with
10442 gomp_cancel_var test.
10443 (GOMP_taskwait_depend): New function.
10444 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10445 format in addition to the old. Handle mutexinoutset kinds the same as
10446 inout for now, handle unspecified kinds. Fix a function comment typo.
10447 (gomp_taskgroup_init): New function.
10448 (GOMP_taskgroup_start): Use it.
10449 (gomp_reduction_register, gomp_create_artificial_team,
10450 GOMP_taskgroup_reduction_register,
10451 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10452 gomp_parallel_reduction_register,
10453 gomp_workshare_task_reduction_register,
10454 gomp_workshare_taskgroup_start,
10455 GOMP_workshare_task_reduction_unregister): New functions.
10456 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10457 check cancelled on prev taskgroup if any. Guard all cancellation
10458 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10459 by calling GOMP_taskgroup_reduction_register.
10460 * team.c (gomp_thread_attr): Remove comment.
10461 (struct gomp_thread_start_data): Add handle field.
10462 (gomp_thread_start): Call pthread_detach.
10463 (gomp_new_team): Adjust gomp_init_work_share caller.
10464 (gomp_free_pool_helper): Call pthread_detach.
10465 (gomp_team_start): Add taskgroup argument, initialize implicit
10466 tasks' taskgroup field to that. Don't call
10467 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10468 (gomp_team_end): Determine nesting by thr->ts.level != 0
10469 rather than thr->ts.team != NULL.
10470 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10471 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10472 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10473 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10474 if more than 1 allocate also extra payload at the end of array. Never
10475 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10476 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10477 return true instead of ws.
10478 * Makefile.in: Regenerated.
10479 * configure: Regenerated.
10480 * config.h.in: Regenerated.
10481 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10482 in some cases.
10483 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10484 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10485 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10486 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10487 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10488 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10489 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10490 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10491 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10492 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10493 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10494 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10495 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10496 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10497 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10498 define a different N(test), don't define N(f0) to N(f14), but instead
10499 define N(f20) to N(f34) using != comparisons.
10500 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10501 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10502 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10503 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10504 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10505 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10506 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10507 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10508 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10509 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10510 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10511 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10512 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10513 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10514 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10515 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10516 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10517 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10518 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10519 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10520 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10521 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10522 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10523 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10524 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10525 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10526 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10527 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10528 * testsuite/libgomp.c++/depend-1.C: New test.
10529 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10530 * testsuite/libgomp.c++/depobj-1.C: New test.
10531 * testsuite/libgomp.c++/for-16.C: New test.
10532 * testsuite/libgomp.c++/for-21.C: New test.
10533 * testsuite/libgomp.c++/for-22.C: New test.
10534 * testsuite/libgomp.c++/for-23.C: New test.
10535 * testsuite/libgomp.c++/for-24.C: New test.
10536 * testsuite/libgomp.c++/for-25.C: New test.
10537 * testsuite/libgomp.c++/for-26.C: New test.
10538 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10539 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10540 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10541 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10542 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10543 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10544 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10545 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10546 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10547 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10548 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10549 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10550 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10551 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10552 * testsuite/libgomp.c/task-reduction-1.c: New test.
10553 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10554 * testsuite/libgomp.c/task-reduction-2.c: New test.
10555 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10556 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10557 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10558 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10559 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10560 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10561 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10562 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10563 * testsuite/libgomp.c/teams-1.c: New test.
10564 * testsuite/libgomp.c/teams-2.c: New test.
10565 * testsuite/libgomp.c/thread-limit-4.c: New test.
10566 * testsuite/libgomp.c/thread-limit-5.c: New test.
10567 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10568
58168bbf
CLT
105692018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10570
10571 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10572 acc_memcpy_to/from_device functions, now with async parameter.
10573 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10574 (acc_memcpy_from_device): Likewise.
10575 (acc_memcpy_to_device_async): New API function.
10576 (acc_memcpy_from_device_async): Likewise.
10577 (present_create_copy): Add async parameter and async setting/unsetting.
10578 (acc_create): Adjust present_create_copy call.
10579 (acc_copyin): Likewise.
10580 (acc_present_or_create): Likewise.
10581 (acc_present_or_copyin): Likewise.
10582 (acc_create_async): New API function.
10583 (acc_copyin_async): New API function.
10584 (delete_copyout): Add async parameter and async setting/unsetting.
10585 (acc_delete): Adjust delete_copyout call.
10586 (acc_copyout): Likewise.
10587 (acc_delete_async): New API function.
10588 (acc_copyout_async): Likewise.
10589 (update_dev_host): Add async parameter and async setting/unsetting.
10590 (acc_update_device): Adjust update_dev_host call.
10591 (acc_update_self): Likewise.
10592 (acc_update_device_async): New API function.
10593 (acc_update_self_async): Likewise.
10594 * openacc.h (acc_copyin_async): Declare new API function.
10595 (acc_create_async): Likewise.
10596 (acc_copyout_async): Likewise.
10597 (acc_delete_async): Likewise.
10598 (acc_update_device_async): Likewise.
10599 (acc_update_self_async): Likewise.
10600 (acc_memcpy_to_device_async): Likewise.
10601 (acc_memcpy_from_device_async): Likewise.
10602 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10603 (acc_copyin_async_64_h): New subroutine.
10604 (acc_copyin_async_array_h): New subroutine.
10605 (acc_create_async_32_h): New subroutine.
10606 (acc_create_async_64_h): New subroutine.
10607 (acc_create_async_array_h): New subroutine.
10608 (acc_copyout_async_32_h): New subroutine.
10609 (acc_copyout_async_64_h): New subroutine.
10610 (acc_copyout_async_array_h): New subroutine.
10611 (acc_delete_async_32_h): New subroutine.
10612 (acc_delete_async_64_h): New subroutine.
10613 (acc_delete_async_array_h): New subroutine.
10614 (acc_update_device_async_32_h): New subroutine.
10615 (acc_update_device_async_64_h): New subroutine.
10616 (acc_update_device_async_array_h): New subroutine.
10617 (acc_update_self_async_32_h): New subroutine.
10618 (acc_update_self_async_64_h): New subroutine.
10619 (acc_update_self_async_array_h): New subroutine.
10620 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10621 (acc_copyin_async_64_h): New subroutine.
10622 (acc_copyin_async_array_h): New subroutine.
10623 (acc_create_async_32_h): New subroutine.
10624 (acc_create_async_64_h): New subroutine.
10625 (acc_create_async_array_h): New subroutine.
10626 (acc_copyout_async_32_h): New subroutine.
10627 (acc_copyout_async_64_h): New subroutine.
10628 (acc_copyout_async_array_h): New subroutine.
10629 (acc_delete_async_32_h): New subroutine.
10630 (acc_delete_async_64_h): New subroutine.
10631 (acc_delete_async_array_h): New subroutine.
10632 (acc_update_device_async_32_h): New subroutine.
10633 (acc_update_device_async_64_h): New subroutine.
10634 (acc_update_device_async_array_h): New subroutine.
10635 (acc_update_self_async_32_h): New subroutine.
10636 (acc_update_self_async_64_h): New subroutine.
10637 (acc_update_self_async_array_h): New subroutine.
10638 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10639 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10640 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10641 acc_memcpy_to_device_async*, acc_update_device_async*, and
10642 acc_update_self_async* entries.
10643 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10644 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10645 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10646
22e05272
JM
106472018-10-31 Joseph Myers <joseph@codesourcery.com>
10648
10649 PR bootstrap/82856
10650 * Makefile.am: Include multilib.am
10651 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10652 (CLEANFILES): Remove libgomp.info.
10653 * configure.ac: Remove AC_PREREQ.
10654 * testsuite/Makefile.am (RUNTEST): Remove quotes.
10655 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10656 Regenerate.
10657
87a5ccfb
JM
106582018-10-29 Joseph Myers <joseph@codesourcery.com>
10659 Julian Brown <julian@codesourcery.com>
10660
10661 * testsuite/libgomp.oacc-c++/this.C: New.
10662
2049befd
CP
106632018-09-18 Cesar Philippidis <cesar@codesourcery.com>
10664
10665 * plugin/plugin-nvptx.c (struct cuda_map): New.
10666 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10667 h_tail with (cuda_map *) map.
10668 (cuda_map_create): New function.
10669 (cuda_map_destroy): New function.
10670 (map_init): Update to use a linked list of cuda_map objects.
10671 (map_fini): Likewise.
10672 (map_pop): Likewise.
10673 (map_push): Likewise. Return CUdeviceptr instead of void.
10674 (init_streams_for_device): Remove stales references to ptx_stream
10675 members.
10676 (select_stream_for_async): Likewise.
10677 (nvptx_exec): Update call to map_init.
10678
8e36332c
CP
106792018-09-09 Cesar Philippidis <cesar@codesourcery.com>
10680 Julian Brown <julian@codesourcery.com>
10681
10682 PR middle-end/86336
10683 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10684
2b4c9065
NK
106852018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
10686 Thomas Koenig <tkoenig@gcc.gnu.org>
10687
10688 PR fortran/25829
10689 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10690 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10691 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10692 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10693 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10694 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10695 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10696
bd9b3d3d
CP
106972018-08-13 Cesar Philippidis <cesar@codesourcery.com>
10698 Tom de Vries <tdevries@suse.de>
10699
10700 PR target/85590
10701 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10702 (cuOccupancyMaxPotentialBlockSize): Declare.
10703 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10704 CUDA_ONE_CALL_MAYBE_NULL.
10705 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10706 CUoccupancyB2DSize and declare
10707 cuOccupancyMaxPotentialBlockSize.
10708 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10709 default num_gangs and num_workers when the driver supports it.
10710
8e09a12f
TV
107112018-08-08 Tom de Vries <tdevries@suse.de>
10712
10713 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10714 CUDA_ONE_CALL_MAYBE_NULL.
10715 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10716 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10717 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10718 are not found.
10719
cedd9bd0
TV
107202018-08-08 Tom de Vries <tdevries@suse.de>
10721
10722 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10723 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10724 present.
10725
b113af95
TV
107262018-08-08 Tom de Vries <tdevries@suse.de>
10727
10728 * plugin/plugin-nvptx.c
10729 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10730 (nvptx_open_device): Use
10731 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10732
94767dac
TV
107332018-08-08 Tom de Vries <tdevries@suse.de>
10734
10735 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10736 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
10737
02150de8
TV
107382018-08-07 Tom de Vries <tdevries@suse.de>
10739
10740 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10741 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10742 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
10743 corresponding call in CUDA_ONE_CALL. Add def/undef of
10744 CUDA_ONE_CALL_MAYBE_NULL.
10745 (CUDA_CALL_EXISTS): Define.
10746
9e28b107
TV
107472018-08-07 Tom de Vries <tdevries@suse.de>
10748
10749 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10750 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10751 corresponding undefs right after.
10752
09940090
TV
107532018-08-04 Tom de Vries <tdevries@suse.de>
10754
10755 * plugin/configfrag.ac: For --without-cuda-driver, set
10756 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
10757 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10758 * configure: Regenerate.
10759
77e0a97a
TV
107602018-08-02 Tom de Vries <tdevries@suse.de>
10761
10762 PR target/86660
10763 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10764 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10765 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10766 Same.
10767 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10768 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10769 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10770
701d080a
CP
107712018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10772 Thomas Schwinge <thomas@codesourcery.com>
10773
10774 * config/nvptx/oacc-parallel.c: Truncate.
10775
094db6be
CP
107762018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10777 James Norris <jnorris@codesourcery.com>
10778
10779 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
10780 (map_init, map_pop): Remove use of struct map.
10781 (map_push): Likewise and change argument list.
094db6be
CP
10782 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10783
8c6310a2
TV
107842018-08-01 Tom de Vries <tdevries@suse.de>
10785
10786 * plugin/cuda-lib.def: New file. Factor out of ...
10787 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10788 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10789 using CUDA_CALLS.
10790
1d4a51cf
AV
107912018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
10792
10793 Revert 'AsyncI/O patch committed'.
10794 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10795 Thomas Koenig <tkoenig@gcc.gnu.org>
10796
10797 PR fortran/25829
10798 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10799 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10800 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10801 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10802 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10803 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10804 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10805
4cdfee3f
TV
108062018-07-30 Tom de Vries <tdevries@suse.de>
10807
10808 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10809 (nvptx_exec): Ensure worker and vector default dims don't exceed
10810 targ_fn->max_threads_per_block.
10811
0b210c43
TV
108122018-07-30 Tom de Vries <tdevries@suse.de>
10813
10814 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
10815 (nvptx_open_device): Init default_dims for device.
10816 (nvptx_exec): Use default_dims from device.
10817
5883c5cc
JJ
108182018-07-26 Jakub Jelinek <jakub@redhat.com>
10819
5d36384c
JJ
10820 PR testsuite/86660
10821 * testsuite/libgomp.c++/for-15.C (results): Include it in
10822 omp declare target region.
10823 (main): Use map (always, tofrom: results) instead of
10824 map (tofrom: results).
10825
5883c5cc
JJ
10826 PR middle-end/86660
10827 * testsuite/libgomp.c/pr86660.c: New test.
10828
88a4654d
CP
108292018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10830 Tom de Vries <tdevries@suse.de>
10831
10832 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
10833 sufficient resources to launch a kernel, and give a hint on how to fix
10834 it.
10835
0c6c2f5f
CP
108362018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10837 Tom de Vries <tdevries@suse.de>
10838
10839 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
10840 max_threads_per_block and max_threads_per_multiprocessor fields.
10841 (nvptx_open_device): Initialize new fields.
10842 (nvptx_exec): Use num_sms, and new fields.
10843
6dd58010
TV
108442018-07-26 Tom de Vries <tdevries@suse.de>
10845
10846 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
10847 to correct locations. Remove xfail.
10848
b2eb1779
TV
108492018-07-26 Tom de Vries <tdevries@suse.de>
10850
10851 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
10852 acc_wait. Move acc_async_test calls to correct locations. Remove
10853 xfail.
10854
b1f45884
NK
108552018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10856 Thomas Koenig <tkoenig@gcc.gnu.org>
10857
10858 PR fortran/25829
10859 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10860 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10861 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10862 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10863 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10864 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10865 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10866
3a106211
JJ
108672018-07-17 Jakub Jelinek <jakub@redhat.com>
10868
a3bccfa1
JJ
10869 PR middle-end/86542
10870 * testsuite/libgomp.c++/pr86542.C: New test.
10871
3a106211
JJ
10872 PR middle-end/86539
10873 * testsuite/libgomp.c++/pr86539.C: New test.
10874
2bae8b2f
JJ
108752018-07-11 Jakub Jelinek <jakub@redhat.com>
10876
10877 PR c++/86443
10878 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
10879 (results): Make sure the variable is not inside declare target region.
10880 (qux): Remove unused function.
10881
0b27c3ed
JJ
108822018-07-10 Jakub Jelinek <jakub@redhat.com>
10883
10884 PR c++/86443
10885 * testsuite/libgomp.c++/for-15.C: New test.
10886
f0391511
JJ
108872018-06-26 Jakub Jelinek <jakub@redhat.com>
10888
10889 PR c++/86291
10890 * testsuite/libgomp.c++/pr86291.C: New test.
10891
1a6d1d24
GP
108922018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
10893
10894 * libgomp.texi (Top): Move www.openmp.org to https.
10895 (Enabling OpenMP): Ditto.
10896 (omp_get_active_level): Ditto.
10897 (omp_get_ancestor_thread_num): Ditto.
10898 (omp_get_cancellation): Ditto.
10899 (omp_get_default_device): Ditto.
10900 (omp_get_dynamic): Ditto.
10901 (omp_get_level): Ditto.
10902 (omp_get_max_active_levels): Ditto.
10903 (omp_get_max_task_priority): Ditto.
10904 (omp_get_max_threads): Ditto.
10905 (omp_get_nested): Ditto.
10906 (omp_get_num_devices): Ditto.
10907 (omp_get_num_procs): Ditto.
10908 (omp_get_num_teams): Ditto.
10909 (omp_get_num_threads): Ditto.
10910 (omp_get_proc_bind): Ditto.
10911 (omp_get_schedule): Ditto.
10912 (omp_get_team_num): Ditto.
10913 (omp_get_team_size): Ditto.
10914 (omp_get_thread_limit): Ditto.
10915 (omp_get_thread_num): Ditto.
10916 (omp_in_parallel): Ditto.
10917 (omp_in_final): Ditto.
10918 (omp_is_initial_device): Ditto.
10919 (omp_set_default_device): Ditto.
10920 (omp_set_dynamic): Ditto.
10921 (omp_set_max_active_levels): Ditto.
10922 (omp_set_nested): Ditto.
10923 (omp_set_num_threads): Ditto.
10924 (omp_set_schedule): Ditto.
10925 (omp_init_lock): Ditto.
10926 (omp_set_lock): Ditto.
10927 (omp_test_lock): Ditto.
10928 (omp_unset_lock): Ditto.
10929 (omp_destroy_lock): Ditto.
10930 (omp_init_nest_lock): Ditto.
10931 (omp_set_nest_lock): Ditto.
10932 (omp_test_nest_lock): Ditto.
10933 (omp_unset_nest_lock): Ditto.
10934 (omp_destroy_nest_lock): Ditto.
10935 (omp_get_wtick): Ditto.
10936 (omp_get_wtime): Ditto.
10937 (OMP_CANCELLATION): Ditto.
10938 (OMP_DISPLAY_ENV): Ditto.
10939 (OMP_DEFAULT_DEVICE): Ditto.
10940 (OMP_DYNAMIC): Ditto.
10941 (OMP_MAX_ACTIVE_LEVELS): Ditto.
10942 (OMP_MAX_TASK_PRIORITY): Ditto.
10943 (OMP_NESTED): Ditto.
10944 (OMP_NUM_THREADS): Ditto.
10945 (OMP_PROC_BIND): Ditto.
10946 (OMP_PLACES): Ditto.
10947 (OMP_STACKSIZE): Ditto.
10948 (OMP_SCHEDULE): Ditto.
10949 (OMP_THREAD_LIMIT): Ditto.
10950 (OMP_WAIT_POLICY): Ditto.
10951
31dd69b7
CP
109522018-06-22 Cesar Philippidis <cesar@codesourcery.com>
10953 James Norris <jnorris@codesourcery.com>
10954 Julian Brown <julian@codesourcery.com>
10955 Thomas Schwinge <thomas@codesourcery.com>
10956 Tom de Vries <tom@codesourcery.com>
10957
10958 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
10959 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
10960 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
10961 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
10962 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10963 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10964 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
10965 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
10966 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
10967 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
10968 Likewise.
10969 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10970 Likewise.
10971 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10972 Likewise.
10973 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
10974 Likewise.
10975 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
10976 Likewise.
10977 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10978 Likewise.
10979 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
10980 Likewise.
10981 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
10982 Likewise.
10983 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
10984 Likewise.
10985 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
10986 Likewise.
10987 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
10988 Likewise.
10989 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
10990 Likewise.
10991 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
10992 Likewise.
10993 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
10994 Likewise.
10995 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
10996 Likewise.
10997 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
10998 Likewise.
10999 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11000 Likewise.
11001 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11002 Likewise.
11003 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11004 Likewise.
11005 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11006 Likewise.
11007 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11008 Likewise.
11009 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11010 Likewise.
11011 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11012 Likewise.
11013 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11014 Likewise.
11015 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11016 Likewise.
11017 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11018 Likewise.
11019 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11020 Likewise.
11021 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11022 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11023 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11024 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11025 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11026 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11027 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11028 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11029 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11030 Likewise.
11031 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11032 Likewise.
11033 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11034 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11035 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11036 Likewise.
11037 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11038 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11039 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11040 Likewise.
11041 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11042 Likewise.
11043 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11044 Likewise.
11045 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11046 Likewise.
11047 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11048 Likewise.
11049 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11050 Likewise.
11051 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11052 Likewise.
11053 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11054 Likewise.
11055 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11056 Likewise.
11057 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11058 Likewise.
11059 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11060 Likewise.
11061 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11062 Likewise.
11063 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11064 Likewise.
11065 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11066 Likewise.
11067 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11068 Likewise.
11069 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11070 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11071 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11072 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11073 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11074 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11075 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11076
829c6349
CLT
110772018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11078 Thomas Schwinge <thomas@codesourcery.com>
11079 Cesar Philippidis <cesar@codesourcery.com>
11080
11081 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11082 (gomp_acc_remove_pointer): Update declaration.
11083 (gomp_acc_declare_allocate): Declare.
11084 (gomp_remove_var): Declare.
11085 * libgomp.map (OACC_2.5): Define.
11086 * oacc-mem.c (acc_map_data): Update refcount.
11087 (acc_unmap_data): Likewise.
11088 (present_create_copy): Likewise.
11089 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11090 (acc_copyin): Likewise.
11091 (FLAG_FINALIZE): Define.
11092 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11093 (acc_delete_finalize): New function.
11094 (acc_delete_finalize_async): New function.
11095 (acc_copyout_finalize): New function.
11096 (acc_copyout_finalize_async): New function.
11097 (gomp_acc_insert_pointer): Update refcounts.
11098 (gomp_acc_remove_pointer): Return if data is not present on the
11099 accelerator.
11100 * oacc-parallel.c (find_pset): Rename to find_pointer.
11101 (find_pointer): Add support for GOMP_MAP_POINTER.
11102 (handle_ftn_pointers): New function.
11103 (GOACC_parallel_keyed): Update refcounts of variables.
11104 (GOACC_enter_exit_data): Add support for finalized data mappings.
11105 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11106 of fortran arrays.
11107 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11108 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11109 for GOMP_MAP_FORCE_FROM.
11110 * openacc.f90 (module openacc_internal): Add
11111 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11112 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11113 acc_copyout_finalize and acc_delete_finalize.
11114 (acc_copyout_finalize_32_h): New subroutine.
11115 (acc_copyout_finalize_64_h): New subroutine.
11116 (acc_copyout_finalize_array_h): New subroutine.
11117 (acc_delete_finalize_32_h): New subroutine.
11118 (acc_delete_finalize_64_h): New subroutine.
11119 (acc_delete_finalize_array_h): New subroutine.
11120 * openacc.h (acc_copyout_finalize): Declare.
11121 (acc_copyout_finalize_async): Declare.
11122 (acc_delete_finalize): Declare.
11123 (acc_delete_finalize_async): Declare.
11124 * openacc_lib.h (acc_copyout_finalize): New interface.
11125 (acc_delete_finalize): New interface.
11126 * target.c (gomp_map_vars): Update dynamic_refcount.
11127 (gomp_remove_var): New function.
11128 (gomp_unmap_vars): Use it.
11129 (gomp_unload_image_from_device): Likewise.
11130 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11131 case to utilize OpenACC 2.5 data clause semantics.
11132 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11133 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11134 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11135 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11136 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11137 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11138 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11139 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11140 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11141 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11142 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11143 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11144 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11145 utilize OpenACC 2.5 data clause semantics.
11146 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11147 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11148 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11149 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11150 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11151 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11152 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11153 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11154 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11155
4358400b
JW
111562018-05-21 Janus Weil <janus@gcc.gnu.org>
11157
11158 PR fortran/85841
11159 PR testsuite/85865
11160 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11161 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11162 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11163 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11164 * testsuite/libgomp.fortran/task2.f90: Ditto.
11165 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11166 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11167 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11168 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11169 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11170 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11171 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11172 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11173 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11174
950ad0ba
CP
111752018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11176
11177 PR c++/85782
11178 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11179
f5ad16f1
TV
111802018-05-09 Tom de Vries <tom@codesourcery.com>
11181
11182 PR libgomp/82901
11183 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11184 to GOACC_enter_exit_data.
11185
edbd038a
TV
111862018-05-09 Tom de Vries <tom@codesourcery.com>
11187
11188 PR libgomp/83792
11189 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11190 (async_synchronous_p): New function.
11191 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11192 async_valid_p.
11193 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11194 async_valid_stream_id_p.
11195 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11196 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11197
37d6c719
TV
111982018-05-07 Tom de Vries <tom@codesourcery.com>
11199
11200 PR testsuite/85677
11201 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11202 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11203
63f12215
TV
112042018-05-03 Tom de Vries <tom@codesourcery.com>
11205
11206 PR testsuite/85106
11207 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11208 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11209 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11210 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11211
ec00d3fa
TV
112122018-05-02 Tom de Vries <tom@codesourcery.com>
11213
11214 PR libgomp/85411
11215 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11216 GOMP_OPENACC_DIM ...
11217 * env.c (parse_gomp_openacc_dim): ... here. New function.
11218 (initialize_env): Call parse_gomp_openacc_dim.
11219 (goacc_default_dims): Define.
11220 * libgomp.h (goacc_default_dims): Declare.
11221 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11222 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11223 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11224 GOMP_PLUGIN_acc_default_dim.
11225 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11226 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11227
92243e7c
TV
112282018-05-02 Tom de Vries <tom@codesourcery.com>
11229
11230 PR testsuite/83791
11231 * testsuite/libgomp.c++/udr-9.C: Update.
11232 * testsuite/libgomp.c++/atomic-16.C: Remove.
11233 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11234 * testsuite/libgomp.c++/loop-13.C: Remove.
11235 * testsuite/libgomp.c++/loop-14.C: Remove.
11236 * testsuite/libgomp.c++/loop-15.C: Remove.
11237 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11238 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11239 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11240 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11241 * testsuite/libgomp.c++/ordered-1.C: Remove.
11242 * testsuite/libgomp.c++/pr45784.C: Remove.
11243 * testsuite/libgomp.c++/pr64824.C: Remove.
11244 * testsuite/libgomp.c++/pr64868.C: Remove.
11245 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11246 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11247 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11248 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11249 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11250 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11251 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11252 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11253 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11254 * testsuite/libgomp.c++/pr69389.C: Remove.
11255 * testsuite/libgomp.c++/simd10.C: Remove.
11256 * testsuite/libgomp.c++/simd11.C: Remove.
11257 * testsuite/libgomp.c++/simd12.C: Remove.
11258 * testsuite/libgomp.c++/simd13.C: Remove.
11259 * testsuite/libgomp.c++/target-1.C: Remove.
11260 * testsuite/libgomp.c++/target-3.C: Remove.
11261 * testsuite/libgomp.c++/target-4.C: Remove.
11262 * testsuite/libgomp.c++/target-5.C: Remove.
11263 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11264 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11265 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11266 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11267 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11268 * testsuite/libgomp.c++/udr-9.C: Remove.
11269 * testsuite/libgomp.c++/for-10.C: Remove.
11270 * testsuite/libgomp.c++/for-11.C: Remove.
11271 * testsuite/libgomp.c++/for-12.C: Remove.
11272 * testsuite/libgomp.c++/for-13.C: Remove.
11273 * testsuite/libgomp.c++/for-14.C: Remove.
11274 * testsuite/libgomp.c++/for-9.C: Remove.
11275 * testsuite/libgomp.c/atomic-18.c: Move ...
11276 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11277 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11278 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11279 * testsuite/libgomp.c/loop-13.c: Move ...
11280 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11281 * testsuite/libgomp.c/loop-14.c: Move ...
11282 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11283 * testsuite/libgomp.c/loop-15.c: Remove.
11284 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11285 * testsuite/libgomp.c/monotonic-1.c: Move ...
11286 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11287 * testsuite/libgomp.c/monotonic-2.c: Move ...
11288 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11289 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11290 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11291 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11292 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11293 * testsuite/libgomp.c/ordered-4.c: Move ...
11294 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11295 * testsuite/libgomp.c/pr45784.c: Move ...
11296 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11297 * testsuite/libgomp.c/pr64824.c: Move ...
11298 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11299 * testsuite/libgomp.c/pr64868.c: Move ...
11300 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11301 * testsuite/libgomp.c/pr66199-1.c: Move ...
11302 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11303 * testsuite/libgomp.c/pr66199-2.c: Move ...
11304 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11305 * testsuite/libgomp.c/pr66199-3.c: Move ...
11306 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11307 * testsuite/libgomp.c/pr66199-4.c: Move ...
11308 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11309 * testsuite/libgomp.c/pr66199-5.c: Move ...
11310 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11311 * testsuite/libgomp.c/pr66199-6.c: Move ...
11312 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11313 * testsuite/libgomp.c/pr66199-7.c: Move ...
11314 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11315 * testsuite/libgomp.c/pr66199-8.c: Move ...
11316 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11317 * testsuite/libgomp.c/pr66199-9.c: Move ...
11318 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11319 * testsuite/libgomp.c/pr69389.c: Move ...
11320 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11321 * testsuite/libgomp.c/simd-14.c: Move ...
11322 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11323 * testsuite/libgomp.c/simd-15.c: Move ...
11324 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11325 * testsuite/libgomp.c/simd-16.c: Move ...
11326 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11327 * testsuite/libgomp.c/simd-17.c: Move ...
11328 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11329 * testsuite/libgomp.c/target-1.c: Move ...
11330 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11331 * testsuite/libgomp.c/target-10.c: Move ...
11332 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11333 * testsuite/libgomp.c/target-13.c: Move ...
11334 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11335 * testsuite/libgomp.c/target-2.c: Move ...
11336 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11337 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11338 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11339 * testsuite/libgomp.c/taskloop-1.c: Move ...
11340 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11341 * testsuite/libgomp.c/taskloop-2.c: Move ...
11342 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11343 * testsuite/libgomp.c/taskloop-3.c: Move ...
11344 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11345 * testsuite/libgomp.c/taskloop-4.c: Move ...
11346 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11347 * testsuite/libgomp.c/udr-1.c: Move ...
11348 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11349 * testsuite/libgomp.c/for-1.c: Move ...
11350 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11351 * testsuite/libgomp.c/for-1.h: Move ...
11352 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11353 * testsuite/libgomp.c/for-2.c: Move ...
11354 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11355 * testsuite/libgomp.c/for-2.h: Move ...
11356 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11357 * testsuite/libgomp.c/for-3.c: Move ...
11358 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11359 * testsuite/libgomp.c/for-4.c: Move ...
11360 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11361 * testsuite/libgomp.c/for-5.c: Move ...
11362 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11363 * testsuite/libgomp.c/for-6.c: Move ...
11364 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11365
1f62d637
TV
113662018-05-02 Tom de Vries <tom@codesourcery.com>
11367
11368 PR libgomp/82428
11369 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11370 __builtin_goacc_parlevel_{id,size}.
11371 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11372 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11373 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11374 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11375 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11376 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11377 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11378 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11379 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11380 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11381 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11382 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11383 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11384 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11385 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11386 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11387 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11388 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11389 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11390 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11391 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11392 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11393 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11394
9220b511
TV
113952018-05-02 Tom de Vries <tom@codesourcery.com>
11396
11397 PR testsuite/85106
11398 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11399
6c3c13c1
TV
114002018-05-02 Tom de Vries <tom@codesourcery.com>
11401
11402 PR testsuite/85106
11403 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11404
8d70b61e
JB
114052018-04-29 Julian Brown <julian@codesourcery.com>
11406 Tom de Vries <tom@codesourcery.com>
11407
11408 PR testsuite/85527
11409 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11410 arbitrary order for iterations of atomic subtract check.
11411
4a57a4b6
TV
114122018-04-28 Tom de Vries <tom@codesourcery.com>
11413
11414 PR testsuite/85527
11415 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11416 atomic capture results obtained in parallel loop to an array, instead of
11417 to a scalar.
11418
df36a3d3
TV
114192018-04-26 Tom de Vries <tom@codesourcery.com>
11420
11421 PR libgomp/84020
11422 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11423 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11424 (process_GOMP_NVPTX_JIT): New function.
11425 (link_ptx): Use process_GOMP_NVPTX_JIT.
11426
d160ae78
RB
114272018-04-26 Richard Biener <rguenther@suse.de>
11428 Tom de Vries <tom@codesourcery.com>
11429
11430 PR lto/85422
11431 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11432
ca9dc642
TV
114332018-04-26 Tom de Vries <tom@codesourcery.com>
11434
11435 PR target/85519
11436 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11437 recursion depth from 25 to 23.
11438 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11439
7b47ecf2
L
114402018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11441
11442 * configure: Regenerated.
11443
e91eba31
NS
114442018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11445 Tom de Vries <tom@codesourcery.com>
11446
11447 PR target/85445
11448 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11449
6e0d40b6
TS
114502018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11451
11452 PR libgomp/85463
11453 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11454 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11455 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11456 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11457 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11458 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11459
11460 PR libfortran/85166
11461 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11462 abort".
11463 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11464
a0e1df88
JJ
114652018-04-19 Jakub Jelinek <jakub@redhat.com>
11466
11467 * configure: Regenerated.
11468
001ddaa8
DM
114692018-04-18 David Malcolm <dmalcolm@redhat.com>
11470
11471 PR jit/85384
11472 * configure: Regenerate.
11473
05e0af43
CP
114742018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11475 Tom de Vries <tom@codesourcery.com>
11476
11477 PR middle-end/84955
11478 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11479 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11480
bc436e10
TK
114812018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11482
11483 PR fortran/83064
11484 PR testsuite/85346
11485 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11486 test from gfortran.dg to here.
11487
ffb164c7
JJ
114882018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11489
11490 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11491 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11492
114932018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11494
11495 PR middle-end/84955
11496 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11497 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11498
2ba16fd2
TV
114992018-04-05 Tom de Vries <tom@codesourcery.com>
11500
11501 PR target/85204
11502 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11503
46dbeb40
TV
115042018-03-26 Tom de Vries <tom@codesourcery.com>
11505
11506 PR tree-optimization/85063
11507 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11508 * testsuite/libgomp.c/switch-conversion.c: New test.
11509 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11510 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11511
bfc24e32
TK
115122018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11513
11514 PR fortran/84381
11515 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11516 call abort by STOP n.
11517 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11518 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11519 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11520 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11521 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11522 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11523 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11524 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11525 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11526 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11527 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11528 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11529 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11530 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11531 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11532 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11533 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11534 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11535 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11536 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11537 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11538 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11539 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11540 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11541 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11542 * testsuite/libgomp.fortran/character1.f90: Likewise.
11543 * testsuite/libgomp.fortran/character2.f90: Likewise.
11544 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11545 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11546 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11547 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11548 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11549 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11550 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11551 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11552 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11553 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11554 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11555 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11556 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11557 * testsuite/libgomp.fortran/do1.f90: Likewise.
11558 * testsuite/libgomp.fortran/do2.f90: Likewise.
11559 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11560 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11561 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11562 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11563 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11564 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11565 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11566 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11567 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11568 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11569 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11570 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11571 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11572 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11573 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11574 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11575 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11576 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11577 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11578 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11579 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11580 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11581 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11582 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11583 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11584 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11585 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11586 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11587 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11588 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11589 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11590 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11591 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11592 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11593 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11594 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11595 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11596 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11597 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11598 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11599 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11600 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11601 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11602 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11603 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11604 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11605 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11606 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11607 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11608 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11609 * testsuite/libgomp.fortran/lib2.f: Likewise.
11610 * testsuite/libgomp.fortran/lib3.f: Likewise.
11611 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11612 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11613 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11614 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11615 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11616 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11617 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11618 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11619 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11620 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11621 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11622 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11623 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11624 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11625 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11626 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11627 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11628 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11629 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11630 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11631 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11632 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11633 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11634 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11635 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11636 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11637 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11638 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11639 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11640 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11641 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11642 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11643 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11644 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11645 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11646 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11647 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11648 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11649 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11650 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11651 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11652 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11653 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11654 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11655 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11656 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11657 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11658 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11659 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11660 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11661 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11662 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11663 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11664 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11665 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11666 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11667 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11668 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11669 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11670 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11671 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11672 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11673 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11674 * testsuite/libgomp.fortran/reference1.f90: Likewise.
11675 * testsuite/libgomp.fortran/reference2.f90: Likewise.
11676 * testsuite/libgomp.fortran/retval1.f90: Likewise.
11677 * testsuite/libgomp.fortran/retval2.f90: Likewise.
11678 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11679 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11680 * testsuite/libgomp.fortran/simd1.f90: Likewise.
11681 * testsuite/libgomp.fortran/simd2.f90: Likewise.
11682 * testsuite/libgomp.fortran/simd3.f90: Likewise.
11683 * testsuite/libgomp.fortran/simd4.f90: Likewise.
11684 * testsuite/libgomp.fortran/simd5.f90: Likewise.
11685 * testsuite/libgomp.fortran/simd6.f90: Likewise.
11686 * testsuite/libgomp.fortran/simd7.f90: Likewise.
11687 * testsuite/libgomp.fortran/stack.f90: Likewise.
11688 * testsuite/libgomp.fortran/strassen.f90: Likewise.
11689 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11690 * testsuite/libgomp.fortran/tabs2.f: Likewise.
11691 * testsuite/libgomp.fortran/target1.f90: Likewise.
11692 * testsuite/libgomp.fortran/target2.f90: Likewise.
11693 * testsuite/libgomp.fortran/target3.f90: Likewise.
11694 * testsuite/libgomp.fortran/target4.f90: Likewise.
11695 * testsuite/libgomp.fortran/target5.f90: Likewise.
11696 * testsuite/libgomp.fortran/target6.f90: Likewise.
11697 * testsuite/libgomp.fortran/target7.f90: Likewise.
11698 * testsuite/libgomp.fortran/target8.f90: Likewise.
11699 * testsuite/libgomp.fortran/task1.f90: Likewise.
11700 * testsuite/libgomp.fortran/task2.f90: Likewise.
11701 * testsuite/libgomp.fortran/task3.f90: Likewise.
11702 * testsuite/libgomp.fortran/task4.f90: Likewise.
11703 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11704 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11705 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11706 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11707 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11708 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11709 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11710 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11711 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11712 * testsuite/libgomp.fortran/udr1.f90: Likewise.
11713 * testsuite/libgomp.fortran/udr10.f90: Likewise.
11714 * testsuite/libgomp.fortran/udr11.f90: Likewise.
11715 * testsuite/libgomp.fortran/udr12.f90: Likewise.
11716 * testsuite/libgomp.fortran/udr13.f90: Likewise.
11717 * testsuite/libgomp.fortran/udr14.f90: Likewise.
11718 * testsuite/libgomp.fortran/udr15.f90: Likewise.
11719 * testsuite/libgomp.fortran/udr2.f90: Likewise.
11720 * testsuite/libgomp.fortran/udr3.f90: Likewise.
11721 * testsuite/libgomp.fortran/udr4.f90: Likewise.
11722 * testsuite/libgomp.fortran/udr5.f90: Likewise.
11723 * testsuite/libgomp.fortran/udr6.f90: Likewise.
11724 * testsuite/libgomp.fortran/udr7.f90: Likewise.
11725 * testsuite/libgomp.fortran/udr8.f90: Likewise.
11726 * testsuite/libgomp.fortran/udr9.f90: Likewise.
11727 * testsuite/libgomp.fortran/vla1.f90: Likewise.
11728 * testsuite/libgomp.fortran/vla2.f90: Likewise.
11729 * testsuite/libgomp.fortran/vla3.f90: Likewise.
11730 * testsuite/libgomp.fortran/vla4.f90: Likewise.
11731 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11732 * testsuite/libgomp.fortran/vla6.f90: Likewise.
11733 * testsuite/libgomp.fortran/vla7.f90: Likewise.
11734 * testsuite/libgomp.fortran/vla8.f90: Likewise.
11735 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11736 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11737 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11738 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11739 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11740 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11741 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11742 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11743 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11744 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11745 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11746 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11747 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11748 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11749 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11750 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11751 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11752 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11753 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11754 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11755 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11756 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11757 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11758 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11759 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11760 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11761 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11762 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11763 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11764 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11765 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11766 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11767 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11768 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11769 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11770 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11771 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11772 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11773 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11774 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11775 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11776 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11777 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11778 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11779 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11780 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11781 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11782 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11783 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11784 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11785 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11786 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11787 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11788 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11789 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11790 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11791 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11792 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11793 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11794 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11795 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11796 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11797 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11798 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11799 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11800 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11801 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11802 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11803 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11804 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11805 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11806 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11807 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11808 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11809 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
11810 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11811 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11812 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11813 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11814 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11815 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11816 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11817 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
11818 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
11819 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11820 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11821 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11822 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11823 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
11824 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
11825 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
11826 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11827 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11828 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
11829
79cf14ae
RB
118302018-03-20 Richard Biener <rguenther@suse.de>
11831
11832 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
11833 parallelizable loop.
11834
14e335ed
IT
118352018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11836
11837 PR target/84148
11838 * configure: Regenerate.
11839
83d9be55
JJ
118402018-02-16 Jakub Jelinek <jakub@redhat.com>
11841
11842 PR fortran/84418
11843 * libgomp.fortran/pr84418-1.f90: New test.
11844 * libgomp.fortran/pr84418-2.f90: New test.
11845
d1fe6124
JJ
118462018-02-14 Jakub Jelinek <jakub@redhat.com>
11847
11848 PR fortran/84313
11849 * testsuite/libgomp.fortran/threadprivate4.f90: Add
11850 -std=f2003 -fall-intrinsics into dg-additional-options.
11851
3d224921
MJ
118522018-02-08 Martin Jambor <mjambor@suse.cz>
11853
11854 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
11855 clonable.
11856
c7c30edd
MJ
118572018-02-08 Martin Jambor <mjambor@suse.cz>
11858
11859 * testsuite/libgomp.hsa.c/staticvar.c: New test.
11860
f320fdfd
RO
118612018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11862
11863 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
11864 [__cplusplus]: Declare extern "C".
11865
c31bc4ac
TV
118662018-02-07 Tom de Vries <tom@codesourcery.com>
11867
11868 PR libgomp/84217
11869 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
11870
99ae7ce5
CS
118712018-01-29 Christoph Spiel <cspiel@freenet.de>
11872 Jakub Jelinek <jakub@redhat.com>
11873
11874 PR libgomp/84096
11875 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
11876 instead of omp_lock_t.
11877
e77a1236
TV
118782018-01-25 Tom de Vries <tom@codesourcery.com>
11879
11880 PR target/84028
11881 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
11882
3dede32b
TV
118832018-01-24 Tom de Vries <tom@codesourcery.com>
11884
11885 PR target/83589
11886 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
11887
be606483
TV
118882018-01-24 Tom de Vries <tom@codesourcery.com>
11889
11890 PR target/81352
11891 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
11892
8c8e9a6b
TV
118932018-01-19 Tom de Vries <tom@codesourcery.com>
11894 Cesar Philippidis <cesar@codesourcery.com>
11895
11896 PR target/83920
11897 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
11898 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
11899
65e6aea3
JJ
119002018-01-03 Jakub Jelinek <jakub@redhat.com>
11901
85ec4feb
JJ
11902 Update copyright years.
11903
65e6aea3
JJ
11904 * libgomp.texi: Bump @copying's copyright year.
11905
60bf575c
TV
119062017-12-30 Tom de Vries <tom@codesourcery.com>
11907
11908 PR libgomp/83046
11909 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
11910 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
11911
7ec16b79
TV
119122017-12-27 Tom de Vries <tom@codesourcery.com>
11913
11914 PR c++/83046
11915 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
11916 (test_nonstatic): Fix return type to workaround PR83046.
11917
ac550b9a
JJ
119182017-12-05 Jakub Jelinek <jakub@redhat.com>
11919
11920 PR testsuite/83281
11921 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
11922 j suffix instead of i.
11923 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
11924 Likewise.
11925
ebdc83f0
CP
119262017-12-01 Cesar Philippidis <cesar@codesourcery.com>
11927
11928 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
11929 call to acc_wait (1).
11930
3b3e6283
JJ
119312017-11-24 Jakub Jelinek <jakub@redhat.com>
11932
11933 PR fortran/81304
11934 * testsuite/libgomp.fortran/pr81304.f90: New test.
11935
3b575376
JJ
119362017-11-23 Jakub Jelinek <jakub@redhat.com>
11937
11938 PR fortran/81841
11939 * libgomp.fortran/pr81841.f90: New test.
11940
b13547d8
JJ
119412017-11-22 Jakub Jelinek <jakub@redhat.com>
11942
11943 PR libgomp/83106
11944 * target.c (gomp_target_init): Compute lengths just once and
11945 use them in both malloc size and subsequent copying.
11946
efe33ced
IT
119472017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11948
11949 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
11950 * acinclude.m4: Add cet.m4.
11951 * configure: Regenerate.
11952 * Makefile.in: Likewise.
11953 * testsuite/Makefile.in: Likewise.
11954
a7cf2612
TV
119552017-11-15 Tom de Vries <tom@codesourcery.com>
11956
11957 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
11958 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
11959 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
11960 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
11961 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
11962 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
11963
dde76623
TV
119642017-11-14 Tom de Vries <tom@codesourcery.com>
11965
11966 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
11967 non-nvidia devices.
11968
4dbeb716
JJ
119692017-11-07 Jakub Jelinek <jakub@redhat.com>
11970
11971 PR c++/82835
11972 * testsuite/libgomp.c++/pr82835.C: New test.
11973
454f8b2b
ML
119742017-11-06 Martin Liska <mliska@suse.cz>
11975
11976 * testsuite/libgomp.c++/loop-2.C: Return a value
11977 for functions with non-void return type, or change type to void,
11978 or add -Wno-return-type for test.
11979 * testsuite/libgomp.c++/loop-4.C: Likewise.
11980 * testsuite/libgomp.c++/parallel-1.C: Likewise.
11981 * testsuite/libgomp.c++/shared-1.C: Likewise.
11982 * testsuite/libgomp.c++/single-1.C: Likewise.
11983 * testsuite/libgomp.c++/single-2.C: Likewise.
11984
12e9c8ce
TV
119852017-10-31 Tom de Vries <tom@codesourcery.com>
11986
11987 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
11988 "do {} while (false)".
11989 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
11990 after HSA_DEBUG call.
11991
7324369a
JJ
119922017-10-28 Jakub Jelinek <jakub@redhat.com>
11993
11994 * target.c (struct gomp_coalesce_buf): New type.
11995 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
11996 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
11997 (gomp_copy_host2dev): Add CBUF argument, if copying into
11998 the cached ranges, memcpy into buffer instead of copying
11999 into device.
12000 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12001 Add CBUF argument, pass it through to other calls.
12002 (gomp_map_vars): Aggregate copies from host to device if small enough
12003 and with small enough gaps in between into memcpy into a buffer and
12004 fewer host to device copies from the buffer.
12005 (gomp_update): Adjust gomp_copy_host2dev caller.
12006
933ab0e6
TS
120072017-10-17 Thomas Schwinge <thomas@codesourcery.com>
12008
12009 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12010 run" directive.
12011 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12012 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12013 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12014 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12015
92d5d01a
TV
120162017-10-16 Tom de Vries <tom@codesourcery.com>
12017
12018 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12019 openacc_nvidia_accel_selected.
12020 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12021 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12022 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12023 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12024 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12025 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12026 openacc_nvidia_accel_selected. Skip for shared memory device.
12027 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12028 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12029
191411e4
MJ
120302017-10-09 Martin Jambor <mjambor@suse.cz>
12031
12032 PR hsa/82416
12033 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12034
e923330e
TV
120352017-10-07 Tom de Vries <tom@codesourcery.com>
12036
12037 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12038 Remove acc_device_nvidia references.
12039 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12040 Same.
12041
8fe3ed4c
TV
120422017-10-05 Tom de Vries <tom@codesourcery.com>
12043
12044 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12045 vector_length(32) clause from acc parallel directive.
12046 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12047
26596ee5
TV
120482017-10-04 Tom de Vries <tom@codesourcery.com>
12049
12050 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12051 (main): Reduce sum of arr elements. Assert that hres is exactly
12052 representable in 32-bit floating point.
12053 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12054 (main): Reduce sum of arr elements. Assert that hres and hmres are
12055 exactly representable in 32-bit floating point.
12056 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12057
5c561fa9
TV
120582017-09-28 Tom de Vries <tom@codesourcery.com>
12059
12060 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12061 setting.
12062 * testsuite/libgomp.c++/pr69393.C: Same.
12063 * testsuite/libgomp.c++/taskloop-1.C: Same.
12064 * testsuite/libgomp.c++/taskloop-3.C: Same.
12065 * testsuite/libgomp.c++/taskloop-4.C: Same.
12066 * testsuite/libgomp.c/for-4.c: Same.
12067 * testsuite/libgomp.c/pr66199-3.c: Same.
12068 * testsuite/libgomp.c/pr66199-4.c: Same.
12069 * testsuite/libgomp.c/pr66199-6.c: Same.
12070 * testsuite/libgomp.c/taskloop-1.c: Same.
12071 * testsuite/libgomp.c/taskloop-3.c: Same.
12072 * testsuite/libgomp.c/taskloop-4.c: Same.
12073 * testsuite/libgomp.fortran/aligned1.f03: Same.
12074 * testsuite/libgomp.fortran/condinc1.f: Same.
12075 * testsuite/libgomp.fortran/condinc3.f90: Same.
12076 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12077 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12078 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12079 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12080 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12081 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12082 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12083 * testsuite/libgomp.fortran/recursion1.f90: Same.
12084 * testsuite/libgomp.fortran/target2.f90: Same.
12085 * testsuite/libgomp.fortran/target5.f90: Same.
12086 * testsuite/libgomp.fortran/task3.f90: Same.
12087
7d6206fe
TV
120882017-09-28 Tom de Vries <tom@codesourcery.com>
12089
12090 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12091 vector_length(32) clause from acc parallel directive.
12092 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12093
84c8627c
TV
120942017-09-27 Tom de Vries <tom@codesourcery.com>
12095
12096 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12097 Remove acc_device_nvidia references.
12098
ebc6a85e
TV
120992017-09-16 Tom de Vries <tom@codesourcery.com>
12100
12101 PR c/81875
12102 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12103
82419efb
TV
121042017-09-14 Tom de Vries <tom@codesourcery.com>
12105
12106 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12107 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12108 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12109 * testsuite/libgomp.c/c.exp: Include test-cases from
12110 libgomp.c-c++-common.
12111 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12112 files.
12113
8b586510
JJ
121142017-09-14 Jakub Jelinek <jakub@redhat.com>
12115
12116 PR c++/81314
12117 * testsuite/libgomp.c++/pr81314.C: New test.
12118
9651fbaf
GP
121192017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12120
12121 * libgomp.texi (Top): www.openacc.org now uses https.
12122 (Enabling OpenACC): Ditto.
12123 (acc_get_num_devices): Ditto.
12124 (acc_set_device_type): Ditto.
12125 (acc_get_device_type): Ditto.
12126 (acc_set_device_num): Ditto.
12127 (acc_get_device_num): Ditto.
12128 (acc_async_test): Ditto.
12129 (acc_async_test_all): Ditto.
12130 (acc_wait): Ditto.
12131 (acc_wait_all): Ditto.
12132 (acc_wait_all_async): Ditto.
12133 (acc_wait_async): Ditto.
12134 (acc_init): Ditto.
12135 (acc_shutdown): Ditto.
12136 (acc_on_device): Ditto.
12137 (acc_malloc): Ditto.
12138 (acc_free): Ditto.
12139 (acc_copyin): Ditto.
12140 (acc_present_or_copyin): Ditto.
12141 (acc_create): Ditto.
12142 (acc_present_or_create): Ditto.
12143 (acc_copyout): Ditto.
12144 (acc_delete): Ditto.
12145 (acc_update_device): Ditto.
12146 (acc_update_self): Ditto.
12147 (acc_map_data): Ditto.
12148 (acc_unmap_data): Ditto.
12149 (acc_deviceptr): Ditto.
12150 (acc_hostptr): Ditto.
12151 (acc_is_present): Ditto.
12152 (acc_memcpy_to_device): Ditto.
12153 (acc_memcpy_from_device): Ditto.
12154 (acc_get_current_cuda_device): Ditto.
12155 (acc_get_current_cuda_context): Ditto.
12156 (acc_get_cuda_stream): Ditto.
12157 (acc_set_cuda_stream): Ditto.
12158 (ACC_DEVICE_TYPE): Ditto.
12159 (ACC_DEVICE_NUM): Ditto.
12160 (OpenACC Library Interoperability): Ditto.
12161
50aa16c3
JJ
121622017-08-09 Jakub Jelinek <jakub@redhat.com>
12163
12164 PR c/81687
12165 * testsuite/libgomp.c/pr81687-1.c: New test.
12166 * testsuite/libgomp.c/pr81687-2.c: New test.
12167
56b5041c
JJ
121682017-08-07 Jakub Jelinek <jakub@redhat.com>
12169
12170 PR c/69389
12171 * testsuite/libgomp.c/pr69389.c: New test.
12172 * testsuite/libgomp.c++/pr69389.C: New test.
12173
f4c222c0
TV
121742017-08-07 Tom de Vries <tom@codesourcery.com>
12175
12176 PR middle-end/78266
12177 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12178 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12179
a40ff0ae
JJ
121802017-07-27 Jakub Jelinek <jakub@redhat.com>
12181
12182 PR c/45784
12183 * testsuite/libgomp.c/pr45784.c: New test.
12184 * testsuite/libgomp.c++/pr45784.C: New test.
12185
3717fbe3
TV
121862017-07-19 Tom de Vries <tom@codesourcery.com>
12187
12188 * testsuite/libgomp.oacc-c/vec.c: New test.
12189
9607b014
TV
121902017-07-03 Tom de Vries <tom@codesourcery.com>
12191
12192 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12193
dfb15f6b
TV
121942017-06-27 Tom de Vries <tom@codesourcery.com>
12195
12196 * plugin/plugin-nvptx.c (notify_var): New function.
12197 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12198
22f1a037
TV
121992017-06-27 Tom de Vries <tom@codesourcery.com>
12200
12201 * env.c (parse_unsigned_long_1): Factor out of ...
12202 (parse_unsigned_long): ... here.
12203 (parse_int_1): Factor out of ...
12204 (parse_int): ... here.
12205 (parse_int_secure): New function.
12206 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12207 * secure_getenv.h: Factor out of ...
12208 * plugin/plugin-hsa.c: ... here.
12209 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12210
d54d1fc3
JJ
122112017-06-21 Jakub Jelinek <jakub@redhat.com>
12212
12213 PR c++/81130
12214 * testsuite/libgomp.c++/pr81130.C: New test.
12215
4f4b0ab8
RO
122162017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12217
12218 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12219 default args.
12220 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12221 dg-xfail-run-if default args.
12222
40ffd95f
BE
122232017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12224
12225 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12226 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12227
01275e1e
JJ
122282017-05-30 Jakub Jelinek <jakub@redhat.com>
12229
12230 PR libgomp/80822
12231 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12232 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12233 sibling lists, depending on level just pick up what CPUs to put
12234 together into a place vs. whether add multiple ordered places.
12235
78672bd8
TS
122362017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12237
7ce64403
TS
12238 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12239 * libgomp.map (OACC_2.0.1): Add these.
12240 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12241 for "acc_wait", and "acc_wait_all", respectively.
12242 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12243 for "acc_wait", and "acc_wait_all", respectively.
12244 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12245 * libgomp.texi (acc_wait, acc_wait_all): Update.
12246 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12247 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12248 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12249
318686c2
TS
12250 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12251 acc_present_or_copyin and acc_present_or_create procedures,
12252 respectively.
12253 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12254 generally different variants of OpenACC Runtime Library functions.
12255 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12256
a6745534
TS
12257 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12258 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12259
9b94fbc7
TS
12260 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12261 of preprocessor definitions.
12262 * libgomp.h (strong_alias): Guard by "#ifdef
12263 HAVE_ATTRIBUTE_ALIAS".
12264 * oacc-mem.c: Provide "acc_pcreate" as alias for
12265 "acc_present_or_create", and "acc_pcopyin" as alias for
12266 "acc_present_or_copyin".
12267 * libgomp.map: New version "OACC_2.0.1".
12268 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12269 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12270 its content into...
12271 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12272 Extend testing.
12273
78672bd8
TS
12274 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12275 when disabling nvptx offloading.
12276
0c36d0d5
TS
122772017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12278
fd71a9a2
TS
12279 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12280 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12281 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12282
0c36d0d5
TS
12283 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12284 * testsuite/lib/libgomp.exp
12285 (check_effective_target_openacc_nvidia_accel_configured): New
12286 proc.
12287 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12288 (check_effective_target_c++): New procs.
12289 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12290 (check_effective_target_c++): Likewise.
12291
c24783c4
JJ
122922017-05-22 Jakub Jelinek <jakub@redhat.com>
12293
655e5265
JJ
12294 PR middle-end/80809
12295 * testsuite/libgomp.c/pr80809-2.c: New test.
12296 * testsuite/libgomp.c/pr80809-3.c: New test.
12297
e9e2ef9f
JJ
12298 PR middle-end/80809
12299 * testsuite/libgomp.c/pr80809-1.c: New test.
12300
c24783c4
JJ
12301 PR middle-end/80853
12302 * testsuite/libgomp.c/pr80853.c: New test.
12303
0da2f96a
TS
123042017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12305
7fd549d2
TS
12306 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12307 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12308 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12309 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12310 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12311
0da2f96a
TS
12312 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12313 Debug output for failure.
12314
62ffe920
RO
123152017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12316
12317 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12318
f49215b1
JJ
123192017-04-27 Jakub Jelinek <jakub@redhat.com>
12320
12321 PR bootstrap/80531
12322 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12323 bootstrap compare failures.
12324
2260d19d
AM
123252017-04-20 Alexander Monakov <amonakov@ispras.ru>
12326
12327 * testsuite/libgomp.c/target-36.c: New testcase.
12328
19929ba9
JJ
123292017-04-13 Jakub Jelinek <jakub@redhat.com>
12330
12331 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12332 instead of char.
12333
fbc698e0
JJ
123342017-04-11 Jakub Jelinek <jakub@redhat.com>
12335
12336 PR libgomp/80394
12337 * testsuite/libgomp.c/pr80394.c: New test.
12338
c4060df4
JJ
123392017-04-04 Jakub Jelinek <jakub@redhat.com>
12340
12341 PR libgomp/79876
12342 * config/posix/thread-stacksize.h: New file.
12343 * config/darwin/thread-stacksize.h: New file.
12344 * config/nvptx/thread-stacksize.h: New file.
12345 * env.c: Include thread-stacksize.h.
12346 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12347 instead of 0. Call pthread_attr_setstacksize even if
12348 GOMP_DEFAULT_STACKSIZE is non-zero.
12349
e02d868a
JJ
123502017-03-30 Jakub Jelinek <jakub@redhat.com>
12351
12352 * env.c (initialize_env): Initialize stacksize to 0.
12353
7ba8651e
CP
123542017-03-22 Cesar Philippidis <cesar@codesourcery.com>
12355
12356 PR c++/80029
12357 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12358
eebc5e2d
JJ
123592017-03-08 Jakub Jelinek <jakub@redhat.com>
12360
12361 PR c/79940
12362 * testsuite/libgomp.c/pr79940.c: New test.
12363
1eb08f52
RO
123642017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12365
12366 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12367 targets.
12368 Add __float128 options.
12369
b0f78ff3
JDA
123702017-02-11 John David Anglin <danglin@gcc.gnu.org>
12371
12372 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12373 hppa*-*-* dg-skip-if directive.
12374
1bbe0d8f
JJ
123752017-02-09 Jakub Jelinek <jakub@redhat.com>
12376
12377 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12378 dg-skip-if directive into a comment.
12379
02889d23
CLT
123802017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12381 Chung-Lin Tang <cltang@codesourcery.com>
12382
12383 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12384 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12385 add additional case.
12386 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12387 "openacc_nvidia_accel_selected".
12388 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12389 Add num_workers(8) clause.
12390
5896a41d
JDA
123912017-02-08 John David Anglin <danglin@gcc.gnu.org>
12392
12393 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12394 hppa*-*-*.
12395 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12396 include complex.h on hppa*-*-hpux*.
12397 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12398
345a8c17
TS
123992017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12400
e70ab10d
TS
12401 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12402
345a8c17
TS
12403 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12404 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12405 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12406 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12407 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12408 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12409 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12410 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12411 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12412 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12413
dced339c
TS
124142017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12415
12416 * libgomp-plugin.h: #include <stdbool.h>.
12417 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12418 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12419 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12420 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12421 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12422 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12423 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12424 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12425 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12426 (GOMP_OFFLOAD_openacc_async_test)
12427 (GOMP_OFFLOAD_openacc_async_test_all)
12428 (GOMP_OFFLOAD_openacc_async_wait)
12429 (GOMP_OFFLOAD_openacc_async_wait_async)
12430 (GOMP_OFFLOAD_openacc_async_wait_all)
12431 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12432 (GOMP_OFFLOAD_openacc_async_set_async)
12433 (GOMP_OFFLOAD_openacc_create_thread_data)
12434 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12435 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12436 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12437 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12438 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12439 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12440 these.
12441 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12442 (GOMP_OFFLOAD_unload_image): Fix argument types.
12443
23749904
JJ
124442017-01-26 Jakub Jelinek <jakub@redhat.com>
12445
c1cadde1
JJ
12446 * testsuite/lib/libgomp.exp
12447 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12448 check_compile invocation. Fix up removal of executable. Drop
12449 bogus "2>&1" argument.
12450
23749904
JJ
12451 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12452 directive.
12453
124542017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
12455 Martin Jambor <mjambor@suse.cz>
12456
12457 * plugin/hsa.h: Moved to top level include.
12458 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12459
73aa401e
JJ
124602017-01-21 Jakub Jelinek <jakub@redhat.com>
12461
12462 PR other/79046
12463 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12464 of cat to get version from BASE-VER file.
12465 * testsuite/Makefile.in: Regenerated.
12466
b32e85fa
JJ
124672017-01-19 Jakub Jelinek <jakub@redhat.com>
12468
12469 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12470 for _WIN64.
12471
3c36aa6b
JJ
124722017-01-17 Jakub Jelinek <jakub@redhat.com>
12473
d190d5c0
JJ
12474 * plugin/hsa.h: Add GCC runtime library exception.
12475 * plugin/hsa_ext_finalize.h: Likewise.
12476
2393d337
JJ
12477 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12478 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12479 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12480 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12481 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12482 library to link ptx plugin against.
12483 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12484 (CUDA_CALLS): Define.
12485 (cuda_lib, cuda_lib_inited): New variables.
12486 (init_cuda_lib): New function.
12487 (CUDA_CALL_PREFIX): Define.
12488 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12489 (CUDA_CALL): Use FN instead of (FN).
12490 (CUDA_CALL_NOCHECK): Define.
12491 (cuda_error, fini_streams_for_device, select_stream_for_async,
12492 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12493 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12494 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12495 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12496 CUDA_CALL_NOCHECK.
12497 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12498 CUDA_CALL_NOCHECK.
12499 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12500 Use CUDA_CALL_NOCHECK.
12501 * plugin/cuda/cuda.h: New file.
12502 * config.h.in: Regenerated.
12503 * configure: Regenerated.
12504
3c36aa6b
JJ
12505 PR other/79046
12506 * configure.ac: Add GCC_BASE_VER.
12507 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12508 get version from BASE-VER file.
12509 * testsuite/Makefile.in: Regenerated.
12510 * configure: Regenerated.
12511 * Makefile.in: Regenerated.
12512
c508bc2d
FXC
125132017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12514
12515 PR libgomp/60670
12516 * Makefile.am: Make fincludedir multilib-aware.
12517 * Makefile.in: Regenerate.
12518
c1a9c369
JJ
125192017-01-01 Jakub Jelinek <jakub@redhat.com>
12520
cbe34bb5
JJ
12521 Update copyright years.
12522
c1a9c369
JJ
12523 * libgomp.texi: Bump @copying's copyright year.
12524
e7a7f4be
SH
125252016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12526
12527 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12528 pthread_spinlock_t instead of gomp_mutex_t lock.
12529 (gomp_get_thread_pool): Likewise.
12530 (gomp_release_thread_pool): Likewise.
12531 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12532 Likewise.
12533
d313d52c
SH
125342016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12535
12536 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12537 thread pool in case nthreads == 1.
12538
630e3c3a
AM
125392016-11-30 Alexander Monakov <amonakov@ispras.ru>
12540
12541 * config/nvptx/env.c: Delete.
12542 * icv.c: Move definitions of ICV variables back ...
12543 * env.c: ...here. Do not compile environment-related functionality if
12544 LIBGOMP_OFFLOADED_ONLY is set.
12545
9e38af5c
AM
125462016-11-30 Alexander Monakov <amonakov@ispras.ru>
12547
12548 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12549 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12550 * configure: Regenerate.
12551 * config.h.in: Likewise.
12552
f96b7f1f
AM
125532016-11-30 Alexander Monakov <amonakov@ispras.ru>
12554
12555 * Makefile.in: Regenerate with automake-1.11.6.
12556 * aclocal.m4: Likewise.
12557 * configure: Likewise.
12558 * testsuite/Makefile.in: Likewise.
12559
6a6951b1
AM
125602016-11-28 Alexander Monakov <amonakov@ispras.ru>
12561
12562 * config/nvptx/critical.c: Delete to use generic implementation.
12563
c7ac071f
JH
125642016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12565
12566 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12567 ../../affinity.c as fallback.
12568 * config/nvptx/affinity.c: Delete to use fallback implementation.
12569
6103184e 125702016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 12571 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
12572 Dmitry Melnik <dm@ispras.ru>
12573
12574 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12575 * Makefile.in. Regenerate.
12576 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12577 (LIBGOMP_USE_PTHREADS): ...here; new define.
12578 * configure: Regenerate.
12579 * config.h.in: Likewise.
12580 * config/posix/affinity.c: Move to...
12581 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12582 interface by LIBGOMP_USE_PTHREADS.
12583 * critical.c: Split out GOMP_atomic_{start,end} into...
12584 * atomic.c: ...here (new file).
12585 * env.c: Split out ICV definitions into...
12586 * icv.c: ...here (new file) and...
12587 * icv-device.c: ...here. New file.
12588 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12589 (gomp_destroy_lock_30): Ditto.
12590 (gomp_set_lock_30): Ditto.
12591 (gomp_unset_lock_30): Ditto.
12592 (gomp_test_lock_30): Ditto.
12593 (gomp_init_nest_lock_30): Ditto.
12594 (gomp_destroy_nest_lock_30): Ditto.
12595 (gomp_set_nest_lock_30): Ditto.
12596 (gomp_unset_nest_lock_30): Ditto.
12597 (gomp_test_nest_lock_30): Ditto.
12598 * lock.c: New.
12599 * config/nvptx/lock.c: New.
12600 * config/nvptx/bar.c: New.
12601 * config/nvptx/bar.h: New.
12602 * config/nvptx/doacross.h: New.
12603 * config/nvptx/error.c: New.
12604 * config/nvptx/icv-device.c: New.
12605 * config/nvptx/mutex.h: New.
12606 * config/nvptx/pool.h: New.
12607 * config/nvptx/proc.c: New.
12608 * config/nvptx/ptrlock.h: New.
12609 * config/nvptx/sem.h: New.
12610 * config/nvptx/simple-bar.h: New.
12611 * config/nvptx/target.c: New.
12612 * config/nvptx/task.c: New.
12613 * config/nvptx/team.c: New.
12614 * config/nvptx/time.c: New.
12615 * config/posix/simple-bar.h: New.
12616 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12617 (gomp_num_teams_var): Declare.
12618 (struct gomp_thread_pool): Change threads_dock member to
12619 gomp_simple_barrier_t.
12620 [__nvptx__] (gomp_thread): New implementation.
12621 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12622 (gomp_thread_destructor): Ditto.
12623 (gomp_init_thread_affinity): Ditto.
12624 * team.c: Guard uses of Pthreads-specific interfaces by
12625 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12626 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12627 * config/nvptx/alloc.c: Delete.
12628 * config/nvptx/barrier.c: Ditto.
12629 * config/nvptx/fortran.c: Ditto.
12630 * config/nvptx/iter.c: Ditto.
12631 * config/nvptx/iter_ull.c: Ditto.
12632 * config/nvptx/loop.c: Ditto.
12633 * config/nvptx/loop_ull.c: Ditto.
12634 * config/nvptx/ordered.c: Ditto.
12635 * config/nvptx/parallel.c: Ditto.
12636 * config/nvptx/priority_queue.c: Ditto.
12637 * config/nvptx/sections.c: Ditto.
12638 * config/nvptx/single.c: Ditto.
12639 * config/nvptx/splay-tree.c: Ditto.
12640 * config/nvptx/work.c: Ditto.
12641 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12642 -foffload=-lgfortran in addition to -lgfortran.
12643 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12644 * plugin/plugin-nvptx.c: Include <limits.h>.
12645 (struct targ_fn_descriptor): Add new fields.
12646 (struct ptx_device): Ditto. Set them...
12647 (nvptx_open_device): ...here.
12648 (nvptx_adjust_launch_bounds): New.
12649 (nvptx_host2dev): Allow NULL 'nvthd'.
12650 (nvptx_dev2host): Ditto.
12651 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12652 (link_ptx): Adjust log sizes.
12653 (nvptx_host2dev): Allow NULL 'nvthd'.
12654 (nvptx_dev2host): Ditto.
12655 (nvptx_set_clocktick): New. Use it...
12656 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
12657 fields.
12658 (GOMP_OFFLOAD_dev2dev): New.
12659 (nvptx_adjust_launch_bounds): New.
12660 (nvptx_stacks_size): New.
12661 (nvptx_stacks_alloc): New.
12662 (nvptx_stacks_free): New.
12663 (GOMP_OFFLOAD_run): New.
12664 (GOMP_OFFLOAD_async_run): New (stub).
12665
56b1c60e
MJ
126662016-11-23 Martin Jambor <mjambor@suse.cz>
12667
12668 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12669 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12670 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12671
b8d89b03 126722016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 12673 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
12674
12675 * plugin/hsa.h: New file.
12676 * plugin/hsa_ext_finalize.h: New file.
12677 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
12678 header file unistd.h, and functions secure_getenv, __secure_getenv,
12679 getuid, geteuid, getgid and getegid.
12680 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12681 -D_GNU_SOURCE.
12682 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12683 Handle various cases of secure_getenv presence, add an implementation
12684 when we can test effective UID and GID.
12685 (struct hsa_runtime_fn_info): New structure.
12686 (hsa_runtime_fn_info hsa_fns): New variable.
12687 (hsa_runtime_lib): Likewise.
12688 (support_cpu_devices): Likewise.
12689 (init_enviroment_variables): Load newly introduced ENV
12690 variables.
12691 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12692 (hsa_fatal): Likewise.
12693 (DLSYM_FN): New macro.
12694 (init_hsa_runtime_functions): New function.
12695 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12696 structure. Depending on environment, also allow CPU devices.
12697 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12698 (get_kernarg_memory_region): Likewise.
12699 (GOMP_OFFLOAD_init_device): Likewise.
12700 (destroy_hsa_program): Likewise.
12701 (init_basic_kernel_info): New function.
12702 (GOMP_OFFLOAD_load_image): Use it.
12703 (create_and_finalize_hsa_program): Call hsa run-time functions via
12704 hsa_fns structure.
12705 (create_single_kernel_dispatch): Likewise.
12706 (release_kernel_dispatch): Likewise.
12707 (init_single_kernel): Likewise.
12708 (parse_target_attributes): Allow up multiple HSA grid dimensions.
12709 (get_group_size): New function.
12710 (run_kernel): Likewise.
12711 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12712 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12713 structure.
12714 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12715 * testsuite/libgomp-test-support.exp.in: Likewise.
12716 * Makefile.in: Regenerated.
12717 * aclocal.m4: Likewise.
12718 * config.h.in: Likewise.
12719 * configure: Likewise.
12720 * testsuite/Makefile.in: Likewise.
12721
18d2ada8 127222016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 12723 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
12724
12725 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12726 mapping clauses to target constructs.
12727 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12728
84c1b9d3
MK
127292016-11-15 Matthias Klose <doko@ubuntu.com>
12730
12731 * configure: Regenerate.
12732
b4c3a85b
JJ
127332016-11-10 Jakub Jelinek <jakub@redhat.com>
12734
8ebd1b31
JJ
12735 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12736 * omp_lib.h.in (openmp_version): Likewise.
12737 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12738 of 201307.
12739 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12740
b4c3a85b
JJ
12741 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12742 (fib_wrapper): Add map(from: x) clause.
12743 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12744 (e_53_2): Likewise.
12745 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12746 (accum): Add map(tmp) clause.
12747 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12748 (accum): Add map(tofrom: tmp) clause.
12749 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12750 (gramSchmidt): Likewise.
12751 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12752 map(tofrom: sum) clause.
12753 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12754 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
12755 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12756 only allowed on the loop iterator.
12757 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12758 * testsuite/libgomp.fortran/taskloop2.f90: New test.
12759 * testsuite/libgomp.fortran/taskloop4.f90: New test.
12760 * testsuite/libgomp.fortran/doacross1.f90: New test.
12761 * testsuite/libgomp.fortran/doacross3.f90: New test.
12762 * testsuite/libgomp.fortran/taskloop1.f90: New test.
12763 * testsuite/libgomp.fortran/taskloop3.f90: New test.
12764 * testsuite/libgomp.fortran/doacross2.f90: New test.
12765 * testsuite/libgomp.c/doacross-1.c (main): Add missing
12766 #pragma omp atomic read.
12767 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12768 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12769
6668eb45
CP
127702016-11-02 Cesar Philippidis <cesar@codesourcery.com>
12771 Nathan Sidwell <nathan@acm.org>
12772
12773 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12774 to determine default geometry.
12775 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12776 dimension.
12777
f10e37a1
JJ
127782016-11-01 Jakub Jelinek <jakub@redhat.com>
12779
12780 * hashtab.h: Use standard GPLv3 with runtime exception
12781 boilerplate.
12782
015c7760
AH
127832016-10-27 Aldy Hernandez <aldyh@redhat.com>
12784
12785 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12786 size when allocating new thread.
12787
20a1e5b8
MP
127882016-09-14 Marek Polacek <polacek@redhat.com>
12789
12790 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12791
1cad9284
JJ
127922016-08-19 Jakub Jelinek <jakub@redhat.com>
12793
12794 PR fortran/71014
12795 * testsuite/libgomp.fortran/pr71014.f90: New test.
12796
2c71d454
CLT
127972016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
12798
12799 PR middle-end/70895
12800 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12801 firstprivate clauses.
12802 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12803 copy clauses.
12804 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12805 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12806 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12807 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12808 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12809 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12810 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12811 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12812 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12813 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12814 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12815 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
12816
7c713714
CLT
128172016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
12818
12819 PR fortran/70598
12820 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
12821
5c934396
JJ
128222016-08-08 Jakub Jelinek <jakub@redhat.com>
12823
12824 PR c++/58706
12825 * testsuite/libgomp.c++/pr58706.C: New test.
12826
9ef64248
TS
128272016-08-04 Thomas Schwinge <thomas@codesourcery.com>
12828
bbc79c0e
TS
12829 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
12830 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
12831 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
12832 Likewise.
12833 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
12834 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
12835 Likewise.
12836 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
12837
9ef64248
TS
12838 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
12839 test, and don't hardcode -O0.
12840
c1311c86
NS
128412016-08-03 Nathan Sidwell <nathan@codesourcery.com>
12842
12843 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
12844
b1c9c068
CP
128452016-07-15 Cesar Philippidis <cesar@codesourcery.com>
12846
12847 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
12848 test.
12849
b4410f63
L
128502016-07-03 H.J. Lu <hongjiu.lu@intel.com>
12851
12852 PR middle-end/71734
12853 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
12854 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
12855
a8dbab92
JJ
128562016-07-01 Jakub Jelinek <jakub@redhat.com>
12857
12858 PR fortran/71717
12859 * testsuite/libgomp.fortran/associate3.f90: New test.
12860
9b6a8d0f
JJ
128612016-06-17 Jakub Jelinek <jakub@redhat.com>
12862
12863 * testsuite/libgomp.c++/target-21.C: New test.
12864
283635f9
JJ
128652016-06-16 Jakub Jelinek <jakub@redhat.com>
12866
12867 * testsuite/libgomp.c++/target-20.C: New test.
12868
27d6ba88
TS
128692016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12870 Cesar Philippidis <cesar@codesourcery.com>
12871
12872 PR middle-end/71373
12873 * libgomp.oacc-c/nested-function-1.c: New file.
12874 * libgomp.oacc-c/nested-function-2.c: Likewise.
12875 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12876 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12877 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12878
4b1ffdb1
TS
128792016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12880
12881 PR c/71381
12882 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
12883 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
12884 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
12885
d821b794
CLT
128862016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
12887
12888 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
12889 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
12890
3616a8c5
CP
128912016-06-01 Cesar Philippidis <cesar@codesourcery.com>
12892
12893 PR c/70688
5eed9a88 12894 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 12895
7211a097
JJ
128962016-05-26 Jakub Jelinek <jakub@redhat.com>
12897
12898 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
12899 instead of invalid schedule(static, 0).
12900 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12901
b4557008
CLT
129022016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12903
12904 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
12905 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
12906 parameter, use to set async stream around call to gomp_unmap_vars,
12907 call gomp_unmap_vars() with 'do_copyfrom' set to true.
12908 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
12909 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
12910 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
12911 (event_add): Add int parameter, initialize 'val' field when
12912 adding new ptx_event struct.
12913 (nvptx_evec): Adjust event_add() call arguments.
12914 (nvptx_host2dev): Likewise.
12915 (nvptx_dev2host): Likewise.
12916 (nvptx_wait_async): Likewise.
12917 (nvptx_wait_all_async): Likewise.
12918 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
12919 pass to event_add() call.
12920 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
12921 parameter.
12922 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
12923 call openacc.register_async_cleanup_func() hook.
12924 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
12925 * target.c (gomp_copy_from_async): Delete function.
12926 (gomp_map_vars): Remove async_refcount.
12927 (gomp_unmap_vars): Likewise.
12928 (gomp_load_image_to_device): Likewise.
12929 (omp_target_associate_ptr): Likewise.
12930 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
12931 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
12932 (gomp_copy_from_async): Remove.
12933
6ce13072
CLT
129342016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12935
12936 * target.c (gomp_device_copy): New function.
12937 (gomp_copy_host2dev): Likewise.
12938 (gomp_copy_dev2host): Likewise.
12939 (gomp_free_device_memory): Likewise.
12940 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
12941 (gomp_map_pointer): Likewise.
12942 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
12943 NULL value from alloc_func plugin hook.
12944 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
12945 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
12946 (gomp_unmap_vars): Likewise.
12947 (gomp_update): Adjust to call gomp_copy_dev2host and
12948 gomp_copy_host2dev functions.
12949 (gomp_unload_image_from_device): Handle false value from
12950 unload_image_func plugin hook.
12951 (gomp_init_device): Handle false value from init_device_func
12952 plugin hook.
12953 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
12954 (omp_target_free): Adjust to call gomp_free_device_memory.
12955 (omp_target_memcpy): Handle return values from host2dev_func,
12956 dev2host_func, and dev2dev_func plugin hooks.
12957 (omp_target_memcpy_rect_worker): Likewise.
12958 (gomp_target_fini): Handle false value from fini_device_func
12959 plugin hook.
12960 * libgomp.h (struct gomp_device_descr): Adjust return type of
12961 init_device_func, fini_device_func, unload_image_func, free_func,
12962 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
12963 * oacc-init.c (acc_shutdown_1): Handle false value from
12964 fini_device_func plugin hook.
12965 * oacc-host.c (host_init_device): Change return type to bool.
12966 (host_fini_device): Likewise.
12967 (host_unload_image): Likewise.
12968 (host_free): Likewise.
12969 (host_dev2host): Likewise.
12970 (host_host2dev): Likewise.
12971 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
12972 (acc_memcpy_to_device): Likewise.
12973 (acc_memcpy_from_device): Likewise.
12974 (delete_copyout): Add libfnname parameter, handle free_func
12975 hook fatal error case.
12976 (acc_delete): Adjust delete_copyout call.
12977 (acc_copyout): Likewise.
12978 (update_dev_host): Move gomp_mutex_unlock to after
12979 host2dev/dev2host hook calls.
12980
12981 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
12982 to 'hsa_error_msg', for clarity.
12983 (hsa_fatal): Likewise.
12984 (hsa_error): New function.
12985 (init_hsa_context): Change return type to bool, adjust to return
12986 false on error.
12987 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
12988 return value.
12989 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
12990 return false on error.
12991 (get_agent_info): Adjust to return NULL on error.
12992 (destroy_hsa_program): Change return type to bool, adjust to
12993 return false on error.
12994 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
12995 (destroy_module): Change return type to bool, adjust to
12996 return false on error.
12997 (GOMP_OFFLOAD_unload_image): Likewise.
12998 (GOMP_OFFLOAD_fini_device): Likewise.
12999 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13000 (GOMP_OFFLOAD_free): Change to return false when called.
13001 (GOMP_OFFLOAD_dev2host): Likewise.
13002 (GOMP_OFFLOAD_host2dev): Likewise.
13003 (GOMP_OFFLOAD_dev2dev): Likewise.
13004
13005 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13006 (CUDA_CALL): Likewise.
13007 (CUDA_CALL_ASSERT): Likewise.
13008 (map_init): Change return type to bool, use CUDA_CALL* macros.
13009 (map_fini): Likewise.
13010 (init_streams_for_device): Change return type to bool, adjust
13011 call to map_init.
13012 (fini_streams_for_device): Change return type to bool, adjust
13013 call to map_fini.
13014 (select_stream_for_async): Release stream_lock before calls to
13015 GOMP_PLUGIN_fatal, adjust call to map_init.
13016 (nvptx_init): Use CUDA_CALL* macros.
13017 (nvptx_attach_host_thread_to_device): Change return type to bool,
13018 use CUDA_CALL* macros.
13019 (nvptx_open_device): Use CUDA_CALL* macros.
13020 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13021 macros.
13022 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13023 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13024 (nvptx_exec): Use CUDA_CALL* macros.
13025 (nvptx_alloc): Use CUDA_CALL* macros.
13026 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13027 (nvptx_host2dev): Likewise.
13028 (nvptx_dev2host): Likewise.
13029 (nvptx_wait): Use CUDA_CALL* macros.
13030 (nvptx_wait_async): Likewise.
13031 (nvptx_wait_all): Likewise.
13032 (nvptx_wait_all_async): Likewise.
13033 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13034 use CUDA_CALL* macros, adjust call to map_fini.
13035 (GOMP_OFFLOAD_init_device): Change return type to bool,
13036 adjust code accordingly.
13037 (GOMP_OFFLOAD_fini_device): Likewise.
13038 (GOMP_OFFLOAD_load_image): Adjust calls to
13039 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13040 use CUDA_CALL* macros.
13041 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13042 return code.
13043 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13044 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13045 handle error return.
13046 (GOMP_OFFLOAD_dev2host): Likewise.
13047 (GOMP_OFFLOAD_host2dev): Likewise.
13048 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13049 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13050
e46c7770
CP
130512016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13052
13053 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13054 (acc_free): Likewise.
13055 (acc_memcpy_to_device): Likewise.
13056 (acc_memcpy_from_device): Likewise.
13057 (acc_deviceptr): Likewise.
13058 (acc_hostptr): Likewise.
13059 (acc_is_present): Likewise.
13060 (acc_map_data): Likewise.
13061 (acc_unmap_data): Likewise.
13062 (present_create_copy): Likewise.
13063 (delete_copyout): Likewise.
13064 (update_dev_host): Likewise.
13065 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13066 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13067 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13068 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13069 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13070 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13071 it only runs on nvptx targets.
13072 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13073 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13074 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13075 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13076 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13077 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13078 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13079 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13080 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13081 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13082 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13083 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13084 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13085 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13086 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13087 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13088 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13089 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13090 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13091 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13092 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13093 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13094 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13095
a5057543
MJ
130962016-05-23 Martin Jambor <mjambor@suse.cz>
13097
13098 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13099
e37288a6
CLT
131002016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13101
13102 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13103 to gomp_init_targets_once.
13104 (acc_set_device_type): Remove !cached_base_dev condition on call to
13105 gomp_init_targets_once, move call to before acc_device_lock acquire,
13106 to avoid deadlock.
13107 (acc_get_device_num): Remove !cached_base_dev condition on call to
13108 gomp_init_targets_once.
13109 (acc_set_device_num): Likewise.
13110
51d9ed48
MJ
131112016-05-16 Martin Jambor <mjambor@suse.cz>
13112
92a285c1 13113 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 13114
5b37e866
NS
131152016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13116
13117 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13118 expected partitioning.
13119
e7ff0319
CP
131202016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13121
13122 PR middle-end/70626
13123 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13124 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13125 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13126
c2bd3b69
AM
131272016-04-21 Alexander Monakov <amonakov@ispras.ru>
13128
13129 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13130 non-fatal.
13131
84311083
JJ
131322016-04-19 Jakub Jelinek <jakub@redhat.com>
13133
13134 PR middle-end/70680
13135 * testsuite/libgomp.c/pr70680-1.c: New test.
13136 * testsuite/libgomp.c/pr70680-2.c: New test.
13137
aadc043f
CP
131382016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13139
13140 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13141 pass parameter variables to subroutines.
13142
e387fc64
CP
131432016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13144
13145 PR middle-end/70643
13146 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13147
10c3c424
CP
131482016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13149
13150 PR testsuite/68242
13151 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13152 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13153
27f9add3
TS
131542016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13155
58d32aeb
TS
13156 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13157 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13158 GOACC_declare prototype.
13159
d97633ef
TS
13160 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13161 Merge this file, and...
13162 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13163 ... this file, and...
13164 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13165 ... this file, and...
13166 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13167 ... this file, and...
13168 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13169 ... this file, and...
13170 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13171 ... this file, and...
13172 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13173 ... this file, and...
13174 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13175 ... this file, and...
13176 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13177 ... this file, and...
13178 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13179 ... this file, and...
13180 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13181 ... this file, and...
13182 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13183 ... this file, and...
13184 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13185 ... this file into...
13186 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13187 file.
13188
27f9add3
TS
13189 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13190 Make failure observable.
13191
21f3a236
JJ
131922016-04-12 Jakub Jelinek <jakub@redhat.com>
13193
13194 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13195 field.
13196 * target.c (gomp_target_fallback_firstprivate,
13197 gomp_target_unshare_firstprivate): Removed.
13198 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13199 before waiting for dependencies.
13200 (gomp_target_task_fn): Don't copy firstprivate vars here.
13201 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13202 firstprivate_copies here.
13203 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13204 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13205 explicit/implicit firstprivate.
13206
c42cfb5c
CP
132072016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13208
13209 PR lto/70289
13210 PR ipa/70348
13211 PR tree-optimization/70373
13212 PR middle-end/70533
13213 PR middle-end/70534
13214 PR middle-end/70535
13215 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13216 test.
13217 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13218 test.
13219 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13220 test.
13221 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13222 test.
13223 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13224 test.
13225 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13226 test.
13227 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13228 test.
13229 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13230 test.
13231 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13232 test.
13233 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13234 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13235 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13236 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13237 test.
13238 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13239 test.
13240 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13241 test.
13242 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13243 test.
13244 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13245 coverage.
13246 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13247 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13248 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13249 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13250 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13251 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13252 coverage.
13253 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13254 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13255 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13256 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13257 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13258 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13259 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13260 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13261 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13262 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13263 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13264 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13265 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13266 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13267 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13268
2620c80d
TS
132692016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13270 James Norris <jnorris@codesourcery.com>
13271 Nathan Sidwell <nathan@codesourcery.com>
13272 Julian Brown <julian@codesourcery.com>
13273 Cesar Philippidis <cesar@codesourcery.com>
13274 Chung-Lin Tang <cltang@codesourcery.com>
13275 Tom de Vries <tom@codesourcery.com>
13276
13277 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13278 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13279 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13280 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13281 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13282 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13283 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13284 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13285 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13286 XFAIL.
13287 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13288 Incorporate...
13289 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13290 file.
13291 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13292 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13293 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13294 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13295 Likewise.
13296 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13297 Likewise.
13298 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13299 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13300 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13301 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13302 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13303 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13304 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13305 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13306 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13307 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13308 Likewise.
13309 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13310 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13311 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13312 file...
13313 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13314 file into...
13315 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13316 file. Update.
13317 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13318 file.
13319 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13320 Likewise.
13321 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13322 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13323 ... this new file. Update.
13324 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13325 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13326 ... this new file. Update.
13327 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13328 file. Incorporate...
13329 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13330 file, and...
13331 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13332 file, and...
13333 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13334 file.
13335 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13336
ce83104b
TS
133372016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13338
13339 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13340 set-torture-options.
13341
6e0df3b7
TS
133422016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13343
13344 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13345 gcc-dg-runtest.
13346 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13347 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13348 -fno-builtin-acc_on_device instead of -O0.
13349 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13350 -O0.
13351 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13352 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13353 Likewise.
13354 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13355 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13356 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13357 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13358 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13359 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13360 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13361 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13362 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13363 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13364 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13365 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13366 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13367 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13368 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13369 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13370 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13371 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13372 Don't specify -O2.
13373 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13374 Likewise.
13375 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13376 Likewise.
13377
f9c8babb
ML
133782016-03-24 Martin Liska <mliska@suse.cz>
13379
13380 * plugin/plugin-hsa.c (packet_store_release): New function
13381 that is taken from the HSA runtime manual.
13382 (GOMP_OFFLOAD_run): Use the function.
13383
04833609
JJ
133842016-03-23 Jakub Jelinek <jakub@redhat.com>
13385
13386 PR c++/70376
13387 * testsuite/libgomp.c++/pr70376.C: New test.
13388
d79ee524
TV
133892016-03-23 Tom de Vries <tom@codesourcery.com>
13390
13391 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13392 initialization of lresult and lvresult.
13393 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13394
b6d1f2b5
JN
133952016-03-23 James Norris <jnorris@codesourcery.com>
13396 Daichi Fukuoka <dc-fukuoka@sgi.com>
13397
13398 PR libgomp/69414
13399 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13400 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13401 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13402 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13403
7397fce2
ML
134042016-03-23 Martin Liska <mliska@suse.cz>
13405
13406 PR hsa/70337
13407 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13408 argument just in case a dispatched kernel uses that argument.
13409
ee2e7d51
TS
134102016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13411
13412 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13413 -ftree-parallelize-loops/-fopenacc changes.
13414 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13415 Likewise.
13416 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13417 Likewise.
13418 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13419 Likewise.
13420 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13421 Likewise.
13422 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13423 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13424
be9f7143
TS
134252016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13426
13427 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13428 always_ld_library_path the path to libgcc_s.
13429
f6c1032d
CP
134302016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13431
13432 PR testsuite/70009
13433 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13434
5a6452e6
TV
134352016-03-09 Tom de Vries <tom@codesourcery.com>
13436
13437 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13438 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13439 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13440 Same.
13441 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13442 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13443 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13444 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13445
96a71bd5
MJ
134462016-03-07 Martin Jambor <mjambor@suse.cz>
13447
13448 * testsuite/lib/libgomp.exp
13449 (check_effective_target_hsa_offloading_selected_nocache): New.
13450 (check_effective_target_hsa_offloading_selected): Likewise.
13451 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13452 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13453 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13454 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13455 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13456 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13457 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13458 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13459 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13460 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13461 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13462 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13463 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13464 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13465 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13466 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13467 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13468
02e0b5b2
MJ
134692016-03-07 Martin Jambor <mjambor@suse.cz>
13470
13471 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13472 non-shared memory accelerators.
13473 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13474 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13475 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13476 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13477 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13478 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13479 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13480 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13481 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13482
45548f30
MJ
134832016-03-07 Martin Jambor <mjambor@suse.cz>
13484
13485 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13486 ALWAYS_CFLAGS.
13487
da3d46cb
JJ
134882016-03-02 Jakub Jelinek <jakub@redhat.com>
13489
13490 PR libgomp/69555
13491 * testsuite/libgomp.c++/pr69555-1.C: New test.
13492 * testsuite/libgomp.c++/pr69555-2.C: New test.
13493
622174b2
KM
134942016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13495 Martin Jambor <mjambor@suse.cz>
13496
13497 * testsuite/lib/libgomp.exp
13498 (check_effective_target_offload_device_shared_as): New proc.
13499 * testsuite/libgomp.c++/declare_target-1.C: New test.
13500
e6861a99
IV
135012016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13502
13503 PR driver/68463
13504 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13505
f99c3557
TS
135062016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13507
13508 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13509 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13510 dims.
13511 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13512 -ftree-parallelize-loops/-fopenacc changes.
13513 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13514 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13515 Likewise.
13516 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13517 Likewise.
13518 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13519 Likewise.
13520 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13521 Likewise.
13522 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13523 Likewise.
13524 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13525 Likewise.
13526 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13527 Likewise.
13528 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13529 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13530 Likewise.
13531 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13532 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13533 Likewise.
13534 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13535 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13536 Likewise.
13537
d5ace3b5
CP
135382016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13539
13540 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13541
f3609a89
JJ
135422016-02-19 Jakub Jelinek <jakub@redhat.com>
13543
13544 PR driver/69805
13545 * testsuite/libgomp.c/pr69805.c: New test.
13546
2175df99
TV
135472016-02-16 Tom de Vries <tom@codesourcery.com>
13548
13549 PR lto/67709
13550 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13551
17b6426c
TV
135522016-02-09 Tom de Vries <tom@codesourcery.com>
13553
13554 PR tree-optimization/69599
13555 * testsuite/libgomp.c/omp-nested-3.c: New test.
13556 * testsuite/libgomp.c/pr46032-2.c: New test.
13557 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13558 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13559
34df756c
TV
135602016-02-09 Tom de Vries <tom@codesourcery.com>
13561
13562 PR lto/69707
13563 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13564
5854ee30
AM
135652016-02-02 Alexander Monakov <amonakov@ispras.ru>
13566
13567 * testsuite/libgomp.c/target-31.c: Fix testcase.
13568
e70b6ad7
AM
135692016-02-02 Alexander Monakov <amonakov@ispras.ru>
13570
13571 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13572 clause.
13573 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13574 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13575 reduction and map clauses.
13576 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13577
bd78a45f
JN
135782016-02-02 James Norris <jnorris@codesourcery.com>
13579
13580 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13581
41d809d3
TS
135822016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13583
18f60146
TS
13584 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13585 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13586
1a06f5e6
TS
13587 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13588 cases.
13589
033ff3d1
TS
13590 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13591 variables.
13592 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13593 (hsa_kmt_lib): Set variables.
13594 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13595 always_ld_library_path.
13596 * Makefile.in: Regenerate.
13597 * configure: Likewise.
13598 * testsuite/Makefile.in: Likewise.
13599
4a88d9b7
TS
13600 * plugin/configfrag.ac (offload_additional_options)
13601 (offload_additional_lib_paths): Don't amend for hsa offloading.
13602 * configure: Regenerate.
13603
41d809d3
TS
13604 * plugin/configfrag.ac: Don't configure for offloading target if
13605 we don't build the corresponding plugin.
13606 * configure: Regenerate.
13607
b6adbb9f
NS
136082016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13609
13610 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13611 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13612
8dfdb419
TV
136132016-01-26 Tom de Vries <tom@codesourcery.com>
13614
13615 PR tree-optimization/69110
13616 * testsuite/libgomp.c/pr69110.c: New test.
13617
02ef53f2
RB
136182016-01-25 Richard Biener <rguenther@suse.de>
13619
13620 PR lto/69393
13621 * testsuite/libgomp.c++/pr69393.C: New testcase.
13622
eb4048f2
IV
136232016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13624
13625 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13626 function wasn't mapped to the device with non-shared memory.
13627
b235cdd5
IV
136282016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13629
13630 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13631
b2b40051
MJ
136322016-01-19 Martin Jambor <mjambor@suse.cz>
13633 Martin Liska <mliska@suse.cz>
13634
13635 * plugin/Makefrag.am: Add HSA plugin requirements.
13636 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13637 (HSA_RUNTIME_LIB): Likewise.
13638 (HSA_RUNTIME_CPPFLAGS): Likewise.
13639 (HSA_RUNTIME_INCLUDE): New substitution.
13640 (HSA_RUNTIME_LIB): Likewise.
13641 (HSA_RUNTIME_LDFLAGS): Likewise.
13642 (hsa-runtime): New configure option.
13643 (hsa-runtime-include): Likewise.
13644 (hsa-runtime-lib): Likewise.
13645 (PLUGIN_HSA): New substitution variable.
13646 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13647 configure options.
13648 (PLUGIN_HSA_CPPFLAGS): Likewise.
13649 (PLUGIN_HSA_LDFLAGS): Likewise.
13650 (PLUGIN_HSA_LIBS): Likewise.
13651 Check that we have access to HSA run-time.
13652 * libgomp-plugin.h (offload_target_type): New element
13653 OFFLOAD_TARGET_TYPE_HSA.
13654 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13655 args.
13656 (bool gomp_create_target_task): Updated.
13657 (gomp_device_descr): Extra parameter of run_func and async_run_func,
13658 new field can_run_func.
13659 * libgomp_g.h (GOMP_target_ext): Update prototype.
13660 * oacc-host.c (host_run): Added a new parameter args.
13661 * target.c (calculate_firstprivate_requirements): New function.
13662 (copy_firstprivate_data): Likewise.
13663 (gomp_target_fallback_firstprivate): Use them.
13664 (gomp_target_unshare_firstprivate): New function.
13665 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13666 devices.
13667 (GOMP_target): Do host fallback for all shared memory devices. Do not
13668 pass any args to plugins.
13669 (GOMP_target_ext): Introduce device-specific argument parameter args.
13670 Allow host fallback if device shares memory. Do not remap data if
13671 device has shared memory.
13672 (gomp_target_task_fn): Likewise. Also treat shared memory devices
13673 like host fallback for mappings.
13674 (GOMP_target_data): Treat shared memory devices like host fallback.
13675 (GOMP_target_data_ext): Likewise.
13676 (GOMP_target_update): Likewise.
13677 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
13678 gomp_create_target_task.
13679 (GOMP_target_enter_exit_data): Likewise.
13680 (omp_target_alloc): Treat shared memory devices like host fallback.
13681 (omp_target_free): Likewise.
13682 (omp_target_is_present): Likewise.
13683 (omp_target_memcpy): Likewise.
13684 (omp_target_memcpy_rect): Likewise.
13685 (omp_target_associate_ptr): Likewise.
13686 (gomp_load_plugin_for_device): Also load can_run.
13687 * task.c (GOMP_PLUGIN_target_task_completion): Free
13688 firstprivate_copies.
13689 (gomp_create_target_task): Accept new argument args and store it to
13690 ttask.
13691 * plugin/plugin-hsa.c: New file.
13692
5d7804a9
TV
136932016-01-18 Tom de Vries <tom@codesourcery.com>
13694
13695 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13696 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13697 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13698 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13699 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13700 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13701 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13702 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13703 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13704 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13705 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13706 Same.
13707 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13708 Same.
13709 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13710 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13711 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13712 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13713 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13714 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13715 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13716 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13717 Same.
13718 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13719
cb11f3cf
JJ
137202016-01-15 Jakub Jelinek <jakub@redhat.com>
13721
13722 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13723
33a126a6
CP
137242016-01-15 Cesar Philippidis <cesar@codesourcery.com>
13725
13726 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13727
cdf6119d
JN
137282016-01-12 James Norris <jnorris@codesourcery.com>
13729
13730 * libgomp.texi: Updates for OpenACC.
13731
0d58938e
AM
137322016-01-11 Alexander Monakov <amonakov@ispras.ru>
13733
13734 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13735
95918b49
L
137362016-01-07 H.J. Lu <hongjiu.lu@intel.com>
13737
13738 PR fortran/66680
13739 * testsuite/libgomp.fortran/pr66680.f90: New test.
13740
8fc708b7
JJ
137412016-01-07 Jakub Jelinek <jakub@redhat.com>
13742
13743 PR middle-end/68960
13744 * testsuite/libgomp.c/pr68960.c: New test.
13745
e9b596c1
NS
137462016-01-06 Nathan Sidwell <nathan@acm.org>
13747
1a14faf2 13748 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
13749 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13750
21fa2a29
JJ
137512016-01-04 Jakub Jelinek <jakub@redhat.com>
13752
818ab71a
JJ
13753 Update copyright years.
13754
21fa2a29
JJ
13755 * libgomp.texi: Bump @copying's copyright year.
13756
9310efbc
NS
137572015-12-31 Nathan Sidwell <nathan@acm.org>
13758
13759 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13760 dg-additional-options syntax.
13761 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13762 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13763 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13764 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13765 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13766 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13767 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13768 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13769 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13770 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13771 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13772 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13773 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13774 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13775 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13776 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13777 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13778 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13779
4a38b02b
IV
137802015-12-15 Ilya Verbin <ilya.verbin@intel.com>
13781
13782 * libgomp.h (REFCOUNT_LINK): Define.
13783 (struct splay_tree_key_s): Add link_key.
13784 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13785 Replace target address of the pointer with target address of newly
13786 mapped object in the splay tree. Set link pointer on target to the
13787 device address of the mapped object.
13788 (gomp_unmap_vars): Restore target address of the pointer in the splay
13789 tree for REFCOUNT_LINK objects after unmapping.
13790 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13791 declare target link" objects.
13792 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
13793 "omp declare target link" objects, which were mapped for the image.
13794 (gomp_exit_data): Restore target address of the pointer in the splay
13795 tree for REFCOUNT_LINK objects after unmapping.
13796 * testsuite/libgomp.c/target-link-1.c: New file.
13797
d84ffc0a
IV
137982015-12-14 Ilya Verbin <ilya.verbin@intel.com>
13799
13800 * libgomp.h (gomp_device_state): New enum.
13801 (struct gomp_device_descr): Replace is_initialized with state.
13802 (gomp_fini_device): Remove declaration.
13803 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13804 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13805 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
13806 (acc_set_device_type): Use state instead of is_initialized.
13807 (acc_set_device_num): Likewise.
13808 * target.c (resolve_device): Use state instead of is_initialized.
13809 Do not initialize finalized device.
13810 (gomp_map_vars): Do nothing if device is finalized.
13811 (gomp_unmap_vars): Likewise.
13812 (gomp_update): Likewise.
13813 (GOMP_offload_register_ver): Use state instead of is_initialized.
13814 (GOMP_offload_unregister_ver): Likewise.
13815 (gomp_init_device): Likewise.
13816 (gomp_unload_device): Likewise.
13817 (gomp_fini_device): Remove.
13818 (gomp_get_target_fn_addr): Do nothing if device is finalized.
13819 (GOMP_target): Go to host fallback if device is finalized.
13820 (GOMP_target_ext): Likewise.
13821 (gomp_exit_data): Do nothing if device is finalized.
13822 (gomp_target_task_fn): Go to host fallback if device is finalized.
13823 (gomp_target_fini): New static function.
13824 (gomp_target_init): Use state instead of is_initialized.
13825 Call gomp_target_fini at exit.
13826
76680678
TV
138272015-12-09 Tom de Vries <tom@codesourcery.com>
13828
13829 PR tree-optimization/68716
13830 * testsuite/libgomp.c/omp-nested-2.c: New test.
13831
ff7a55bf
TS
138322015-12-02 Thomas Schwinge <thomas@codesourcery.com>
13833
13834 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
13835 target openacc_nvidia_accel_selected.
13836 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
13837 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
13838 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
13839 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
13840
37d5ad46
JB
138412015-12-01 Julian Brown <julian@codesourcery.com>
13842 James Norris <James_Norris@mentor.com>
13843
13844 * oacc-parallel.c (GOACC_host_data): New function.
13845 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
13846 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
13847 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
13848 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
13849 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
13850 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
13851 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
13852
db941d7e
CP
138532015-11-30 James Norris <jnorris@codesourcery.com>
13854 Cesar Philippidis <cesar@codesourcery.com>
13855
13856 libgomp/
13857 * libgomp.oacc-fortran/routine-5.f90: New test.
13858 * libgomp.oacc-fortran/routine-7.f90: New test.
13859 * libgomp.oacc-fortran/routine-9.f90: New test.
13860
e0ca27c5
TV
138612015-11-30 Tom de Vries <tom@codesourcery.com>
13862
13863 PR tree-optimization/46032
13864 * testsuite/libgomp.c/pr46032.c: New test.
13865
aec17bfe
JJ
138662015-11-27 Jakub Jelinek <jakub@redhat.com>
13867
8e4e4719
JJ
13868 PR libgomp/68579
13869 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
13870 (gomp_create_target_task): Call it before freeing
13871 GOMP_TARGET_TASK_DATA tasks.
13872
aec17bfe
JJ
13873 PR c/63326
13874 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
13875 in between case label and OpenMP standalone directives.
13876 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
13877
6cfe90e6
DE
138782015-11-26 David Edelsohn <dje.gcc@gmail.com>
13879
13880 * configure: Regenerate.
13881
0e65fd7d
JJ
138822015-11-26 Jakub Jelinek <jakub@redhat.com>
13883
13884 * testsuite/libgomp.c/target-35.c: New test.
13885
dc7a8b4b
JN
138862015-11-22 James Norris <jnorris@codesourcery.com>
13887 Cesar Philippidis <cesar@codesourcery.com>
13888
13889 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
13890 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
13891 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
13892 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
13893 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
13894
48a78aee
JJ
138952015-11-20 Jakub Jelinek <jakub@redhat.com>
13896
13897 PR middle-end/68221
13898 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
13899 * testsuite/libgomp.c/reduction-12.c: Likewise.
13900 * testsuite/libgomp.c++/reduction-11.C: Likewise.
13901 * testsuite/libgomp.c++/reduction-12.C: Likewise.
13902
2d256816
NS
139032015-11-19 Nathan Sidwell <nathan@codesourcery.com>
13904
13905 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
13906 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
13907 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
13908 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
13909 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
13910 and fix.
13911 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13912 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13913
33f47f42
NS
139142015-11-18 Nathan Sidwell <nathan@codesourcery.com>
13915
13916 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
13917 worker & gang cases.
13918 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13919
3d7bfee0
CP
139202015-11-17 Cesar Philippidis <cesar@codesourcery.com>
13921
13922 * config/nvptx/priority_queue.c: New file.
13923
00b9bd52
JJ
139242015-11-14 Jakub Jelinek <jakub@redhat.com>
13925
13926 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
13927 sections.
13928
e4606348
JJ
139292015-11-14 Jakub Jelinek <jakub@redhat.com>
13930 Aldy Hernandez <aldyh@redhat.com>
13931 Ilya Verbin <ilya.verbin@intel.com>
13932
13933 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
13934 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
13935 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
13936 iterators or IV by chunk size.
13937 * parallel.c (gomp_resolve_num_threads): Don't assume that
13938 if thr->ts.team is non-NULL, then pool must be non-NULL.
13939 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
13940 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
13941 GOMP_PLUGIN_target_task_completion.
13942 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
13943 * Makefile.in: Regenerate.
13944 * libgomp.h: Shuffle prototypes and forward definitions around so
13945 priority queues can be defined.
13946 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
13947 (enum gomp_target_task_state): New enum.
13948 (struct gomp_target_task): Add state, tgt, task and team fields.
13949 (gomp_create_target_task): Change return type to bool, add
13950 state argument.
13951 (gomp_target_task_fn): Change return type to bool.
13952 (struct gomp_device_descr): Add async_run_func.
13953 (struct gomp_task): Remove children, next_child, prev_child,
13954 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
13955 Add pnode field.
13956 (struct gomp_taskgroup): Remove children.
13957 Add taskgroup_queue.
13958 (struct gomp_team): Change task_queue type to a priority queue.
13959 (splay_compare): Define inline.
13960 (priority_queue_offset): New.
13961 (priority_node_to_task): New.
13962 (task_to_priority_node): New.
13963 * oacc-mem.c: Do not include splay-tree.h.
13964 * priority_queue.c: New file.
13965 * priority_queue.h: New file.
13966 * splay-tree.c: Do not include splay-tree.h.
13967 (splay_tree_foreach_internal): New.
13968 (splay_tree_foreach): New.
13969 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
13970 (splay_tree_callback): Define typedef.
13971 * target.c (splay_compare): Move to libgomp.h.
13972 (GOMP_target): Don't adjust *thr in any way around running offloaded
13973 task.
13974 (GOMP_target_ext): Likewise. Handle target nowait.
13975 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
13976 return value from gomp_create_target_task, if false, fallthrough
13977 as if no dependencies exist.
13978 (gomp_target_task_fn): Change return type to bool, return true
13979 if the task should have another part scheduled later. Handle
13980 target nowait.
13981 (gomp_load_plugin_for_device): Initialize async_run.
13982 * task.c (gomp_init_task): Initialize children_queue.
13983 (gomp_clear_parent_in_list): New.
13984 (gomp_clear_parent_in_tree): New.
13985 (gomp_clear_parent): Handle priorities.
13986 (GOMP_task): Likewise.
13987 (priority_queue_move_task_first,
13988 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
13989 New functions.
13990 (gomp_create_target_task): Use priority queues. Change return type
13991 to bool, add state argument, return false if for async
13992 {{enter,exit} data,update} constructs no dependencies need to be
13993 waited for, handle target nowait. Set task->fn to NULL instead of
13994 gomp_target_task_fn.
13995 (verify_children_queue): Remove.
13996 (priority_list_upgrade_task): New.
13997 (priority_queue_upgrade_task): New.
13998 (verify_task_queue): Remove.
13999 (priority_list_downgrade_task): New.
14000 (priority_queue_downgrade_task): New.
14001 (gomp_task_run_pre): Use priority queues.
14002 Abstract code out to priority_queue_downgrade_task.
14003 (gomp_task_run_post_handle_dependers): Use priority queues.
14004 (gomp_task_run_post_remove_parent): Likewise.
14005 (gomp_task_run_post_remove_taskgroup): Likewise.
14006 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
14007 tasks specially.
14008 (GOMP_taskwait): Likewise.
14009 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
14010 priority-queue_upgrade_task.
14011 (GOMP_taskgroup_start): Use priority queues.
14012 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
14013 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
14014 barrier.
14015 * taskloop.c (GOMP_taskloop): Handle priorities.
14016 * team.c (gomp_new_team): Call priority_queue_init.
14017 (free_team): Call priority_queue_free.
14018 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14019 team created for target nowait in implicit parallel region.
14020 (gomp_team_start): For nested check, test thr->ts.level instead of
14021 thr->ts.team != NULL.
14022 * testsuite/libgomp.c/doacross-3.c: New test.
14023 * testsuite/libgomp.c/ordered-5.c: New test.
14024 * testsuite/libgomp.c/priority.c: New test.
14025 * testsuite/libgomp.c/target-31.c: New test.
14026 * testsuite/libgomp.c/target-32.c: New test.
14027 * testsuite/libgomp.c/target-33.c: New test.
14028 * testsuite/libgomp.c/target-34.c: New test.
14029
1d1ab74f
NS
140302015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14031
c5a64cfe
NS
14032 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14033
1d1ab74f
NS
14034 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14035 loop is sequential.
14036
dd3c1b14
NS
140372015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14038
14039 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14040 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14041
6e232ba4
JN
140422015-11-12 James Norris <jnorris@codesourcery.com>
14043 Joseph Myers <joseph@codesourcery.com>
14044
14045 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14046 * oacc-parallel.c (GOACC_declare): New function.
14047 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14048 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14049 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14050 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14051 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14052
fffeedeb
NS
140532015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14054
14055 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14056
182190f2
NS
140572015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14058
14059 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14060 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14061
36fa0f5f
NS
140622015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14063
d350c40c
NS
14064 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14065 inadvertent commit.
14066
140672015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14068
36fa0f5f
NS
14069 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14070 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14071 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14072 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14073 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14074
66a5f0b4
TS
140752015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14076
14077 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14078 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14079
e01d41e5
JJ
140802015-11-05 Jakub Jelinek <jakub@redhat.com>
14081 Ilya Verbin <ilya.verbin@intel.com>
14082
14083 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14084 GOMP_loop_nonmonotonic_dynamic_start,
14085 GOMP_loop_nonmonotonic_guided_next,
14086 GOMP_loop_nonmonotonic_guided_start,
14087 GOMP_loop_ull_nonmonotonic_dynamic_next,
14088 GOMP_loop_ull_nonmonotonic_dynamic_start,
14089 GOMP_loop_ull_nonmonotonic_guided_next,
14090 GOMP_loop_ull_nonmonotonic_guided_start,
14091 GOMP_parallel_loop_nonmonotonic_dynamic,
14092 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14093 (GOMP_target_41): Renamed to ...
14094 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14095 arguments.
14096 (GOMP_target_data_41): Renamed to ...
14097 (GOMP_target_data_ext): ... this.
14098 (GOMP_target_update_41): Renamed to ...
14099 (GOMP_target_update_ext): ... this.
14100 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14101 GOMP_target_data_ext and GOMP_target_update_ext instead of
14102 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14103 Export GOMP_loop_nonmonotonic_dynamic_next,
14104 GOMP_loop_nonmonotonic_dynamic_start,
14105 GOMP_loop_nonmonotonic_guided_next,
14106 GOMP_loop_nonmonotonic_guided_start,
14107 GOMP_loop_ull_nonmonotonic_dynamic_next,
14108 GOMP_loop_ull_nonmonotonic_dynamic_start,
14109 GOMP_loop_ull_nonmonotonic_guided_next,
14110 GOMP_loop_ull_nonmonotonic_guided_start,
14111 GOMP_parallel_loop_nonmonotonic_dynamic and
14112 GOMP_parallel_loop_nonmonotonic_guided.
14113 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14114 GOMP_parallel_loop_nonmonotonic_guided,
14115 GOMP_loop_nonmonotonic_dynamic_start,
14116 GOMP_loop_nonmonotonic_guided_start,
14117 GOMP_loop_nonmonotonic_dynamic_next,
14118 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14119 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14120 GOMP_loop_ull_nonmonotonic_guided_start,
14121 GOMP_loop_ull_nonmonotonic_dynamic_next,
14122 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14123 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14124 functions.
14125 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14126 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14127 Use gomp_map_val function.
14128 (gomp_target_fallback_firstprivate): New static function.
14129 (GOMP_target_41): Renamed to ...
14130 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14131 arguments. Move firstprivate fallback handling into a new
14132 function.
14133 (GOMP_target_data_41): Renamed to ...
14134 (GOMP_target_data_ext): ... this.
14135 (GOMP_target_update_41): Renamed to ...
14136 (GOMP_target_update_ext): ... this.
14137 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14138 gomp_map_0len_lookup instead of gomp_map_lookup.
14139 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14140 gomp_map_lookup.
14141 * testsuite/libgomp.c/target-28.c: Likewise.
14142 * testsuite/libgomp.c/monotonic-1.c: New test.
14143 * testsuite/libgomp.c/monotonic-2.c: New test.
14144 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14145 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14146 * testsuite/libgomp.c/pr66199-5.c: New test.
14147 * testsuite/libgomp.c/pr66199-6.c: New test.
14148 * testsuite/libgomp.c/pr66199-7.c: New test.
14149 * testsuite/libgomp.c/pr66199-8.c: New test.
14150 * testsuite/libgomp.c/pr66199-9.c: New test.
14151 * testsuite/libgomp.c/reduction-11.c: New test.
14152 * testsuite/libgomp.c/reduction-12.c: New test.
14153 * testsuite/libgomp.c/reduction-13.c: New test.
14154 * testsuite/libgomp.c/reduction-14.c: New test.
14155 * testsuite/libgomp.c/reduction-15.c: New test.
14156 * testsuite/libgomp.c/target-12.c (main): Adjust for
14157 omp_target_is_present change for one-past-last element.
14158 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14159 the same var is both mapped and privatized.
14160 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14161 handling of zero-length array sections.
14162 * testsuite/libgomp.c/target-28.c: New test.
14163 * testsuite/libgomp.c/target-29.c: New test.
14164 * testsuite/libgomp.c/target-30.c: New test.
14165 * testsuite/libgomp.c/target-teams-1.c: New test.
14166 * testsuite/libgomp.c++/member-6.C: New test.
14167 * testsuite/libgomp.c++/member-7.C: New test.
14168 * testsuite/libgomp.c++/monotonic-1.C: New test.
14169 * testsuite/libgomp.c++/monotonic-2.C: New test.
14170 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14171 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14172 * testsuite/libgomp.c++/pr66199-3.C: New test.
14173 * testsuite/libgomp.c++/pr66199-4.C: New test.
14174 * testsuite/libgomp.c++/pr66199-5.C: New test.
14175 * testsuite/libgomp.c++/pr66199-6.C: New test.
14176 * testsuite/libgomp.c++/pr66199-7.C: New test.
14177 * testsuite/libgomp.c++/pr66199-8.C: New test.
14178 * testsuite/libgomp.c++/pr66199-9.C: New test.
14179 * testsuite/libgomp.c++/reduction-11.C: New test.
14180 * testsuite/libgomp.c++/reduction-12.C: New test.
14181 * testsuite/libgomp.c++/target-13.C: New test.
14182 * testsuite/libgomp.c++/target-14.C: New test.
14183 * testsuite/libgomp.c++/target-15.C: New test.
14184 * testsuite/libgomp.c++/target-16.C: New test.
14185 * testsuite/libgomp.c++/target-17.C: New test.
14186 * testsuite/libgomp.c++/target-18.C: New test.
14187 * testsuite/libgomp.c++/target-19.C: New test.
14188
ccc8282b
NS
141892015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14190
14191 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14192 and reduction copy.
14193 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14194 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14195 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14196 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14197 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14198 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14199 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14200 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14201 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14202 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14203 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14204 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14205 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14206 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14207
5d6823a2
NS
142082015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14209
14210 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14211 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14212 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14213 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14214 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14215 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14216 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14217 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14218
5c06742f
NS
142192015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14220
14221 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14222 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14223 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14224 * oacc-host.c (host_openacc_exec): Likewise.
14225 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14226
4bf9e5a8
TS
142272015-11-03 Julian Brown <julian@codesourcery.com>
14228 Thomas Schwinge <thomas@codesourcery.com>
14229
14230 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14231 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14232 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14233 Likewise.
14234 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14235 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14236
142372015-11-03 James Norris <jnorris@codesourcery.com>
14238
14239 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14240 file.
14241 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14242 Likewise.
14243 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14244 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14245 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14246 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14247 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14248
a0e701d8
NS
142492015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14250
14251 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14252 compatibility.
14253 (enum acc_async_t): Reformat.
14254 (acc_on_device): Declare compatible with builtin and provide C++
14255 wrapper.
14256 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14257
41e977ac
TS
142582015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14259 Cesar Philippidis <cesar@codesourcery.com>
14260
14261 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14262 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14263 ... this. Add a description of the test at the top of the file.
14264 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14265 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14266 ... this. Add a description of the test at the top of the file.
14267
e3091406
NS
142682015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14269
14270 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14271 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14272 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14273 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14274 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14275 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14276
a1c1908b
NS
142772015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14278
14279 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14280 dimensions.
14281
b3962a4a
TS
142822015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14283
14284 PR testsuite/68063
14285 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14286
88bae6f4
TS
142872015-10-27 James Norris <jnorris@codesourcery.com>
14288
14289 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14290 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14291
8baa7864
TS
142922015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14293
bdeb752c
TS
14294 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14295 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14296
ecd4fd43
TS
14297 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14298 acc_device_nvidia usage.
14299 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14300 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14301 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14302
aa8b7d30
TS
14303 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14304 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14305
7c8f138d
TS
14306 PR libgomp/66518
14307 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14308
8baa7864
TS
14309 PR libgomp/65437
14310 PR libgomp/66518
14311 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14312 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14313
88ebcde5
TV
143142015-10-23 Tom de Vries <tom@codesourcery.com>
14315
14316 PR testsuite/68063
14317 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14318
9ef83c04
NS
143192015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14320
14321 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14322 vector_length.
14323 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14324
3837c6d6
IV
143252015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14326 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14327
14328 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14329 to 0 when mapnum is 0.
14330
ac8a1965
SH
143312015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14332
14333 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14334 Cast to int from int32_t.
14335
d9a6bd32
JJ
143362015-10-13 Jakub Jelinek <jakub@redhat.com>
14337 Aldy Hernandez <aldyh@redhat.com>
14338 Ilya Verbin <ilya.verbin@intel.com>
14339
14340 * config/linux/affinity.c (omp_get_place_num_procs,
14341 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14342 * config/linux/doacross.h: New file.
14343 * config/posix/affinity.c (omp_get_place_num_procs,
14344 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14345 * config/posix/doacross.h: New file.
14346 * env.c: Include gomp-constants.h.
14347 (struct gomp_task_icv): Rename run_sched_modifier to
14348 run_sched_chunk_size.
14349 (gomp_max_task_priority_var): New variable.
14350 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14351 (handle_omp_display_env): Change _OPENMP value from 201307 to
14352 201511. Print OMP_MAX_TASK_PRIORITY.
14353 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14354 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14355 chunk_size and run_sched_modifier to run_sched_chunk_size.
14356 (omp_get_max_task_priority, omp_get_initial_device,
14357 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14358 omp_get_partition_place_nums): New functions.
14359 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14360 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14361 to chunk_size.
14362 (omp_get_num_places_, omp_get_place_num_procs_,
14363 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14364 omp_get_place_proc_ids_8_, omp_get_place_num_,
14365 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14366 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14367 omp_get_max_task_priority_): New functions.
14368 * libgomp_g.h (GOMP_loop_doacross_static_start,
14369 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14370 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14371 GOMP_loop_ull_doacross_dynamic_start,
14372 GOMP_loop_ull_doacross_guided_start,
14373 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14374 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14375 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14376 GOMP_target_data_41, GOMP_target_update_41,
14377 GOMP_target_enter_exit_data): New prototypes.
14378 (GOMP_task): Add prototype argument.
14379 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14380 (struct gomp_doacross_work_share): New type.
14381 (struct gomp_work_share): Add doacross field.
14382 (struct gomp_task_icv): Rename run_sched_modifier to
14383 run_sched_chunk_size.
14384 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14385 GOMP_TASK_UNDEFERRED. Add comments.
14386 (struct gomp_task_depend_entry): Add comments.
14387 (struct gomp_task): Likewise.
14388 (struct gomp_taskgroup): Likewise.
14389 (struct gomp_target_task): New type.
14390 (struct gomp_team): Add comment.
14391 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14392 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14393 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14394 (struct target_var_desc): New type.
14395 (struct target_mem_desc): Adjust comment. Use struct
14396 target_var_desc instead of splay_tree_key for list.
14397 (REFCOUNT_INFINITY): Define.
14398 (struct splay_tree_key_s): Remove copy_from field.
14399 (struct gomp_device_descr): Add dev2dev_func field.
14400 (enum gomp_map_vars_kind): New enum.
14401 (gomp_map_vars): Add one argument.
14402 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14403 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14404 omp_get_place_num_procs, omp_get_place_num_procs_,
14405 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14406 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14407 omp_get_place_num_, omp_get_partition_num_places,
14408 omp_get_partition_num_places_, omp_get_partition_place_nums,
14409 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14410 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14411 omp_target_free, omp_target_is_present, omp_target_memcpy,
14412 omp_target_memcpy_rect, omp_target_associate_ptr and
14413 omp_target_disassociate_ptr.
14414 (GOMP_4.0.2): Renamed to ...
14415 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14416 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14417 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14418 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14419 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14420 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14421 GOMP_loop_ull_doacross_guided_start,
14422 GOMP_loop_ull_doacross_runtime_start,
14423 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14424 GOMP_doacross_ull_wait.
14425 * libgomp.texi: Document omp_get_max_task_priority.
14426 Rename modifier argument to chunk_size for omp_set_schedule and
14427 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14428 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14429 to run_sched_chunk_size renaming.
14430 (GOMP_loop_ordered_runtime_start): Likewise.
14431 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14432 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14433 GOMP_parallel_loop_runtime_start): New functions.
14434 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14435 to run_sched_chunk_size renaming.
14436 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14437 GOMP_loop_doacross_guided_start): New functions or aliases.
14438 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14439 run_sched_modifier to run_sched_chunk_size renaming.
14440 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14441 (gomp_loop_ull_doacross_static_start,
14442 gomp_loop_ull_doacross_dynamic_start,
14443 gomp_loop_ull_doacross_guided_start,
14444 GOMP_loop_ull_doacross_runtime_start): New functions.
14445 (GOMP_loop_ull_doacross_static_start,
14446 GOMP_loop_ull_doacross_dynamic_start,
14447 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14448 * oacc-mem.c (acc_map_data, present_create_copy,
14449 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14450 to gomp_map_vars.
14451 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14452 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14453 instead of false to gomp_map_vars.
14454 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14455 * omp.h.in (omp_lock_hint_t): New type.
14456 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14457 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14458 omp_get_place_num, omp_get_partition_num_places,
14459 omp_get_partition_place_nums, omp_get_initial_device,
14460 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14461 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14462 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14463 prototypes.
14464 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14465 (omp_lock_hint_none, omp_lock_hint_uncontended,
14466 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14467 omp_lock_hint_speculative): New parameters.
14468 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14469 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14470 omp_get_place_num, omp_get_partition_num_places,
14471 omp_get_partition_place_nums, omp_get_initial_device,
14472 omp_get_max_task_priority): New interfaces.
14473 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14474 to chunk_size.
14475 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14476 (omp_lock_hint_none, omp_lock_hint_uncontended,
14477 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14478 omp_lock_hint_speculative): New parameters.
14479 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14480 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14481 omp_get_place_num, omp_get_partition_num_places,
14482 omp_get_partition_place_nums, omp_get_initial_device,
14483 omp_get_max_task_priority): New functions and subroutines.
14484 * ordered.c: Include stdarg.h and string.h.
14485 (MAX_COLLAPSED_BITS): Define.
14486 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14487 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14488 GOMP_doacross_ull_wait): New functions.
14489 * target.c: Include errno.h.
14490 (resolve_device): If device is not initialized, call
14491 gomp_init_device on it.
14492 (gomp_map_lookup): New function.
14493 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14494 Don't bump refcount if REFCOUNT_INFINITY. Handle
14495 GOMP_MAP_ALWAYS_TO_P.
14496 (get_kind): Rename is_openacc argument to short_mapkind.
14497 (gomp_map_pointer): Use gomp_map_lookup.
14498 (gomp_map_fields_existing): New function.
14499 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14500 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14501 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14502 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14503 Adjust for tgt->list changed type and copy_from living in there.
14504 (gomp_copy_from_async): Adjust for tgt->list changed type and
14505 copy_from living in there.
14506 (gomp_unmap_vars): Likewise.
14507 (gomp_update): Likewise. Rename is_openacc argument to
14508 short_mapkind. Don't fail if object is not mapped.
14509 (gomp_load_image_to_device): Initialize refcount to
14510 REFCOUNT_INFINITY.
14511 (gomp_target_fallback): New function.
14512 (gomp_get_target_fn_addr): Likewise.
14513 (GOMP_target): Adjust gomp_map_vars caller, use
14514 gomp_get_target_fn_addr and gomp_target_fallback.
14515 (GOMP_target_41): New function.
14516 (gomp_target_data_fallback): New function.
14517 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14518 (GOMP_target_data_41): New function.
14519 (GOMP_target_update): Adjust gomp_update caller.
14520 (GOMP_target_update_41): New function.
14521 (gomp_exit_data, GOMP_target_enter_exit_data,
14522 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14523 omp_target_is_present, omp_target_memcpy,
14524 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14525 omp_target_associate_ptr, omp_target_disassociate_ptr,
14526 gomp_load_plugin_for_device): New functions.
14527 * task.c: Include gomp-constants.h. Include taskloop.c
14528 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14529 (gomp_task_handle_depend): New function.
14530 (GOMP_task): Use it. Add priority argument. Use
14531 gomp-constant.h constants instead of hardcoded numbers.
14532 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14533 (gomp_create_target_task): New function.
14534 (verify_children_queue, verify_taskgroup_queue,
14535 verify_task_queue): New functions.
14536 (gomp_task_run_pre): Call verify_*_queue functions.
14537 If an upcoming tied task is about to leave the sibling or
14538 taskgroup queues in an invalid state, adjust appropriately.
14539 Remove taskgroup argument. Add comments.
14540 (gomp_task_run_post_handle_dependers): Add comments.
14541 (gomp_task_run_post_remove_parent): Likewise.
14542 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14543 (GOMP_taskwait): Likewise. Add comments.
14544 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14545 problem such that the first non parent_depends_on task does not
14546 end up at the end of the children queue.
14547 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14548 GOMP_TASK_UNDEFERRED.
14549 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14550 * taskloop.c: New file.
14551 * testsuite/lib/libgomp.exp
14552 (check_effective_target_offload_device_nonshared_as): New proc.
14553 * testsuite/libgomp.c/affinity-2.c: New test.
14554 * testsuite/libgomp.c/doacross-1.c: New test.
14555 * testsuite/libgomp.c/doacross-2.c: New test.
14556 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14557 Add map clause to target.
14558 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14559 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14560 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14561 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14562 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14563 Likewise.
14564 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14565 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14566 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14567 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14568 not defined. Use those where needed.
14569 * testsuite/libgomp.c/for-4.c: New test.
14570 * testsuite/libgomp.c/for-5.c: New test.
14571 * testsuite/libgomp.c/for-6.c: New test.
14572 * testsuite/libgomp.c/linear-1.c: New test.
14573 * testsuite/libgomp.c/ordered-4.c: New test.
14574 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14575 only allowed on the loop iterator.
14576 * testsuite/libgomp.c/pr66199-3.c: New test.
14577 * testsuite/libgomp.c/pr66199-4.c: New test.
14578 * testsuite/libgomp.c/reduction-7.c: New test.
14579 * testsuite/libgomp.c/reduction-8.c: New test.
14580 * testsuite/libgomp.c/reduction-9.c: New test.
14581 * testsuite/libgomp.c/reduction-10.c: New test.
14582 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14583 map(tofrom:s).
14584 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14585 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14586 * testsuite/libgomp.c/target-11.c: New test.
14587 * testsuite/libgomp.c/target-12.c: New test.
14588 * testsuite/libgomp.c/target-13.c: New test.
14589 * testsuite/libgomp.c/target-14.c: New test.
14590 * testsuite/libgomp.c/target-15.c: New test.
14591 * testsuite/libgomp.c/target-16.c: New test.
14592 * testsuite/libgomp.c/target-17.c: New test.
14593 * testsuite/libgomp.c/target-18.c: New test.
14594 * testsuite/libgomp.c/target-19.c: New test.
14595 * testsuite/libgomp.c/target-20.c: New test.
14596 * testsuite/libgomp.c/target-21.c: New test.
14597 * testsuite/libgomp.c/target-22.c: New test.
14598 * testsuite/libgomp.c/target-23.c: New test.
14599 * testsuite/libgomp.c/target-24.c: New test.
14600 * testsuite/libgomp.c/target-25.c: New test.
14601 * testsuite/libgomp.c/target-26.c: New test.
14602 * testsuite/libgomp.c/target-27.c: New test.
14603 * testsuite/libgomp.c/taskloop-1.c: New test.
14604 * testsuite/libgomp.c/taskloop-2.c: New test.
14605 * testsuite/libgomp.c/taskloop-3.c: New test.
14606 * testsuite/libgomp.c/taskloop-4.c: New test.
14607 * testsuite/libgomp.c++/ctor-13.C: New test.
14608 * testsuite/libgomp.c++/doacross-1.C: New test.
14609 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14610 Replace offload_device with offload_device_nonshared_as.
14611 * testsuite/libgomp.c++/for-12.C: New test.
14612 * testsuite/libgomp.c++/for-13.C: New test.
14613 * testsuite/libgomp.c++/for-14.C: New test.
14614 * testsuite/libgomp.c++/linear-1.C: New test.
14615 * testsuite/libgomp.c++/member-1.C: New test.
14616 * testsuite/libgomp.c++/member-2.C: New test.
14617 * testsuite/libgomp.c++/member-3.C: New test.
14618 * testsuite/libgomp.c++/member-4.C: New test.
14619 * testsuite/libgomp.c++/member-5.C: New test.
14620 * testsuite/libgomp.c++/ordered-1.C: New test.
14621 * testsuite/libgomp.c++/reduction-5.C: New test.
14622 * testsuite/libgomp.c++/reduction-6.C: New test.
14623 * testsuite/libgomp.c++/reduction-7.C: New test.
14624 * testsuite/libgomp.c++/reduction-8.C: New test.
14625 * testsuite/libgomp.c++/reduction-9.C: New test.
14626 * testsuite/libgomp.c++/reduction-10.C: New test.
14627 * testsuite/libgomp.c++/reference-1.C: New test.
14628 * testsuite/libgomp.c++/simd14.C: New test.
14629 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14630 * testsuite/libgomp.c++/target-5.C: New test.
14631 * testsuite/libgomp.c++/target-6.C: New test.
14632 * testsuite/libgomp.c++/target-7.C: New test.
14633 * testsuite/libgomp.c++/target-8.C: New test.
14634 * testsuite/libgomp.c++/target-9.C: New test.
14635 * testsuite/libgomp.c++/target-10.C: New test.
14636 * testsuite/libgomp.c++/target-11.C: New test.
14637 * testsuite/libgomp.c++/target-12.C: New test.
14638 * testsuite/libgomp.c++/taskloop-1.C: New test.
14639 * testsuite/libgomp.c++/taskloop-2.C: New test.
14640 * testsuite/libgomp.c++/taskloop-3.C: New test.
14641 * testsuite/libgomp.c++/taskloop-4.C: New test.
14642 * testsuite/libgomp.c++/taskloop-5.C: New test.
14643 * testsuite/libgomp.c++/taskloop-6.C: New test.
14644 * testsuite/libgomp.c++/taskloop-7.C: New test.
14645 * testsuite/libgomp.c++/taskloop-8.C: New test.
14646 * testsuite/libgomp.c++/taskloop-9.C: New test.
14647 * testsuite/libgomp.fortran/affinity1.f90: New test.
14648 * testsuite/libgomp.fortran/affinity2.f90: New test.
14649
1f600fea
TV
146502015-10-13 Tom de Vries <tom@codesourcery.com>
14651
14652 PR tree-optimization/67476
14653 * testsuite/libgomp.c/autopar-3.c: New test.
14654 * testsuite/libgomp.c/autopar-4.c: New test.
14655 * testsuite/libgomp.c/autopar-5.c: New test.
14656 * testsuite/libgomp.c/autopar-6.c: New test.
14657 * testsuite/libgomp.c/autopar-7.c: New test.
14658 * testsuite/libgomp.c/autopar-8.c: New test.
14659
058a654b
JN
146602015-10-12 James Norris <jnorris@codesourcery.com>
14661
14662 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14663 initializer.
14664
9e531d37
DM
146652015-10-09 David Malcolm <dmalcolm@redhat.com>
14666
14667 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14668 using load_gcc_lib.
14669
113020dc
TS
146702015-10-02 Thomas Schwinge <thomas@codesourcery.com>
14671
14672 * oacc-ptx.h: Remove file, moving its content into...
14673 * config/nvptx/fortran.c: ... here...
14674 * config/nvptx/oacc-init.c: ..., here...
14675 * config/nvptx/oacc-parallel.c: ..., and here.
14676 * config/nvptx/openacc.f90: New file.
14677 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14678 (link_ptx): Don't link in predefined bits of PTX code.
14679
cc3cd79b
NS
146802015-09-30 Nathan Sidwell <nathan@codesourcery.com>
14681 Bernd Schmidt <bernds@codesourcery.com>
14682
14683 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14684 (struct targ_ptx_obj): New.
14685 (nvptx_tdata): Move earlier, change data format.
14686 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
14687 objects.
14688 (GOMP_OFFLOAD_load_image): Adjust.
14689
4e2a5450
TS
146902015-09-30 Thomas Schwinge <thomas@codesourcery.com>
14691
14692 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14693 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14694 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14695 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14696 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14697 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14698 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14699 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14700 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14701 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14702 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14703 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14704 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14705 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14706 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14707 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14708 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14709 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14710 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14711 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14712 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14713 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14714 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14715 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14716 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14717 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14718 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14719 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14720 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14721 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14722 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14723 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14724 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14725 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14726 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14727 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14728 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14729 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14730 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14731 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14732 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14733 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14734 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14735 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14736 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14737 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14738 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14739 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14740 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14741 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14742 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14743 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14744 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14745 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14746 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14747 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14748 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14749 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14750 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14751 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14752 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14753 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14754 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14755
164453bb
NS
147562015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14757
14758 * oacc-init.c (acc_on_device): Force optimization level.
14759
a12a0437
NS
147602015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14761
14762 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14763 (cuda_errlist): Delete.
14764 (cuda_error): Reimplement.
14765
3e32ee19
NS
147662015-09-28 Nathan Sidwell <nathan@codesourcery.com>
14767
14768 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14769 array.
14770 * libgomp.map (GOACC_parallel_keyed): New.
14771 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
14772 all callers.
14773 (GOACC_parallel_keyed): New interface. Lose geometry arguments
14774 and take keyed varargs list. Adjust call to exec_func.
14775 (GOACC_parallel): Force host fallback.
14776 * libgomp_g.h (GOACC_parallel): Remove.
14777 (GOACC_parallel_keyed): Declare.
14778 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 14779 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
14780 (nvptx_exec): Lose separate geometry args, take array. Process
14781 dynamic dimensions and adjust.
14782 (struct nvptx_tdata): Replace fn_names field with fn_descs.
14783 (GOMP_OFFLOAD_load_image): Adjust for change in function table
14784 data.
14785 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14786 passing.
14787 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14788 passing.
14789
6bb4c3e2
CLT
147902015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
14791
14792 PR libgomp/67141
14793 * oacc-int.h (goacc_host_init): Add declaration.
14794 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14795 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14796
74032f47 147972015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 14798 Sebastian Pop <s.pop@samsung.com>
74032f47 14799
93d90219 14800 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
14801 match o/p.
14802 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14803 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14804 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14805 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14806 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14807
97875f4a
JJ
148082015-09-03 Jakub Jelinek <jakub@redhat.com>
14809
14810 * configure.tgt: Add missing ;; in between nvptx and rtems
14811 snippets.
14812
06441dd5
SH
148132015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14814
14815 * config/posix/pool.h (gomp_adjust_thread_attr): New.
14816 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
14817 (gomp_thread_pool_reservoir): Add priority member.
14818 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
14819 priority.
14820 (parse_thread_pools): Likewise.
14821 * team.c (gomp_team_start): Call configuration provided
14822 gomp_adjust_thread_attr(). Destroy thread attributes if
14823 necessary.
14824 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
14825
66c59f92
SH
148262015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14827
14828 * config/posix/pool.h: New.
14829 * config/rtems/pool.h: Likewise.
14830 * config/rtems/proc.c: Likewise.
14831 * libgomp.h (gomp_thread_destructor): Declare.
14832 * team.c: Include configuration provided "pool.h".
14833 (gomp_get_thread_pool): Define in configuration.
14834 (gomp_team_end): Call configuration defined
14835 gomp_release_thread_pool().
14836
13c41b2e
SH
148372015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14838
14839 * config/rtems/bar.c: New.
14840 * config/rtems/bar.h: Likewise.
14841 * config/rtems/mutex.c: Likewise.
14842 * config/rtems/mutex.h: Likewise.
14843 * config/rtems/sem.c: Likewise.
14844 * config/rtems/sem.h: Likewise.
14845 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
14846 <sys/lock.h> header file.
14847 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
14848 supported by Newlib.
14849 * configure: Regenerate.
14850
7892ec67
SH
148512015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14852
14853 * team.c (gomp_new_thread_pool): Delete and move content to ...
14854 (gomp_get_thread_pool): ... new function. Allocate and
14855 initialize thread pool on demand.
14856 (get_last_team): Use gomp_get_thread_pool().
14857 (gomp_team_start): Delete thread pool initialization.
14858
1b96e9a4
TV
148592015-09-03 Tom de Vries <tom@codesourcery.com>
14860
14861 PR tree-optimization/65637
14862 * testsuite/libgomp.c/autopar-2.c: New test.
14863
3ff2d74e
TV
148642015-08-29 Tom de Vries <tom@codesourcery.com>
14865
14866 PR tree-optimization/46193
14867 * testsuite/libgomp.c/pr46193.c: New test.
14868
2a21ff19
NS
148692015-08-24 Nathan Sidwell <nathan@codesourcery.com>
14870
14871 libgomp/
14872 * libgomp.map: Add 4.0.2 version.
14873 * target.c (offload_image_descr): Add version field.
14874 (gomp_load_image_to_device): Add version argument. Adjust plugin
14875 call. Improve load mismatch diagnostic.
14876 (gomp_unload_image_from_device): Add version argument. Adjust plugin
14877 call.
14878 (GOMP_offload_regster): Make stub function, move bulk to ...
14879 (GOMP_offload_register_ver): ... here. Process version argument.
14880 (GOMP_offload_unregister): Make stub function, move bulk to ...
14881 (GOMP_offload_unregister_ver): ... here. Process version argument.
14882 (gomp_init_device): Process version field.
14883 (gomp_unload_device): Process version field.
14884 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
14885 macros. Check plugin version.
14886 * libgomp.h (gomp_device_descr): Add version function field. Adjust
14887 loader and unloader types.
14888 * oacc-host.c: Include gomp-constants.h.
14889 (host_version): New.
14890 (host_load_image, host_unload_image): Adjust.
14891 (host_dispatch): Add host_version.
14892 * plugin/plugin-nvptx.c: Include gomp-constants.h.
14893 (GOMP_OFFLOAD_version): New.
14894 (GOMP_OFFLOAD_load_image): Add version arg and check it.
14895 (GOMP_OFFLOAD_unload_image): Likewise.
14896 * plugin/plugin-host.c: Include gomp-constants.h.
14897 (GOMP_OFFLOAD_version): New.
14898 (GOMP_OFFLOAD_load_image): Add version arg.
14899 (GOMP_OFFLOAD_unload_image): Likewise.
14900
1358a747
TV
149012015-08-24 Tom de Vries <tom@codesourcery.com>
14902
14903 PR tree-optimization/65468
14904 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
14905
6be5c241
TV
149062015-08-24 Tom de Vries <tom@codesourcery.com>
14907
14908 PR tree-optimization/65468
14909 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
14910
bfe7ac89
JV
149112015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
14912
14913 PR libgomp/66761
14914 PR libgomp/67303
14915 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
14916 (gomp_iter_guided_next): Idem.
14917 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
14918 (gomp_iter_ull_guided_next): Idem.
14919 * config/linux/wait.h (do_spin): Idem.
14920
b97e78b7
TS
149212015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14922
14923 * libgomp-plugin.h (enum offload_target_type): Remove
14924 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
14925 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
14926 * openacc.h (enum acc_device_t): Likewise.
14927 * openacc_lib.h: Likewise.
14928 * oacc-init.c (name_of_acc_device_t): Don't handle it.
14929 (acc_on_device): Just use __builtin_acc_on_device.
14930 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
14931 of acc_on_device builtin.
14932 * plugin/plugin-host.h: Remove file.
14933 * plugin/plugin-host.c: Likewise, but salvage some content into...
14934 * oacc-host.c: ... this file.
14935 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
14936 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
14937 * Makefile.in: Regenerate.
14938 * configure: Likewise.
14939 * testsuite/lib/libgomp.exp
14940 (check_effective_target_openacc_host_nonshm_selected): Remove.
14941 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
14942 ACC_DEVICE_TYPE=host_nonshm.
14943 * testsuite/libgomp.oacc-c/c.exp: Likewise.
14944 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14945 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
14946 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
14947 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
14948 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
14949
44a7d18d
TS
149502015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14951 Jakub Jelinek <jakub@redhat.com>
14952
14953 * config/nvptx/affinity.c: New file.
14954 * config/nvptx/alloc.c: Likewise.
14955 * config/nvptx/bar.c: Likewise.
14956 * config/nvptx/barrier.c: Likewise.
14957 * config/nvptx/critical.c: Likewise.
14958 * config/nvptx/env.c: Likewise.
14959 * config/nvptx/error.c: Likewise.
14960 * config/nvptx/fortran.c: Likewise.
14961 * config/nvptx/iter.c: Likewise.
14962 * config/nvptx/iter_ull.c: Likewise.
14963 * config/nvptx/libgomp-plugin.c: Likewise.
14964 * config/nvptx/lock.c: Likewise.
14965 * config/nvptx/loop.c: Likewise.
14966 * config/nvptx/loop_ull.c: Likewise.
14967 * config/nvptx/mutex.c: Likewise.
14968 * config/nvptx/oacc-async.c: Likewise.
14969 * config/nvptx/oacc-cuda.c: Likewise.
14970 * config/nvptx/oacc-host.c: Likewise.
14971 * config/nvptx/oacc-init.c: Likewise.
14972 * config/nvptx/oacc-mem.c: Likewise.
14973 * config/nvptx/oacc-parallel.c: Likewise.
14974 * config/nvptx/oacc-plugin.c: Likewise.
14975 * config/nvptx/omp-lock.h: Likewise.
14976 * config/nvptx/ordered.c: Likewise.
14977 * config/nvptx/parallel.c: Likewise.
14978 * config/nvptx/proc.c: Likewise.
14979 * config/nvptx/ptrlock.c: Likewise.
14980 * config/nvptx/sections.c: Likewise.
14981 * config/nvptx/sem.c: Likewise.
14982 * config/nvptx/single.c: Likewise.
14983 * config/nvptx/splay-tree.c: Likewise.
14984 * config/nvptx/target.c: Likewise.
14985 * config/nvptx/task.c: Likewise.
14986 * config/nvptx/team.c: Likewise.
14987 * config/nvptx/time.c: Likewise.
14988 * config/nvptx/work.c: Likewise.
14989 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
14990 * configure: Regenerate.
14991 * configure.tgt (config_path): Set to "nvptx" for target
14992 nvptx*-*-*.
14993
96a2d174
TS
149942015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14995
14996 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
14997
9ebddeb0
NS
149982015-08-03 Nathan Sidwell <nathan@codesourcery.com>
14999
15000 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15001 (cuda_errlist): Constify.
15002 (errmsg): Move into ...
15003 (cuda_error): ... here. Make smaller.
15004 (_XSTR, _STR): Delete.
15005 (cuda_synames): Delete.
15006 (verify_device_library): Delete.
15007 (nvptx_init): Don't call it.
15008
12efb1d7
TV
150092015-07-28 Tom de Vries <tom@codesourcery.com>
15010
15011 * testsuite/libgomp.c/uns-outer-4.c: New test.
15012
710ee218
CP
150132015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15014
15015 * testsuite/libgomp.c/pr66714.c: New test.
15016
27c4ac7d
MB
150172015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15018
15019 PR libgomp/66950
15020 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15021 (fib_ref): New function.
15022 (fib): Correct corner cases in the recursion.
15023 (main): Replace the non-simd loop with fib_ref call.
15024 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15025 subroutine.
15026 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15027 for the last array element value. Replace the non-simd loop with
15028 fib_ref call. Remove redundant b_ref array. Remove the comparison
15029 of the last array element with according Fibonacci sequence element.
15030 (fib): Correct corner cases in the recursion.
15031
22be2349
NS
150322015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15033
15034 * target.c (gomp_offload_image_to_device): Rename to ...
15035 (gomp_load_image_to_device): ... here.
15036 (GOMP_offload_register): Adjust call.
15037 (gomp_init_device): Likewise.
15038 (gomp_unload_image_from_device): New. Broken out of ...
15039 (GOMP_offload_unregister): ... here. Call it.
15040 (gomp_unload_device): New.
15041 * libgomp.h (gomp_unload_device): Declare.
15042 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15043 mem maps.
15044
f3e9a059
NS
150452015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15046
a091118d
NS
15047 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15048 wait=-specific if.
15049 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15050 !=0 condition.
15051 (goacc_waits): Move !num_waits handling to ...
15052 (GOACC_wait): ... here, the only caller that might have zero waits.
15053
f3e9a059
NS
15054 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15055 (struct ptx_image_data): Move earlier, add fns field.
15056 (struct ptx_device): Add images and image_lock fields.
15057 (ptx_images, ptx_image_lock): Delete.
15058 (nvptx_open_device): Initialize images and image_lock fields.
15059 (nvptx_close_device): Destroy image_lock.
15060 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15061 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15062 fields.
15063
afb2d80b
NS
150642015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15065
896c28a7
NS
15066 * target.c (GOMP_offload_register): Use int for device type arg.
15067 (GOMP_offload_unregister): Likewise.
15068
ebe4a560
NS
15069 * target.c (struct_offload_image_descr): Constify host_table.
15070 (gomp_offload_image_to_device): Likewise.
15071 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15072
afb2d80b
NS
15073 * libgomp.h (gomp_device_descr): Constify target data arguments.
15074 * target.c (struct offload_image_descr): Constify target_data.
15075 (gomp_offload_image_to_device): Likewise.
15076 (GOMP_offload_register): Likewise.
93d90219 15077 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
15078 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15079 GOMP_OFFLOAD_unload_image): Constify target data.
15080 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15081 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15082
a4cb876d
NS
150832015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15084
15085 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15086 Workaround driver library const error.
15087 (struct nvptx_tdata, nvptx_tdata_t): New.
15088 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15089 type.
15090
28ef6a27
MB
150912015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15092
15093 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15094 of EPS parameter from integer to real.
15095 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15096 type of EPS parameter from integer to real.
15097
6dba0113
SH
150982015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15099
15100 * team.c (get_last_team): New.
15101 (gomp_new_team): Recycle last non-nested team if possible.
15102 (gomp_team_end): Move team work share list free lock destruction
15103 to ...
15104 (free_team): ... here.
15105
4c1cb4da
MB
151062015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15107
15108 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15109 and ref from int to double. Replaced their comparison with
15110 an inequality of their difference and EPS.
15111 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15112 comparison of pri and a reference number with an inequality of their
15113 difference and EPS.
15114 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15115 the comparison of sum and sum_ref with an inequality of their
15116 difference and EPS.
15117 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15118 the comparison of pri and a reference number with an inequality of
15119 their difference and EPS.
15120
343587dc
MB
151212015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15122
15123 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15124 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15125 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15126 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15127 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15128 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15129 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15130 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15131 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15132 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15133 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15134 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15135 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15136 variables.
15137 (vec_mult): Likewise. Add #pragma omp taskwait.
15138 (main): Adjust caller.
15139 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15140 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15141 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15142 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15143 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15144 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15145 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15146 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15147 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15148 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15149 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15150 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15151 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15152 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15153 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15154 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15155 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15156 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15157 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15158 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15159 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15160 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15161 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15162 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15163 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15164 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15165 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15166 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15167 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15168 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15169 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15170 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15171 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15172 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15173 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15174 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15175 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15176 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15177 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15178 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15179 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15180 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15181 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15182 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15183 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15184 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15185 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15186 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15187 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15188 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15189 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15190 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15191 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15192 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15193 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15194 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15195 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15196 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15197 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15198 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15199 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15200 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15201 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15202 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15203 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15204 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15205 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15206 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15207 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15208 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15209 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15210 (vec_mult): Add !$omp taskwait.
15211 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15212 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15213 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15214 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15215 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15216 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15217 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15218 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15219 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15220 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15221 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15222 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15223 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15224 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15225 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15226 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15227 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15228 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15229 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15230 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15231 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15232 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15233 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15234 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15235 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15236 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15237 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15238 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15239 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15240 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15241 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15242 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15243 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15244 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15245 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15246 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15247 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15248 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15249 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15250 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15251 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15252 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15253 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15254 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15255 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15256 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15257 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15258 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15259 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15260 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15261 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15262 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15263 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15264 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15265 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15266 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15267 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15268 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15269 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15270 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15271 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15272 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15273 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15274 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15275 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15276 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15277 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15278
9f620bf1
TV
152792015-07-10 Tom de Vries <tom@codesourcery.com>
15280
15281 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15282 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15283
a92defda
TS
152842015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15285
15286 PR libgomp/65099
15287 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15288 in a 64-bit configuration.
15289 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15290 offloading testing if no such device is available.
15291 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15292 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15293
cadb53a5
TV
152942015-07-08 Tom de Vries <tom@codesourcery.com>
15295
15296 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15297 second call to f.
15298 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15299
712cb0bb
TV
153002015-07-07 Tom de Vries <tom@codesourcery.com>
15301
15302 PR tree-optimization/66642
15303 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15304 iteration count case.
15305 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15306 function, factor out of ...
15307 (main): ... here. Test low iteration count case.
15308
e5210c77
SH
153092015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15310
15311 * libgomp.h (gomp_thread_pool): Comment last_team field.
15312
f70360e7
UB
153132015-07-02 Uros Bizjak <ubizjak@gmail.com>
15314
15315 * testsuite/libgomp.c++/pr66702-1.C: Require
15316 vect_simd_clones effective target.
15317 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15318
b451c271
TV
153192015-06-30 Tom de Vries <tom@codesourcery.com>
15320
15321 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15322 already set. Use DEFAULT_CFLAGS in dg-runtest.
15323 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15324 "-O2".
15325
f8e89d9f
TV
153262015-06-30 Tom de Vries <tom@codesourcery.com>
15327
15328 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15329 already set. Use DEFAULT_CFLAGS in dg-runtest.
15330 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15331 * testsuite/libgomp.c++/pr64824.C: Same.
15332 * testsuite/libgomp.c++/pr64868.C: Same.
15333 * testsuite/libgomp.c++/pr66199-1.C: Same.
15334 * testsuite/libgomp.c++/pr66199-2.C: Same.
15335 * testsuite/libgomp.c++/target-2.C: Same.
15336 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15337 -std=<standard> option.
15338 * testsuite/libgomp.c++/udr-11.C: Same.
15339 * testsuite/libgomp.c++/udr-12.C: Same.
15340 * testsuite/libgomp.c++/udr-13.C: Same.
15341 * testsuite/libgomp.c++/udr-14.C: Same.
15342 * testsuite/libgomp.c++/udr-15.C: Same.
15343 * testsuite/libgomp.c++/udr-16.C: Same.
15344 * testsuite/libgomp.c++/udr-17.C: Same.
15345 * testsuite/libgomp.c++/udr-18.C: Same.
15346 * testsuite/libgomp.c++/udr-19.C: Same.
15347 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15348 * testsuite/libgomp.c++/simd-1.C: Same.
15349 * testsuite/libgomp.c++/simd-2.C: Same.
15350 * testsuite/libgomp.c++/simd-3.C: Same.
15351 * testsuite/libgomp.c++/simd-4.C: Same.
15352 * testsuite/libgomp.c++/simd-5.C: Same.
15353 * testsuite/libgomp.c++/simd-6.C: Same.
15354 * testsuite/libgomp.c++/simd-7.C: Same.
15355 * testsuite/libgomp.c++/simd-8.C: Same.
15356 * testsuite/libgomp.c++/simd-9.C: Same.
15357 * testsuite/libgomp.c++/simd10.C: Same.
15358 * testsuite/libgomp.c++/simd11.C: Same.
15359 * testsuite/libgomp.c++/simd12.C: Same.
15360 * testsuite/libgomp.c++/simd13.C: Same.
15361
3446fe48
JJ
153622015-06-30 Jakub Jelinek <jakub@redhat.com>
15363
15364 PR middle-end/66702
15365 * testsuite/libgomp.c++/pr66702-1.C: New test.
15366 * testsuite/libgomp.c++/pr66702-2.C: New test.
15367
8a36714a
TV
153682015-06-30 Tom de Vries <tom@codesourcery.com>
15369
15370 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15371 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15372 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15373 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15374
4f75d608
TV
153752015-06-30 Tom de Vries <tom@codesourcery.com>
15376
15377 PR tree-optimization/66652
15378 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15379 using restrict pointers.
15380 (main): Add arguments to calls to f.
15381 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15382
6d9d1eeb
AT
153832015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15384
15385 * configure.ac: Fix check for header <sys/sysctl.h>.
15386 * configure: Regenerate.
15387 * config.h.in: Likewise.
15388
1222f22b
TV
153892015-06-23 Tom de Vries <tom@codesourcery.com>
15390
15391 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15392 abort.
15393 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15394
d7efbbf6
TS
153952015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15396
bfcd036f
TS
15397 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15398 acc_device_nvidia.
15399
d7efbbf6
TS
15400 PR libgomp/66518
15401 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15402 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15403
d7bfc710
TV
154042015-06-15 Tom de Vries <tom@codesourcery.com>
15405
15406 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15407 dg-additional-options for any remaining options.
15408 * testsuite/libgomp.c/atomic-2.c: Same.
15409 * testsuite/libgomp.c/atomic-4.c: Same.
15410 * testsuite/libgomp.c/atomic-5.c: Same.
15411 * testsuite/libgomp.c/atomic-6.c: Same.
15412 * testsuite/libgomp.c/autopar-1.c: Same.
15413 * testsuite/libgomp.c/copyin-1.c: Same.
15414 * testsuite/libgomp.c/copyin-2.c: Same.
15415 * testsuite/libgomp.c/copyin-3.c: Same.
15416 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15417 * testsuite/libgomp.c/nestedfn-5.c: Same.
15418 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15419 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15420 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15421 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15422 * testsuite/libgomp.c/pr32362-1.c: Same.
15423 * testsuite/libgomp.c/pr32362-2.c: Same.
15424 * testsuite/libgomp.c/pr32362-3.c: Same.
15425 * testsuite/libgomp.c/pr39591-1.c: Same.
15426 * testsuite/libgomp.c/pr39591-2.c: Same.
15427 * testsuite/libgomp.c/pr39591-3.c: Same.
15428 * testsuite/libgomp.c/pr58392.c: Same.
15429 * testsuite/libgomp.c/pr58756.c: Same.
15430 * testsuite/libgomp.c/simd-1.c: Same.
15431 * testsuite/libgomp.c/simd-10.c: Same.
15432 * testsuite/libgomp.c/simd-11.c: Same.
15433 * testsuite/libgomp.c/simd-12.c: Same.
15434 * testsuite/libgomp.c/simd-13.c: Same.
15435 * testsuite/libgomp.c/simd-14.c: Same.
15436 * testsuite/libgomp.c/simd-15.c: Same.
15437 * testsuite/libgomp.c/simd-2.c: Same.
15438 * testsuite/libgomp.c/simd-3.c: Same.
15439 * testsuite/libgomp.c/simd-4.c: Same.
15440 * testsuite/libgomp.c/simd-5.c: Same.
15441 * testsuite/libgomp.c/simd-6.c: Same.
15442 * testsuite/libgomp.c/simd-7.c: Same.
15443 * testsuite/libgomp.c/simd-8.c: Same.
15444 * testsuite/libgomp.c/simd-9.c: Same.
15445
fb5b5352
TV
154462015-06-15 Tom de Vries <tom@codesourcery.com>
15447
15448 * testsuite/libgomp.c/pr35625.c: Fix typo.
15449
ca431bef
TV
154502015-06-15 Tom de Vries <tom@codesourcery.com>
15451
15452 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15453 in dg-options.
15454 * testsuite/libgomp.c/atomic-3.c: Same.
15455 * testsuite/libgomp.c/debug-1.c: Same.
15456 * testsuite/libgomp.c/nqueens-1.c: Same.
15457 * testsuite/libgomp.c/pr26171.c: Same.
15458 * testsuite/libgomp.c/pr48591.c: Same.
15459 * testsuite/libgomp.c/pr64824.c: Same.
15460 * testsuite/libgomp.c/pr64868.c: Same.
15461 * testsuite/libgomp.c/pr66133.c: Same.
15462 * testsuite/libgomp.c/pr66199-1.c: Same.
15463 * testsuite/libgomp.c/pr66199-2.c: Same.
15464 * testsuite/libgomp.c/target-8.c: Same.
15465
0d8a9e20
TV
154662015-06-15 Tom de Vries <tom@codesourcery.com>
15467
15468 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15469 -std={gnu99,c99}.
15470 * testsuite/libgomp.c/for-1.c: Same.
15471 * testsuite/libgomp.c/for-2.c: Same.
15472 * testsuite/libgomp.c/for-3.c: Same.
15473 * testsuite/libgomp.c/pr35625.c: Same.
15474 * testsuite/libgomp.c/pr39154.c: Same.
15475 * testsuite/libgomp.c/simd-16.c: Same.
15476 * testsuite/libgomp.c/simd-17.c: Same.
15477
a6860be9
TV
154782015-06-13 Tom de Vries <tom@codesourcery.com>
15479
15480 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15481
ab3306d2
TV
154822015-06-13 Tom de Vries <tom@codesourcery.com>
15483
15484 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15485 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15486 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15487 (N): Define.
15488 (main): Use N instead of hardcoded constants.
15489
7c82d827
TV
154902015-06-05 Tom de Vries <tom@codesourcery.com>
15491
15492 merge from gomp4 branch:
15493 2015-05-28 Tom de Vries <tom@codesourcery.com>
15494
15495 PR tree-optimization/65443
15496 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15497 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15498 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15499
c469078d
BRF
155002015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15501
15502 * testsuite/libgomp.graphite/bounds.c: Adjust for
15503 cleanup-tree-dump removal.
15504 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15505 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15506 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15507 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15508 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15509 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15510 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15511 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15512 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15513 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15514
bb3caa35
UB
155152015-05-28 Uros Bizjak <ubizjak@gmail.com>
15516
15517 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15518 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15519 (futex_wake) [!__x86_64__]: Ditto.
15520
9fb5fd44
JB
155212015-05-28 Julian Brown <julian@codesourcery.com>
15522
15523 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15524 function comment. Only call gomp_fatal if new argument is true.
15525 (acc_dev_num_out_of_range): New function.
15526 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15527 acc_dev_num_out_of_range as appropriate.
15528 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
15529 (acc_get_device_num, acc_set_device_num): Update calls to
15530 resolve_device.
9fb5fd44
JB
15531 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15532 output.
15533
32eaed93
JB
155342015-05-28 Julian Brown <julian@codesourcery.com>
15535
15536 PR libgomp/65742
32eaed93
JB
15537 * oacc-init.c (plugin/plugin-host.h): Include.
15538 (acc_on_device): Check whether we're in an offloaded region for
15539 host_nonshm
15540 plugin. Don't use __builtin_acc_on_device.
15541 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15542 nonshm_exec flag in thread-local data.
15543 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15544 data for host_nonshm plugin.
15545 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15546 for host_nonshm plugin.
15547 * plugin/plugin-host.h: New.
15548
ea023bcf
UB
155492015-05-27 Uros Bizjak <ubizjak@gmail.com>
15550
8ed501f1
UB
15551 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15552
155532015-05-27 Uros Bizjak <ubizjak@gmail.com>
15554
15555 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15556 Declare as int.
15557 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15558 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15559 Declare as int.
15560
155612015-05-27 Uros Bizjak <ubizjak@gmail.com>
15562
bb3caa35 15563 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 15564
1716efeb
CLT
155652015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15566
15567 * target.c (gomp_map_pointer): New function abstracting out
15568 GOMP_MAP_POINTER handling.
15569 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15570 gomp_map_pointer().
15571
41b37d5e
JJ
155722015-05-19 Jakub Jelinek <jakub@redhat.com>
15573
15574 PR middle-end/66199
15575 * testsuite/libgomp.c/pr66199-1.c: New test.
15576 * testsuite/libgomp.c/pr66199-2.c: New test.
15577 * testsuite/libgomp.c++/pr66199-1.C: New test.
15578 * testsuite/libgomp.c++/pr66199-2.C: New test.
15579 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15580 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15581
c8319826
JB
155822015-05-19 Julian Brown <julian@codesourcery.com>
15583
15584 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15585 on cuInit failure.
15586
b37dddbc
JJ
155872015-05-13 Jakub Jelinek <jakub@redhat.com>
15588
15589 PR middle-end/66133
15590 * testsuite/libgomp.c/pr66133.c: New test.
15591
55fba601
MH
155922015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15593
15594 * Makefile.in: Regenerated with automake-1.11.6.
15595 * aclocal.m4: Likewise.
15596 * config.h.in: Likewise.
15597 * configure: Likewise.
15598 * testsuite/Makefile.in: Likewise.
15599
1be0899d
JM
156002015-05-08 Jason Merrill <jason@redhat.com>
15601
15602 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15603 _Complex.
15604
15605 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15606
d2463960
JB
156072015-05-06 Julian Brown <julian@codesourcery.com>
15608
15609 * oacc-init.c (acc_device_lock): Add explanatory comment.
15610 (resolve_device): Add comment about locking requirement.
15611 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15612 gomp_init_device and gomp_fini_device calls.
15613 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15614 (acc_get_device_num, acc_set_device_num): Add locking around
15615 resolve_device and gomp_init_device calls.
15616
e38fdba4
JB
156172015-05-06 Julian Brown <julian@codesourcery.com>
15618
15619 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15620 goacc_thread_lock on error paths.
15621 * oacc-mem.c (lookup_host): Remove locking from function. Note
15622 locking requirement for caller in function comment.
15623 (lookup_dev): Likewise.
15624 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15625 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15626 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15627 Add locking.
15628
ae8ffbbb
TS
156292015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15630
15631 PR testsuite/65205
15632 PR libgomp/65993
15633 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15634 don't expect "0x" prefix for "%p" format specifier, don't expect
15635 "(nil)" for NULL pointer.
15636 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15637 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15638 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15639 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15640 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15641 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15642 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15643 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15644 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15645 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15646 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15647 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15648 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15649 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15650 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15651 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15652 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15653 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15654 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15655 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15656 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15657 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15658 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15659 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15660 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15661 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15662 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15663 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15664 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15665 accurately specify what we're looking for.
15666 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15667 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15668 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15669 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15670 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15671
1309f1d2
JN
156722015-04-30 James Norris <jnorris@codesourcery.com>
15673
15674 PR testsuite/65205
15675 * testsuite/lib/libgomp.exp
15676 (check_effective_target_openacc_host_selected)
15677 (check_effective_target_openacc_host_nonshm_selected): New
15678 procedures.
15679 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15680 dg-shouldfail.
15681 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15682 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15683 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15684 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15685 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15686 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15687 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15688 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15689 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15690 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15691 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15692 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15693 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15694 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15695 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15696 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15697 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15698 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15699 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15700 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15701 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15702 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15703 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15704 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15705 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15706 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15707 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15708 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15709 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15710 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15711 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15712 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15713 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15714 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15715 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15716 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15717 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15718 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15719 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15720 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15721 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15722 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15723 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15724
d93bdab5
JB
157252015-04-08 Julian Brown <julian@codesourcery.com>
15726
15727 * libgomp.h (target_mem_desc: Remove mem_map field.
15728 (acc_dispatch_t): Remove open_device_func, close_device_func,
15729 get_device_num_func, set_device_num_func, target_data members.
15730 Change create_thread_data_func argument to device number instead of
15731 generic pointer.
15732 * oacc-async.c (assert.h): Include.
15733 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15734 (acc_wait_all, acc_wait_all_async): Use current host thread's
15735 active device, not base_dev.
15736 * oacc-cuda.c (acc_get_current_cuda_device)
15737 (acc_get_current_cuda_context, acc_get_cuda_stream)
15738 (acc_set_cuda_stream): Likewise.
15739 * oacc-host.c (host_dispatch): Don't set open_device_func,
15740 close_device_func, get_device_num_func or set_device_num_func.
15741 * oacc-init.c (base_dev, init_key): Remove.
15742 (cached_base_dev): New.
15743 (name_of_acc_device_t): New.
15744 (acc_init_1): Initialise default-numbered device, not zeroth.
15745 (acc_shutdown_1): Close all devices of a given type.
15746 (goacc_destroy_thread): Don't use base_dev.
15747 (lazy_open, lazy_init, lazy_init_and_open): Remove.
15748 (goacc_attach_host_thread_to_device): New.
15749 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15750 (acc_get_num_devices): Don't use base_dev.
15751 (acc_set_device_type): Reimplement.
15752 (acc_get_device_type): Don't use base_dev.
15753 (acc_get_device_num): Tweak logic.
15754 (acc_set_device_num): Likewise.
15755 (acc_on_device): Use acc_get_device_type.
15756 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15757 (goacc_lazy_initialize): Reimplement with acc_init and
15758 goacc_attach_host_thread_to_device.
15759 * oacc-int.h (goacc_thread): Add base_dev field.
15760 (base_dev): Remove extern declaration.
15761 (goacc_attach_host_thread_to_device): Add prototype.
15762 * oacc-mem.c (acc_malloc): Use current thread's device instead of
15763 base_dev.
15764 (acc_free): Likewise.
15765 (acc_memcpy_to_device): Likewise.
15766 (acc_memcpy_from_device): Likewise.
15767 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15768 goacc_lazy_initialize (throughout).
15769 (GOACC_parallel): Use tgt_offset to locate target functions.
15770 * target.c (gomp_map_vars): Don't set tgt->mem_map.
15771 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15772 (gomp_load_plugin_for_device): Remove open_device, close_device,
15773 get_device_num, set_device_num openacc hook initialisation. Don't set
15774 openacc.target_data.
15775 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15776 (GOMP_OFFLOAD_openacc_close_device)
15777 (GOMP_OFFLOAD_openacc_get_device_num)
15778 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15779 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15780 to int.
15781 * plugin/plugin-nvptx.c (ptx_inited): Remove.
15782 (instantiated_devices, ptx_dev_lock): New.
15783 (struct ptx_image_data): New.
15784 (ptx_devices, ptx_images, ptx_image_lock): New.
15785 (fini_streams_for_device): Reorder cuStreamDestroy call.
15786 (nvptx_get_num_devices): Remove forward declaration.
15787 (nvptx_init): Change return type to bool.
15788 (nvptx_fini): Remove.
15789 (nvptx_attach_host_thread_to_device): New.
15790 (nvptx_open_device): Return struct ptx_device* instead of void*.
15791 (nvptx_close_device): Change argument type to struct ptx_device*,
15792 return type to void.
15793 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15794 (kernel_target_data, kernel_host_table): Remove static globals.
15795 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15796 (GOMP_OFFLOAD_init_device): Reimplement.
15797 (GOMP_OFFLOAD_fini_device): Likewise.
15798 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15799 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15800 (GOMP_OFFLOAD_host2dev): Use ORD argument.
15801 (GOMP_OFFLOAD_openacc_open_device)
15802 (GOMP_OFFLOAD_openacc_close_device)
15803 (GOMP_OFFLOAD_openacc_set_device_num)
15804 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15805 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15806 (device number).
15807
15808 testsuite/
15809 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
15810
a51df54e
IV
158112015-04-06 Ilya Verbin <ilya.verbin@intel.com>
15812
15813 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
15814 * libgomp.h (struct gomp_memory_mapping): Remove.
15815 (struct target_mem_desc): Change type of mem_map from
15816 gomp_memory_mapping * to splay_tree_s *.
15817 (struct gomp_device_descr): Remove register_image_func, get_table_func.
15818 Add load_image_func, unload_image_func.
15819 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
15820 Remove offload_regions_registered.
15821 (gomp_init_tables): Remove.
15822 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15823 to splay_tree_s *.
15824 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
15825 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
15826 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
15827 offload_regions_registered.
15828 Initialize load_image_func, unload_image_func, mem_map.root.
15829 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
15830 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
15831 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
15832 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
15833 gomp_memory_mapping *. Use dev's lock and splay_tree.
15834 (lookup_dev): Use dev's lock.
15835 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
15836 (acc_is_present): Likewise.
15837 (acc_map_data): Likewise.
15838 (acc_unmap_data): Likewise. Use dev's lock.
15839 (present_create_copy): Likewise.
15840 (delete_copyout): Pass dev to lookup_host instead of mem_map.
15841 (update_dev_host): Likewise.
15842 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
15843 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
15844 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
15845 (GOMP_OFFLOAD_get_table): Remove
15846 (GOMP_OFFLOAD_load_image): New function.
15847 (GOMP_OFFLOAD_unload_image): New function.
15848 * target.c (register_lock): New mutex for offload image registration.
15849 (num_devices): Do not guard with PLUGIN_SUPPORT.
15850 (gomp_realloc_unlock): New static function.
15851 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
15852 before gomp_fatal.
15853 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
15854 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
15855 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
15856 mem_map's.
15857 (gomp_unmap_vars): Likewise.
15858 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
15859 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
15860 (gomp_offload_image_to_device): New static function.
15861 (GOMP_offload_register): Add mutex lock.
15862 Call gomp_offload_image_to_device for all initialized devices.
15863 Replace gomp_realloc with gomp_realloc_unlock.
15864 (GOMP_offload_unregister): New function.
15865 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
15866 get_table_func from the plugin with calls to init_device_func and
15867 gomp_offload_image_to_device.
15868 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15869 to splay_tree_s *.
15870 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
15871 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
15872 (GOMP_target_data): Do not call gomp_init_tables.
15873 (GOMP_target_update): Likewise. Remove argument from gomp_update.
15874 (gomp_load_plugin_for_device): Replace register_image and get_table
15875 with load_image and unload_image in DLSYM ().
15876 (gomp_register_images_for_device): Remove function.
15877 (gomp_target_init): Do not initialize current_device.mem_map.*,
15878 current_device.offload_regions_registered.
15879 Remove call to gomp_register_images_for_device.
15880 Do not free offload_images and num_offload_images.
15881
6c384511
JJ
158822015-03-30 Jakub Jelinek <jakub@redhat.com>
15883
15884 PR fortran/65597
15885 * testsuite/libgomp.fortran/pr65597.f90: New test.
15886
3e8165a5
TV
158872015-03-27 Tom de Vries <tom@codesourcery.com>
15888
15889 PR testsuite/65594
15890 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
15891 (init, check): New function.
15892 (foo): Change return type to void.
15893 (main): Call init and check.
15894
4d688c9a
TV
158952015-03-27 Tom de Vries <tom@codesourcery.com>
15896
15897 PR testsuite/65594
15898 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
15899 (foo): Use M for non-inner loops to scale down test-case.
15900
01c0b3b0
KT
159012015-03-25 Kai Tietz <ktietz@redhat.com>
15902
15903 PR libgomp/64972
15904 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
15905 (GOACC_data_start): Likewise.
15906 * target.c (gomp_map_vars): Likewise.
15907
844d9a76
JDA
159082015-03-21 John David Anglin <danglin@gcc.gnu.org>
15909
15910 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
15911 hppa*-*-hpux*.
15912
9b65e171
JJ
159132015-03-19 Jakub Jelinek <jakub@redhat.com>
15914
15915 * testsuite/libgomp.c/target-10.c: New test.
15916 * testsuite/libgomp.c++/target-4.C: New test.
15917
db397e2e
IV
159182015-03-13 Ilya Verbin <ilya.verbin@intel.com>
15919
15920 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
15921 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
15922
cd93945d
SH
159232015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
15924
15925 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
15926 * configure.ac (*-*-rtems*): Assume Pthread is supported.
15927 (pthread.h): Check for this header file.
15928 * configure: Regenerate.
15929
05deba9f
TV
159302015-02-25 Tom de Vries <tom@codesourcery.com>
15931
15932 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
15933 (check_reduction_op, check_reduction_macro, max, min):
15934 Declare.
15935 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
15936 function.
15937 (main): Use new functions.
15938
196904d8
IT
159392015-02-18 Ilya Tocar <ilya.tocar@intel.com>
15940
15941 * target.c (gomp_load_plugin_for_device): Use const char * instead of
15942 char * for variables holding dlerror return values.
15943 (DLSYM_OPT): Ditto.
15944
a2818955
TS
159452015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15946
15947 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
15948
26f93312
TS
159492015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15950 Cesar Philippidis <cesar@codesourcery.com>
15951
15952 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
15953 GOACC_ctaid, and GOACC_nctaid routines.
15954
fa01ffcc
JJ
159552015-02-11 Jakub Jelinek <jakub@redhat.com>
15956
15957 PR c/64824
15958 * testsuite/libgomp.c/atomic-18.c: New test.
15959 * testsuite/libgomp.c++/atomic-16.C: New test.
15960
4886ec8e
JJ
159612015-02-04 Jakub Jelinek <jakub@redhat.com>
15962
15963 PR c/64824
15964 PR c/64868
15965 * testsuite/libgomp.c/pr64824.c: New test.
15966 * testsuite/libgomp.c/pr64868.c: New test.
15967 * testsuite/libgomp.c++/pr64824.C: New test.
15968 * testsuite/libgomp.c++/pr64868.C: New test.
15969
02d3e45e
DE
159702015-02-01 David Edelsohn <dje.gcc@gmail.com>
15971
15972 PR libgomp/64635
15973 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
15974 Link with -lpthread.
15975 * config/aix/plugin-suffix.h: Delete.
15976
b5f7a6ca
JH
159772015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
15978
15979 PR libgomp/64635
15980 * configure.tgt (*-*-aix*): Use config_path "aix posix".
15981 (*-*-darwin*): Use config_path "bsd darwin posix".
15982 (*-*-hpux*): Use config_path "hpux posix".
15983 * target.c: Add include of plugin-suffix.h and use
15984 SONAME_SUFFIX macro.
15985 * config/aix/plugin-suffix.h: New file.
15986 * config/darwin/plugin-suffix.h: New file.
15987 * config/hpux/plugin-suffix.h: New file.
15988 * config/posix/plugin-suffix.h: New file.
15989
b8910447
JJ
159902015-01-23 Jakub Jelinek <jakub@redhat.com>
15991
15992 PR middle-end/64734
15993 * libgomp.c/pr64734.c: New test.
15994
a0c88d06
TV
159952015-01-23 Tom de Vries <tom@codesourcery.com>
15996
15997 PR libgomp/64672
15998 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
15999
1506ae0e
TV
160002015-01-23 Tom de Vries <tom@codesourcery.com>
16001
16002 PR libgomp/64707
16003 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16004 dg-options.
16005
128b26dc
TS
160062015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16007
bed62c21 16008 PR libgomp/64625
128b26dc
TS
16009 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16010 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16011 formal parameter. Update all users.
16012 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16013 Document unused formal parameter.
16014
6e36114c
TS
160152015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16016
16017 * oacc-parallel.c: Don't include <alloca.h>.
16018 (GOACC_parallel): Use gomp_alloca instead of alloca.
16019
973e9808
GP
160202015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16021
16022 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16023
41dbbb37
TS
160242015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16025 James Norris <jnorris@codesourcery.com>
16026 Tom de Vries <tom@codesourcery.com>
16027 Julian Brown <julian@codesourcery.com>
16028 Cesar Philippidis <cesar@codesourcery.com>
16029 Nathan Sidwell <nathan@codesourcery.com>
16030 Tobias Burnus <burnus@net-b.de>
16031
16032 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16033 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16034 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16035 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16036 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16037 Include $(top_srcdir)/plugin/Makefrag.am.
16038 (nodist_libsubinclude_HEADERS): Add openacc.h.
16039 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16040 openacc.f90, openacc.mod, openacc_kinds.mod.
16041 (omp_lib.mod): Generalize into...
16042 (%.mod): ... this new rule.
16043 (openacc_kinds.mod, openacc.mod): New rules.
16044 * plugin/configfrag.ac: New file.
16045 * configure.ac: Move plugin/offloading support into it. Include
16046 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16047 * plugin/Makefrag.am: New file.
16048 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16049 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16050 export.
16051 (libgomp-test-support.exp): New rule.
16052 (all-local): Depend on it.
16053 * Makefile.in: Regenerate.
16054 * testsuite/Makefile.in: Regenerate.
16055 * config.h.in: Likewise.
16056 * configure: Likewise.
16057 * configure.tgt: Harden shell syntax.
16058 * env.c: Include "oacc-int.h".
16059 (parse_acc_device_type): New function.
16060 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16061 variables.
16062 (initialize_env): Initialize those. Call
16063 goacc_runtime_initialize.
16064 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16065 (gomp_fatal): Call gomp_vfatal.
16066 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16067 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16068 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16069 (splay_tree_node, splay_tree, splay_tree_key)
16070 (struct target_mem_desc, struct splay_tree_key_s)
16071 (struct gomp_memory_mapping, struct acc_dispatch_t)
16072 (struct gomp_device_descr, gomp_acc_insert_pointer)
16073 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16074 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16075 (gomp_free_memmap, gomp_fini_device): New declarations.
16076 (gomp_vdebug, gomp_debug): New macros.
16077 Include "splay-tree.h".
16078 * libgomp.map (OACC_2.0): New symbol version. Use for
16079 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16080 acc_set_device_type_h_, acc_get_device_type,
16081 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16082 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16083 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16084 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16085 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16086 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16087 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16088 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16089 acc_copyin_array_h_, acc_present_or_copyin,
16090 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16091 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16092 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16093 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16094 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16095 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16096 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16097 acc_update_device, acc_update_device_32_h_,
16098 acc_update_device_64_h_, acc_update_device_array_h_,
16099 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16100 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16101 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16102 acc_is_present_64_h_, acc_is_present_array_h_,
16103 acc_memcpy_to_device, acc_memcpy_from_device,
16104 acc_get_current_cuda_device, acc_get_current_cuda_context,
16105 acc_get_cuda_stream, acc_set_cuda_stream.
16106 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16107 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16108 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16109 GOACC_get_num_threads.
16110 (GOMP_PLUGIN_1.0): New symbol version. Use for
16111 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16112 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16113 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16114 GOMP_PLUGIN_acc_thread.
16115 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16116 environment variable.
16117 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16118 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16119 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16120 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16121 (splay_tree_remove): New declarations.
16122 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16123 (splay_tree_remove, splay_tree_lookup): Move into...
16124 * splay-tree.c: ... this new file.
16125 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16126 (splay_tree_node, splay_tree, splay_tree_key)
16127 (struct target_mem_desc, struct splay_tree_key_s)
16128 (struct gomp_device_descr): Don't declare.
16129 (num_devices_openmp): New variable.
16130 (gomp_get_num_devices ): Use it.
16131 (gomp_init_targets_once): New function.
16132 (gomp_get_num_devices ): Use it.
16133 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16134 (gomp_fini_device, gomp_register_image_for_device): New functions.
16135 (gomp_map_vars): Add devaddrs parameter.
16136 (gomp_update): Add mm parameter.
16137 (gomp_init_device): Move most of it into...
16138 (gomp_init_tables): ... this new function.
16139 (gomp_register_images_for_device): Remove function.
16140 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16141 Make them hidden instead of static.
16142 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16143 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16144 (GOMP_target_end_data, GOMP_target_update)
16145 (gomp_load_plugin_for_device, gomp_target_init): Update for
16146 OpenACC changes.
16147 * oacc-async.c: New file.
16148 * oacc-cuda.c: Likewise.
16149 * oacc-host.c: Likewise.
16150 * oacc-init.c: Likewise.
16151 * oacc-int.h: Likewise.
16152 * oacc-mem.c: Likewise.
16153 * oacc-parallel.c: Likewise.
16154 * oacc-plugin.c: Likewise.
16155 * oacc-plugin.h: Likewise.
16156 * oacc-ptx.h: Likewise.
16157 * openacc.f90: Likewise.
16158 * openacc.h: Likewise.
16159 * openacc_lib.h: Likewise.
16160 * plugin/plugin-host.c: Likewise.
16161 * plugin/plugin-nvptx.c: Likewise.
16162 * libgomp-plugin.c: Likewise.
16163 * libgomp-plugin.h: Likewise.
16164 * libgomp_target.h: Remove file after merging content into the
16165 former file. Update all users.
16166 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16167 (offload_targets_s, offload_targets_s_openacc): New variables.
16168 (check_effective_target_openacc_nvidia_accel_present)
16169 (check_effective_target_openacc_nvidia_accel_selected): New
16170 procedures.
16171 (libgomp_init): Update for OpenACC changes.
16172 * testsuite/libgomp-test-support.exp.in: New file.
16173 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16174 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16175 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16176 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16177 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16178 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16179 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16180 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16181 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16182 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16183 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16184 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16185 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16186 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16187 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16188 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16189 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16190 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16191 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16192 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16193 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16194 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16195 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16196 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16197 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16198 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16199 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16200 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16201 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16202 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16203 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16204 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16205 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16206 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16207 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16208 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16209 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16210 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16211 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16212 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16213 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16214 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16215 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16216 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16217 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16218 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16219 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16220 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16221 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16222 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16223 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16224 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16225 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16226 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16227 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16228 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16229 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16230 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16231 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16232 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16233 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16234 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16235 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16236 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16237 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16238 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16239 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16240 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16241 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16242 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16243 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16244 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16245 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16246 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16247 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16248 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16249 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16250 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16251 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16252 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16253 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16254 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16255 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16256 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16257 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16258 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16259 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16260 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16261 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16262 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16263 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16264 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16265 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16266 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16267 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16268 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16269 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16270 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16271 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16272 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16273 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16274 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16275 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16276 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16277 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16278 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16279 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16280 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16281 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16282 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16283 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16284 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16285 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16286 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16287 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16288 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16289 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16290 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16291 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16292 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16293 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16294 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16295 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16296 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16297 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16298 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16299 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16300 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16301 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16302 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16303 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16304 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16305 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16306 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16307 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16308 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16309 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16310 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16311 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16312 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16313 Likewise.
16314 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16315 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16316 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16317 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16318 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16319 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16320 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16321 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16322 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16323 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16324 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16325 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16326 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16327 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16328 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16329 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16330 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16331 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16332 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16333 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16334 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16335 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16336 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16337 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16338 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16339 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16340 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16341 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16342 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16343 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16344 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16345 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16346 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16347 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16348 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16349 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16350 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16351 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16352 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16353 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16354 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16355 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16356 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16357 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16358 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16359 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16360 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16361 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16362 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16363 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16364 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16365 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16366 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16367 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16368 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16369 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16370 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16371 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16372 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16373 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16374
f1f3453e
TS
163752015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16376 Julian Brown <julian@codesourcery.com>
16377 David Malcolm <dmalcolm@redhat.com>
16378
16379 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16380 to "GNU Offloading and Multi Processing Runtime Library". Change
16381 all users.
16382 * configure: Regenerate.
16383 * libgomp.texi: Update.
16384
f9a0eca4
TS
163852015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16386
b335ef4e
TS
16387 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16388 "$tgt_dir/lib32".
16389 * configure: Regenerate.
16390
f9a0eca4
TS
16391 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16392 "intelmic" in $offload_targets.
16393
b67cd4e3
JJ
163942015-01-05 Jakub Jelinek <jakub@redhat.com>
16395
5624e564
JJ
16396 Update copyright years.
16397
b67cd4e3
JJ
16398 * libgomp.texi: Bump @copying's copyright year.
16399
3b41b583
KT
164002014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16401
16402 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 16403 Move load of target-supports.exp earlier.
3b41b583 16404
2354caec
IV
164052014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16406
16407 * testsuite/libgomp.c/target-9.c: New test.
16408
f50eecba
VR
164092014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16410
16411 * config.h.in: Regenerate.
16412 * configure: Regenerate.
16413 * configure.ac: Add GCC_CHECK_EMUTLS.
16414 * libgomp.h: Add check for USE_EMUTLS: this case
16415 is equal to HAVE_TLS.
16416 * team.c: Likewise.
16417
68bc9270
UB
164182014-12-03 Uros Bizjak <ubizjak@gmail.com>
16419
16420 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16421
476ff787
AT
164222014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16423 Ilya Verbin <ilya.verbin@intel.com>
16424
16425 * testsuite/libgomp.c/target-critical-1.c: New test.
16426
31a30e62
JJ
164272014-11-26 Jakub Jelinek <jakub@redhat.com>
16428
16429 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 16430 to dg-options unless expensive testing is on.
31a30e62
JJ
16431 (TESTITERS): Define to N if not defined.
16432 (main): Use TESTITERS instead of N.
16433 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16434 dg-additional-options depending on whether expensive testing is on.
16435 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16436 Decrease N to 100000 and CHUNKSZ to 10000.
16437
3f9e8f13
JJ
164382014-11-24 Jakub Jelinek <jakub@redhat.com>
16439
16440 PR fortran/63938
31a30e62
JJ
16441 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16442 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 16443
c8451a46
SE
164442014-11-21 Steve Ellcey <sellcey@imgtec.com>
16445
16446 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16447
a699d672
L
164482014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16449
16450 PR bootstrap/63784
16451 * configure: Regenerated.
16452
4a19f719
UB
164532014-11-19 Uros Bizjak <ubizjak@gmail.com>
16454
16455 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16456 vect_simd_clones effective target.
16457 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16458
b1bf6c52
JJ
164592014-11-14 Jakub Jelinek <jakub@redhat.com>
16460
16461 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16462 of 32 as block_size.
16463 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16464 instead of 32 as block_size.
16465
d64ae614
AT
164662014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16467 Ilya Verbin <ilya.verbin@intel.com>
16468
16469 * Makefile.in: Regenerate.
16470 * configure: Regenerate.
16471 * configure.ac: Set up offload_additional_options,
16472 offload_additional_lib_paths and offload_targets.
16473 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16474 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16475 * testsuite/Makefile.in: Regenerate.
16476 * testsuite/lib/libgomp.exp (libgomp_init): Append
16477 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16478 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16479 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16480
122d7303
AT
164812014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16482 Ilya Verbin <ilya.verbin@intel.com>
16483 Kirill Yukhin <kirill.yukhin@intel.com>
16484 Ilya Tocar <ilya.tocar@intel.com>
16485
16486 * testsuite/lib/libgomp.exp
16487 (check_effective_target_offload_device): New.
16488 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16489 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16490 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16491 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16492 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16493 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16494 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16495 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16496 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16497 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16498 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16499 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16500 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16501 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16502 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16503 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16504 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16505 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16506 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16507 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16508 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16509 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16510 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16511 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16512 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16513 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16514 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16515 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16516 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16517 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16518 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16519 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16520 * testsuite/libgomp.c/target-7.c: Fix test.
16521 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16522 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16523 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16524 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16525 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16526 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16527 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16528 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16529 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16530 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16531 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16532 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16533 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16534 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16535 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16536 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16537 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16538 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16539 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16540 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16541 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16542 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16543 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16544 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16545 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16546 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16547 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16548 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16549 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16550 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16551 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16552
1df3f842
JJ
165532014-11-13 Jakub Jelinek <jakub@redhat.com>
16554 Ilya Verbin <ilya.verbin@intel.com>
16555 Thomas Schwinge <thomas@codesourcery.com>
16556 Andrey Turetskiy <andrey.turetskiy@intel.com>
16557
16558 * libgomp.map (GOMP_4.0.1): New symbol version.
16559 Add GOMP_offload_register.
16560 * libgomp_target.h: New file.
16561 * splay-tree.h: New file.
16562 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16563 (gomp_target_init): New forward declaration.
16564 (gomp_is_initialized): New static variable.
16565 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16566 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16567 New structures.
16568 (offload_images, num_offload_images, devices, num_devices): New static
16569 variables.
16570 (splay_compare): New static function.
16571 (struct gomp_device_descr): New structure.
16572 (gomp_get_num_devices): Call gomp_target_init.
16573 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16574 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16575 (GOMP_offload_register): New function.
16576 (GOMP_target): Arrange for host callback to be performed in a separate
16577 initial thread and contention group, inheriting ICVs from
16578 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16579 Add device initialization and lookup for target function in splay tree.
16580 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16581 (GOMP_target_end_data): Call gomp_unmap_vars.
16582 (GOMP_target_update): Add device initialization and call gomp_update.
16583 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16584 (gomp_target_init): New static functions.
16585
85c64bbe
BS
165862014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16587 Thomas Schwinge <thomas@codesourcery.com>
16588 Ilya Verbin <ilya.verbin@intel.com>
16589 Andrey Turetskiy <andrey.turetskiy@intel.com>
16590
16591 * config.h.in: Regenerate.
16592 * configure: Regenerate.
16593 * configure.ac: Check for libdl, required for plugin support.
16594 (PLUGIN_SUPPORT): Define if plugins are supported.
16595 (enable_offload_targets): Support Intel MIC targets.
16596 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16597
ebf6d33b
FXC
165982014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16599
16600 PR target/63610
16601 * configure: Regenerate.
16602
8c768629
RO
166032014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16604
16605 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16606
c1d62412
MP
166072014-10-06 Marek Polacek <polacek@redhat.com>
16608
16609 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16610 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16611 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16612 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16613
44a0c6cb
MP
166142014-10-06 Marek Polacek <polacek@redhat.com>
16615
16616 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16617 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16618 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16619 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16620 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16621 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16622 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16623 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16624 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16625 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16626 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16627 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16628 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16629 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16630 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16631 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16632 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16633 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16634 declarations.
16635
5771c391
JJ
166362014-10-03 Jakub Jelinek <jakub@redhat.com>
16637
16638 PR libgomp/61200
16639 * testsuite/libgomp.c/pr61200.c: New test.
16640
bce16b88
JJ
166412014-09-18 Jakub Jelinek <jakub@redhat.com>
16642
16643 PR c++/63248
16644 * testsuite/libgomp.c++/pr63248.C: New test.
16645
3696163c
JJ
166462014-08-04 Jakub Jelinek <jakub@redhat.com>
16647
16648 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16649 is not zero, but taskgroup->children is NULL and there are
16650 any task->children, schedule those instead of waiting.
16651 * testsuite/libgomp.c/depend-6.c: New test.
16652 * testsuite/libgomp.c/depend-7.c: New test.
16653 * testsuite/libgomp.c/depend-8.c: New test.
16654 * testsuite/libgomp.c/depend-9.c: New test.
16655 * testsuite/libgomp.c/depend-10.c: New test.
16656
0494285a
JJ
166572014-08-01 Jakub Jelinek <jakub@redhat.com>
16658
16659 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16660 (struct gomp_taskwait): New type.
16661 (struct gomp_task): Add taskwait and parent_depends_on, remove
16662 in_taskwait and taskwait_sem fields.
16663 (gomp_finish_task): Don't destroy taskwait_sem.
16664 * task.c (gomp_init_task): Don't init in_taskwait, instead init
16665 taskwait and parent_depends_on.
16666 (GOMP_task): For if (0) tasks with depend clause that depend on
16667 earlier tasks don't defer them, instead call
16668 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16669 Initialize redundant_out field, for redundant out entries just
16670 move them at the end of linked list instead of removing them
16671 completely, and set redundant_out flag instead of redundant.
16672 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16673 that task.
16674 (gomp_task_run_post_handle_dependers): If parent is in
16675 gomp_task_maybe_wait_for_dependencies and newly runnable task
16676 is not parent_depends_on, queue it in parent->children linked
16677 list after all runnable tasks with parent_depends_on set.
16678 Adjust for addition of taskwait indirection.
16679 (gomp_task_run_post_remove_parent): If parent is in
16680 gomp_task_maybe_wait_for_dependencies and task to be removed
16681 is parent_depends_on, decrement n_depend and if needed awake
16682 parent. Adjust for addition of taskwait indirection.
16683 (GOMP_taskwait): Adjust for addition of taskwait indirection.
16684 (gomp_task_maybe_wait_for_dependencies): New function.
16685 * testsuite/libgomp.c/depend-5.c: New test.
16686
60ab4b44
TB
166872014-07-13 Tobias Burnus <burnus@net-b.de>
16688
16689 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 16690 with TS 18508/Fortran 2015.
60ab4b44 16691
773ec47f
MP
166922014-07-06 Marek Polacek <polacek@redhat.com>
16693
16694 PR c/6940
16695 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16696
f707da16
JJ
166972014-07-03 Jakub Jelinek <jakub@redhat.com>
16698
16699 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16700 matches regex $lang_source_re, add $lang_include_flags to options.
16701 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16702 * testsuite/libgomp.c++/c++.exp: Likewise.
16703 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
16704 and lang_include_flags instead of adding -fintrinsic-modules-path= to
16705 ALWAYS_CFLAGS.
16706 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16707
07b6c044
TS
167082014-07-03 Thomas Schwinge <thomas@codesourcery.com>
16709
16710 * testsuite/libgomp.fortran/fortran.exp: Explain
16711 gfortran-dg-runtest usage.
16712
da6f124d
JJ
167132014-06-25 Jakub Jelinek <jakub@redhat.com>
16714
16715 * testsuite/libgomp.fortran/simd5.f90: New test.
16716 * testsuite/libgomp.fortran/simd6.f90: New test.
16717 * testsuite/libgomp.fortran/simd7.f90: New test.
16718
b46ebd6c
JJ
167192014-06-24 Jakub Jelinek <jakub@redhat.com>
16720
56ad0e38
JJ
16721 * testsuite/libgomp.c/for-2.c: Define SC to static for
16722 #pragma omp for simd testing.
16723 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16724 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16725 SC macro.
16726 * testsuite/libgomp.c/simd-14.c: New test.
16727 * testsuite/libgomp.c/simd-15.c: New test.
16728 * testsuite/libgomp.c/simd-16.c: New test.
16729 * testsuite/libgomp.c/simd-17.c: New test.
16730 * testsuite/libgomp.c++/for-10.C: Define SC to static for
16731 #pragma omp for simd testing.
16732 * testsuite/libgomp.c++/simd10.C: New test.
16733 * testsuite/libgomp.c++/simd11.C: New test.
16734 * testsuite/libgomp.c++/simd12.C: New test.
16735 * testsuite/libgomp.c++/simd13.C: New test.
16736
b46ebd6c
JJ
16737 * testsuite/libgomp.fortran/aligned1.f03: New test.
16738 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16739 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16740 tasks with !$omp parallel !$omp single.
16741 * testsuite/libgomp.fortran/target8.f90: New test.
16742 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16743 not to use trim in the combiner, instead call elemental function.
16744 (fn): New elemental function.
16745 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16746 Make elemental.
16747 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16748 omp_in): Likewise.
16749 * testsuite/libgomp.fortran/udr12.f90: New test.
16750 * testsuite/libgomp.fortran/udr13.f90: New test.
16751 * testsuite/libgomp.fortran/udr14.f90: New test.
16752 * testsuite/libgomp.fortran/udr15.f90: New test.
16753
f014c653
JJ
167542014-06-18 Jakub Jelinek <jakub@redhat.com>
16755
16756 * omp_lib.f90.in (openmp_version): Set to 201307.
16757 * omp_lib.h.in (openmp_version): Likewise.
16758 * testsuite/libgomp.c/target-8.c: New test.
16759 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16760 and inbranch clauses.
16761 * testsuite/libgomp.fortran/depend-3.f90: New test.
16762 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16763 openmp_version.
16764 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16765 * testsuite/libgomp.fortran/target1.f90: New test.
16766 * testsuite/libgomp.fortran/target2.f90: New test.
16767 * testsuite/libgomp.fortran/target3.f90: New test.
16768 * testsuite/libgomp.fortran/target4.f90: New test.
16769 * testsuite/libgomp.fortran/target5.f90: New test.
16770 * testsuite/libgomp.fortran/target6.f90: New test.
16771 * testsuite/libgomp.fortran/target7.f90: New test.
16772
92d28cbb
JJ
167732014-06-10 Jakub Jelinek <jakub@redhat.com>
16774
16775 PR fortran/60928
16776 * testsuite/libgomp.fortran/allocatable9.f90: New test.
16777 * testsuite/libgomp.fortran/allocatable10.f90: New test.
16778 * testsuite/libgomp.fortran/allocatable11.f90: New test.
16779 * testsuite/libgomp.fortran/allocatable12.f90: New test.
16780 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16781 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16782 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16783 * testsuite/libgomp.fortran/associate1.f90: New test.
16784 * testsuite/libgomp.fortran/associate2.f90: New test.
16785 * testsuite/libgomp.fortran/procptr1.f90: New test.
16786
5f23671d
JJ
167872014-06-06 Jakub Jelinek <jakub@redhat.com>
16788
16789 * testsuite/libgomp.fortran/simd1.f90: New test.
16790 * testsuite/libgomp.fortran/udr1.f90: New test.
16791 * testsuite/libgomp.fortran/udr2.f90: New test.
16792 * testsuite/libgomp.fortran/udr3.f90: New test.
16793 * testsuite/libgomp.fortran/udr4.f90: New test.
16794 * testsuite/libgomp.fortran/udr5.f90: New test.
16795 * testsuite/libgomp.fortran/udr6.f90: New test.
16796 * testsuite/libgomp.fortran/udr7.f90: New test.
16797 * testsuite/libgomp.fortran/udr8.f90: New test.
16798 * testsuite/libgomp.fortran/udr9.f90: New test.
16799 * testsuite/libgomp.fortran/udr10.f90: New test.
16800 * testsuite/libgomp.fortran/udr11.f90: New test.
16801
0389fbb5
UB
168022014-05-27 Uros Bizjak <ubizjak@gmail.com>
16803
16804 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16805 vect_simd_clones effective target.
16806 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16807
decaaec8
JJ
168082014-05-21 Jakub Jelinek <jakub@redhat.com>
16809
16810 PR middle-end/61252
16811 * testsuite/libgomp.c++/simd-9.C: New test.
16812
72832460
UB
168132014-05-18 Uros Bizjak <ubizjak@gmail.com>
16814
16815 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
16816 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
16817 texts according to their @menu entry positions.
16818
dd2fc525
JJ
168192014-05-11 Jakub Jelinek <jakub@redhat.com>
16820
16821 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
16822 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16823 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
16824 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
16825 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
16826 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
16827 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
16828 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
16829 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
16830 * testsuite/libgomp.fortran/depend-1.f90: New test.
16831 * testsuite/libgomp.fortran/depend-2.f90: New test.
16832 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
16833 * testsuite/libgomp.fortran/simd1.f90: New test.
16834 * testsuite/libgomp.fortran/simd2.f90: New test.
16835 * testsuite/libgomp.fortran/simd3.f90: New test.
16836 * testsuite/libgomp.fortran/simd4.f90: New test.
16837 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
16838
95782571
JJ
168392014-05-02 Jakub Jelinek <jakub@redhat.com>
16840
16841 * testsuite/libgomp.c/simd-10.c: New test.
16842 * testsuite/libgomp.c/simd-11.c: New test.
16843 * testsuite/libgomp.c/simd-12.c: New test.
16844 * testsuite/libgomp.c/simd-13.c: New test.
16845
f7468577
JJ
168462014-04-24 Jakub Jelinek <jakub@redhat.com>
16847
42056eac
JJ
16848 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
16849 atomic type clauses in any order and optional comma in between.
16850 * testsuite/libgomp.c++/atomic-15.C: Likewise.
16851 * testsuite/libgomp.c/atomic-17.c: Likewise.
16852
f7468577
JJ
16853 * testsuite/libgomp.c/simd-7.c: New test.
16854 * testsuite/libgomp.c/simd-8.c: New test.
16855 * testsuite/libgomp.c/simd-9.c: New test.
16856 * testsuite/libgomp.c/loop-16.c: New test.
16857
ab18f2f5
RH
168582014-04-02 Richard Henderson <rth@redhat.com>
16859
16860 * config/linux/futex.h (futex_wait): Get error value from errno.
16861 (futex_wake): Likewise.
16862
8bcc90b0
JJ
168632014-03-25 Jakub Jelinek <jakub@redhat.com>
16864
16865 PR c++/60331
16866 * testsuite/libgomp.c++/udr-11.C: New test.
16867 * testsuite/libgomp.c++/udr-12.C: New test.
16868 * testsuite/libgomp.c++/udr-13.C: New test.
16869 * testsuite/libgomp.c++/udr-14.C: New test.
16870 * testsuite/libgomp.c++/udr-15.C: New test.
16871 * testsuite/libgomp.c++/udr-16.C: New test.
16872 * testsuite/libgomp.c++/udr-17.C: New test.
16873 * testsuite/libgomp.c++/udr-18.C: New test.
16874 * testsuite/libgomp.c++/udr-19.C: New test.
16875
18d73c7f
RS
168762014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16877
16878 Update copyright years
16879
f9030485
RS
168802014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16881
16882 * hashtab.h: Use the standard form for the copyright notice.
16883
98db73df
TB
168842014-01-02 Tobias Burnus <burnus@net-b.de>
16885
16886 * libgomp.texi: Bump @copying's copyright year.
16887
ae246f7f
AT
168882013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
16889
93d90219 16890 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
16891 alloca () with __builtin_alloca ().
16892 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
16893 * testsuite/libgomp.c/lock-3.c: Likewise.
16894 * testsuite/libgomp.c/pr48591.c: Likewise.
16895
fa00a5fe
JJ
168962013-12-17 Jakub Jelinek <jakub@redhat.com>
16897
16898 PR testsuite/59534
16899 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
16900 comparisons.
16901
e9792e1d
JJ
169022013-12-16 Jakub Jelinek <jakub@redhat.com>
16903
16904 PR libgomp/58756
16905 * testsuite/libgomp.c/pr58756.c: New test.
16906
cab37c89
JJ
169072013-12-12 Jakub Jelinek <jakub@redhat.com>
16908
16909 PR libgomp/59467
16910 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
16911 !$omp parallel.
16912
de14871c
TS
169132013-11-07 Thomas Schwinge <thomas@codesourcery.com>
16914
1707a5de
TS
16915 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
16916 ALWAYS_CFLAGS.
16917 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
16918 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
16919 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
16920 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
16921 Likewise.
16922
70f05c43
TS
16923 * libgomp_g.h: Include <stddef.h> for size_t.
16924
de14871c
TS
16925 * libgomp.spec.in: Update comment about libgomp's dependencies.
16926 * configure.ac: Likewise.
16927 * configure: Regenerate.
16928
83fd6c5b
TB
169292013-10-16 Tobias Burnus <burnus@net-b.de>
16930
16931 * libgomp.texi: (Runtime Library Routines): Update references for
16932 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
16933 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
16934 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
16935 (Environment Variables): Update references for OpenMP 4.0. Add
16936 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
16937 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
16938 order.
16939
c8673881
JJ
169402013-10-14 Jakub Jelinek <jakub@redhat.com>
16941
16942 * env.c (parse_bind_var): Initialize value to avoid
16943 (false positive) warning.
16944
f89163fd
JJ
169452013-10-12 Jakub Jelinek <jakub@redhat.com>
16946
16947 PR libgomp/58691
16948 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
16949 to check variable.
16950 (gomp_init_num_threads): Move i variable declaration into
16951 #ifdef CPU_ALLOC_SIZE block.
16952 * config/linux/affinity.c (gomp_affinity_init_level): Test
16953 gomp_places_list_len == 0 rather than gomp_places_list == 0
16954 when checking for topology reading error.
16955 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
16956 * env.c (parse_affinity): Add ignore argument, if true, don't populate
16957 gomp_places_list, only parse env var and always return false.
16958 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
16959 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
16960 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
16961 and either of these variables were parsed correctly into a places
16962 list.
16963
1d340638
TS
169642013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16965 Jakub Jelinek <jakub@redhat.com>
16966
16967 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
16968 of 5 loopfn matches.
16969 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16970 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16971 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
16972 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16973 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16974 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16975 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16976 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16977
71a81c21
TS
169782013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16979
bd87f731
TS
16980 * Makefile.am (omp_lib.mod): Streamline rule.
16981 * Makefile.in: Regenerate.
16982
f5745bed
TS
16983 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
16984 exceptions.
16985
b5512c66
TS
16986 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
16987 * testsuite/libgomp.fortran/lib1.f90: Likewise.
16988 * testsuite/libgomp.fortran/lib2.f: Likewise.
16989 * testsuite/libgomp.fortran/lib3.f: Likewise.
16990
451c19c4
TS
16991 * configure.ac: Typo fix.
16992 * configure: Regenerate.
16993
86a6016d
TS
16994 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
16995 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16996
71a81c21
TS
16997 * omp.h.in: Don't touch the user's namespace.
16998
acf0174b
JJ
169992013-10-11 Jakub Jelinek <jakub@redhat.com>
17000 Tobias Burnus <burnus@net-b.de>
17001 Richard Henderson <rth@redhat.com>
17002
17003 * target.c: New file.
17004 * Makefile.am (libgomp_la_SOURCES): Add target.c.
17005 * Makefile.in: Regenerated.
17006 * libgomp_g.h (GOMP_task): Add depend argument.
17007 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17008 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17009 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17010 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17011 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17012 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17013 GOMP_taskgroup_start, GOMP_taskgroup_end,
17014 GOMP_parallel_sections): New prototypes.
17015 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17016 (omp_is_initial_device_): New function.
17017 (ULP, STR1, STR2, ialias_redirect): Removed.
17018 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17019 omp_set_default_device_8_, omp_get_default_device_,
17020 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17021 functions.
17022 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17023 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17024 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17025 @@GOMP_4.0.
17026 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17027 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17028 omp_set_default_device, omp_set_default_device_,
17029 omp_set_default_device_8_, omp_get_default_device,
17030 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17031 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17032 omp_get_team_num_): Export @@OMP_4.0.
17033 * team.c (struct gomp_thread_start_data): Add place field.
17034 (gomp_thread_start): Clear thr->thread_pool and
17035 thr->task before returning. Use gomp_team_barrier_wait_final
17036 instead of gomp_team_barrier_wait. Initialize thr->place.
17037 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17038 team_cancelled and task_queued_count fields.
17039 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17040 before calling pthread_exit.
17041 (gomp_free_thread): No longer static. Use
17042 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17043 (gomp_team_start): Add flags argument. Set
17044 thr->thread_pool->threads_busy to nthreads immediately after creating
17045 new pool. Use gomp_managed_threads_lock instead of
17046 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17047 (gomp_team_end): Use gomp_managed_threads_lock instead of
17048 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17049 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 17050 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
17051 rather than thr->ts.work_share.
17052 (initialize_team): Don't call gomp_sem_init here.
17053 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17054 caller.
17055 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17056 * env.c (gomp_global_icv): Add default_device_var, target_data and
17057 bind_var initializers.
17058 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17059 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17060 gomp_places_list_len): New variables.
17061 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17062 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17063 sized places.
17064 (gomp_cancel_var): New global variable.
17065 (parse_int): New function.
17066 (handle_omp_display_env): New function.
17067 (initialize_env): Use it. Initialize default_device_var.
17068 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17069 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17070 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17071 been successfully parsed (and call gomp_init_affinity in that case).
17072 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17073 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17074 omp_get_team_num, omp_is_initial_device): New functions.
17075 * libgomp.h: Include stdlib.h.
17076 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17077 Define.
17078 (struct target_mem_desc): Forward declare.
17079 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17080 and thread_limit_var fields.
17081 (gomp_get_num_devices): New prototype.
17082 (gomp_cancel_var): New extern decl.
17083 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17084 team_cancelled and task_queued_count fields. Add comments about
17085 task_{,queued_,running_}count.
17086 (gomp_cancel_kind): New enum.
17087 (gomp_work_share_end_cancel): New prototype.
17088 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17089 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17090 and depend fields.
17091 (struct gomp_taskgroup): New type.
17092 (struct gomp_task_depend_entry,
17093 struct gomp_dependers_vec): New types.
17094 (gomp_finish_task): Free depend_hash if non-NULL.
17095 (struct gomp_team_state): Add place_partition_off
17096 and place_partition_len fields.
17097 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17098 gomp_places_list_len): New extern decls.
17099 (struct gomp_thread): Add place field.
17100 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17101 (gomp_init_thread_affinity): Add place argument.
17102 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17103 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17104 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17105 gomp_affinity_init_level, gomp_affinity_print_place): New
17106 prototypes.
17107 (gomp_team_start): Add flags argument.
17108 (gomp_thread_limit_var, gomp_remaining_threads_count,
17109 gomp_remaining_threads_lock): Remove.
17110 (gomp_managed_threads_lock): New variable.
17111 (struct gomp_thread_pool): Add threads_busy field.
17112 (gomp_free_thread): New prototype.
17113 * task.c: Include hashtab.h.
17114 (hash_entry_type): New typedef.
17115 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17116 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17117 copy_ctors_done and taskgroup fields.
17118 (GOMP_task): Add depend argument, handle depend clauses. If
17119 gomp_team_barrier_cancelled or if it's taskgroup has been
17120 cancelled, don't queue or start new tasks. Set copy_ctors_done
17121 field if needed. Initialize taskgroup field. If copy_ctors_done
17122 and already cancelled, don't discard the task. If taskgroup is
17123 non-NULL, enqueue the task into taskgroup queue. Increment
17124 num_children field in taskgroup. Increment task_queued_count.
17125 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17126 gomp_task_run_post_remove_taskgroup): New inline functions.
17127 (gomp_task_run_post_handle_depend_hash,
17128 gomp_task_run_post_handle_dependers,
17129 gomp_task_run_post_handle_depend): New functions.
17130 (GOMP_taskwait): Use them. If more than one new tasks
17131 have been queued, wake other threads if needed.
17132 (gomp_barrier_handle_tasks): Likewise. If
17133 gomp_team_barrier_cancelled, don't start any new tasks, just free
17134 all tasks.
17135 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17136 * omp_lib.f90.in
17137 (omp_proc_bind_kind, omp_proc_bind_false,
17138 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17139 omp_proc_bind_spread): New params.
17140 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17141 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17142 omp_get_team_num, omp_is_initial_device): New interfaces.
17143 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17144 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17145 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17146 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17147 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17148 useless use omp_lib_kinds.
17149 * omp.h.in (omp_proc_bind_t): New typedef.
17150 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17151 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17152 omp_get_team_num, omp_is_initial_device): New prototypes.
17153 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17154 through to gomp_team_start.
17155 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17156 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17157 Adjust gomp_parallel_loop_start callers.
17158 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17159 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17160 GOMP_loop_end_cancel): New functions.
17161 (GOMP_parallel_end): Add ialias_redirect.
17162 * hashtab.h: New file.
17163 * libgomp.texi (Environment Variables): Minor cleanup,
17164 update section refs to OpenMP 4.0rc2.
17165 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17166 environment variables.
17167 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17168 team->work_shares_to_free to thr->ts.work_share before calling
17169 free_work_share.
17170 (gomp_work_share_end_cancel): New function.
17171 * config/linux/proc.c: Include errno.h.
17172 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17173 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17174 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17175 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17176 gomp_cpuset_size is sizeof (cpu_set_t).
17177 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17178 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17179 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17180 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17181 contain any logical CPUs.
17182 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17183 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17184 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17185 pthread_getaffinity_np. Check gomp_places_list instead of
17186 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17187 * config/linux/bar.c (gomp_barrier_wait_end,
17188 gomp_barrier_wait_last): Use BAR_* defines.
17189 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17190 from state where needed. Set work_share_cancelled to 0 on last
17191 thread.
17192 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17193 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17194 functions.
17195 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17196 Add cpusetsize argument.
17197 (gomp_cpuset_size, gomp_cpusetp): Declare.
17198 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17199 (affinity_counter): Remove.
17200 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17201 if CPU_ALLOC_SIZE isn't defined.
17202 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17203 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17204 bind current thread to the first place.
17205 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17206 pthread_setaffinity_np to gomp_places_list[place].
17207 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17208 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17209 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17210 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17211 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17212 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17213 (gomp_barrier_t): Add awaited_final field.
17214 (gomp_barrier_init): Initialize awaited_final field.
17215 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17216 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17217 prototypes.
17218 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17219 defines.
17220 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17221 gomp_team_barrier_cancelled): New inline functions.
17222 (gomp_barrier_last_thread,
17223 gomp_team_barrier_set_task_pending,
17224 gomp_team_barrier_clear_task_pending,
17225 gomp_team_barrier_set_waiting_for_tasks,
17226 gomp_team_barrier_waiting_for_tasks,
17227 gomp_team_barrier_done): Use BAR_* defines.
17228 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17229 (gomp_barrier_wait_end): Use BAR_* defines.
17230 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17231 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17232 Use BAR_* defines.
17233 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17234 gomp_team_barrier_cancel): New functions.
17235 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17236 argument.
17237 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17238 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17239 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17240 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17241 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17242 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17243 (gomp_barrier_t): Add cancellable field.
17244 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17245 gomp_team_barrier_cancel): New prototypes.
17246 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17247 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17248 gomp_team_barrier_cancelled): New inline functions.
17249 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17250 gomp_team_barrier_set_task_pending,
17251 gomp_team_barrier_clear_task_pending,
17252 gomp_team_barrier_set_waiting_for_tasks,
17253 gomp_team_barrier_waiting_for_tasks,
17254 gomp_team_barrier_done): Use BAR_* defines.
17255 * barrier.c (GOMP_barrier_cancel): New function.
17256 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17257 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17258 omp_proc_bind_spread): New params.
17259 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17260 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17261 omp_get_team_num, omp_is_initial_device): New externals.
17262 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17263 New functions.
17264 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17265 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17266 infinity. If not nested, just return minimum of max_num_threads
17267 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17268 to the returned value. Otherwise, don't update atomically
17269 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17270 (GOMP_parallel_end): Adjust for thread_limit now being in
17271 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17272 infinity. Adjust threads_busy in the pool rather than
17273 gomp_remaining_threads_count. Remember team->nthreads and call
17274 gomp_team_end before adjusting threads_busy, if not nested
17275 afterwards, just set it to 1 non-atomically. Add ialias.
17276 (GOMP_parallel_start): Adjust gomp_team_start caller.
17277 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17278 * testsuite/libgomp.c/affinity-1.c: New test.
17279 * testsuite/libgomp.c/atomic-15.c: New test.
17280 * testsuite/libgomp.c/atomic-16.c: New test.
17281 * testsuite/libgomp.c/atomic-17.c: New test.
17282 * testsuite/libgomp.c/cancel-for-1.c: New test.
17283 * testsuite/libgomp.c/cancel-for-2.c: New test.
17284 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17285 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17286 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17287 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17288 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17289 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17290 * testsuite/libgomp.c/depend-1.c: New test.
17291 * testsuite/libgomp.c/depend-2.c: New test.
17292 * testsuite/libgomp.c/depend-3.c: New test.
17293 * testsuite/libgomp.c/depend-4.c: New test.
17294 * testsuite/libgomp.c/for-1.c: New test.
17295 * testsuite/libgomp.c/for-1.h: New file.
17296 * testsuite/libgomp.c/for-2.c: New test.
17297 * testsuite/libgomp.c/for-2.h: New file.
17298 * testsuite/libgomp.c/for-3.c: New test.
17299 * testsuite/libgomp.c/pr58392.c: New test.
17300 * testsuite/libgomp.c/simd-1.c: New test.
17301 * testsuite/libgomp.c/simd-2.c: New test.
17302 * testsuite/libgomp.c/simd-3.c: New test.
17303 * testsuite/libgomp.c/simd-4.c: New test.
17304 * testsuite/libgomp.c/simd-5.c: New test.
17305 * testsuite/libgomp.c/simd-6.c: New test.
17306 * testsuite/libgomp.c/target-1.c: New test.
17307 * testsuite/libgomp.c/target-2.c: New test.
17308 * testsuite/libgomp.c/target-3.c: New test.
17309 * testsuite/libgomp.c/target-4.c: New test.
17310 * testsuite/libgomp.c/target-5.c: New test.
17311 * testsuite/libgomp.c/target-6.c: New test.
17312 * testsuite/libgomp.c/target-7.c: New test.
17313 * testsuite/libgomp.c/taskgroup-1.c: New test.
17314 * testsuite/libgomp.c/thread-limit-1.c: New test.
17315 * testsuite/libgomp.c/thread-limit-2.c: New test.
17316 * testsuite/libgomp.c/thread-limit-3.c: New test.
17317 * testsuite/libgomp.c/udr-1.c: New test.
17318 * testsuite/libgomp.c/udr-2.c: New test.
17319 * testsuite/libgomp.c/udr-3.c: New test.
17320 * testsuite/libgomp.c++/affinity-1.C: New test.
17321 * testsuite/libgomp.c++/atomic-10.C: New test.
17322 * testsuite/libgomp.c++/atomic-11.C: New test.
17323 * testsuite/libgomp.c++/atomic-12.C: New test.
17324 * testsuite/libgomp.c++/atomic-13.C: New test.
17325 * testsuite/libgomp.c++/atomic-14.C: New test.
17326 * testsuite/libgomp.c++/atomic-15.C: New test.
17327 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17328 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17329 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17330 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17331 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17332 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17333 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17334 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17335 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17336 * testsuite/libgomp.c++/cancel-test.h: New file.
17337 * testsuite/libgomp.c++/for-9.C: New test.
17338 * testsuite/libgomp.c++/for-10.C: New test.
17339 * testsuite/libgomp.c++/for-11.C: New test.
17340 * testsuite/libgomp.c++/simd-1.C: New test.
17341 * testsuite/libgomp.c++/simd-2.C: New test.
17342 * testsuite/libgomp.c++/simd-3.C: New test.
17343 * testsuite/libgomp.c++/simd-4.C: New test.
17344 * testsuite/libgomp.c++/simd-5.C: New test.
17345 * testsuite/libgomp.c++/simd-6.C: New test.
17346 * testsuite/libgomp.c++/simd-7.C: New test.
17347 * testsuite/libgomp.c++/simd-8.C: New test.
17348 * testsuite/libgomp.c++/target-1.C: New test.
17349 * testsuite/libgomp.c++/target-2.C: New test.
17350 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17351 * testsuite/libgomp.c++/target-3.C: New test.
17352 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17353 * testsuite/libgomp.c++/udr-1.C: New test.
17354 * testsuite/libgomp.c++/udr-2.C: New test.
17355 * testsuite/libgomp.c++/udr-3.C: New test.
17356 * testsuite/libgomp.c++/udr-4.C: New test.
17357 * testsuite/libgomp.c++/udr-5.C: New test.
17358 * testsuite/libgomp.c++/udr-6.C: New test.
17359 * testsuite/libgomp.c++/udr-7.C: New test.
17360 * testsuite/libgomp.c++/udr-8.C: New test.
17361 * testsuite/libgomp.c++/udr-9.C: New test.
17362
bd599dea
JJ
173632013-09-20 Jakub Jelinek <jakub@redhat.com>
17364
17365 PR testsuite/57605
17366 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17367 ALWAYS_CFLAGS.
17368
3cbe17f7
AM
173692013-09-20 Alan Modra <amodra@gmail.com>
17370
17371 * configure: Regenerate.
17372
4befd127
JJ
173732013-09-19 Jakub Jelinek <jakub@redhat.com>
17374
17375 * testsuite/libgomp.c/sections-2.c: New test.
17376
946c8f7b
MS
173772013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17378
17379 * testsuite/libgomp.fortran/strassen.f90:
17380 Add dg-skip-if aarch64_tiny.
17381
1ef3b58e
IS
173822013-06-20 Iain Sandoe <iain@codesourcery.com>
17383 Cesar Philippidis <cesar@codesourcery.com>
17384
17385 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17386 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17387 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17388 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17389 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17390 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17391 Use dg-runtest rather than gfortran-dg-runtest.
17392
9275f73a
TS
173932013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17394
17395 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17396 Linux-based x86 systems to cover all GNU systems.
17397 * testsuite/libgomp.c/lock-3.c: Likewise.
17398 * testsuite/libgomp.c/pr48591.c: Likewise.
17399
492992e2
TS
174002013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17401
48df3acb
TS
17402 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17403 GNU/Hurd, as done for Linux-based systems.
17404
492992e2
TS
17405 * config/posix/ptrlock.h: Fix comment.
17406
4fed6b25
TB
174072013-05-27 Tobias Burnus <burnus@net-b.de>
17408
17409 PR fortran/57423
17410 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17411 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17412 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17413 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17414 omp_destroy_nest_lock): Correct arguments to match the one in
17415 the OpenMP spec.
17416 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17417 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17418 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17419 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17420
5a0f4dd3
JJ
174212013-05-16 Jakub Jelinek <jakub@redhat.com>
17422
17423 * testsuite/libgomp.c/loop-13.c: New test.
17424 * testsuite/libgomp.c/loop-14.c: New test.
17425 * testsuite/libgomp.c/loop-15.c: New test.
17426 * testsuite/libgomp.c++/loop-13.C: New test.
17427 * testsuite/libgomp.c++/loop-14.C: New test.
17428 * testsuite/libgomp.c++/loop-15.C: New test.
17429
6d840d99
JJ
174302013-02-06 Jakub Jelinek <jakub@redhat.com>
17431
17432 PR middle-end/56217
17433 * testsuite/libgomp.c++/pr56217.C: New test.
17434
bed8d8a6
AM
174352013-02-01 Alan Modra <amodra@gmail.com>
17436
17437 * task.c (GOMP_task, GOMP_taskwait): Comment.
17438
3b35cd04
DV
174392013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17440 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17441
17442 PR libgomp/55561
17443 * config/linux/wait.h (do_spin): Use atomic load for addr.
17444 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17445 for intptr and ptrlock.
17446 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17447 for ptrlock.
17448
9a647288
AM
174492013-01-22 Alan Modra <amodra@gmail.com>
17450
17451 PR libgomp/51376
17452 PR libgomp/56073
17453 * task.c (GOMP_task): Revert 2011-12-09 change.
17454 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17455 barrier to read task->children..
17456 (gomp_barrier_handle_tasks): ..and matching atomic store with
17457 release barrier here when setting parent->children to NULL.
17458
f34dea03
JJ
174592013-01-16 Jakub Jelinek <jakub@redhat.com>
17460 Tobias Burnus <burnus@net-b.de>
17461
17462 PR driver/55884
17463 * testsuite/libgomp.fortran/fortran.exp: Use
17464 -fintrinsic-modules-path= instead of
17465 -fintrinsic-modules-path.
17466
8129609c
RS
174672013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17468
17469 Update copyright years.
17470
aa86bf1e
TB
174712012-12-19 Tobias Burnus <burnus@net-b.de>
17472
17473 * testsuite/libgomp.fortran/fortran.exp: Set
17474 -fintrinsic-modules-path.
17475
2865ea66
TB
174762012-12-19 Tobias Burnus <burnus@net-b.de>
17477
17478 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17479 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17480
4c5ba8d0
JJ
174812012-11-21 Jakub Jelinek <jakub@redhat.com>
17482
17483 PR libgomp/55411
17484 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17485 if pool had any threads_used.
17486
e9f958c2
JH
174872012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17488
17489 * testsuite/libgomp.c++/pr24455.C: Use
17490 -Wl,-undefined,dynamic_lookup on darwin.
17491
a57d75dc
DE
174922012-11-07 David Edelsohn <dje.gcc@gmail.com>
17493
17494 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17495
c6c08485
DH
174962012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17497
17498 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17499
c1f37c00
IB
175002012-10-23 Ian Bolton <ian.bolton@arm.com>
17501 Jim MacArthur <jim.macarthur@arm.com>
17502 Marcus Shawcroft <marcus.shawcroft@arm.com>
17503 Nigel Stephens <nigel.stephens@arm.com>
17504 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17505 Richard Earnshaw <rearnsha@arm.com>
17506 Sofiane Naci <sofiane.naci@arm.com>
17507 Stephen Thomas <stephen.thomas@arm.com>
17508 Tejas Belagod <tejas.belagod@arm.com>
17509 Yufeng Zhang <yufeng.zhang@arm.com>
17510
17511 * configure.tgt: Add AArch64.
17512
7c424acd
JM
175132012-10-04 Jason Merrill <jason@redhat.com>
17514
17515 * testsuite/libgomp.c++/tls-init1.C: New.
17516
6608378b
DE
175172012-09-14 David Edelsohn <dje.gcc@gmail.com>
17518
17519 * configure: Regenerated.
17520
c24dbebb
CLT
175212012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17522
17523 * config/linux/mips/futex.h (sys_futex0): Change to static
17524 function with noinline, nomips16 attributes under MIPS16. Adjust
17525 asm statement to place 'li v0,SYS_futex' immediately before
17526 syscall insn.
17527
3d3949df
SL
175282012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17529
17530 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17531 conflict with index.html on case-insensitive file systems.
17532
68a12ef3
UB
175332012-07-03 Uros Bizjak <ubizjak@gmail.com>
17534
17535 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17536 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17537
33ad93b9 175382012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
17539 Michael Matz <matz@suse.de>
17540 Tobias Grosser <tobias@grosser.es>
17541 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
17542
17543 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17544 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17545 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17546 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17547
e6fdc918
AS
175482012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17549
17550 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17551
62e0a1ed
RG
175522012-06-22 Richard Guenther <rguenther@suse.de>
17553
17554 Merge from graphite branch
17555 2012-01-13 Tobias Grosser <tobias@grosser.es>
17556
17557 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17558 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17559
26127932
JJ
175602012-06-07 Jakub Jelinek <jakub@redhat.com>
17561
17562 PR middle-end/53580
17563 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17564 use GOMP_barrier () call instead.
17565 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17566 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17567 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17568 call GOMP_barrier instead.
17569 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17570
43fa5db5
JJ
175712012-06-06 Jakub Jelinek <jakub@redhat.com>
17572
17573 PR libgomp/52993
17574 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17575 argument to memset call.
17576
e6d5f8c9
L
175772012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17578
17579 * configure: Regenerated.
17580
559d990c
MLI
175812012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17582
17583 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17584
b9c23a61
L
175852012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17586
17587 PR bootstrap/52812
17588 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17589
c140ddf3
JJ
175902012-03-22 Jakub Jelinek <jakub@redhat.com>
17591
17592 PR middle-end/52547
17593 * testsuite/libgomp.c/pr52547.c: New test.
17594
6a26a74d
BRF
175952012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17596
17597 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17598
b24513a1
RO
175992012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17600
17601 * configure.tgt (mips-sgi-irix6*): Remove.
17602
5c30094f
RO
176032012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17604
17605 * configure.tgt (alpha*-dec-osf*): Remove.
17606
17607 * config/osf/sem.h: Remove.
17608 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17609
a339c9d6
EB
176102012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17611
17612 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17613
cc2de92d
RO
176142012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17615
17616 PR libstdc++/52188
17617 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17618 Remove ENABLE_SYMVERS_SOL2.
17619 * configure: Regenerate.
17620 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17621 (PREPROCESS): New variable.
17622 (libgomp.ver): New target.
17623 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17624 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17625 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17626 Use libgomp.ver.
17627 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17628 * Makefile.in: Regenerate.
17629
dd552284
WL
176302012-02-14 Walter Lee <walt@tilera.com>
17631
17632 * configure.tgt: Handle tilegx and tilepro.
17633 * config/linux/tile/futex.h: New file.
17634
31432e21
RG
176352012-02-08 Richard Guenther <rguenther@suse.de>
17636
17637 PR tree-optimization/46886
17638 * testsuite/libgomp.c/pr46886.c: New testcase.
17639
b9264b5f
MK
176402012-01-25 Matthias Klose <doko@ubuntu.com>
17641
17642 * config/linux/arm: Remove empty directory.
17643 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17644
fbf7be80
AM
176452011-12-09 Alan Modra <amodra@gmail.com>
17646
17647 PR libgomp/51376
17648 * task.c (GOMP_taskwait): Don't access task->children outside of
17649 task_lock mutex region.
17650 (GOMP_task): Likewise.
17651
5de62d00
JJ
176522011-12-06 Jakub Jelinek <jakub@redhat.com>
17653
17654 PR libgomp/51132
17655 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17656 to file scope.
17657 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17658 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17659 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17660 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17661 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17662
45608a43
AM
176632011-12-02 Alan Modra <amodra@gmail.com>
17664
17665 * config/linux/affinity.c: Use atomic rather than sync builtin.
17666 * config/linux/lock.c: Likewise.
17667 * config/linux/ptrlock.h: Likewise.
17668 * config/linux/ptrlock.c: Likewise.
17669 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17670 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17671 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17672 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17673 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17674 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17675 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17676 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17677 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17678 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17679
ab6dd406
AM
176802011-11-30 Alan Modra <amodra@gmail.com>
17681
17682 PR libgomp/51298
17683 * config/linux/bar.h: Use atomic rather than sync builtins.
17684 * config/linux/bar.c: Likewise. Add missing acquire
17685 synchronisation on generation field.
17686 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17687 double unlock.
17688
b40c885f
AM
176892011-11-30 Alan Modra <amodra@gmail.com>
17690
17691 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17692 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17693 * config/linux/mutex.h: Use atomic rather than sync builtins.
17694 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
17695 * config/linux/omp-lock.h: Comment fix.
17696 * config/linux/arm/mutex.h: Delete.
17697 * config/linux/powerpc/mutex.h: Delete.
17698 * config/linux/ia64/mutex.h: Delete.
17699 * config/linux/mips/mutex.h: Delete.
17700
3e348fcc
AM
177012011-11-30 Alan Modra <amodra@gmail.com>
17702
17703 PR libgomp/51249
17704 * config/linux/sem.h: Rewrite.
17705 * config/linux/sem.c: Rewrite.
17706
cef86eb2
RH
177072011-11-28 Richard Henderson <rth@redhat.com>
17708
17709 * libgomp.h (enum memmodel): New.
17710
c6084f68
AT
177112011-11-21 Andreas Tobler <andreast@fgznet.ch>
17712
17713 * configure: Regenerate.
17714
06fe026c
MK
177152011-10-10 Matthias Klose <doko@ubuntu.com>
17716
17717 * config/posix95: Remove empty directory.
17718
a6c975bd
JJ
177192011-08-26 Jakub Jelinek <jakub@redhat.com>
17720
17721 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17722
c26dffff
JJ
177232011-08-19 Jakub Jelinek <jakub@redhat.com>
17724
17725 PR fortran/49792
17726 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17727 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17728
ddaad3c8
RO
177292011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17730
17731 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17732
98d03683
RO
177332011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17734
17735 PR libgomp/49965
17736 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17737
e0b23d9f
UB
177382011-08-03 Uros Bizjak <ubizjak@gmail.com>
17739
17740 * config/linux/proc.h: New.
17741 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
17742 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
17743 (gomp_init_num_threads): Update call to cpuset_popcount.
17744 (get_num_procs): Ditto.
17745 * config/linux/affinity.c (gomp_init_affinity): Call
17746 gomp_cpuset_popcount.
17747
20906c66
JJ
177482011-08-02 Jakub Jelinek <jakub@redhat.com>
17749
17750 PR fortran/42041
17751 PR fortran/46752
17752 * omp.h.in (omp_in_final): New prototype.
17753 * omp_lib.f90.in (omp_in_final): New interface.
17754 (omp_integer_kind, omp_logical_kind): Remove
17755 and replace all its uses in the module with 4.
17756 (openmp_version): Change to 201107.
17757 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17758 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17759 kind for the parameters.
17760 (omp_in_final): New external.
17761 (openmp_version): Change to 201107.
17762 * task.c (omp_in_final): New function.
17763 (gomp_init_task): Initialize final_task.
17764 (GOMP_task): Remove unused attribute from flags. Handle final
17765 tasks.
17766 (GOMP_taskyield): New function.
17767 (omp_in_final): Return true if if (false) or final (true) task
17768 or descendant of final (true).
17769 * fortran.c (omp_in_final_): New function.
17770 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17771 (GOMP_3.0): Export GOMP_taskyield.
17772 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17773 variables.
17774 (parse_unsigned_long_list): New function.
17775 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
17776 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
17777 even if parse_affinity returned false.
17778 * config/linux/affinity.c (gomp_init_affinity): Handle
17779 gomp_cpu_affinity_len == 0.
17780 * libgomp_g.h (GOMP_taskyield): New prototype.
17781 * libgomp.h (struct gomp_task): Add final_task field.
17782 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17783 * team.c (gomp_team_start): Override new task's nthreads_var icv
17784 if list form OMP_NUM_THREADS has been used and it has value for
17785 the new nesting level.
17786
17787 * testsuite/libgomp.c/atomic-11.c: New test.
17788 * testsuite/libgomp.c/atomic-12.c: New test.
17789 * testsuite/libgomp.c/atomic-13.c: New test.
17790 * testsuite/libgomp.c/atomic-14.c: New test.
17791 * testsuite/libgomp.c/reduction-6.c: New test.
17792 * testsuite/libgomp.c/task-5.c: New test.
17793 * testsuite/libgomp.c++/atomic-2.C: New test.
17794 * testsuite/libgomp.c++/atomic-3.C: New test.
17795 * testsuite/libgomp.c++/atomic-4.C: New test.
17796 * testsuite/libgomp.c++/atomic-5.C: New test.
17797 * testsuite/libgomp.c++/atomic-6.C: New test.
17798 * testsuite/libgomp.c++/atomic-7.C: New test.
17799 * testsuite/libgomp.c++/atomic-8.C: New test.
17800 * testsuite/libgomp.c++/atomic-9.C: New test.
17801 * testsuite/libgomp.c++/task-8.C: New test.
17802 * testsuite/libgomp.c++/reduction-4.C: New test.
17803 * testsuite/libgomp.fortran/allocatable7.f90: New test.
17804 * testsuite/libgomp.fortran/allocatable8.f90: New test.
17805 * testsuite/libgomp.fortran/crayptr3.f90: New test.
17806 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17807 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17808 * testsuite/libgomp.fortran/pointer1.f90: New test.
17809 * testsuite/libgomp.fortran/pointer2.f90: New test.
17810 * testsuite/libgomp.fortran/task4.f90: New test.
17811
178122011-08-02 Tobias Burnus <burnus@net-b.de>
17813
17814 * libgomp.texi: Update OpenMP spec references to 3.1.
17815 (omp_in_final,OMP_PROC_BIND): New sections.
17816 (OMP_NUM_THREADS): Document that the value can be now a list.
17817 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
17818
c01ecafc
L
178192011-08-02 H.J. Lu <hongjiu.lu@intel.com>
17820
17821 * config/linux/x86/futex.h: Check __x86_64__ instead of
17822 __LP64__.
17823
25142650
JJ
178242011-07-29 Jakub Jelinek <jakub@redhat.com>
17825
17826 PR middle-end/49897
17827 PR middle-end/49898
17828 * testsuite/libgomp.c/pr49897-1.c: New test.
17829 * testsuite/libgomp.c/pr49897-2.c: New test.
17830 * testsuite/libgomp.c/pr49898-1.c: New test.
17831 * testsuite/libgomp.c/pr49898-2.c: New test.
17832
f53d712f
L
178332011-07-28 H.J. Lu <hongjiu.lu@intel.com>
17834
17835 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
17836 for ia32 instead of ilp32.
17837
17838 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
17839 * testsuite/libgomp.c/atomic-6.c: Likewise.
17840
3689198d
SP
178412011-07-23 Sebastian Pop <sebastian.pop@amd.com>
17842
17843 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
17844 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
17845
1a79cb73
RO
178462011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17847
17848 PR libgomp/45351
17849 * config/osf/sem.h: New file.
17850 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
17851
c1f51484
RO
178522011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17853
17854 PR target/49541
17855 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
17856 ldflags.
17857
bfee0724
JJ
178582011-07-15 Jakub Jelinek <jakub@redhat.com>
17859
17860 * config/linux/wait.h (do_spin): New inline, largely copied
17861 from do_wait, just don't do futex_wait here, instead return true if
17862 it should be done.
17863 (do_wait): Implement using do_spin.
17864 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
17865 to prototype.
17866 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17867 __sync_bool_compare_and_swap, pass the oldval to
17868 gomp_mutex_lock_slow.
17869 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
17870 If all mutex contenders are just spinning and not sleeping, don't
17871 change state to 2 unnecessarily. Optimize the loop when state has
17872 already become 2 to use just one atomic operation per loop instead
17873 of two.
17874 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
17875 to prototype.
17876 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17877 __sync_bool_compare_and_swap, pass the oldval to
17878 gomp_mutex_lock_slow.
17879
fb79f500
JJ
178802011-06-22 Jakub Jelinek <jakub@redhat.com>
17881
17882 PR libgomp/49490
17883 * iter.c (gomp_iter_static_next): For chunk size 0
17884 only use n ceil/ nthreads size for the first
17885 n % nthreads threads in the team instead of
17886 all threads except for the last few ones which
17887 get less work or none at all.
17888 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
17889 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
17890 chunk argument, set run_sched_modifier to 0 for static
17891 resp. 1 for other kinds. If chunk argument is 0
17892 and not static, set value to 1.
17893
4577f730
JJ
178942011-05-19 Jakub Jelinek <jakub@redhat.com>
17895
ea93a47b
JJ
17896 PR c++/49043
17897 * testsuite/libgomp.c++/pr49043.C: New test.
17898
4577f730
JJ
17899 PR c++/48869
17900 * testsuite/libgomp.c++/pr48869.C: New test.
17901
e7385332
JJ
179022011-05-06 Jakub Jelinek <jakub@redhat.com>
17903
17904 PR fortran/48894
17905 * fortran.c: Include limits.h.
17906 (TO_INT): Define.
17907 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
17908 *set.
17909 (omp_set_num_threads_8_, omp_set_schedule_8_,
17910 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
17911 omp_get_team_size_8_): Use TO_INT macro.
17912 * testsuite/libgomp.fortran/pr48894.f90: New test.
17913
20790697
JJ
179142011-04-13 Jakub Jelinek <jakub@redhat.com>
17915
17916 PR middle-end/48591
17917 * testsuite/libgomp.c/pr48591.c: New test.
17918
bf382f5f
RO
179192011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17920
17921 PR bootstrap/48135
17922 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
17923 * configure: Regenerate.
17924
113a53c1
JJ
179252011-02-27 Jakub Jelinek <jakub@redhat.com>
17926
17927 PR fortran/47886
17928 * testsuite/libgomp.fortran/task3.f90: New test.
17929
0024f1af
TB
179302011-02-24 Tobias Burnus <burnus@net-b.de>
17931
17932 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
17933
21e1e594
JJ
179342011-02-23 Jakub Jelinek <jakub@redhat.com>
17935
17936 PR libgomp/47854
17937 * libgomp.texi (omp_get_wtime): Don't say time in the past
17938 must be Unix Epoch.
17939
67962076
JJ
179402011-02-18 Jakub Jelinek <jakub@redhat.com>
17941
17942 PR libgomp/47804
17943 * testsuite/libgomp.fortran/fortran.exp: Check for both
17944 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
17945 but $blddir != "", still append ${blddir}/${lang_library_path}
17946 to ld_library_path.
17947
3808007c
TB
179482011-02-16 Tobias Burnus <burnus@net-b.de>
17949
17950 PR libgomp/47758
17951 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
17952 of libquadmath.a before adding its libpath to ldflags.
17953
53b4d41d
JJ
179542011-02-14 Jakub Jelinek <jakub@redhat.com>
17955
17956 PR libgomp/47731
17957 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
17958 to FUTEX_WAIT futex syscall.
17959 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
17960
029c8f3e
RW
179612011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17962
17963 * configure: Regenerate.
17964
bddd6626
BK
179652011-01-20 Benjamin Kosnik <bkoz@redhat.com>
17966
17967 PR libstdc++/36104
17968 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
17969
f1d4ab26
GP
179702011-01-16 Gerald Pfeifer
17971
17972 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
17973
2b503136
JJ
179742010-12-14 Jakub Jelinek <jakub@redhat.com>
17975
17976 PR fortran/46874
17977 * libgomp.fortran/allocatable6.f90: New test.
17978
c0f9d583
RO
179792010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17980
17981 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
17982 * configure: Regenerate.
17983
7de6ba7a
DK
179842010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
17985
17986 PR target/40125
17987 PR lto/46695
17988 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
17989 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
17990 * aclocal.m4: Regenerate.
17991 * configure: Regenerate.
17992 * Makefile.in: Regenerate.
17993 * testsuite/Makefile.in: Regenerate.
17994
b7516041
JJ
179952010-12-02 Jakub Jelinek <jakub@redhat.com>
17996
edaadf74
JJ
17997 PR fortran/46753
17998 * libgomp.fortran/pr46753.f90: New test.
17999
4c698cf8
JJ
18000 PR libgomp/43706
18001 * env.c (initialize_env): Default to spin count 300000
18002 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18003 is specified.
18004
b7516041
JJ
18005 PR libgomp/45240
18006 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18007 at the end if sync builtins aren't supported.
18008
6b43a34c
RO
180092010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18010
18011 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18012
950691fa
RO
180132010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18014
18015 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18016
fb9041ea
IS
180172010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18018
18019 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18020
1ec601bf
FXC
180212010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18022 Tobias Burnus <burnus@net-b.de>
18023
18024 PR fortran/32049
3e348fcc 18025 * configure.ac:
1ec601bf
FXC
18026 * configure: Regenerate.
18027
d213e92e
MS
180282010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18029
18030 * config/linux/futex.h: New.
18031 * config/linux/arm/mutex.h: New.
18032 * configure.tgt (arm*-*-linux*): Add config path.
18033
89d5c66f
SP
180342010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18035
18036 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18037
87350d4a
TB
180382010-09-23 Tobias Burnus <burnus@net-b.de>
18039
18040 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18041 Change Fortran datatype to LOGICAL.
18042 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18043 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18044
75bc9e5e
RW
180452010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18046
18047 * configure: Regenerate.
18048
acb5c916
JJ
180492010-07-26 Jakub Jelinek <jakub@redhat.com>
18050
18051 * libgomp.texi: Add function keyword to a couple of Fortran
18052 interfaces, use integer instead of int for Fortran.
18053
6a2ba183
AH
180542010-07-26 Aldy Hernandez <aldyh@redhat.com>
18055
18056 * libgomp.texi: Fix spelling and pasto problems throughout.
18057 Adjust prototypes to match code.
18058
df161b69
TB
180592010-07-24 Tobias Burnus <burnus@net-b.de>
18060
18061 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18062 silence -fwhole-file warning.
18063
16c9d3b1
RO
180642010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18065
18066 * configure.tgt (*-*-solaris2.[56]*): Removed.
18067
6d28b933
RO
180682010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18069
18070 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18071 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18072 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18073 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18074 targetting solaris2*.
18075 * configure: Regenerate.
18076 * config.h.in: Regenerate.
18077
18078 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18079 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18080 Add libgomp_version_dep.
18081 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18082 versioning.
18083 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18084 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18085 * Makefile.in: Regenerate.
18086
18087 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18088 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18089 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18090 to common block, protected by
18091 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18092
07a67d6a
GP
180932010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18094
18095 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18096
dbd34b89
IS
180972010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18098
18099 PR bootstrap/43170
18100 * configure: Regenerate.
18101
13917ae3
RW
181022010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18103
18104 PR other/43620
18105 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18106 * configure: Regenerate.
18107 * Makefile.in: Regenerate.
18108 * testsuite/Makefile.in: Regenerate.
18109
b83a701b
JJ
181102010-04-26 Jakub Jelinek <jakub@redhat.com>
18111
18112 PR c/43893
18113 * testsuite/libgomp.c/pr43893.c: New test.
18114 * testsuite/libgomp.c++/pr43893.C: New test.
18115
78db7d92
JJ
181162010-04-21 Jakub Jelinek <jakub@redhat.com>
18117
18118 PR middle-end/43570
18119 * testsuite/libgomp.fortran/vla8.f90: New test.
18120
5221d7a9
JJ
181212010-04-20 Jakub Jelinek <jakub@redhat.com>
18122
e4ba7a60
JJ
18123 PR libgomp/43706
18124 * config/linux/affinity.c (gomp_init_affinity): Decrease
18125 gomp_available_cpus if affinity mask confines the process to fewer
18126 CPUs.
18127 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18128 non-NULL, just return gomp_available_cpus.
18129
5221d7a9
JJ
18130 PR libgomp/43569
18131 * sections.c (gomp_sections_init): Initialize ws->mode.
18132
289a9f86
UB
181332010-04-14 Uros Bizjak <ubizjak@gmail.com>
18134
18135 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18136 not unused bar variable.
18137 * configure: Regenerate.
18138
4d9e8446
RW
181392010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18140
18141 * Makefile.in: Regenerate.
18142 * aclocal.m4: Regenerate.
18143 * testsuite/Makefile.in: Regenerate.
18144
80f046cc
JJ
181452010-03-22 Jakub Jelinek <jakub@redhat.com>
18146
18147 PR libgomp/42942
18148 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18149 (initialize_env): Adjust callers.
18150 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18151 when the argument is 0.
18152
18153 * testsuite/libgomp.c/pr42942.c: New test.
18154
b58543c3
SP
181552010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18156
18157 PR middle-end/42644
18158 PR middle-end/42130
18159 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18160 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18161
41d1138f
RO
181622010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18163
18164 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18165 * testsuite/libgomp.c++/task-6.C: Likewise.
18166
6684eb28
SE
181672010-01-28 Steve Ellcey <sje@cup.hp.com>
18168
18169 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18170
2122aa97
PB
181712010-01-26 Paolo Bonzini <bonzini@gnu.org>
18172
18173 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18174 * configure: Regenerate.
18175
057dd91d
JJ
181762010-01-26 Jakub Jelinek <jakub@redhat.com>
18177
18178 PR fortran/42866
18179 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18180
d0709b6a
PB
181812010-01-20 Paolo Bonzini <bonzini@gnu.org>
18182
18183 * configure.ac: Test for executability of GFORTRAN.
18184 * configure: Regenerate.
18185
b9497ab5
RO
181862010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18187
18188 * configure: Regenerate.
18189
45de5648
L
181902010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18191
18192 PR libgomp/42602
18193 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18194
e74003a1
RG
181952010-01-03 Richard Guenther <rguenther@suse.de>
18196
18197 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18198
1b3abda8
SP
181992009-12-23 Sebastian Pop <sebpop@gmail.com>
18200
18201 * testsuite/libgomp.graphite/pr4118.c: New.
18202
e19977d3
IS
182032009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18204
18205 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18206 for darwin, protect the test with require-effective-target tls_runtime.
18207 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18208
1d32a772
IS
182092009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18210
18211 PR target/41605
18212 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18213 link spec %s substitutions for static libraries.
18214
deb109b2
JH
182152009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18216
18217 PR testsuite/42135
18218 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18219
43e02a8a
RW
182202009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18221
18222 * Makefile.in: Regenerate.
18223 * configure: Regenerate.
18224 * testsuite/Makefile.in: Regenerate.
18225
17f35e23
DK
182262009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18227
18228 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18229 settings for LC_ALL and LANG.
18230
281e33e1
JJ
182312009-11-25 Jakub Jelinek <jakub@redhat.com>
18232
18233 PR fortran/42162
18234 * testsuite/libgomp.fortran/pr42162.f90: New test.
18235
2b32c27d
JJ
182362009-11-13 Jakub Jelinek <jakub@redhat.com>
18237
18238 PR middle-end/42029
281e33e1 18239 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 18240
89c74f4a
JJ
182412009-10-26 Jakub Jelinek <jakub@redhat.com>
18242
18243 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18244 *s. Accept ld version without text in ()s.
18245 * configure: Regenerated.
18246
7e06c3d6
EB
182472009-10-22 Razya Ladelsky <razya@il.ibm.com>
18248
18249 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18250
0046b1a7
RW
182512009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18252
18253 PR libgomp/41418
18254 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18255 or a hyphen (happens with fortran language disabled).
18256 * configure: Regenerate.
18257
c82852f7
RW
182582009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18259
18260 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18261 use sed script portable to Solaris /bin/sed for extracting ld
18262 version.
18263 * configure: Regenerate.
18264
98f3eb1f
AM
182652009-09-17 Alexander Monakov <amonakov@ispras.ru>
18266
18267 * testsuite/libgomp.graphite/bounds.c: New test.
18268
878f62e5
RW
182692009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18270
18271 * Makefile.am (libgomp_la_LINK): New.
18272 * Makefile.in: Regenerate.
18273
df58e648
RW
182742009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18275
18276 * configure.ac (AC_PREREQ): Bump to 2.64.
18277
5213506e
RW
182782009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18279
70fa0efa
RW
18280 * Makefile.am (install-html, install-pdf): Remove.
18281 * Makefile.in: Regenerate.
18282
5213506e
RW
18283 * Makefile.in: Regenerate.
18284 * aclocal.m4: Regenerate.
18285 * config.h.in: Regenerate.
18286 * configure: Regenerate.
18287 * testsuite/Makefile.in: Regenerate.
18288
84fec8a5
RW
182892009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18290
18291 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18292 * Makefile.in: Regenerate.
18293
197c68cc
DK
182942009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18295
18296 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18297 * Makefile.in: Regenerate.
18298
693d54f2
TB
182992009-08-19 Tobias Burnus <burnus@net-b.de>
18300
18301 PR fortran/41102
18302 omp_lib.h.in: Fix -std=f95 errors.
18303
8cac884c
DE
183042009-08-14 David Edelsohn <edelsohn@gnu.org>
18305
18306 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18307 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18308 * testsuite/libgomp.graphite/graphite.exp: New.
18309
78729ee2
AT
183102009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18311
18312 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18313 only build.
18314
b13b7f39
DD
183152009-08-04 David Daney <ddaney@caviumnetworks.com>
18316
18317 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18318 needed memory barrier semantics.
18319 * config/linux/mips/mutex.h: New file.
18320
1b3b24c2
RW
183212009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18322
18323 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18324
396b7fa4
JM
183252009-07-16 Joseph Myers <joseph@codesourcery.com>
18326
18327 * configure: Regenerate.
18328
33cde516
RS
183292009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18330
18331 PR testsuite/40699
18332 PR testsuite/40707
18333 PR testsuite/40709
18334 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18335 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18336 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18337
bc21bfa5
RS
183382009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18339
18340 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18341 options when choosing a multilib.
18342
b30bfd40
RS
183432009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18344
18345 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18346 ld_library_path. Use add_path. Add just find_libgcc_s to
18347 ld_library_path, not every libgcc multilib directory.
18348 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18349 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18350 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18351 Use add_path.
18352 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18353
479c15c2
NF
183542009-06-09 Nathan Froyd <froydnj@codesourcery.com>
18355
18356 * Makefile.am (LTLDFLAGS): Define.
18357 (LINK): Define.
18358 * Makefile.in: Regenerate.
18359
667e6f89
JB
183602009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
18361
18362 PR fortran/39718
18363 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18364 libgfortranbegin, check existence of libgfortran.a instead of
18365 libgfortranbegin.a.
18366
6dea8e99
JJ
183672009-05-20 Jakub Jelinek <jakub@redhat.com>
18368
18369 PR libgomp/40174
18370 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18371 (gomp_free_pool_helper): Likewise.
18372
34d01e1d
VL
183732009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18374 Jakub Jelinek <jakub@redhat.com>
18375
18376 PR fortran/35423
18377 * testsuite/libgomp.fortran/workshare2.f90: New test.
18378
748086b7
JJ
183792009-04-09 Nick Clifton <nickc@redhat.com>
18380
18381 * iter.c: Change copyright header to refer to version 3 of the
18382 GNU General Public License with version 3.1 of the GCC Runtime
18383 Library Exception and to point readers at the COPYING3 and
18384 COPYING3.RUNTIME files and the FSF's license web page.
18385 * alloc.c: Likewise.
18386 * barrier.c: Likewise.
18387 * config/bsd/proc.c: Likewise.
18388 * config/linux/affinity.c: Likewise.
18389 * config/linux/alpha/futex.h: Likewise.
18390 * config/linux/bar.c: Likewise.
18391 * config/linux/bar.h: Likewise.
18392 * config/linux/ia64/futex.h: Likewise.
18393 * config/linux/ia64/mutex.h: Likewise.
18394 * config/linux/lock.c: Likewise.
18395 * config/linux/mips/futex.h: Likewise.
18396 * config/linux/mutex.c: Likewise.
18397 * config/linux/mutex.h: Likewise.
18398 * config/linux/powerpc/futex.h: Likewise.
18399 * config/linux/proc.c: Likewise.
18400 * config/linux/ptrlock.c: Likewise.
18401 * config/linux/ptrlock.h: Likewise.
18402 * config/linux/s390/futex.h: Likewise.
18403 * config/linux/sem.c: Likewise.
18404 * config/linux/sem.h: Likewise.
18405 * config/linux/sparc/futex.h: Likewise.
18406 * config/linux/wait.h: Likewise.
18407 * config/linux/x86/futex.h: Likewise.
18408 * config/mingw32/proc.c: Likewise.
18409 * config/mingw32/time.c: Likewise.
18410 * config/posix/affinity.c: Likewise.
18411 * config/posix/bar.c: Likewise.
18412 * config/posix/bar.h: Likewise.
18413 * config/posix/lock.c: Likewise.
18414 * config/posix/mutex.h: Likewise.
18415 * config/posix/proc.c: Likewise.
18416 * config/posix/ptrlock.h: Likewise.
18417 * config/posix/sem.c: Likewise.
18418 * config/posix/sem.h: Likewise.
18419 * config/posix/time.c: Likewise.
18420 * config/posix95/lock.c: Likewise.
18421 * critical.c: Likewise.
18422 * env.c: Likewise.
18423 * error.c: Likewise.
18424 * fortran.c: Likewise.
18425 * iter_ull.c: Likewise.
18426 * libgomp.h: Likewise.
18427 * libgomp_f.h.in: Likewise.
18428 * libgomp_g.h: Likewise.
18429 * loop.c: Likewise.
18430 * loop_ull.c: Likewise.
18431 * omp.h.in: Likewise.
18432 * omp_lib.f90.in: Likewise.
18433 * omp_lib.h.in: Likewise.
18434 * ordered.c: Likewise.
18435 * parallel.c: Likewise.
18436 * sections.c: Likewise.
18437 * single.c: Likewise.
18438 * task.c: Likewise.
18439 * team.c: Likewise.
18440 * work.c: Likewise.
18441
184422009-04-09 Jakub Jelinek <jakub@redhat.com>
18443
18444 * testsuite/config/default.exp: Change copyright header to refer to
18445 version 3 of the GNU General Public License and to point readers
18446 at the COPYING3 file and the FSF's license web page.
18447
4f0ae266
JJ
184482009-04-08 Jakub Jelinek <jakub@redhat.com>
18449
18450 PR middle-end/39573
18451 * libgomp.c++/pr39573.C: New test.
18452
03742a9b
JJ
184532009-04-01 Jakub Jelinek <jakub@redhat.com>
18454
18455 PR other/39591
18456 * testsuite/libgomp.c/pr39591-1.c: New test.
18457 * testsuite/libgomp.c/pr39591-2.c: New test.
18458 * testsuite/libgomp.c/pr39591-3.c: New test.
18459
e50ea10b
UB
184602009-03-25 Uros Bizjak <ubizjak@gmail.com>
18461
18462 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18463 * testsuite/libgomp.c/atomic-6.c: Ditto.
18464
c5cdb03f
JJ
184652009-03-23 Jakub Jelinek <jakub@redhat.com>
18466
18467 PR c/39495
18468 * testsuite/libgomp.c/loop-12.c: New test.
18469 * testsuite/libgomp.c/loop-11.c: New test.
18470 * testsuite/libgomp.c++/loop-11.C: New test.
18471 * testsuite/libgomp.c++/loop-12.C: New test.
18472 * testsuite/libgomp.c++/for-8.C: New test.
18473
7a9d3fe8
RW
184742009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18475
18476 * configure: Regenerate.
18477
3ad6b266
JJ
184782009-02-11 Jakub Jelinek <jakub@redhat.com>
18479
18480 PR middle-end/39154
18481 * testsuite/libgomp.c/pr39154.c: New test.
18482
b39dea08
ILT
184832009-01-30 Ian Lance Taylor <iant@google.com>
18484
18485 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18486 libgomp_ld_is_gold. Get gold version number.
18487 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18488 * configure: Rebuild.
18489
72c66596
IS
184902009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18491
e50ea10b 18492 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
18493 use libgfortran.a%s in their specs.
18494
876080ff
JJ
184952009-01-07 Jakub Jelinek <jakub@redhat.com>
18496
18497 PR libgomp/38086
18498 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18499 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18500 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18501 * configure: Regenerated.
18502 * config.h.in: Likewise.
18503
e4ebaef3
JJ
185042008-12-28 Jakub Jelinek <jakub@redhat.com>
18505
18506 PR c++/38650
18507 * testsuite/libgomp.c/pr38650.c: New test.
18508 * testsuite/libgomp.c++/pr38650.C: New test.
18509
382017a6
JJ
185102008-12-27 Jakub Jelinek <jakub@redhat.com>
18511
18512 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18513
79644b27
UB
185142008-12-26 Uros Bizjak <ubizjak@gmail.com>
18515
18516 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18517
baafc534
RW
185182008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18519
18520 * configure: Regenerate.
18521
d9c194cb
JJ
185222008-12-08 Jakub Jelinek <jakub@redhat.com>
18523
18524 PR middle-end/36802
18525 * testsuite/libgomp.c/pr36802-1.c: New test.
18526 * testsuite/libgomp.c/pr36802-2.c: New test.
18527 * testsuite/libgomp.c/pr36802-3.c: New test.
18528
86a182bf
JJ
185292008-12-01 Janis Johnson <janis187@us.ibm.com>
18530
18531 PR libgomp/38270
18532 * config/linux/powerpc/mutex.h: New.
18533
956adfaf
JJ
185342008-12-01 Jakub Jelinek <jakub@redhat.com>
18535
a2d4cdc9
JJ
18536 PR c++/38257
18537 * testsuite/libgomp.c++/for-7.C: New test.
18538
956adfaf
JJ
18539 PR c++/38348
18540 * testsuite/libgomp.c++/for-6.C: New test.
18541
d4038ca2
JJ
185422008-11-26 Janis Johnson <janis187@us.ibm.com>
18543
18544 PR testsuite/28870
18545 * testsuite/lib/libgomp.exp: Include new timeout library files.
18546 (libgomp_target_compile): Set timeout value from new proc.
18547
8b159eea
SE
185482008-11-13 Steve Ellcey <sje@cup.hp.com>
18549
18550 PR libgomp/37938
18551 * config/linux/ia64/mutex.h: New.
18552
5c6ed53a
TB
185532008-11-04 Tobias Burnus <burnus@net-b.de>
18554
18555 PR libgomp/37935
18556 * libgomp.texi (Runtime library routines, environment variables):
18557 Update for OpenMP version 3.0.
18558
6b4a97ed
PG
185592008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18560 Steve Ellcey <sje@cup.hp.com>
18561
18562 * configure: Regenerate for new libtool.
18563 * Makefile.in: Ditto.
18564 * testsuite/Makefile.in: Ditto.
18565
e2b34106
JJ
185662008-09-19 Jakub Jelinek <jakub@redhat.com>
18567 Andreas Tobler <a.tobler@schweiz.org>
18568
18569 * config/bsd/proc.c: New file.
8c3b3600 18570 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
18571 * configure.ac: Check for header <sys/sysctl.h>
18572 * configure: Regenerate.
18573 * config.h.in: Likewise.
18574
3606b8bf
JJ
185752008-09-05 Janis Johnson <janis187@us.ibm.com>
18576
18577 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18578
6528b88d
AL
185792008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18580
18581 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18582 * Makefile.in: Regenerated.
18583 * testsuite/Makefile.in: Regenerated.
18584
d9b14b12 185852008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 18586
a16b68bb 18587 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
18588 depend on blddir if blddir exists.
18589 (libgomp_target_compile): Likewise.
18590 * testsuite/libgomp.c++/c++.exp: Likewise.
18591 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18592
70b1e376
RW
185932008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18594
18595 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18596 Do not list GPL as Invariant Section.
18597
318e8c3f
IG
185982008-07-28 Ilie Garbacea <ilie@mips.com>
18599 Chao-ying Fu <fu@mips.com>
18600
18601 * configure.tgt: Enable futex for MIPS.
18602 * config/linux/mips/futex.h: New file.
18603
4db72361
JJ
186042008-07-16 Jakub Jelinek <jakub@redhat.com>
18605
18606 * team.c (gomp_team_end): Free team immediately if it has
18607 just one thread.
18608
87bd23b8
DE
186092008-07-08 David Edelsohn <edelsohn@gnu.org>
18610
18611 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18612 * testsuite/libgomp.fortran/fortran.exp: Same.
18613 * testsuite/libgomp.c/c.exp: Same.
18614 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18615 directory to library path first.
18616
323ff903
KW
186172008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18618
18619 * env.c (parse_stacksize): Add cast to avoid warning.
18620 (parse_spincount): Likewise.
18621
b357f682
JJ
186222008-06-27 Jakub Jelinek <jakub@redhat.com>
18623
ca2b1311
JJ
18624 * testsuite/libgomp.c/loop-10.c: New test.
18625 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18626 * libgomp.c++/loop-6.C (main): Likewise.
18627
b357f682
JJ
18628 PR debug/36617
18629 * testsuite/libgomp.c/debug-1.c: New test.
18630
09a46078
JJ
186312008-06-19 Jakub Jelinek <jakub@redhat.com>
18632
18633 * testsuite/libgomp.c/nqueens-1.c: New test.
18634
2368a460
JJ
18635 PR c++/36523
18636 * testsuite/libgomp.c++/task-7.C: New function.
18637
18c04407
RW
186382008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18639
18640 * configure: Regenerate.
18641
9c4e59e0
JDA
186422008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18643
18644 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18645 mutex when HAVE_SYNC_BUILTINS isn't defined.
18646
6ccde948
RW
186472008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18648
18649 * libgomp.texi (omp_test_lock): Fix typo.
18650
b896f9fd
TB
186512008-06-12 Tobias Burnus <burnus@net-b.de>
18652
18653 * omp_lib.f90.in: Add "implicit none".
18654
c34938a8
JJ
186552008-06-12 Jakub Jelinek <jakub@redhat.com>
18656
18657 PR middle-end/36506
18658 * testsuite/libgomp.c/reduction-5.c: New test.
18659
976e44e3
JJ
186602008-06-11 Jakub Jelinek <jakub@redhat.com>
18661
5f836cbb
JJ
18662 * libgomp.h (struct gomp_task): Add in_tied_task field.
18663 * task.c (gomp_init_task): Initialize it.
18664 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
18665 unconditionally. Don't call gomp_team_barrier_wake if
18666 current task is implicit or if(0) from implicit and number of
18667 running tasks is equal to nthreads - 1.
18668
01501fc8
JJ
18669 PR libgomp/36471
18670 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18671 omp_get_team_size_8): Fix pastos.
18672
976e44e3
JJ
18673 PR libgomp/36469
18674 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18675 * configure: Regenerated.
18676 * config.h.in: Regenerated.
18677 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18678 defined.
18679
e919209b
AT
186802008-06-06 Andreas Tobler <a.tobler@schweiz.org>
18681
18682 PR bootstrap/36452
18683 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18684 (GOMP_loop_ull_dynamic_start): Likewise.
18685 (GOMP_loop_ull_guided_start): Likewise.
18686 (GOMP_loop_ull_ordered_static_start): Likewise.
18687 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18688 (GOMP_loop_ull_ordered_guided_start): Likewise.
18689
a68ab351
JJ
186902008-06-06 Jakub Jelinek <jakub@redhat.com>
18691 Richard Henderson <rth@redhat.com>
18692 Ulrich Drepper <drepper@redhat.com>
18693 Jakob Blomer <jakob.blomer@ira.uka.de>
18694
18695 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18696 Substitute also OMP_*LOCK_25*.
18697 * configure: Regenerated.
18698 * config.h.in: Regenerated.
18699 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18700 ptrlock.c and task.c.
18701 * Makefile.in: Regenerated.
18702 * testsuite/Makefile.in: Regenerated.
18703 * task.c: New file.
18704 * loop_ull.c: New file.
18705 * iter_ull.c: New file.
18706 * libgomp.h: Include ptrlock.h.
18707 (enum gomp_task_kind): New type.
18708 (struct gomp_team): Add task_lock, task_queue, task_count,
18709 task_running_count, single_count fields. Add
18710 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18711 Remove work_share_lock, generation_mask,
18712 oldest_live_gen, num_live_gen and init_work_shares fields, add
18713 work work_share_list_alloc, work_share_list_free and work_share_chunk
18714 fields. Change work_shares from pointer to pointers into an array.
18715 Change ordered_release field into gomp_sem_t ** from flexible array
18716 member. Add implicit_task and initial_work_shares fields.
18717 Move close to the end of the struct.
18718 (struct gomp_team_state): Add single_count, last_work_share,
18719 active_level and level fields, remove work_share_generation.
18720 (gomp_barrier_handle_tasks): New prototype.
18721 (gomp_finish_task): New inline function.
18722 (struct gomp_work_share): Move chunk_size, end, incr into
18723 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18724 next_ll fields. Reshuffle fields. Add next_alloc,
18725 next_ws, next_free and inline_ordered_team_ids fields, change
18726 ordered_team_ids into pointer from flexible array member.
18727 Add mode field. Put lock and next into a different cache line
18728 from most of the write-once fields.
18729 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18730 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18731 gomp_iter_ull_guided_next): New prototypes.
18732 (gomp_new_icv): New prototype.
18733 (struct gomp_thread): Add thread_pool and task fields.
18734 (struct gomp_thread_pool): New type.
18735 (gomp_new_team): New prototype.
18736 (gomp_team_start): Change type of last argument.
18737 (gomp_new_work_share): Removed.
18738 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18739 (gomp_work_share_init_done): New static inline.
18740 (gomp_throttled_spin_count_var, gomp_available_cpus,
18741 gomp_managed_threads): New extern decls.
18742 (gomp_init_task): New prototype.
18743 (gomp_spin_count_var): New extern var decl.
18744 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18745 or no alias support, or if not PIC.
18746 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18747 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18748 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18749 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18750 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18751 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18752 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18753 gomp_test_nest_lock_25): New prototypes.
18754 (omp_lock_symver, strong_alias): Define.
18755 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18756 decls.
18757 (gomp_end_task): New.
18758 (struct gomp_task_icv, gomp_global_icv): New.
18759 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18760 (struct gomp_task): New.
18761 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18762 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18763 (gomp_icv): New.
18764 (gomp_schedule_type): Reorder enum to match
18765 omp_sched_t.
18766 * team.c (struct gomp_thread_start_data): Add thread_pool and task
18767 fields.
18768 (gomp_thread_start): Add gomp_team_barrier_wait call.
18769 For non-nested case remove clearing of docked thread thr fields.
18770 Use pool fields instead of global gomp_* variables. Use
18771 gomp_barrier_wait_last when needed. Initialize ts.active_level.
18772 Create tasks for each member thread.
18773 (free_team): Only destroy team barrier, task_lock here and free it.
18774 (gomp_free_thread): Free last_team if non-NULL.
18775 (gomp_team_end): Call gomp_team_barrier_wait instead of
18776 gomp_barrier_wait. For nested case call one extra
18777 gomp_barrier_wait. Move here some destruction from free_team.
18778 Call free_team on pool->last_team if any, rather than freeing
18779 current team. Destroy work_share_list_free_lock ifndef
18780 HAVE_SYNC_BUILTINS.
18781 (gomp_new_icv): New function.
18782 (gomp_threads, gomp_threads_size, gomp_threads_used,
18783 gomp_threads_dock): Removed.
18784 (gomp_thread_destructor): New variable.
18785 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18786 functions.
18787 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 18788 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
18789 Initialize thread_pool field for new threads. Clear single_count.
18790 Change last argument from ws to team, don't create
18791 new team, set ts.work_share to &team->work_shares[0] and clear
18792 ts.last_work_share. Don't clear ts.work_share_generation.
18793 If number of threads changed, adjust atomically gomp_managed_threads.
18794 Use gomp_init_task instead of gomp_new_task,
18795 set thr->task to the corresponding implicit_task array entry.
18796 Create tasks for each member thread. Initialize ts.level.
18797 (initialize_team): Call pthread_key_create on
18798 gomp_thread_destructor.
18799 (team_destructor): New function.
18800 (new_team): Removed.
18801 (gomp_new_team): New function.
18802 (free_team): Free gomp_work_share blocks chained through next_alloc,
18803 instead of freeing work_shares and destroying work_share_lock.
18804 (gomp_team_end): Call gomp_fini_work_share. If number of threads
18805 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
18806 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18807 of gomp_barrier_wait.
18808 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18809 instead of gomp_barrier_wait. Call gomp_work_share_init_done
18810 if gomp_work_share_start returned true. Don't unlock ws->lock.
18811 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
18812 of gomp_barrier_wait.
18813 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
18814 gomp_work_share_init_done if gomp_work_share_start returned true.
18815 Don't unlock ws->lock.
18816 * work.c: Include stddef.h.
18817 (free_work_share): Use work_share_list_free_lock instead
18818 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
18819 Call gomp_fini_work_share and then either free ws if orphaned, or
18820 put it into work_share_list_free list of the current team.
18821 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
18822 functions.
18823 (gomp_work_share_start, gomp_work_share_end,
18824 gomp_work_share_end_nowait): Rewritten.
18825 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
18826 (openmp_version): Set to 200805.
18827 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18828 omp_sched_guided, omp_sched_auto): New parameters.
18829 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18830 omp_set_max_active_levels, omp_get_max_active_levels,
18831 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18832 omp_get_active_level): New interfaces.
18833 * omp_lib.h.in (openmp_version): Set to 200805.
18834 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18835 omp_sched_guided, omp_sched_auto): New parameters.
18836 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18837 omp_set_max_active_levels, omp_get_max_active_levels,
18838 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18839 omp_get_active_level): New externals.
18840 * loop.c: Include limits.h.
18841 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
18842 GFS_AUTO.
18843 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
18844 Likewise. Use gomp_icv.
18845 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
18846 ts.static_trip here.
18847 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
18848 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
18849 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
18850 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
18851 don't unlock ws->lock, otherwise lock it.
18852 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
18853 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
18854 (gomp_parallel_loop_start): Call gomp_new_team instead of
18855 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
18856 Adjust gomp_team_start caller. Pass 0 as second argument to
18857 gomp_resolve_num_threads.
18858 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
18859 If adding ws->chunk_size nthreads + 1 times after end won't
18860 overflow, set ws->mode to 1.
18861 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
18862 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
18863 GOMP_loop_ull_ordered_static_start,
18864 GOMP_loop_ull_ordered_dynamic_start,
18865 GOMP_loop_ull_ordered_guided_start,
18866 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
18867 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
18868 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
18869 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
18870 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
18871 prototypes.
18872 * libgomp.map: Export lock routines also @@OMP_2.0.
18873 (GOMP_loop_ordered_dynamic_first,
18874 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
18875 GOMP_loop_ordered_static_first): Remove.
18876 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
18877 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
18878 GOMP_loop_ull_ordered_dynamic_next,
18879 GOMP_loop_ull_ordered_dynamic_start,
18880 GOMP_loop_ull_ordered_guided_next,
18881 GOMP_loop_ull_ordered_guided_start,
18882 GOMP_loop_ull_ordered_runtime_next,
18883 GOMP_loop_ull_ordered_runtime_start,
18884 GOMP_loop_ull_ordered_static_next,
18885 GOMP_loop_ull_ordered_static_start,
18886 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
18887 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
18888 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
18889 (omp_set_schedule, omp_get_schedule,
18890 omp_get_thread_limit, omp_set_max_active_levels,
18891 omp_get_max_active_levels, omp_get_level,
18892 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
18893 omp_set_schedule_, omp_set_schedule_8_,
18894 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18895 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18896 omp_get_max_active_levels_, omp_get_level_,
18897 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18898 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18899 New exports @@OMP_3.0.
18900 * omp.h.in (omp_sched_t): New type.
18901 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18902 omp_set_max_active_levels, omp_get_max_active_levels,
18903 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18904 omp_get_active_level): New prototypes.
18905 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
18906 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
18907 gomp_thread_limit_var, gomp_remaining_threads_count,
18908 gomp_remaining_threads_lock): New variables.
18909 (parse_spincount): New function.
18910 (initialize_env): Call gomp_init_num_threads unconditionally.
18911 Initialize gomp_available_cpus. Call parse_spincount,
18912 initialize gomp_{,throttled_}spin_count_var
18913 depending on presence and value of OMP_WAIT_POLICY and
18914 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
18915 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
18916 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
18917 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
18918 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
18919 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18920 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18921 (gomp_global_icv): New.
18922 (parse_schedule): Use it. Parse "auto".
18923 (omp_set_num_threads): Use gomp_icv.
18924 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
18925 Likewise.
18926 (omp_get_max_threads): Move from parallel.c.
18927 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18928 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
18929 add ialias.
18930 (parse_stacksize, parse_wait_policy): New functions.
18931 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
18932 both wrappers for compatibility and new locks.
18933 (omp_set_schedule, omp_get_schedule,
18934 omp_get_thread_limit, omp_set_max_active_levels,
18935 omp_get_max_active_levels, omp_get_level,
18936 omp_get_ancestor_thread_num, omp_get_team_size,
18937 omp_get_active_level): New ialias_redirect.
18938 (omp_set_schedule_, omp_set_schedule_8_,
18939 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18940 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18941 omp_get_max_active_levels_, omp_get_level_,
18942 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18943 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18944 New functions.
18945 * parallel.c: Include limits.h.
18946 (gomp_resolve_num_threads): Add count argument. Rewritten.
18947 (GOMP_parallel_start): Call gomp_new_team and pass that as last
18948 argument to gomp_team_start. Pass 0 as second argument to
18949 gomp_resolve_num_threads.
18950 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
18951 if gomp_thread_limit_var != ULONG_MAX.
18952 (omp_in_parallel): Implement using ts.active_level.
18953 (omp_get_max_threads): Move to env.c.
18954 (omp_get_level, omp_get_ancestor_thread_num,
18955 omp_get_team_size, omp_get_active_level): New functions,
18956 add ialias.
18957 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
18958 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
18959 gomp_iter_dynamic_next instead of the _locked variant and don't take
18960 lock around it, otherwise acquire it before calling
18961 gomp_iter_dynamic_next_locked.
18962 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
18963 gomp_iter_dynamic_next instead of the _locked variant and don't take
18964 lock around it.
18965 (GOMP_parallel_sections_start): Call gomp_new_team instead of
18966 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
18967 Adjust gomp_team_start caller. Pass count as second argument to
18968 gomp_resolve_num_threads, don't adjust num_threads after the call.
18969 Use gomp_icv.
18970 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
18971 ws->chunk_size by incr.
18972 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
18973 code.
18974 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
18975 types.
18976 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
18977 (omp_check_defines): Check even the compat defines.
18978 * config/linux/ptrlock.c: New file.
18979 * config/linux/ptrlock.h: New file.
18980 * config/linux/wait.h: New file.
18981 * config/posix/ptrlock.c: New file.
18982 * config/posix/ptrlock.h: New file.
18983 * config/linux/bar.h (gomp_team_barrier_wait,
18984 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18985 (gomp_team_barrier_set_task_pending,
18986 gomp_team_barrier_clear_task_pending,
18987 gomp_team_barrier_set_waiting_for_tasks,
18988 gomp_team_barrier_waiting_for_tasks,
18989 gomp_team_barrier_done): New inlines.
18990 (gomp_barrier_t): Rewritten.
18991 (gomp_barrier_state_t): New typedef.
18992 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
18993 gomp_barrier_wait_start): Rewritten.
18994 (gomp_barrier_wait_end): Change second argument to
18995 gomp_barrier_state_t.
18996 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
18997 inlines.
18998 * config/linux/bar.c: Include wait.h instead of libgomp.h and
18999 futex.h.
19000 (gomp_barrier_wait_end): Rewritten.
19001 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19002 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19003 * config/posix/bar.h (gomp_barrier_t): Add generation field.
19004 (gomp_barrier_state_t): New typedef.
19005 (gomp_team_barrier_wait,
19006 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19007 (gomp_barrier_wait_start): Or all but low 2 bits from generation
19008 into the return value. Return gomp_barrier_state_t.
19009 (gomp_team_barrier_set_task_pending,
19010 gomp_team_barrier_clear_task_pending,
19011 gomp_team_barrier_set_waiting_for_tasks,
19012 gomp_team_barrier_waiting_for_tasks,
19013 gomp_team_barrier_done): New inlines.
19014 (gomp_barrier_wait_end): Change second argument to
19015 gomp_barrier_state_t.
19016 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19017 inlines.
19018 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19019 (gomp_barrier_wait_end): Change second argument to
3e348fcc 19020 gomp_barrier_state_t.
a68ab351
JJ
19021 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19022 gomp_team_barrier_wake): New functions.
19023 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19024 futex.h.
19025 (gomp_futex_wake, gomp_futex_wait): New variables.
19026 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19027 * config/linux/lock.c: Rewrite to make locks task owned,
19028 for backwards compatibility provide the old entrypoints
19029 if symbol versioning. Include wait.h instead of libgomp.h and
19030 futex.h.
19031 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19032 * config/posix95/lock.c: Rewrite to make locks task owned,
19033 for backwards compatibility provide the old entrypoints
19034 if symbol versioning.
19035 * config/posix/lock.c: Rewrite to make locks task owned,
19036 for backwards compatibility provide the old entrypoints
19037 if symbol versioning.
19038 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19039 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19040 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19041 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19042 (sys_futex0): Return error code.
19043 (futex_wake, futex_wait): If ENOSYS was returned, clear
19044 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19045 (cpu_relax, atomic_write_barrier): New static inlines.
19046 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19047 (futex_wake, futex_wait): If ENOSYS was returned, clear
19048 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19049 (cpu_relax, atomic_write_barrier): New static inlines.
19050 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19051 (sys_futex0): Return error code.
19052 (futex_wake, futex_wait): If ENOSYS was returned, clear
19053 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19054 (cpu_relax, atomic_write_barrier): New static inlines.
19055 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19056 (sys_futex0): Return error code.
19057 (futex_wake, futex_wait): If ENOSYS was returned, clear
19058 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19059 (cpu_relax, atomic_write_barrier): New static inlines.
19060 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19061 (sys_futex0): Return error code.
19062 (futex_wake, futex_wait): If ENOSYS was returned, clear
19063 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19064 (cpu_relax, atomic_write_barrier): New static inlines.
19065 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19066 (sys_futex0): Return error code.
19067 (futex_wake, futex_wait): If ENOSYS was returned, clear
19068 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19069 (cpu_relax, atomic_write_barrier): New static inlines.
19070 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19071 futex.h.
19072 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19073 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19074 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19075 types.
19076 (omp_nest_lock_t): Change owner into void *, add lock field.
19077 * config/posix95/omp-lock.h: Include semaphore.h.
19078 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19079 (omp_lock_t): Use sem_t instead of mutex if semaphores
19080 aren't broken.
19081 (omp_nest_lock_t): Likewise. Change owner to void *.
19082 * config/posix/omp-lock.h: Include semaphore.h.
19083 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19084 (omp_lock_t): Use sem_t instead of mutex if semaphores
19085 aren't broken.
19086 (omp_nest_lock_t): Likewise. Add owner field.
19087
190882008-06-06 Jakub Jelinek <jakub@redhat.com>
19089
19090 * testsuite/libgomp.c/collapse-1.c: New test.
19091 * testsuite/libgomp.c/collapse-2.c: New test.
19092 * testsuite/libgomp.c/collapse-3.c: New test.
19093 * testsuite/libgomp.c/icv-1.c: New test.
19094 * testsuite/libgomp.c/icv-2.c: New test.
19095 * testsuite/libgomp.c/lib-2.c: New test.
19096 * testsuite/libgomp.c/lock-1.c: New test.
19097 * testsuite/libgomp.c/lock-2.c: New test.
19098 * testsuite/libgomp.c/lock-3.c: New test.
19099 * testsuite/libgomp.c/loop-4.c: New test.
19100 * testsuite/libgomp.c/loop-5.c: New test.
19101 * testsuite/libgomp.c/loop-6.c: New test.
19102 * testsuite/libgomp.c/loop-7.c: New test.
19103 * testsuite/libgomp.c/loop-8.c: New test.
19104 * testsuite/libgomp.c/loop-9.c: New test.
19105 * testsuite/libgomp.c/nested-3.c: New test.
19106 * testsuite/libgomp.c/nestedfn-6.c: New test.
19107 * testsuite/libgomp.c/sort-1.c: New test.
19108 * testsuite/libgomp.c/task-1.c: New test.
19109 * testsuite/libgomp.c/task-2.c: New test.
19110 * testsuite/libgomp.c/task-3.c: New test.
19111 * testsuite/libgomp.c/task-4.c: New test.
19112 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19113 to C++ testsuite default compiler options.
19114 * testsuite/libgomp.c++/collapse-1.C: New test.
19115 * testsuite/libgomp.c++/collapse-2.C: New test.
19116 * testsuite/libgomp.c++/ctor-10.C: New test.
19117 * testsuite/libgomp.c++/for-1.C: New test.
19118 * testsuite/libgomp.c++/for-2.C: New test.
19119 * testsuite/libgomp.c++/for-3.C: New test.
19120 * testsuite/libgomp.c++/for-4.C: New test.
19121 * testsuite/libgomp.c++/for-5.C: New test.
19122 * testsuite/libgomp.c++/loop-8.C: New test.
19123 * testsuite/libgomp.c++/loop-9.C: New test.
19124 * testsuite/libgomp.c++/loop-10.C: New test.
19125 * testsuite/libgomp.c++/task-1.C: New test.
19126 * testsuite/libgomp.c++/task-2.C: New test.
19127 * testsuite/libgomp.c++/task-3.C: New test.
19128 * testsuite/libgomp.c++/task-4.C: New test.
19129 * testsuite/libgomp.c++/task-5.C: New test.
19130 * testsuite/libgomp.c++/task-6.C: New test.
19131 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19132 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19133 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19134 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19135 * testsuite/libgomp.fortran/collapse1.f90: New test.
19136 * testsuite/libgomp.fortran/collapse2.f90: New test.
19137 * testsuite/libgomp.fortran/collapse3.f90: New test.
19138 * testsuite/libgomp.fortran/collapse4.f90: New test.
19139 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19140 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19141 * testsuite/libgomp.fortran/lib4.f90: New test.
19142 * testsuite/libgomp.fortran/lock-1.f90: New test.
19143 * testsuite/libgomp.fortran/lock-2.f90: New test.
19144 * testsuite/libgomp.fortran/nested1.f90: New test.
19145 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19146 * testsuite/libgomp.fortran/strassen.f90: New test.
19147 * testsuite/libgomp.fortran/tabs1.f90: New test.
19148 * testsuite/libgomp.fortran/tabs2.f: New test.
19149 * testsuite/libgomp.fortran/task1.f90: New test.
19150 * testsuite/libgomp.fortran/task2.f90: New test.
19151 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19152 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19153 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19154 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19155 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19156
7a0112e7
JJ
191572008-05-23 Jakub Jelinek <jakub@redhat.com>
19158
19159 PR c++/36308
19160 * testsuite/libgomp.c++/ctor-11.C: New test.
19161 * testsuite/libgomp.c++/ctor-12.C: New test.
19162
91a5b394
JJ
191632008-05-15 Janis Johnson <janis187@us.ibm.com>
19164
19165 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19166
c18c98c0
JJ
191672008-05-07 Jakub Jelinek <jakub@redhat.com>
19168
19169 PR middle-end/36106
19170 * testsuite/libgomp.c/atomic-5.c: New test.
19171 * testsuite/libgomp.c/atomic-6.c: New test.
19172 * testsuite/libgomp.c/autopar-1.c: New test.
19173
6d26724a
RW
191742008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19175
19176 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19177 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19178 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19179 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19180 * configure: Regenerate.
19181 * Makefile.in, testsuite/Makefile.in: Likewise.
19182
deb984e6
PB
191832008-04-18 Paolo Bonzini <bonzini@gnu.org>
19184
19185 PR bootstrap/35457
19186 * aclocal.m4: Regenerate.
19187 * configure: Regenerate.
19188
9e775963
JJ
191892008-03-18 Jakub Jelinek <jakub@redhat.com>
19190
8119fc93
JJ
19191 PR middle-end/35611
19192 * testsuite/libgomp.c/atomic-4.c: New test.
19193
9e775963
JJ
19194 PR libgomp/35625
19195 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19196 (gomp_iter_guided_next): Likewise.
19197 * testsuite/libgomp.c/pr35625.c: New test.
19198
38d24731
RW
191992008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19200
19201 * aclocal.m4: Regenerate.
19202 * configure: Likewise.
19203 * Makefile.in: Likewise.
19204 * testsuite/Makefile.in: Likewise.
19205
d0fb20be
JJ
192062008-03-13 Jakub Jelinek <jakub@redhat.com>
19207
19208 PR middle-end/35185
19209 * testsuite/libgomp.c++/pr35185.C: New test.
19210
7c8f7639
JJ
192112008-03-12 Jakub Jelinek <jakub@redhat.com>
19212
19213 PR middle-end/35549
19214 * testsuite/libgomp.c/pr35549.c: New test.
19215
251923f5
JJ
192162008-03-06 Jakub Jelinek <jakub@redhat.com>
19217
19218 * testsuite/libgomp.c/atomic-3.c: New test.
19219
f489fba1
FXC
192202008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19221
19222 PR fortran/33197
251923f5 19223 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
19224 .F08 file suffixes.
19225
a1b25e49
PG
192262008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19227
19228 PR libgomp/33131
19229 * configure.ac: Add ACX_HEADER_STRING.
19230 * env.c: Include strings.h.
19231 * aclocal.m4: Regenerate.
19232 * config.h.in: Regenerate.
19233 * configure: Regenerate.
19234 * Makefile.in: Regenerate.
19235 * testsuite/Makefile.in: Regenerate.
19236
6837b3b8
JJ
192372008-02-15 Jakub Jelinek <jakub@redhat.com>
19238
ac84c062
JJ
19239 PR middle-end/35196
19240 * testsuite/libgomp.c/pr35196.c: New test.
19241
6837b3b8
JJ
19242 PR middle-end/35130
19243 * testsuite/libgomp.fortran/pr35130.f90: New test.
19244 * testsuite/libgomp.c/pr35130.c: New test.
19245
c256730c
JJ
192462008-01-25 Jakub Jelinek <jakub@redhat.com>
19247
19248 PR middle-end/33880
19249 * testsuite/libgomp.c/pr33880.c: New test.
19250 * testsuite/libgomp.fortran/pr33880.f90: New test.
19251
c8e95542 192522008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
19253
19254 * configure: Regenerate.
19255
0f3e711e
JJ
192562008-01-08 Jakub Jelinek <jakub@redhat.com>
19257
19258 * configure.ac: Move futex checking into ../config/futex.m4.
19259 * configure: Rebuilt.
19260 * aclocal.m4: Rebuilt.
19261 * Makefile.in: Rebuilt.
19262
19263 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19264 2007-10-15 ../config/tls.m4 change.
19265
5259c813
JJ
192662007-12-19 Jakub Jelinek <jakub@redhat.com>
19267
19268 PR c++/34513
19269 * testsuite/libgomp.c/pr34513.c: New test.
19270 * testsuite/libgomp.c++/pr34513.C: New test.
19271
ae8d8879
JH
192722007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19273
19274 PR target/32765
19275 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19276
2b4cf991
JJ
192772007-12-04 Jakub Jelinek <jakub@redhat.com>
19278
19279 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19280
d2dda7fe
JJ
192812007-12-03 Jakub Jelinek <jakub@redhat.com>
19282
19283 * testsuite/libgomp.c/private-1.c: New test.
19284
d683ec81
PB
192852007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19286 Paolo Bonzini <bonzini@gnu.org>
19287
19288 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19289 instead of 'VPATH ='.
19290 * Makefile.in: Regenerate.
19291
a7415017
MK
192922007-11-23 Matthias Klose <doko@ubuntu.com>
19293
19294 * configure.ac: Adjust makeinfo version check.
19295 * configure: Regenerate.
19296
78e47463
JJ
192972007-11-10 Jakub Jelinek <jakub@redhat.com>
19298
19299 PR fortran/34020
19300 * testsuite/libgomp.fortran/pr34020.f90: New test.
19301
239371f9
JJ
193022007-11-06 Jakub Jelinek <jakub@redhat.com>
19303
19304 PR c++/33894
19305 * testsuite/libgomp.c++/atomic-1.C: New test.
19306
98a5fa94
JJ
193072007-10-25 Jakub Jelinek <jakub@redhat.com>
19308
19309 PR libgomp/33275
19310 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19311 Make x and y integers rather than (implicit) reals. Add private (j)
19312 clause to the last omp parallel.
19313
3afcaaf4
MR
193142007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19315
19316 * configure: Regenerate following changes to ../config/tls.m4.
19317
bd69daef
JJ
193182007-09-28 Jakub Jelinek <jakub@redhat.com>
19319
19320 * testsuite/libgomp.fortran/stack.f90: New test.
19321
1d0bd356
DS
193222007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19323
19324 * config/mingw32/proc.c: New file.
19325
b3172cab
UB
193262007-09-05 Uros Bizjak <ubizjak@gmail.com>
19327
19328 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19329 (main): Use __get_cpuid to get i386 target fetaures.
19330 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19331 (main): Use __get_cpuid to get x86_64 target fetaures.
19332
6da17392
JH
193332007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19334
19335 PR target/32765
19336 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19337 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19338
e1c82219
JJ
193392007-07-12 Jakub Jelinek <jakub@redhat.com>
19340
19341 PR fortran/32550
19342 * testsuite/libgomp.fortran/pr32550.f90: New test.
19343 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19344
12a27363
L
193452007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19346
19347 * aclocal.m4: Regenerated.
19348
5349080d
TB
193492007-07-05 Tobias Burnus <burnus@net-b.de>
19350
19351 PR fortran/32359
19352 * testsuite/libgomp.fortran/pr32359.f90: New.
19353
4f9c450c
JJ
193542007-07-02 Jakub Jelinek <jakub@redhat.com>
19355
19356 PR libgomp/32468
19357 * sections.c (GOMP_parallel_sections_start): Only decrease
19358 number of threads to COUNT if dyn_var is true.
19359 * testsuite/libgomp.c/pr32468.c: New test.
19360
28c67ed7
RO
193612007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19362
19363 PR libgomp/26308
19364 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19365
64964499
JJ
193662007-06-21 Jakub Jelinek <jakub@redhat.com>
19367
19368 PR middle-end/32362
19369 * testsuite/libgomp.c/pr32362-1.c: New test.
19370 * testsuite/libgomp.c/pr32362-2.c: New test.
19371 * testsuite/libgomp.c/pr32362-3.c: New test.
19372
46d8fbd1
JJ
193732007-06-07 Jakub Jelinek <jakub@redhat.com>
19374
19375 * team.c (gomp_team_start): Fix setting up thread_attr
19376 stack size.
19377
82a6cadf
PB
193782007-06-02 Paolo Bonzini <bonzini@gnu.org>
19379
19380 * configure: Regenerate.
19381
1cf3d07d
SE
193822007-05-23 Steve Ellcey <sje@cup.hp.com>
19383
19384 * Makefile.in: Regenerate.
19385 * configure: Regenerate.
19386 * aclocal.m4: Regenerate.
19387 * testsuite/Makefile.in: Regenerate.
19388
12aac30b
JJ
193892007-05-04 Jakub Jelinek <jakub@redhat.com>
19390
19391 * config/linux/proc.c: New file.
19392
f1028b02
JJ
19393 PR libgomp/28482
19394 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19395
06785a48
DF
193962007-04-19 Daniel Franke <franke.daniel@gmail.com>
19397
19398 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19399
b3b08ba0
MK
194002007-04-16 Matthias Klose <doko@debian.org>
19401
19402 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19403 flags if not building with -m64.
19404 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19405 flag for i?86-*-* targets, if current target matches -m64.
19406
6b2c5ce0
SE
194072007-04-14 Steve Ellcey <sje@cup.hp.com>
19408
19409 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19410 * Makefile.in: Regenerate.
19411
dd56fe7c
JDA
194122007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19413
19414 PR testsuite/31369
19415 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19416 ld_library_path.
19417 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19418
a0884cf0
JJ
194192007-04-04 Jakub Jelinek <jakub@redhat.com>
19420
19421 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19422 decls.
19423 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19424 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19425 (parse_affinity): New function.
19426 (initialize_env): Call it and gomp_init_affinity.
19427 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19428 create new pthread_attr_t and call gomp_init_thread_affinity
19429 on it for each thread before passing the attribute to pthread_create.
19430 * config/linux/affinity.c: New file.
19431 * config/posix/affinity.c: New file.
19432 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19433 * configure: Rebuilt.
19434 * config.h.in: Rebuilt.
19435 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19436 * Makefile.in: Rebuilt.
19437
1850744b
AT
194382007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19439
19440 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19441 *-*-darwin*.
19442 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19443 and use it if found.
19444
516f1ed8
UB
194452007-03-18 Uros Bizjak <ubizjak@gmail.com>
19446
19447 * testsuite/config/default.exp: New file.
19448 * testsuite/lib/libgomp.exp: New file.
19449 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19450 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19451 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19452 (libgomp_load): Remove.
19453 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19454 always_ld_library_path, not ld_library_path. Set additional_flags
19455 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19456 (target_compile): Do not call libgomp_init. Append lang_library_path
19457 and lang_link_flags to options.
19458 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19459 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19460 here.
19461 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19462 always_ld_library_path. Set LD_LIBRARY_PATH here.
19463 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19464 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19465 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19466 CX8 flag.
19467 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19468 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19469 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19470 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19471 * testsuite/libgomp.c/atomic-10.c: Ditto.
19472
2ada56f5
JJ
194732007-03-21 Jakub Jelinek <jakub@redhat.com>
19474
19475 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19476 dg-final cleanup-modules line.
19477 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19478 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19479 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19480 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19481 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19482 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19483 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19484
f210f1cd
AS
194852007-03-18 Andreas Schwab <schwab@suse.de>
19486
19487 * acinclude.m4: Adjust regular expression for ld version
19488 extraction.
19489 * configure: Regenerate.
19490
c4dc950d
BM
194912007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19492
19493 * Makefile.am: Add install-pdf target as copied from
19494 automake v1.10 rules.
19495 * Makefile.in: Regenerate
19496
e02a048f
JJ
194972007-02-07 Jakub Jelinek <jakub@redhat.com>
19498
78e075d4
JJ
19499 PR libgomp/28486
19500 * configure: Regenerate.
19501
e02a048f
JJ
19502 PR c++/30703
19503 * testsuite/libgomp.c++/pr30703.C: New test.
19504
60def7ed
JJ
195052007-02-02 Jakub Jelinek <jakub@redhat.com>
19506
19507 Revert:
19508 2006-07-05 Eric Christopher <echristo@apple.com>
19509 * configure.ac: Depend addition of -pthread on host OS.
19510 * configure: Regenerate.
19511
f1b0882e
RW
195122007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19513
19514 * libgomp.texi: Fix spacing after abbreviations.
19515
748b9d7c
DF
195162007-01-31 Daniel Franke <franke.daniel@gmail.com>
19517
19518 PR libgomp/30546
19519 * configure.ac: Add check for makeinfo
19520 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 19521 if an appropriate version of makeinfo is found.
748b9d7c
DF
19522 * aclocal.m4: Regenerated.
19523 * configure: Regenerated.
19524 * Makefile.in: Regenerated.
19525 * testsuite/Makefile.in: Regenerated.
19526
14734fc7
DF
195272007-01-29 Daniel Franke <franke.daniel@gmail.com>
19528
19529 PR libgomp/30540
19530 * libgomp.texi: More about implementation-dependent settings.
19531
7befd5d2
TB
195322007-01-26 Tobias Burnus <burnus@net-b.de>
19533
19534 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19535
4288fea2
JJ
195362007-01-24 Jakub Jelinek <jakub@redhat.com>
19537
19538 PR middle-end/30494
19539 * testsuite/libgomp.c/pr30494.c: New test.
19540
627ab4b8
TT
195412007-01-15 Tom Tromey <tromey@redhat.com>
19542
19543 * configure: Rebuilt.
19544 * configure.ac: Fixed comment.
19545
7c2b7f45
DF
195462007-01-14 Daniel Franke <franke.daniel@gmail.com>
19547
19548 * libgomp.texi: Document implementation specific default values of
19549 environment variables.
19550
3721b9e1
DF
195512006-12-21 Daniel Franke <franke.daniel@gmail.com>
19552
19553 PR libgomp/28209
19554 * libgomp.texi: New file.
19555 * configure.ac: Add --enable-generated-files-in-srcdir option.
19556 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19557 files to srcdir.
19558 * Makefile.in: Regenerated.
19559 * config.h.in: Regenerated.
19560 * testsuite/Makefile.in: Regenerated.
19561 * NOTES: Removed.
19562
62bd6216
DF
195632006-12-04 Daniel Franke <franke.daniel@gmail.com>
19564
19565 PR libgomp/29949
19566 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19567
aad741f4
EB
195682006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19569
19570 * configure: Regenerate.
19571
22568cc6
JJ
195722006-12-04 Jakub Jelinek <jakub@redhat.com>
19573
19574 PR libgomp/29947
19575 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19576 start if there shouldn't be any loop iterations.
19577 (gomp_loop_ordered_static_start): Remove start == end test.
19578 * testsuite/libgomp.c/pr29947-1.c: New test.
19579 * testsuite/libgomp.c/pr29947-2.c: New test.
19580
a9690009
EB
195812006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19582
19583 * configure.tgt: Force initial-exec TLS model on Linux only.
19584
597c25e6
DJ
195852006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19586
19587 * configure: Regenerated.
19588
6acf0b38
UB
195892006-11-09 Uros Bizjak <ubizjak@gmail.com>
19590
19591 * env.c (parse_schedule): Reject out of range values.
19592 (parse_unsigned_long): Reject out of range, negative or zero values.
19593
a7a53ca5
JJ
195942006-10-29 Jakub Jelinek <jakub@redhat.com>
19595
19596 PR fortran/29629
19597 * testsuite/libgomp.fortran/pr29629.f90: New test.
19598
6d4d216a
EB
195992006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19600
19601 PR libgomp/29494
19602 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19603 * config/posix95: New directory.
19604 * config/posix95/omp-lock.h: New file.
19605 * config/posix95/lock.c: Likewise.
19606
5b043f08
GK
196072006-10-14 Geoffrey Keating <geoffk@apple.com>
19608
19609 * aclocal.m4: Regenerate.
19610 * configure: Regenerate.
19611
b50019f0
DS
196122006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19613
19614 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19615 '<' to '<='.
19616
8887708e
DS
196172006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19618
19619 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19620 test.
19621 * configure: Regenerate.
19622 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19623
9b9e4cd6
JJ
196242006-09-26 Jakub Jelinek <jakub@redhat.com>
19625
a70ad3bb
JJ
19626 PR middle-end/25261
19627 PR middle-end/28790
19628 * testsuite/libgomp.c/nestedfn-4.c: New test.
19629 * testsuite/libgomp.c/nestedfn-5.c: New test.
19630 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19631
9b9e4cd6
JJ
19632 PR fortran/29097
19633 * testsuite/libgomp.fortran/condinc1.f: New test.
19634 * testsuite/libgomp.fortran/condinc2.f: New test.
19635 * testsuite/libgomp.fortran/condinc3.f90: New test.
19636 * testsuite/libgomp.fortran/condinc4.f90: New test.
19637 * testsuite/libgomp.fortran/condinc1.inc: New file.
19638
2fb31455
TT
196392006-09-18 Tom Tromey <tromey@redhat.com>
19640
19641 * configure: Rebuilt.
19642
c663e301
JM
196432006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19644
19645 PR c/28768
19646 PR preprocessor/14634
19647 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19648 to AC_DEFINE.
19649 * configure: Regenerate.
19650
38371be9
SK
196512006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19652
19653 * testsuite/libgomp.fortran/reduction3.f90: Change
19654 -2147483648 to -huge(i)-1 to avoid overflow.
19655 * testsuite/libgomp.fortran/reduction4.f90: Change
19656 Z'ffffffff' to not(0) to avoid overflow.
19657
571d5ac5
JM
196582006-08-26 Joseph S. Myers <joseph@codesourcery.com>
19659
19660 PR libgomp/25938
19661 * Makefile.am (libsubincludedir): New.
19662 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19663 * Makefile.in: Regenerate.
19664
89b3e3cd
JJ
196652006-08-17 Jakub Jelinek <jakub@redhat.com>
19666
19667 PR libgomp/28725
19668 * env.c: Include ctype.h.
19669 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19670 leading and/or trailing whitespace and compare strings case
19671 insensitively.
19672
742fae05
JJ
196732006-07-16 Jakub Jelinek <jakub@redhat.com>
19674
19675 PR fortran/28390
19676 * testsuite/libgomp.fortran/pr28390.f: New test.
19677
a1daed2d
EC
196782006-07-05 Eric Christopher <echristo@apple.com>
19679
19680 * configure.ac: Depend addition of -pthread on host OS.
19681 * configure: Regenerate.
19682
5d7b5199
JJ
196832006-06-21 Jakub Jelinek <jakub@redhat.com>
19684
19685 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19686 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19687 defined.
19688
fe5568e9
JJ
196892006-06-20 Jakub Jelinek <jakub@redhat.com>
19690
19691 PR libgomp/26175
19692 PR libgomp/26477
19693 * configure.ac: If neither --enable-linux-futex nor
19694 --disable-linux-futex is passed, determine the default by checking
19695 for compiling and/or running against NPTL. With --enable-linux-futex,
19696 check if SYS_gettid and SYS_futex are defined.
19697 * configure: Rebuilt.
19698
c3b11a40
RH
196992006-06-14 Richard Henderson <rth@redhat.com>
19700
19701 PR libgomp/28008
19702 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19703 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19704
d0d1b24d
RH
197052006-06-09 Richard Henderson <rth@redhat.com>
19706
19707 * env.c (gomp_nthreads_var): Change to unsigned long.
19708 (gomp_run_sched_chunk): Likewise.
19709 (parse_unsigned_long): Rename from parse_num_threads and generalize.
19710 (initialize_env): Initialize gomp_thread_attr.
19711 * libgomp.h (gomp_nthreads_var): Update decl.
19712 (gomp_run_sched_chunk): Likewise.
19713 (gomp_thread_attr): Declare.
19714 * team.c (gomp_thread_attr): Export.
19715 (initialize_team): Don't initialize it.
19716
cd75853e
JJ
197172006-06-09 Jakub Jelinek <jakub@redhat.com>
19718
19719 PR fortran/27916
19720 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19721 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19722
33815e0c
FXC
197232006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19724
19725 * config/mingw32/time.c: New file.
19726 * configure.tgt: Use it.
19727
6667de0d
CD
197282006-05-23 Carlos O'Donell <carlos@codesourcery.com>
19729
19730 * Makefile.am: Add install-html target. Add install-html to .PHONY
19731 * Makefile.in: Regenerate.
19732
e962c46b
JDA
197332006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19734
19735 PR libgomp/27612
19736 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19737 * testsuite/libgomp.c/critical-1.c: Likewise.
19738 * testsuite/libgomp.c/loop-1.c: Likewise.
19739 * testsuite/libgomp.c/loop-2.c: Likewise.
19740 * testsuite/libgomp.c/single-1.c: Likewise.
19741 * testsuite/libgomp.c/ordered-1.c: Likewise.
19742 * testsuite/libgomp.c/ordered-2.c: Likewise.
19743
eeb1d9e0
JJ
197442006-05-15 Jakub Jelinek <jakub@redhat.com>
19745
19746 PR middle-end/27416
19747 * libgomp.fortran/pr27416-1.f90: New test.
19748
693d710f
JJ
197492006-05-03 Jakub Jelinek <jakub@redhat.com>
19750
19751 PR fortran/27395
19752 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19753 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19754
8ca5b2a2
JJ
197552006-05-02 Jakub Jelinek <jakub@redhat.com>
19756
19757 PR c++/26943
19758 * testsuite/libgomp.c/pr26943-1.c: New test.
19759 * testsuite/libgomp.c/pr26943-2.c: New test.
19760 * testsuite/libgomp.c/pr26943-3.c: New test.
19761 * testsuite/libgomp.c/pr26943-4.c: New test.
19762 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19763 * testsuite/libgomp.c++/pr26943.C: New test.
19764
077b0dfb
JJ
197652006-05-02 Jakub Jelinek <jakub@redhat.com>
19766
19767 PR middle-end/27337
19768 * testsuite/libgomp.c++/pr27337.C: New test.
19769
91b6c26d
JJ
197702006-04-26 Jakub Jelinek <jakub@redhat.com>
19771
19772 PR c/26171
19773 * testsuite/libgomp.c/pr26171.c: New test.
19774
60e1758f
RH
197752006-04-25 Richard Henderson <rth@redhat.com>
19776
19777 PR libgomp/25865
19778 * configure.ac: Use GCC_CHECK_TLS.
19779 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19780 * Makefile.in, aclocal.m4, configure: Regenerate.
19781
615baed7
MK
197822006-04-10 Matthias Klose <doko@debian.org>
19783
19784 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19785 directory names containing underscores.
19786
fae2b46b
JJ
197872006-03-21 Jakub Jelinek <jakub@redhat.com>
19788
19789 PR c++/26691
19790 * testsuite/libgomp.c++/pr26691.C: New test.
19791
11a5f608
JJ
197922006-03-13 Jakub Jelinek <jakub@redhat.com>
19793
19794 * testsuite/libgomp.fortran/retval2.f90: New test.
19795
1799e5d5
RH
197962006-03-09 Diego Novillo <dnovillo@redhat.com>
19797
19798 * testsuite/libgomp.c++: New directory.
19799
d349482e
AT
198002006-02-25 Shantonu Sen <ssen@opendarwin.org>
19801
19802 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19803 * config/posix/sem.c: Implement the above.
19804
198052006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
19806
19807 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19808 define HAVE_BROKEN_POSIX_SEMAPHORES.
19809 * configure: Rebuilt.
19810 * config.h.in: Rebuilt.
19811
124452c9
FXC
198122006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19813
19814 PR bootstrap/26161
19815 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
19816 for the other pthread check.
19817 * configure: Regenerate.
19818 * config.h.in: Regenerate.
19819
dd8d6dfe
JJ
198202006-02-15 Jakub Jelinek <jakub@redhat.com>
19821
19822 PR libgomp/25938
19823 PR libgomp/25984
19824 * Makefile.am (fincludedir): New variable.
19825 (nodist_include_HEADERS): Remove Fortran files.
19826 (nodist_finclude_HEADERS): New variable.
19827 * Makefile.in: Regenerated.
19828
6c7a4dfd
JJ
198292006-02-13 Jakub Jelinek <jakub@redhat.com>
19830
19831 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
19832 Remove tests for returning assumed character length arrays.
19833
5142e08b
RS
198342006-02-12 Roger Sayle <roger@eyesopen.com>
19835 John David Anglin <dave@hiauly1.hia.nrc.ca>
19836
19837 PR libgomp/25936
19838 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 19839
5821fba8
UW
198402006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
19841
19842 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
19843
cb2bbc67
EB
198442006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
19845
19846 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
19847 part of LD_LIBRARY_PATH manually.
19848
f05ee80c
L
198492006-02-03 H.J. Lu <hongjiu.lu@intel.com>
19850
19851 PR libgomp/25852
19852 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
19853 libgomp_init.
19854
03b8fe49
PB
198552005-01-25 Paolo Bonzini <bonzini@gnu.org>
19856
19857 PR libgomp/25884
f05ee80c
L
19858 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
19859 * configure.ac (PERL): Don't set.
19860 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
19861 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
19862 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
19863 * omp.h.in: Wrap the new configure substitutions with @ characters.
19864 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
19865 * aclocal.m4, configure, Makefile.in: Regenerate.
19866 * mkomp_h.pl: Delete.
03b8fe49 19867
18cbfd85
PB
198682005-01-24 Paolo Bonzini <bonzini@gnu.org>
19869
19870 PR libgomp/25259
19871 * configure.ac: Use GCC_HEADER_STDINT.
19872 * libgomp.h: Include gstdint.h.
19873 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
19874 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
19875
c41303c6
RH
198762006-01-24 Richard Henderson <rth@redhat.com>
19877
19878 PR libgomp/25942
19879 * configure.ac: Add AM_MAINTAINER_MODE.
19880 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
19881
149b9553
DN
198822006-01-24 Diego Novillo <dnovillo@redhat.com>
19883
19884 * Makefile.in: Regenerate.
19885 * testsuite/Makefile.in: Regenerate.
19886 * aclocal.m4: Regenerate.
19887
192a50ad
AT
198882006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
19889
19890 * config/posix/proc.c: Conditional include of sys/loadavg.h for
19891 Solaris.
19892 * configure.ac: Add check for loadavg.h.
19893 (link_gomp): Adjust comment.
19894 * configure: Regenerate.
19895 * config.h.in: Regenerate.
19896
a55b8e18
SE
198972006-01-21 Steve Ellcey <sje@cup.hp.com>
19898
19899 PR libgomp/25877
19900 * configure.ac: Remove check for alloca.h.
19901 * configure: Regenerate.
19902 * config.h.in: Regenerate.
19903 * libgomp.h: define gomp_alloca to be __builtin_alloca.
19904 * team.c: Remove use of alloca.h.
19905 Call gomp_alloca instead of alloca.
19906
692eeb34
SE
199072006-01-20 Steve Ellcey <sje@cup.hp.com>
19908
19909 PR libgomp/25877
19910 * team.c: Add include of alloca.h.
19911 * configure.ac: Add check for alloca.h.
19912 * configure: Regenerate.
19913 * config.h.in: Regenerate.
19914
953ff289
DN
199152006-01-17 Jakub Jelinek <jakub@redhat.com>
19916
19917 PR fortran/25219
19918 * testsuite/libgomp.fortran/pr25219.f90: New test.
19919
199202005-12-05 Uros Bizjak <uros@kss-loka.si>
19921
19922 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
19923 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
19924 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19925 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
19926 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
19927 testsuite/libgomp.fortran/threadprivate1.f90,
19928 testsuite/libgomp.fortran/threadprivate2.f90,
19929 testsuite/libgomp.fortran/threadprivate3.f90,
19930 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
19931 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
19932 testsuite/libgomp.fortran/omp_parse3.f90: Change required
19933 effective-target to TLS runtime.
19934
19935 * testsuite/libgomp.fortran/pr25162.f: Require
19936 effective-target TLS runtime.
19937
199382005-12-01 Jakub Jelinek <jakub@redhat.com>
19939
19940 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
19941 * testsuite/libgomp.c/nestedfn-3.c: New test.
19942
199432005-11-30 Jakub Jelinek <jakub@redhat.com>
19944
19945 PR fortran/25162
19946 * testsuite/libgomp.fortran/pr25162.f: New test.
19947
199482005-11-28 Jakub Jelinek <jakub@redhat.com>
19949
19950 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
19951 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
19952
199532005-11-25 Jakub Jelinek <jakub@redhat.com>
19954
19955 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
19956 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
19957 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
19958 single.c, team.c, work.c, config/linux/alpha/futex.h,
19959 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
19960 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
19961 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
19962 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
19963 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
19964 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
19965 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
19966 FSF address.
19967
199682005-11-18 Jakub Jelinek <jakub@redhat.com>
19969
19970 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
19971 to nodist_noinst_HEADERS.
19972 * Makefile.in: Rebuilt.
19973
19974 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
19975 add integer count field.
19976 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
19977 omp_nest_lock_t type change.
19978 (omp_init_nest_lock): Likewise. Initialize count to 0.
19979 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
19980 Increment count.
19981 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
19982 Decrement count.
19983 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
19984 Increment count if successful and return the new nesting level.
19985 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
19986 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
19987 * testsuite/libgomp.c/lib-1.c: New test.
19988 * testsuite/libgomp.fortran/lib1.f90: New test.
19989 * testsuite/libgomp.fortran/lib2.f: New test.
19990 * testsuite/libgomp.fortran/lib3.f: New test.
19991
199922005-11-17 Richard Henderson <rth@redhat.com>
19993
19994 PR 24845
19995 * Makefile.am (nodist_toolexeclib_HEADERS): New.
19996 * configure.ac (link_gomp): New. Substitute it.
19997 (AC_CONFIG_FILES): Add libgomp.spec.
19998 * libgomp.spec.in: New file.
19999 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20000 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20001
200022005-11-18 Jakub Jelinek <jakub@redhat.com>
20003
20004 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20005 reduction(-:var) behaving the same as reduction(+:var).
20006 * testsuite/libgomp.c/reduction-4.c: New test.
20007
200082005-11-15 Uros Bizjak <uros@kss-loka.si>
20009
20010 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20011 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20012 testsuite/libgomp.c/copyin-3.c,
20013 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20014 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20015 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20016 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: Require
20023 effective-target TLS.
20024
200252005-11-14 Diego Novillo <dnovillo@redhat.com>
20026
20027 * HEADER: Remove.
20028
200292005-11-13 Jakub Jelinek <jakub@redhat.com>
20030
20031 PR libgomp/24797
20032 * team.c (initialize_team): Pass NULL rather than free as
20033 pthread_key_create destructor. Initialize thread specific data
20034 pointer in initial thread to a static local variable rather than
20035 malloced memory.
20036
200372005-11-11 Uros Bizjak <uros@kss-loka.si>
20038
20039 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20040 its location to ld_library_path.
20041
200422005-11-10 Diego Novillo <dnovillo@redhat.com>
20043
20044 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20045
200462005-11-10 Diego Novillo <dnovillo@redhat.com>
20047
20048 * testsuite/libgomp.c: Rename from libgomp.dg.
20049
200502005-11-09 Diego Novillo <dnovillo@redhat.com>
20051
20052 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20053 threadprivate variable 'i'.
20054
200552005-11-09 Jakub Jelinek <jakub@redhat.com>
20056
20057 * config/linux/s390/futex.h: New file.
20058 * configure.tgt: Use it.
20059
20060 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20061 before the parallel.
20062
200632005-11-08 Jakub Jelinek <jakub@redhat.com>
20064
20065 PR c++/24734
20066 * testsuite/libgomp.c++/master-1.C: New test.
20067
200682005-11-07 Jakub Jelinek <jakub@redhat.com>
20069
20070 * testsuite/libgomp.dg/copyin-3.c: New test.
20071
200722005-11-07 Jakub Jelinek <jakub@redhat.com>
20073
20074 * testsuite/libgomp.fortran/retval1.f90: New test.
20075 * testsuite/libgomp.fortran/vla7.f90: New test.
20076
200772005-11-06 Jakub Jelinek <jakub@redhat.com>
20078
20079 * testsuite/libgomp.fortran/vla2.f90: New test.
20080 * testsuite/libgomp.fortran/vla3.f90: New test.
20081 * testsuite/libgomp.fortran/vla4.f90: New test.
20082 * testsuite/libgomp.fortran/vla5.f90: New test.
20083 * testsuite/libgomp.fortran/vla6.f90: New test.
20084
200852005-11-01 Jakub Jelinek <jakub@redhat.com>
20086
20087 * config/linux/sparc/futex.h: New file.
20088 * configure.tgt: Use it.
20089 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20090
20091 * critical.c: Include stdlib.h.
20092 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20093 ignoring return value.
20094 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20095 LIBGOMP_CHECK_SYNC_BUILTINS check.
20096 * configure: Rebuilt.
20097
200982005-10-31 Jakub Jelinek <jakub@redhat.com>
20099
20100 * testsuite/libgomp.fortran/vla1.f90: New test.
20101
201022005-10-31 Richard Henderson <rth@redhat.com>
20103
20104 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20105 setting 's' in different threads.
20106
201072005-10-31 Jakub Jelinek <jakub@redhat.com>
20108
20109 * libgomp.h (attribute_hidden, ialias): Define.
20110 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20111 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20112 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20113 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20114 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20115 omp_test_lock, omp_test_nest_lock): Likewise.
20116 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20117 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20118 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20119 omp_test_lock, omp_test_nest_lock): Likewise.
20120 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20121 omp_get_dynamic, omp_get_nested): Likewise.
20122 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20123 omp_get_thread_num, omp_in_parallel): Likewise.
20124 * fortran.c (ialias_redirect): Define.
20125 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20126 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20127 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20128 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20129 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20130 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20131 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20132 omp_get_wtime): Add ialias_redirect.
20133
201342005-10-30 Jakub Jelinek <jakub@redhat.com>
20135
20136 * fortran.c: Include stdlib.h.
20137
201382005-10-29 Jakub Jelinek <jakub@redhat.com>
20139
20140 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20141 * Makefile.in: Regenerated.
20142
201432005-10-28 Jakub Jelinek <jakub@redhat.com>
20144
20145 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20146 * libgomp_f.h.in (omp_check_defines): New function.
20147 * env.c: Include libgomp_f.h.
20148 (initialize_env): Call omp_check_defines.
20149
20150 * testsuite/libgomp.dg/copyin-2.c: New test.
20151 * testsuite/libgomp.c++/copyin-2.C: New test.
20152 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20153
20154 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20155 * testsuite/libgomp.fortran/sharing2.f90: New test.
20156
20157 * testsuite/libgomp.dg/copyin-1.c: New test.
20158 * testsuite/libgomp.c++/copyin-1.C: New test.
20159
201602005-10-26 Jakub Jelinek <jakub@redhat.com>
20161
20162 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20163
20164 * testsuite/libgomp.fortran/workshare1.f90: New test.
20165
20166 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20167 only test.
20168 * libgomp.fortran/sharing1.f90: New test.
20169
201702005-10-24 Jakub Jelinek <jakub@redhat.com>
20171
20172 PR c++/24502
20173 * testsuite/libgomp.c++/loop-7.C: New test.
20174
20175 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20176
20177 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20178 * testsuite/libgomp.fortran/reduction6.f90: New test.
20179 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20180
201812005-10-23 Richard Henderson <rth@redhat.com>
20182
20183 * testsuite/libgomp.c++/ctor-1.C: New.
20184 * testsuite/libgomp.c++/ctor-2.C: New.
20185 * testsuite/libgomp.c++/ctor-3.C: New.
20186 * testsuite/libgomp.c++/ctor-4.C: New.
20187 * testsuite/libgomp.c++/ctor-5.C: New.
20188 * testsuite/libgomp.c++/ctor-6.C: New.
20189 * testsuite/libgomp.c++/ctor-7.C: New.
20190 * testsuite/libgomp.c++/ctor-8.C: New.
20191 * testsuite/libgomp.c++/ctor-9.C: New.
20192
201932005-10-21 Diego Novillo <dnovillo@redhat.com>
20194
20195 PR 24455
20196 * testsuite/libgomp.c++/pr24455-1.C: New test.
20197 * testsuite/libgomp.c++/pr24455.C: New test.
20198 * testsuite/libgomp.dg/pr24455-1.c: New test.
20199 * testsuite/libgomp.dg/pr24455.c: New test.
20200
202012005-10-20 Richard Henderson <rth@redhat.com>
20202
20203 * testsuite/libgomp.c++/loop-6.C: New.
20204 * testsuite/libgomp.dg/loop-3.c: New.
20205
202062005-10-20 Jakub Jelinek <jakub@redhat.com>
20207
20208 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20209 explicitly private.
20210 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20211 explicitly shared.
20212
202132005-10-19 Diego Novillo <dnovillo@redhat.com>
20214
20215 * testsuite/libgomp.fortran/jacobi.f: New test.
20216
202172005-10-19 Richard Henderson <rth@redhat.com>
20218
20219 * configure.tgt (i?86-linux): Default to with_arch instead of
20220 CFLAGS. Add -mtune to match target_cpu.
20221 (x86_64-linux): Tune to i686.
20222
20223 * fortran.c (omp_test_nest_lock_): Fix typo.
20224
202252005-10-19 Jakub Jelinek <jakub@redhat.com>
20226
20227 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20228 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20229 * testsuite/libgomp.dg/ordered-3.c: New test.
20230
20231 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20232 Remove volatile keyword.
20233
20234 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20235 in COMMON block to avoid warnings on 64-bit targets.
20236
202372005-10-18 Diego Novillo <dnovillo@redhat.com>
20238
20239 * testsuite/libgomp.dg/shared-3.c: New test.
20240
202412005-10-18 Jakub Jelinek <jakub@redhat.com>
20242
20243 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20244 * testsuite/libgomp.fortran/reduction5.f90: New test.
20245
202462005-10-18 Jakub Jelinek <jakub@redhat.com>
20247
20248 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20249 dg-options.
20250 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20251 flush loop now that __sync_synchronize has proper memory barrier.
20252 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20253 Add -ffixed-form to dg-options.
20254
202552005-10-17 Diego Novillo <dnovillo@redhat.com>
20256
20257 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20258 from subdirectories.
20259 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20260 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20261 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20262 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20263 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20264 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20265 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20266 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20267 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20268 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20269 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20270 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20271 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20272 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20273 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20274 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20275 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20276 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20277 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20278 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20279 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20280 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20281 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20282 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20283 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20284
202852005-10-17 Jakub Jelinek <jakub@redhat.com>
20286
20287 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20288 lang_library_path exists. Use find instead of glob to gather tests.
20289 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20290
202912005-10-17 Diego Novillo <dnovillo@redhat.com>
20292
20293 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20294 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20295 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20296 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20297 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20298 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20299 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20300 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20301 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20302 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20303 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20304 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20305 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20306
203072005-10-15 Jakub Jelinek <jakub@redhat.com>
20308
20309 * testsuite/libgomp.dg/vla-1.c: New test.
20310
20311 * testsuite/libgomp.fortran/reference2.f90: New test.
20312
20313 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20314 declaration of omp_get_thread_num.
20315 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20316 use omp_lib.
20317
20318 * testsuite/libgomp.fortran/reduction1.f90: New test.
20319 * testsuite/libgomp.fortran/reduction2.f90: New test.
20320 * testsuite/libgomp.fortran/reduction3.f90: New test.
20321 * testsuite/libgomp.fortran/reduction4.f90: New test.
20322
203232005-10-13 Richard Henderson <rth@redhat.com>
20324
20325 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20326 * Makefile.in: Regenerate.
20327 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20328 * libgomp.h: Include bar.h.
20329 (struct gomp_barrier): Remove.
20330 (struct gomp_team): Add barrier. Replace master_barrier with
20331 master_release. Replace threads with ordered_release.
20332 (struct gomp_thread): Replace barrier with release.
20333 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20334 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20335 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20336 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20337 (GOMP_single_copy_end): Likewise.
20338 * team.c (gomp_threads_dock): New.
20339 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20340 (gomp_thread_start): Use gomp_barrier_wait.
20341 (new_team, free_team): Update for gomp_team changes.
20342 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20343 (gomp_team_end): Use gomp_barrier_wait.
20344 (initialize_team): Update for gomp_thread changes.
20345 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20346 (gomp_work_share_end_nowait): Use atomic ops when available.
20347 * config/linux/bar.c, config/linux/bar.h: New files.
20348 * config/posix/bar.c, config/posix/bar.h: New files.
20349
203502005-10-13 Jakub Jelinek <jakub@redhat.com>
20351
20352 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20353 * testsuite/libgomp.dg/single-2.c: New test.
20354
20355 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20356 lang_link_flags): Unset, so that they aren't inherited from previously
20357 sourced *.exp.
20358
20359 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20360
203612005-10-12 Richard Henderson <rth@redhat.com>
20362
20363 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20364 (libgomp_init): Use lang_test_file, lang_library_path, and
20365 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20366
20367 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20368 (lang_test_file, lang_link_flags): New.
20369 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20370
20371 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20372 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20373 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20374 testsuite/libgomp.c++/parallel-1.C,
20375 testsuite/libgomp.c++/reduction-1.C,
20376 testsuite/libgomp.c++/reduction-2.C,
20377 testsuite/libgomp.c++/reduction-3.C,
20378 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20379 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20380 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20381 New files, largely cribbed from the C testsuite.
20382
203832005-10-12 Jakub Jelinek <jakub@redhat.com>
20384
20385 * testsuite/libgomp.fortran/character1.f90: New test.
20386 * testsuite/libgomp.fortran/character2.f90: New test.
20387
20388 * testsuite/libgomp.dg/nested-1.c: New test.
20389 * testsuite/libgomp.dg/nested-2.c: New test.
20390 * testsuite/libgomp.fortran/do1.f90: New test.
20391 * testsuite/libgomp.fortran/do2.f90: New test.
20392
20393 * testsuite/libgomp.fortran/reference1.f90: New test.
20394
203952005-10-11 Jakub Jelinek <jakub@redhat.com>
20396
20397 * testsuite/libgomp.dg/reduction-1.c: New test.
20398 * testsuite/libgomp.dg/reduction-2.c: New test.
20399 * testsuite/libgomp.dg/reduction-3.c: New test.
20400
204012005-10-10 Jakub Jelinek <jakub@redhat.com>
20402
20403 * testsuite/libgomp.dg/atomic-1.c: New test.
20404 * testsuite/libgomp.dg/atomic-2.c: New test.
20405
204062005-10-09 Richard Henderson <rth@redhat.com>
20407
20408 * critical.c (atomic_lock): New.
20409 (initialize_critical): Initialize it.
20410 (GOMP_atomic_start, GOMP_atomic_end): New.
20411 * libgomp.map: Export them.
20412 * libgomp_g.h: Declare them.
20413
20414 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20415
204162005-10-02 Richard Henderson <rth@redhat.com>
20417
20418 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20419 to XCFLAGS instead of CFLAGS.
20420
204212005-09-30 Richard Henderson <rth@redhat.com>
20422
20423 * configure.ac: Determine whether -pthread or -lpthread is needed.
20424 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 20425 * Makefile.in, configure: Rebuild.
953ff289
DN
20426
204272005-09-28 Richard Henderson <rth@redhat.com>
20428
20429 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20430 * testsuite/libgomp.dg/omp-single-3.c: New test.
20431
204322005-09-28 Diego Novillo <dnovillo@redhat.com>
20433
20434 * testsuite/libgomp.dg/omp-single-2.c: New test.
20435 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20436
204372005-09-27 Richard Henderson <rth@redhat.com>
20438
20439 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20440 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20441
204422005-09-27 Jakub Jelinek <jakub@redhat.com>
20443
20444 * testsuite/libgomp.dg/omp-loop03.c: New test.
20445
204462005-09-27 Diego Novillo <dnovillo@redhat.com>
20447
20448 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20449
204502005-09-27 Diego Novillo <dnovillo@redhat.com>
20451
20452 * testsuite/libgomp.dg/omp-single-1.c: New test.
20453 * testsuite/libgomp.dg/shared-1.c: Return 0.
20454 Add prototype for abort.
20455 * testsuite/libgomp.dg/shared-2.c: Likewise.
20456
204572005-09-26 Jakub Jelinek <jakub@redhat.com>
20458
20459 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20460 constructs.
20461
204622005-09-26 Diego Novillo <dnovillo@redhat.com>
20463
20464 * testsuite/libgomp.dg/shared-1.c: New test.
20465 * testsuite/libgomp.dg/shared-2.c: New test.
20466
204672005-09-24 Richard Henderson <rth@redhat.com>
20468
20469 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20470
204712005-09-24 Richard Henderson <rth@redhat.com>
20472
20473 * iter.c (gomp_iter_static_next): Round up when computing number
20474 of iterations. Don't bother distributing a remainder equally.
20475
20476 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20477 Don't call srand. Zero b before testing.
20478 (main): New.
20479
204802005-09-24 Jakub Jelinek <jakub@redhat.com>
20481
20482 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20483 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20484
204852005-09-23 Jakub Jelinek <jakub@redhat.com>
20486
20487 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20488 without !$omp end do, followed immediately by subroutine end.
20489
204902005-09-23 Diego Novillo <dnovillo@redhat.com>
20491
20492 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20493
204942005-09-22 Richard Henderson <rth@redhat.com>
20495
20496 * critical.c (GOMP_critical_name_start): Change argument to void**.
20497 Reuse the pointer space if the mutex fits.
20498 (GOMP_critical_name_end): Likewise.
20499 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20500 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20501 (GOMP_critical_name_end): Likewise.
20502 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20503 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20504
205052005-09-20 Richard Henderson <rth@redhat.com>
20506
20507 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20508 (create_lock_lock): New.
20509 (initialize_critical): Initialize it.
20510 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20511 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20512
205132005-09-20 Diego Novillo <dnovillo@redhat.com>
20514
20515 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20516
205172005-09-20 Diego Novillo <dnovillo@redhat.com>
20518
20519 * testsuite/libgomp.dg/omp-loop01.c: New test.
20520 * testsuite/libgomp.dg/omp-loop02.c: New test.
20521
205222005-09-20 Jakub Jelinek <jakub@redhat.com>
20523
20524 * configure.ac (AC_PROG_FC): Add.
20525 (USE_FORTRAN): New automake conditional.
20526 * configure: Rebuilt.
20527 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20528 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20529 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20530 Add rules to build them.
20531 * Makefile.in: Rebuilt.
20532 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20533 OMP_NEST_LOCK_KIND.
20534 * libgomp.map: Add Fortran wrappers.
20535 * libgomp_f.h.in: New file.
20536 * omp_lib.h.in: New file.
20537 * omp_lib.f90.in: New file.
20538 * fortran.c: New file.
20539 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20540 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20541 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20542 libgfortran has been built.
20543 * testsuite/libgomp.fortran/fortran.exp: New file.
20544 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20545 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20546 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20547 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20548 * testsuite/libgomp.fortran/omp_hello.f: New test.
20549 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20550 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20551 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20552 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20553 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20554 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20555 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20556 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20557
205582005-08-30 Richard Henderson <rth@redhat.com>
20559
20560 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20561 function for when aliases are not usable.
20562 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20563 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20564 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20565 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20566 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20567 GOMP_loop_ordered_guided_next): Likewise.
20568 * ordered.c (GOMP_ordered_start): Likewise.
20569
205702005-08-01 Diego Novillo <dnovillo@redhat.com>
20571
20572 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20573 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20574 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20575 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20576 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20577 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20578 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20579 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20580 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20581
205822005-07-07 Eric Christopher <echristo@redhat.com>
20583 Diego Novillo <dnovillo@redhat.com>
20584
20585 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20586 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20587 up code.
20588 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20589 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20590 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20591 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20592 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20593 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20594 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20595
205962005-06-13 Diego Novillo <dnovillo@redhat.com>
20597
20598 * TOPLEVEL.patch: Remove.
20599
206002005-05-16 Richard Henderson <rth@redhat.com>
20601
20602 * configure.ac: Test for clock_gettime.
20603 * config.h.in, configure: Rebuild.
20604 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20605 (omp_get_wtime): Use clock_gettime if available.
20606 (omp_get_wtick): Use clock_getres if available.
20607
206082005-05-11 Richard Henderson <rth@redhat.com>
20609
20610 * config/linux/ia64/futex.h: New file.
20611 * configure.tgt: Use it.
20612
20613 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20614
206152005-05-07 Richard Henderson <rth@redhat.com>
20616
20617 * config/linux/powerpc/futex.h: New file.
20618 * configure.tgt: Use it.
20619
20620 * config/linux/i486/futex.h: Merge ...
20621 * config/linux/x86_64/futex.h: ... into ...
20622 * config/linux/x86/futex.h: ... here.
20623 * configure.tgt: Update to match.
20624
206252005-05-06 Richard Henderson <rth@redhat.com>
20626
20627 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20628 * config/linux/i486/futex.h: Likewise.
20629 * config/linux/x86_64/futex.h: Likewise.
20630
20631 * config/linux/lock.c: New file.
20632 * config/linux/omp-lock.h: New file.
20633
20634 * critical.c, env.h: Don't include omp.h
20635 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20636 * config/posix/time.c: Likewise.
20637 * config/posix/omp-lock.h: New file.
20638 * libgomp.h: Include omp-lock.h and omp.h.
20639 * Makefile.am (nodist_include_HEADERS): New.
20640 (omp.h): New rule.
20641 * configure.ac (PERL): New.
20642 * mkomp_h.pl: New file.
20643 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20644 with templates.
20645 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20646
20647 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20648 build directory. Re-add -march=i486 hack.
20649
20650 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20651 (libgomp_link_flags): Remove.
20652 (libgomp_initialized): Remove.
20653 (libgomp_init): Don't protect from reinitialization. Copy code
20654 from libstdc++ for getting the multilib set correctly.
20655
206562005-05-05 Richard Henderson <rth@redhat.com>
20657
20658 * config/linux/alpha/futex.h: New file.
20659 * configure.tgt (alpha*-*-linux*): Use it.
20660
20661 * config/posix/mutex.c: New file.
20662 * config/posix/sem.c: Use libgomp.h.
20663
20664 * configure.tgt (x86_64-linux): Also test CC for -m32.
20665 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20666
a1daed2d 20667 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
20668 after $gccpath.
20669
20670 * Makefile.am (SUBDIRS): New.
20671 (libgomp_la_LDFLAGS): Add -lpthread.
20672 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20673 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20674
20675 * libgomp_g.h: New file.
20676 * libgomp.h: Split out all public declarations to libgomp_g.h.
20677 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20678 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20679 * config/linux/sem.h: Likewise.
20680 * config/posix/sem.h: Likewise.
20681
20682 * Makefile.am (AM_LDFLAGS): New.
20683 (libgomp_version_script): Split out from ...
20684 (libgomp_la_LDFLAGS): ... here.
20685 (libgomp_version_info): New.
20686 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20687 (LIBGOMP_ENABLE): New.
20688 (LIBGOMP_CHECK_LINKER_FEATURES): New.
20689 (LIBGOMP_ENABLE_SYMVERS): New.
20690 * configure.ac (AC_INIT): Version 1.0.
20691 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20692 (enable-linux-futex): Likewise. Rename from enable-futex.
20693 (libtool_VERSION): New.
20694 (LIBGOMP_ENABLE_SYMVERS): Use it.
20695 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20696 * Makefile.in, aclocal.m4, configure: Rebuild.
20697
20698 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20699 (gomp_mutex_unlock_slow): Fix typo.
20700 * config/linux/sem.c: Similarly.
20701 (gomp_sem_post_slow): Fix typo.
20702 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20703 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20704 [__PIC__] (sys_futex0): Don't use tmp output in asm.
20705
20706 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20707 (libgomp_la_LDFLAGS): Add top_srcdir to path.
20708 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20709 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
20710 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20711 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20712 LDFLAGS. Pull enable_futex check to top-level.
20713 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
20714 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20715
20716 First attempt at real configury.
20717 * Makefile, config.h: Remove file.
20718 * Makefile.am, Makefile.in: New file.
20719 * acinclude.m4 aclocal.m4: New file.
20720 * configure.ac, configure.tgt, configure: New file.
20721
20722 * config/posix/lock.c: Rename from sys-lock.c.
20723 * config/posix/mutex.h: Rename from sys-mutex.h.
20724 * config/posix/sem.c: Rename from sys-sem.c.
20725 * config/posix/sem.h: Rename from sys-sem.h.
20726 * config/posix/proc.c: Rename from sys-proc.c.
20727 * config/posix/time.c: Rename from sys-proc.c.
20728
20729 * config/linux/mutex.c: New file.
20730 * config/linux/mutex.h: New file.
20731 * config/linux/sem.c: New file.
20732 * config/linux/sem.h: New file.
20733 * config/linux/i486/futex.h: New file.
20734 * config/linux/x86_64/futex.h: New file.
20735
207362005-05-04 Richard Henderson <rth@redhat.com>
20737
20738 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20739 * libgomp.h: Declare them.
20740 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20741 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20742
207432005-05-04 Richard Henderson <rth@redhat.com>
20744
20745 * libgomp-1 code drop
20746
207472005-05-04 Richard Henderson <rth@redhat.com>
20748
20749 * iter.c (gomp_iter_static_next): Return tri-state on 0.
20750 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20751 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20752 (gomp_iter_static_next): Update.
20753 (gomp_ordered_static_next): Update.
20754 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20755 (gomp_loop_ordered_static_start): Likewise. Exit early for a
20756 totally empty range.
20757 (gomp_loop_ordered_static_next): Refine test for calling
20758 gomp_ordered_static_next.
20759 * testsuite/ordered-1.c: Add case for more threads than iterations.
20760
20761 * iter.c (gomp_iter_runtime_next_locked): Remove.
20762 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 20763 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
20764 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20765 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20766 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20767 gomp_loop_ordered_guided_next): Downcase name, make static, add
20768 an external alias with the old name.
20769 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20770 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20771 switch and call one of the above static functions.
20772 * libgomp.h: Update.
20773
20774 * work.c (gomp_work_share_start): Lock the mutex for !first too.
20775 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20776 GOMP_loop_guided_start, GOMP_loop_runtime_start,
20777 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20778 GOMP_loop_ordered_guided_start): Update to match.
20779 * sections.c (GOMP_sections_start): Likewise.
20780 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20781
20782 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20783 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20784 Use bounds check instead of modulus.
20785 (gomp_ordered_sync): Split out of GOMP_ordered_start.
20786 (gomp_ordered_last): Don't sync with ordered_owner here.
20787 (gomp_ordered_next): Likewise.
20788 (gomp_ordered_static_loop_next): Likewise.
20789 * loop.c, libgomp.h: Update to match.
20790
20791 * libgomp.h (GOMP_barrier): Declare.
20792
20793 * testsuite/barrier-1.c: New file.
20794 * testsuite/critical-1.c: New file.
20795 * testsuite/ordered-2.c: New file.
20796 * testsuite/ordered-1.c: New file.
20797 * testsuite/sections-1.c: New file.
20798 * testsuite/single-1.c: New file.
20799 * testsuite/Makefile (TESTS): Add them.
20800
208012005-05-04 Richard Henderson <rth@redhat.com>
20802
20803 * libgomp.h (struct gomp_work_share): Add ordered_owner.
20804 * loop.c (GOMP_loop_static_start): If not the startup thread,
20805 acquire the mutex to wait for initialization complete.
20806 (GOMP_loop_ordered_static_start): Likewise.
20807 (GOMP_loop_ordered_runtime_start): Likewise.
20808 (GOMP_loop_ordered_static_first): Remove.
20809 (GOMP_loop_ordered_dynamic_first): Remove.
20810 (GOMP_loop_ordered_guided_first): Remove.
20811 (GOMP_loop_ordered_runtime_first): Remove.
20812 * ordered.c (gomp_ordered_loop_first): Post to own release when
20813 we're the first thread.
20814 (gomp_ordered_loop_last): Wait on release if not owner.
20815 (gomp_ordered_loop_next): Likewise.
20816 (gomp_ordered_static_loop_init): New.
20817 (gomp_ordered_static_loop_next): Use ordered_owner.
20818 (GOMP_ordered_start): Likewise.
20819 * work.c (gomp_new_work_share): Initialize ordered_owner.
20820
208212005-05-03 Richard Henderson <rth@redhat.com>
20822
20823 * Makefile (OPT): New.
20824 (CFLAGS): Use it.
20825
20826 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
20827 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
20828 * libgomp.h, libgomp.map, NOTES: Update to match.
20829
20830 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
20831 Add initialized and thr members.
20832 (gomp_thread_start): Pause when initially spawned to wait for
20833 the whole team to be created.
20834 (gomp_team_start): Release team members at the end.
20835
20836 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
20837 (f_foo_1): Use GOMP_loop_end.
20838 (f_foo_2): Use GOMP_loop_end_nowait.
20839
20840 * testsuite/loop-2.c: New file.
20841 * testsuite/Makefile (TESTS): Add it.
20842
208432005-05-03 Richard Henderson <rth@redhat.com>
20844
20845 * iter.c (gomp_iter_static_next): Fix overflow check typo.
20846 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
20847 * team.c (new_team): Initialize oldest_live_gen to 1 if no
20848 initial work_share.
20849
20850 * testsuite/Makefile: New file.
20851 * testsuite/loop-1.c: New file.
20852
208532005-05-03 Richard Henderson <rth@redhat.com>
20854
20855 Initial implementation and checkin.
21fa2a29 20856\f
6a720d41 20857Copyright (C) 2005-2024 Free Software Foundation, Inc.
21fa2a29
JJ
20858
20859Copying and distribution of this file, with or without modification,
20860are permitted in any medium without royalty provided the copyright
20861notice and this notice are preserved.