]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
libstdc++: Fix Unicode property detection functions
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
6b1d6a2d
GA
12024-01-08 Thomas Schwinge <thomas@codesourcery.com>
2
3 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
4 'EF_AMDGPU_MACH_AMDGCN_GFX1100'.
5
62024-01-08 Julian Brown <julian@codesourcery.com>
7
8 * plugin/plugin-gcn.c (hsa_runtime_fn_info): Add
9 hsa_amd_memory_lock_fn, hsa_amd_memory_unlock_fn,
10 hsa_amd_memory_async_copy_rect_fn function pointers.
11 (init_hsa_runtime_functions): Add above functions, with
12 DLSYM_OPT_FN.
13 (GOMP_OFFLOAD_memcpy2d, GOMP_OFFLOAD_memcpy3d): New functions.
14
152024-01-08 Tobias Burnus <tobias@codesourcery.com>
16
17 * plugin/plugin-gcn.c (gcn_gfx1100_s): New const string.
18 (gcn_isa_name_len): Fix length.
19 (isa_hsa_name, isa_code, max_isa_vgprs): Handle gfx1100.
20
b368d799
GA
212024-01-06 Tobias Burnus <tobias@codesourcery.com>
22
23 * libgomp.texi (OpenMP Technical Report 12): Fix a typo.
24 (Device Memory Routines): Fix OpenMP 5.1 spec refs; add
25 omp_target_is_accessible.
26 (Environment Display Routine): Uncomment and add
27 omp_display_env description.
28 (OMP_DISPLAY_ENV): Update wording, add 'see also'.
29
302024-01-06 Mark Wielaard <mark@klomp.org>
31
32 * configure: Regenerate.
33
eb84e8d3
GA
342024-01-03 Jakub Jelinek <jakub@redhat.com>
35
36 * libgomp.texi: Bump @copying's copyright year.
37
cdfaa4aa
GA
382023-12-21 Julian Brown <julian@codesourcery.com>
39
40 * testsuite/libgomp.fortran/target-enter-data-6.f90: Remove XFAIL.
41
7ad9058c
GA
422023-12-20 Julian Brown <julian@codesourcery.com>
43
44 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d): Adjust parameters to
45 avoid out-of-bounds array checks in CUDA runtime.
46 (GOMP_OFFLOAD_memcpy3d): Likewise.
47 * testsuite/libgomp.c-c++-common/memcpyxd-bias-1.c: New test.
48
08c5d26a
GA
492023-12-18 Jakub Jelinek <jakub@redhat.com>
50
51 * testsuite/libgomp.c/declare-variant-1.c: Restrict the test to x86,
52 drop because of that unneeded target selector from other directives
53 and remove the aarch64 specific ones.
54
ea54b390
GA
552023-12-15 Andre Vieira <andre.simoesdiasvieira@arm.com>
56
57 * testsuite/libgomp.c/declare-variant-1.c: Fixed test.
58 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
59
602023-12-15 Thomas Schwinge <thomas@codesourcery.com>
61
62 * testsuite/libgomp.fortran/map-subarray-5.f90: Restrict
63 'dg-output's to 'target offload_device_nonshared_as'.
64
652023-12-15 Julian Brown <julian@codesourcery.com>
66
67 * oacc-mem.c (find_group_last, goacc_enter_data_internal,
68 goacc_exit_data_internal, GOACC_enter_exit_data): Add
69 GOMP_MAP_STRUCT_UNORD support.
70 * target.c (gomp_map_vars_internal): Add GOMP_MAP_STRUCT_UNORD support.
71 Detect incorrect use of variable indexing of arrays of structs.
72 (GOMP_target_enter_exit_data, gomp_target_task_fn): Add
73 GOMP_MAP_STRUCT_UNORD support.
74 * testsuite/libgomp.c-c++-common/map-arrayofstruct-1.c: New test.
75 * testsuite/libgomp.c-c++-common/map-arrayofstruct-2.c: New test.
76 * testsuite/libgomp.c-c++-common/map-arrayofstruct-3.c: New test.
77 * testsuite/libgomp.fortran/map-subarray-5.f90: New test.
78
e8018ccf
GA
792023-12-13 Julian Brown <julian@codesourcery.com>
80
81 * testsuite/libgomp.fortran/map-subarray.f90: New test.
82 * testsuite/libgomp.fortran/map-subarray-2.f90: New test.
83 * testsuite/libgomp.fortran/map-subarray-3.f90: New test.
84 * testsuite/libgomp.fortran/map-subarray-4.f90: New test.
85 * testsuite/libgomp.fortran/map-subarray-6.f90: New test.
86 * testsuite/libgomp.fortran/map-subarray-7.f90: New test.
87 * testsuite/libgomp.fortran/map-subarray-8.f90: New test.
88 * testsuite/libgomp.fortran/map-subcomponents.f90: New test.
89 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Adjust for
90 descriptor-mapping changes. Remove XFAIL.
91
922023-12-13 Julian Brown <julian@codesourcery.com>
93
94 * target.c (gomp_map_pointer): Modify zero-length array section
95 pointer handling.
96 (gomp_attach_pointer): Likewise.
97 (gomp_map_fields_existing): Use gomp_map_0len_lookup.
98 (gomp_attach_pointer): Allow attaching null pointers (or Fortran
99 "unassociated" pointers).
100 (gomp_map_vars_internal): Handle zero-sized struct members. Add
101 diagnostic for unmapped struct pointer members.
102 * testsuite/libgomp.c-c++-common/baseptrs-1.c: New test.
103 * testsuite/libgomp.c-c++-common/baseptrs-2.c: New test.
104 * testsuite/libgomp.c-c++-common/baseptrs-6.c: New test.
105 * testsuite/libgomp.c-c++-common/baseptrs-7.c: New test.
106 * testsuite/libgomp.c-c++-common/ptr-attach-2.c: New test.
107 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: Fix missing
108 "free".
109 * testsuite/libgomp.c-c++-common/target-implicit-map-5.c: New test.
110 * testsuite/libgomp.c-c++-common/target-map-zlas-1.c: New test.
111 * testsuite/libgomp.c++/class-array-1.C: New test.
112 * testsuite/libgomp.c++/baseptrs-3.C: New test.
113 * testsuite/libgomp.c++/baseptrs-4.C: New test.
114 * testsuite/libgomp.c++/baseptrs-5.C: New test.
115 * testsuite/libgomp.c++/baseptrs-8.C: New test.
116 * testsuite/libgomp.c++/baseptrs-9.C: New test.
117 * testsuite/libgomp.c++/ref-mapping-1.C: New test.
118 * testsuite/libgomp.c++/target-48.C: New test.
119 * testsuite/libgomp.c++/target-49.C: New test.
120 * testsuite/libgomp.c++/target-exit-data-reftoptr-1.C: New test.
121 * testsuite/libgomp.c++/target-lambda-1.C: Update for OpenMP 5.2
122 semantics.
123 * testsuite/libgomp.c++/target-this-3.C: Likewise.
124 * testsuite/libgomp.c++/target-this-4.C: Likewise.
125 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Add temporary XFAIL.
126 * testsuite/libgomp.fortran/target-enter-data-6.f90: Likewise.
127
1282023-12-13 Thomas Schwinge <thomas@codesourcery.com>
129
130 * config/linux/allocator.c (linux_memspace_alloc): Fix 'size_t'
131 vs. '%ld' format string mismatch.
132
1332023-12-13 Andrew Stubbs <ams@codesourcery.com>
134 Thomas Schwinge <thomas@codesourcery.com>
135
136 * allocator.c (MEMSPACE_ALLOC): Add PIN.
137 (MEMSPACE_CALLOC): Add PIN.
138 (MEMSPACE_REALLOC): Add PIN.
139 (MEMSPACE_FREE): Add PIN.
140 (MEMSPACE_VALIDATE): Add PIN.
141 (omp_init_allocator): Use MEMSPACE_VALIDATE to check pinning.
142 (omp_aligned_alloc): Add pinning to all MEMSPACE_* calls.
143 (omp_aligned_calloc): Likewise.
144 (omp_realloc): Likewise.
145 (omp_free): Likewise.
146 * config/linux/allocator.c: New file.
147 * config/nvptx/allocator.c (MEMSPACE_ALLOC): Add PIN.
148 (MEMSPACE_CALLOC): Add PIN.
149 (MEMSPACE_REALLOC): Add PIN.
150 (MEMSPACE_FREE): Add PIN.
151 (MEMSPACE_VALIDATE): Add PIN.
152 * config/gcn/allocator.c (MEMSPACE_ALLOC): Add PIN.
153 (MEMSPACE_CALLOC): Add PIN.
154 (MEMSPACE_REALLOC): Add PIN.
155 (MEMSPACE_FREE): Add PIN.
156 * libgomp.texi: Switch pinned trait to supported.
157 (MEMSPACE_VALIDATE): Add PIN.
158 * testsuite/libgomp.c/alloc-pinned-1.c: New test.
159 * testsuite/libgomp.c/alloc-pinned-2.c: New test.
160 * testsuite/libgomp.c/alloc-pinned-3.c: New test.
161 * testsuite/libgomp.c/alloc-pinned-4.c: New test.
162
d5c96225
GA
1632023-12-11 Lipeng Zhu <lipeng.zhu@intel.com>
164
165 * testsuite/libgomp.fortran/rwlock_1.f90: New file.
166 * testsuite/libgomp.fortran/rwlock_2.f90: New file.
167 * testsuite/libgomp.fortran/rwlock_3.f90: New file.
168
1692023-12-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
170
171 * testsuite/libgomp.c/declare-variant-1.c: Adapt test for aarch64.
172 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
173
1742023-12-11 Tobias Burnus <tobias@codesourcery.com>
175
176 * libgomp_g.h (GOMP_add_alloc, GOMP_is_alloc): Add.
177
dd3b75d8
GA
1782023-12-08 Tobias Burnus <tobias@codesourcery.com>
179
180 * allocator.c (struct fort_alloc_splay_tree_key_s,
181 fort_alloc_splay_compare, GOMP_add_alloc, GOMP_is_alloc): New.
182 * libgomp.h: Define splay_tree_static for 'reverse' splay tree.
183 * libgomp.map (GOMP_5.1.2): New; add GOMP_add_alloc and
184 GOMP_is_alloc; move GOMP_target_map_indirect_ptr from ...
185 (GOMP_5.1.1): ... here.
186 * libgomp.texi (Impl. Status, Memory management): Update for
187 allocators/allocate directives.
188 * splay-tree.c: Handle splay_tree_static define to declare all
189 functions as static.
190 (splay_tree_lookup_node): New.
191 * splay-tree.h: Handle splay_tree_decl_only define.
192 (splay_tree_lookup_node): New prototype.
193 * target.c: Define splay_tree_static for 'reverse'.
194 * testsuite/libgomp.fortran/allocators-1.f90: New test.
195 * testsuite/libgomp.fortran/allocators-2.f90: New test.
196 * testsuite/libgomp.fortran/allocators-3.f90: New test.
197 * testsuite/libgomp.fortran/allocators-4.f90: New test.
198 * testsuite/libgomp.fortran/allocators-5.f90: New test.
199
ae9e48e5
GA
2002023-12-06 Andrew Stubbs <ams@codesourcery.com>
201
202 * config/gcn/libgomp-gcn.h (TEAM_ARENA_START): Move to here.
203 (TEAM_ARENA_FREE): Likewise.
204 (TEAM_ARENA_END): Likewise.
205 (GCN_LOWLAT_HEAP): New.
206 * config/gcn/team.c (LITTLEENDIAN_CPU): New, and import hsa.h.
207 (__gcn_lowlat_init): New prototype.
208 (gomp_gcn_enter_kernel): Initialize the low-latency heap.
209 * libgomp.h (TEAM_ARENA_START): Move to libgomp.h.
210 (TEAM_ARENA_FREE): Likewise.
211 (TEAM_ARENA_END): Likewise.
212 * plugin/plugin-gcn.c (lowlat_size): New variable.
213 (print_kernel_dispatch): Label the group_segment_size purpose.
214 (init_environment_variables): Read GOMP_GCN_LOWLAT_POOL.
215 (create_kernel_dispatch): Pass low-latency head allocation to kernel.
216 (run_kernel): Use shadow; don't assume values.
217 * testsuite/libgomp.c/omp_alloc-traits.c: Enable for amdgcn.
218 * config/gcn/allocator.c: New file.
219 * libgomp.texi: Document low-latency implementation details.
220
2212023-12-06 Andrew Stubbs <ams@codesourcery.com>
222
223 * allocator.c (MEMSPACE_VALIDATE): New macro.
224 (omp_init_allocator): Use MEMSPACE_VALIDATE.
225 (omp_aligned_alloc): Use OMP_LOW_LAT_MEM_ALLOC_INVALID.
226 (omp_aligned_calloc): Likewise.
227 (omp_realloc): Likewise.
228 * config/nvptx/allocator.c (nvptx_memspace_validate): New function.
229 (MEMSPACE_VALIDATE): New macro.
230 (OMP_LOW_LAT_MEM_ALLOC_INVALID): New define.
231 * libgomp.texi: Document low-latency implementation details.
232 * testsuite/libgomp.c/omp_alloc-1.c (main): Add gnu_lowlat.
233 * testsuite/libgomp.c/omp_alloc-2.c (main): Add gnu_lowlat.
234 * testsuite/libgomp.c/omp_alloc-3.c (main): Add gnu_lowlat.
235 * testsuite/libgomp.c/omp_alloc-4.c (main): Add access trait.
236 * testsuite/libgomp.c/omp_alloc-5.c (main): Add gnu_lowlat.
237 * testsuite/libgomp.c/omp_alloc-6.c (main): Add access trait.
238 * testsuite/libgomp.c/omp_alloc-traits.c: New test.
239
2402023-12-06 Andrew Stubbs <ams@codesourcery.com>
241 Kwok Cheung Yeung <kcy@codesourcery.com>
242 Thomas Schwinge <thomas@codesourcery.com>
243
244 * allocator.c (MEMSPACE_ALLOC): New macro.
245 (MEMSPACE_CALLOC): New macro.
246 (MEMSPACE_REALLOC): New macro.
247 (MEMSPACE_FREE): New macro.
248 (predefined_alloc_mapping): New array. Add _Static_assert to match.
249 (ARRAY_SIZE): New macro.
250 (omp_aligned_alloc): Use MEMSPACE_ALLOC.
251 Implement fall-backs for predefined allocators. Simplify existing
252 fall-backs.
253 (omp_free): Use MEMSPACE_FREE.
254 (omp_calloc): Use MEMSPACE_CALLOC. Implement fall-backs for
255 predefined allocators. Simplify existing fall-backs.
256 (omp_realloc): Use MEMSPACE_REALLOC, MEMSPACE_ALLOC, and MEMSPACE_FREE.
257 Implement fall-backs for predefined allocators. Simplify existing
258 fall-backs.
259 * config/nvptx/team.c (__nvptx_lowlat_pool): New asm variable.
260 (__nvptx_lowlat_init): New prototype.
261 (gomp_nvptx_main): Call __nvptx_lowlat_init.
262 * libgomp.texi: Update memory space table.
263 * plugin/plugin-nvptx.c (lowlat_pool_size): New variable.
264 (GOMP_OFFLOAD_init_device): Read the GOMP_NVPTX_LOWLAT_POOL envvar.
265 (GOMP_OFFLOAD_run): Apply lowlat_pool_size.
266 * basic-allocator.c: New file.
267 * config/nvptx/allocator.c: New file.
268 * testsuite/libgomp.c/omp_alloc-1.c: New test.
269 * testsuite/libgomp.c/omp_alloc-2.c: New test.
270 * testsuite/libgomp.c/omp_alloc-3.c: New test.
271 * testsuite/libgomp.c/omp_alloc-4.c: New test.
272 * testsuite/libgomp.c/omp_alloc-5.c: New test.
273 * testsuite/libgomp.c/omp_alloc-6.c: New test.
274
8428bcd7
GA
2752023-11-30 Thomas Schwinge <thomas@codesourcery.com>
276
277 * testsuite/libgomp.c/declare-variant-4-fiji.c: Adjust.
278 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
279 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
280 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
281 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
282 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
283 * testsuite/libgomp.c/declare-variant-4.h: Likewise.
284 * testsuite/libgomp.c/declare-variant-4.c: New.
285
2862023-11-30 Thomas Schwinge <thomas@codesourcery.com>
287
288 * testsuite/libgomp.c/declare-variant-3-sm30.c: Turn 'dg-do run'
289 into 'dg-do link'.
290 * testsuite/libgomp.c/declare-variant-3.c: New.
291 * testsuite/libgomp.c/declare-variant-3.h: Extend.
292
2932023-11-30 Thomas Schwinge <thomas@codesourcery.com>
294
295 * testsuite/libgomp.c/declare-variant-3-sm30.c: Restrict
296 'scan-offload-tree-dump' to 'only_for_offload_target nvptx-none'.
297 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
298 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
299 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
300 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
301 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
302 * testsuite/libgomp.c/declare-variant-4-fiji.c: Restrict
303 'scan-offload-tree-dump' to
304 'only_for_offload_target amdgcn-amdhsa'.
305 * testsuite/libgomp.c/declare-variant-4-gfx803.c: Likewise.
306 * testsuite/libgomp.c/declare-variant-4-gfx900.c: Likewise.
307 * testsuite/libgomp.c/declare-variant-4-gfx906.c: Likewise.
308 * testsuite/libgomp.c/declare-variant-4-gfx908.c: Likewise.
309 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: Likewise.
310
3112023-11-30 Thomas Schwinge <thomas@codesourcery.com>
312
313 * testsuite/libgomp.c/declare-variant-3-sm30.c:
314 'dg-additional-options -foffload=nvptx-none'.
315 * testsuite/libgomp.c/declare-variant-3-sm35.c: Likewise.
316 * testsuite/libgomp.c/declare-variant-3-sm53.c: Likewise.
317 * testsuite/libgomp.c/declare-variant-3-sm70.c: Likewise.
318 * testsuite/libgomp.c/declare-variant-3-sm75.c: Likewise.
319 * testsuite/libgomp.c/declare-variant-3-sm80.c: Likewise.
320
31d8cf17
GA
3212023-11-29 Thomas Schwinge <thomas@codesourcery.com>
322
323 * testsuite/libgomp.c/target-simd-clone-1.c: Restrict
324 'scan-offload-ipa-dump's to
325 'only_for_offload_target amdgcn-amdhsa'.
326 * testsuite/libgomp.c/target-simd-clone-2.c: Likewise.
327 * testsuite/libgomp.c/target-simd-clone-3.c: Likewise.
328
77cf1dba
GA
3292023-11-24 Tobias Burnus <tobias@codesourcery.com>
330
331 * libgomp.texi (5.2 Impl. Status): An argument to the destroy clause
332 is now supported.
333
26a7e775
GA
3342023-11-22 Thomas Schwinge <thomas@codesourcery.com>
335
336 * testsuite/libgomp.c/declare-variant-3.h (f30, f35, f53, f70)
337 (f75, f80, f): Add '__attribute__ ((noipa))'.
338 * testsuite/libgomp.c/declare-variant-4.h (gfx803, gfx900, gfx906)
339 (gfx908, gfx90a, f): Likewise.
340
17cc2e57
GA
3412023-11-15 Andrew Stubbs <ams@codesourcery.com>
342 Andrew Jenner <andrew@codesourcery.com>
343
344 * plugin/plugin-gcn.c (max_isa_vgprs): New.
345 (run_kernel): CDNA2 devices have more VGPRs.
346
b9fd8399
GA
3472023-11-10 Tobias Burnus <tobias@codesourcery.com>
348
349 * libgomp.texi (OpenMP Impl. Status): Update for OpenMP TR12;
350 renamed section from TR11.
351
c48f1056
GA
3522023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
353
354 * config/linux/target-indirect.c: Move to...
355 * target-indirect.c: ...here.
356
3572023-11-07 Kwok Cheung Yeung <kcy@codesourcery.com>
358
359 * Makefile.am (libgomp_la_SOURCES): Add target-indirect.c.
360 * Makefile.in: Regenerate.
361 * libgomp-plugin.h (GOMP_INDIRECT_ADDR_MAP): New define.
362 (GOMP_OFFLOAD_load_image): Add extra argument.
363 * libgomp.h (struct indirect_splay_tree_key_s): New.
364 (indirect_splay_tree_node, indirect_splay_tree,
365 indirect_splay_tree_key): New.
366 (indirect_splay_compare): New.
367 * libgomp.map (GOMP_5.1.1): Add GOMP_target_map_indirect_ptr.
368 * libgomp.texi (OpenMP 5.1): Update documentation on indirect
369 calls in target region and on indirect clause.
370 (Other new OpenMP 5.2 features): Add entry for virtual function calls.
371 * libgomp_g.h (GOMP_target_map_indirect_ptr): Add prototype.
372 * oacc-host.c (host_load_image): Add extra argument.
373 * target.c (gomp_load_image_to_device): If the GOMP_VERSION is high
374 enough, read host indirect functions table and pass to
375 load_image_func.
376 * config/accel/target-indirect.c: New.
377 * config/linux/target-indirect.c: New.
378 * config/gcn/team.c (build_indirect_map): Add prototype.
379 (gomp_gcn_enter_kernel): Initialize support for indirect
380 function calls on GCN target.
381 * config/nvptx/team.c (build_indirect_map): Add prototype.
382 (gomp_nvptx_main): Initialize support for indirect function
383 calls on NVPTX target.
384 * plugin/plugin-gcn.c (struct gcn_image_desc): Add field for
385 indirect functions count.
386 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
387 is high enough, build address translation table and copy it to target
388 memory.
389 * plugin/plugin-nvptx.c (nvptx_tdata): Add field for indirect
390 functions count.
391 (GOMP_OFFLOAD_load_image): Add extra argument. If the GOMP_VERSION
392 is high enough, Build address translation table and copy it to target
393 memory.
394 * testsuite/libgomp.c-c++-common/declare-target-indirect-1.c: New.
395 * testsuite/libgomp.c-c++-common/declare-target-indirect-2.c: New.
396 * testsuite/libgomp.c++/declare-target-indirect-1.C: New.
397
459866ea
GA
3982023-11-05 Jakub Jelinek <jakub@redhat.com>
399
400 * libgomp.texi (Enabling OpenMP): Adjust wording for attribute syntax
401 supported also in C.
402
eac0917b
GA
4032023-10-31 Thomas Schwinge <thomas@codesourcery.com>
404
405 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Add OpenACC
406 'acc_map_data' variant.
407
f75fc1f0
GA
4082023-10-25 Thomas Schwinge <thomas@codesourcery.com>
409
410 * oacc-parallel.c (GOACC_data_start): Handle
411 'GOACC_FLAG_LOCAL_DEVICE'.
412 (GOACC_parallel_keyed): Simplify accordingly.
413 * testsuite/libgomp.oacc-fortran/self-1.f90: Adjust.
414
4152023-10-25 Thomas Schwinge <thomas@codesourcery.com>
416
417 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Enhance.
418 * testsuite/libgomp.oacc-c-c++-common/self-1.c: Likewise.
419 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
420 * testsuite/libgomp.oacc-c-c++-common/if-self-1.c: New.
421 * testsuite/libgomp.oacc-fortran/self-1.f90: Likewise.
422
4232023-10-25 Chung-Lin Tang <cltang@codesourcery.com>
424
425 * oacc-parallel.c (GOACC_parallel_keyed): Add code to handle
426 GOACC_FLAG_LOCAL_DEVICE case.
427 * testsuite/libgomp.oacc-c-c++-common/self-1.c: New test.
428
3b632746
GA
4292023-10-22 Iain Sandoe <iain@sandoe.co.uk>
430
431 * Makefile.am: Handle Darwin rpaths.
432 * Makefile.in: Regenerate.
433 * configure: Regenerate.
434 * configure.ac: Handle Darwin rpaths
435
6f684dd2
GA
4362023-10-20 Andrew Stubbs <ams@codesourcery.com>
437
438 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX1030): New.
439 (isa_hsa_name): Recognise gfx1030.
440 (isa_code): Likewise.
441 * team.c (defined): Remove s_endpgm.
442
4432023-10-20 Tobias Burnus <tobias@codesourcery.com>
444
445 * omp_lib.f90.in: Tag omp_lock_hint_* as being deprecated when
446 _OPENMP >= 201811.
447
d5cfabc6
GA
4482023-10-15 Tobias Burnus <tobias@codesourcery.com>
449
450 * libgomp.texi (Enabling OpenMP): Update for C/C++ attributes;
451 improve wording especially for Fortran; mention -fopenmp-simd.
452 (Enabling OpenACC): Minor cleanup; remove conditional compilation
453 sentinel.
454
4552023-10-15 Tobias Burnus <tobias@codesourcery.com>
456
457 * libgomp.texi (ACC_DEVICE_TYPE, ACC_DEVICE_NUM, ACC_PROFLIB):
458 Actually document what the function does.
459 (GCC_ACC_NOTIFY): Remove unused env var.
460
4612023-10-15 Tobias Burnus <tobias@codesourcery.com>
462
463 * libgomp.texi: Replace most future tense by present tense.
464
b3cb98d7
GA
4652023-10-14 Tobias Burnus <tobias@codesourcery.com>
466
467 * testsuite/libgomp.fortran/allocate-6.f90: Add missing
468 dg-additional-options "-fdump-tree-gimple"; fix scan.
469
4702023-10-14 Tobias Burnus <tobias@codesourcery.com>
471
472 * libgomp.texi: Fix some typos.
473 (Memory Management Routines): Document remaining 5.x routines.
474 (Memory allocation): Make clear when the section applies.
475
4762023-10-14 Tobias Burnus <tobias@codesourcery.com>
477
478 * libgomp.texi (OpenMP Impl. Status): Mention that Fortran now
479 supports the allocate directive for stack variables.
480 * testsuite/libgomp.fortran/allocate-5.f90: New test.
481 * testsuite/libgomp.fortran/allocate-6.f90: New test.
482 * testsuite/libgomp.fortran/allocate-7.f90: New test.
483 * testsuite/libgomp.fortran/allocate-8.f90: New test.
484
f9ef2e6d
GA
4852023-10-12 Tobias Burnus <tobias@codesourcery.com>
486
487 * libgomp.texi (OMP_DEFAULT_DEVICE): Update spec ref; add @ref to
488 OMP_TARGET_OFFLOAD.
489 (OMP_TARGET_OFFLOAD): Update spec ref; add @ref to OMP_DEFAULT_DEVICE;
490 clarify MANDATORY behavior.
491
4922023-10-12 Zhang, Jun <jun.zhang@intel.com>
493
494 * env.c (initialize_env): Use do_adjust_default_spincount.
495 * config/linux/x86/spincount.h: New file.
496
00c67d62
GA
4972023-10-08 Tobias Burnus <tobias@codesourcery.com>
498
499 * testsuite/libgomp.fortran/strictly-structured-block-1.f90: New test.
500
0defa2a0
GA
5012023-10-06 Tobias Burnus <tobias@codesourcery.com>
502
503 * libgomp.texi (Device Memory Routines): New.
504
bf2e66e3
GA
5052023-10-04 Tobias Burnus <tobias@codesourcery.com>
506
507 * libgomp.texi (OpenMP Context Selectors): Clarify 'kind' trait
508 and that other target archs have no 'arch'/'isa' traits implemented.
509
4907d220
GA
5102023-09-20 Tobias Burnus <tobias@codesourcery.com>
511
512 * libgomp.texi (OpenMP 5.1 Impl.): Mark 'omp allocate' as
513 implemented for C only.
514 * testsuite/libgomp.c/allocate-4.c: New test.
515 * testsuite/libgomp.c/allocate-5.c: New test.
516 * testsuite/libgomp.c/allocate-6.c: New test.
517
5182023-09-20 Jakub Jelinek <jakub@redhat.com>
519
520 PR c++/111392
521 * libgomp.texi: Mark decl attribute was added to the C++ attribute
522 syntax as implemented.
523
590a8bec
GA
5242023-09-19 Jakub Jelinek <jakub@redhat.com>
525
526 PR libgomp/111413
527 * env.c (initialize_env): Don't dereference environ if it is NULL.
528 Reindent.
529
6b78e9a5
GA
5302023-09-18 Richard Biener <rguenther@suse.de>
531
532 PR tree-optimization/111294
533 * team.c (gomp_team_start): Assert alloca size to avoid false
534 positive alloc-size diagnostic.
535
a1c20158
GA
5362023-09-12 Thomas Schwinge <thomas@codesourcery.com>
537 Chung-Lin Tang <cltang@codesourcery.com>
538
539 PR testsuite/91884
540 PR testsuite/109951
541 * configure.ac: Revert earlier changes, instead
542 'AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)'.
543 * Makefile.in: Regenerate.
544 * configure: Likewise.
545 * testsuite/Makefile.in: Likewise.
546 * testsuite/lib/libgomp.exp (libgomp_init): Remove
547 "Fix up '-funconfigured-libstdc++-v3' in 'GXX_UNDER_TEST'" code.
548 If '--with-build-sysroot=[...]' was specified, use it for
549 build-tree testing.
550 * testsuite/libgomp-site-extra.exp.in (GCC_UNDER_TEST)
551 (GXX_UNDER_TEST, GFORTRAN_UNDER_TEST): Don't set.
552 (SYSROOT_CFLAGS_FOR_TARGET): Set.
553 * testsuite/libgomp.c++/c++.exp (lang_source_re)
554 (lang_include_flags): Set for build-tree testing.
555 * testsuite/libgomp.oacc-c++/c++.exp (lang_source_re)
556 (lang_include_flags): Likewise.
557
109c11f6
GA
5582023-09-07 Tobias Burnus <tobias@codesourcery.com>
559
560 * libgomp.texi (Memory Management Routines): New; add documentation for
561 omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
562 omp_get_default_allocator.
563 (OMP_ALLOCATOR): Fix ICV var name; add see-also references.
564
478c37e7
TB
5652023-09-07 Tobias Burnus <tobias@codesourcery.com>
566
567 * target.c (gomp_unload_device): Remove tailing whitespace.
568
d820cd78
GA
5692023-09-04 Tobias Burnus <tobias@codesourcery.com>
570 Thomas Schwinge <thomas@codesourcery.com>
571
572 * testsuite/libgomp.c-c++-common/pr100059-1.c: New.
573
b8863640
GA
5742023-08-25 Sandra Loosemore <sandra@codesourcery.com>
575
576 * libgomp.texi (OpenMP 5.0): Imperfectly-nested loops are done.
577
5782023-08-25 Sandra Loosemore <sandra@codesourcery.com>
579
580 * testsuite/libgomp.fortran/imperfect-destructor.f90: New.
581 * testsuite/libgomp.fortran/imperfect1.f90: New.
582 * testsuite/libgomp.fortran/imperfect2.f90: New.
583 * testsuite/libgomp.fortran/imperfect3.f90: New.
584 * testsuite/libgomp.fortran/imperfect4.f90: New.
585 * testsuite/libgomp.fortran/target-imperfect1.f90: New.
586 * testsuite/libgomp.fortran/target-imperfect2.f90: New.
587 * testsuite/libgomp.fortran/target-imperfect3.f90: New.
588 * testsuite/libgomp.fortran/target-imperfect4.f90: New.
589
5902023-08-25 Sandra Loosemore <sandra@codesourcery.com>
591
592 * testsuite/libgomp.c-c++-common/imperfect1.c: New.
593 * testsuite/libgomp.c-c++-common/imperfect2.c: New.
594 * testsuite/libgomp.c-c++-common/imperfect3.c: New.
595 * testsuite/libgomp.c-c++-common/imperfect4.c: New.
596 * testsuite/libgomp.c-c++-common/imperfect5.c: New.
597 * testsuite/libgomp.c-c++-common/imperfect6.c: New.
598 * testsuite/libgomp.c-c++-common/target-imperfect1.c: New.
599 * testsuite/libgomp.c-c++-common/target-imperfect2.c: New.
600 * testsuite/libgomp.c-c++-common/target-imperfect3.c: New.
601 * testsuite/libgomp.c-c++-common/target-imperfect4.c: New.
602
6032023-08-25 Sandra Loosemore <sandra@codesourcery.com>
604
605 * testsuite/libgomp.c++/attrs-imperfect1.C: New test.
606 * testsuite/libgomp.c++/attrs-imperfect2.C: New test.
607 * testsuite/libgomp.c++/attrs-imperfect3.C: New test.
608 * testsuite/libgomp.c++/attrs-imperfect4.C: New test.
609 * testsuite/libgomp.c++/attrs-imperfect5.C: New test.
610 * testsuite/libgomp.c++/attrs-imperfect6.C: New test.
611 * testsuite/libgomp.c++/imperfect-class-1.C: New test.
612 * testsuite/libgomp.c++/imperfect-class-2.C: New test.
613 * testsuite/libgomp.c++/imperfect-class-3.C: New test.
614 * testsuite/libgomp.c++/imperfect-destructor.C: New test.
615 * testsuite/libgomp.c++/imperfect-template-1.C: New test.
616 * testsuite/libgomp.c++/imperfect-template-2.C: New test.
617 * testsuite/libgomp.c++/imperfect-template-3.C: New test.
618
6cd85273
GA
6192023-08-22 Francois-Xavier Coudert <fxcoudert@gmail.com>
620
621 * testsuite/lib/libgomp.exp: Add effective target.
622 * testsuite/libgomp.c/simd-math-1.c: Avoid calling nonstandard
623 functions.
624
6252023-08-22 Tobias Burnus <tobias@codesourcery.com>
626
627 * libgomp.texi (OpenMP 5.2 status): Add depobj with
628 destroy-var argument as 'N'. Mark defaultmap with
629 'all' category as 'Y'.
630
1ba33636
GA
6312023-08-19 Tobias Burnus <tobias@codesourcery.com>
632
633 PR middle-end/111017
634 * testsuite/libgomp.c-c++-common/non-rect-loop-1.c: New test.
635
1eb2433f
GA
6362023-08-17 Tobias Burnus <tobias@codesourcery.com>
637
638 PR libgomp/111024
639 * allocator.c (gomp_init_libnuma): Call numa_available; if
640 not available or not returning 0, disable libnuma usage.
641
4b92dba7
GA
6422023-08-07 Nick Alcock <nick.alcock@oracle.com>
643
644 * configure: Regenerate.
645
6462023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
647
648 * configure: Regenerate.
649
6502023-08-07 Nick Alcock <nick.alcock@oracle.com>
651
652 * configure: Regenerate.
653
6542023-08-07 Nick Alcock <nick.alcock@oracle.com>
655
656 * configure: Regenerate.
657
6582023-08-07 H.J. Lu <hjl.tools@gmail.com>
659
660 * configure: Regenerate.
661
6622023-08-07 H.J. Lu <hjl.tools@gmail.com>
663
664 * configure: Regenerate.
665
861962ee
GA
6662023-07-29 Tobias Burnus <tobias@codesourcery.com>
667
668 * target.c (omp_target_memcpy_rect_worker): Undo dim=1 change for
669 GOMP_OFFLOAD_CAP_SHARED_MEM.
670 (omp_target_memcpy_rect_copy): Likewise for lock condition.
671 (gomp_load_plugin_for_device): Use DLSYM_OPT not DLSYM for
672 memcpy3d/memcpy2d.
673 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
674 GOMP_OFFLOAD_memcpy3d): Use memset 0 to nullify reserved and
675 unused src/dst fields for that mem type; remove '{src,dst}LOD = 0'.
676
5278cd6a
GA
6772023-07-26 Tobias Burnus <tobias@codesourcery.com>
678
679 * libgomp-plugin.h (GOMP_OFFLOAD_memcpy2d,
680 GOMP_OFFLOAD_memcpy3d): New prototypes.
681 * libgomp.h (struct gomp_device_descr): Add memcpy2d_func
682 and memcpy3d_func.
683 * libgomp.texi (nvtpx): Document when cuMemcpy2D/cuMemcpy3D is used.
684 * oacc-host.c (memcpy2d_func, .memcpy3d_func): Init with NULL.
685 * plugin/cuda-lib.def (cuMemcpy2D, cuMemcpy2DUnaligned,
686 cuMemcpy3D): Invoke via CUDA_ONE_CALL.
687 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_memcpy2d,
688 GOMP_OFFLOAD_memcpy3d): New.
689 * target.c (omp_target_memcpy_rect_worker):
690 (omp_target_memcpy_rect_check, omp_target_memcpy_rect_copy):
691 Permit all device-to-device copyies; invoke new plugins for
692 2D and 3D copying when available.
693 (gomp_load_plugin_for_device): DLSYM the new plugin functions.
694 * testsuite/libgomp.c/target-12.c: Fix dimension bug.
695 * testsuite/libgomp.fortran/target-12.f90: Likewise.
696 * testsuite/libgomp.fortran/target-memcpy-rect-1.f90: New test.
697
6982023-07-26 Tobias Burnus <tobias@codesourcery.com>
699
700 * libgomp.texi (OpenMP 5.2 features): Add 'all' for 'defaultmap' as 'N'.
701 (Tasking Routines): Document omp_in_explicit_task.
702 (Implementation-defined ICV Initialization): Use @ref not @code.
703
e2bf82d5
GA
7042023-07-20 Tobias Burnus <tobias@codesourcery.com>
705
706 * libgomp.texi (OpenMP Runtime Library Routines):
707 Split long list by adding sections and moving routines there.
708 (OMP_ALLOCATORS): Fix typo.
709
49bed11d
GA
7102023-07-19 Tobias Burnus <tobias@codesourcery.com>
711
712 PR fortran/107424
713 * libgomp.texi (Impl. Status 5.0): Add link to new PR110735.
714 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: Enable
715 commented tests.
716 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: Remove
717 test file; tests are in non-rectangular-loop-1.f90.
718 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: Change
719 testcase to use a non-constant step to retain the 'sorry' test.
720 * testsuite/libgomp.fortran/non-rectangular-loop-6.f90: New test.
721
473c1b58
GA
7222023-07-17 Tobias Burnus <tobias@codesoucery.com>
723 Chung-Lin Tang <cltang@codesourcery.com>
724
725 * testsuite/libgomp.fortran/uses_allocators_1.f90: New test.
726 * testsuite/libgomp.fortran/uses_allocators_2.f90: New test.
727
18dac101
GA
7282023-07-14 Tobias Burnus <tobias@codesourcery.com>
729
730 * libgomp.texi (OMP_ALLOCATOR): Document the default values for
731 the traits. Add crossref to 'Memory allocation'.
732 (Memory allocation): Refer to OMP_ALLOCATOR for the available
733 traits and allocators/mem spaces; document the default value
734 for the pool_size trait.
735
7362023-07-14 Tobias Burnus <tobias@codesourcery.com>
737
738 * allocator.c (omp_init_allocator): Check whether symbol from
739 dlopened libnuma is available before using libnuma for
740 allocations.
741
3d0ca8b5
GA
7422023-07-13 David Edelsohn <dje.gcc@gmail.com>
743
744 * testsuite/libgomp.c++/target-map-class-2.C: Require LTO.
745 * testsuite/libgomp.c-c++-common/requires-4.c: Require LTO.
746 * testsuite/libgomp.c-c++-common/requires-4a.c: Require LTO.
747
15939bae
GA
7482023-07-12 Tobias Burnus <tobias@codesourcery.com>
749
750 * libgomp.texi (OpenMP 5.0): Replace '... stub' by @ref to
751 'Memory allocation' section which contains the full status.
752 (TR11): Remove differently worded duplicated entry.
753
7542023-07-12 Tobias Burnus <tobias@codesourcery.com>
755
756 * allocator.c: Add ifdef for LIBGOMP_USE_LIBNUMA.
757 (enum gomp_numa_memkind_kind): Renamed from gomp_memkind_kind;
758 add GOMP_MEMKIND_LIBNUMA.
759 (struct gomp_libnuma_data, gomp_init_libnuma, gomp_get_libnuma): New.
760 (omp_init_allocator): Handle partition=nearest with libnuma if avail.
761 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
762 numa_alloc_local (+ memset), numa_free, and numa_realloc calls as
763 needed.
764 * config/linux/allocator.c (LIBGOMP_USE_LIBNUMA): Define
765 * libgomp.texi: Fix a typo; use 'fi' instead of its ligature char.
766 (Memory allocation): Renamed from 'Memory allocation with libmemkind';
767 updated for libnuma usage.
768 * testsuite/libgomp.c-c++-common/alloc-11.c: New test.
769 * testsuite/libgomp.c-c++-common/alloc-12.c: New test.
770
af3d3ce3
GA
7712023-07-11 Tobias Burnus <tobias@codesourcery.com>
772
773 * allocator.c (omp_init_allocator): Use malloc for
774 omp_high_bw_mem_space when the memkind lib is unavailable
775 instead of returning omp_null_allocator.
776 * libgomp.texi (OpenMP 5.0): Fix typo.
777 (Memory allocation with libmemkind): Document implementation
778 in more detail.
779
270742ce
GA
7802023-06-22 Tobias Burnus <tobias@codesourcery.com>
781
782 * libgomp.texi: Use @var for ICV vars.
783 (OpenMP Environment Variables): Mention _ALL/_DEV/_DEV_<no> variants,
784 document which ICV is set and which scope the ICV has; extend/cleanup
785 some @ref.
786 (Implementation-defined ICV Initialization): New.
787 (nvptx): Document the implementation-defined used per-warp stack size.
788
e517d3f5
GA
7892023-06-19 Thomas Schwinge <thomas@codesourcery.com>
790
791 * testsuite/libgomp.c/target-51.c: Fix DejaGnu directive syntax
792 error.
793
7942023-06-19 Tobias Burnus <tobias@codesourcery.com>
795
796 * testsuite/libgomp.c/target-51.c: Accept more error msg variants
797 as expected dg-output.
798
7992023-06-19 Tobias Burnus <tobias@codesourcery.com>
800
801 PR middle-end/110270
802 * target.c (gomp_map_vars_internal): Copy host value instead of NULL
803 for GOMP_MAP_ZERO_LEN_ARRAY_SECTION if not mapped.
804 * libgomp.texi (OpenMP 5.2 Impl.): Mark as 'Y'.
805 * testsuite/libgomp.c/target-19.c: Update expected value.
806 * testsuite/libgomp.c++/target-18.C: Likewise.
807 * testsuite/libgomp.c++/target-19.C: Likewise.
808 * testsuite/libgomp.c-c++-common/requires-unified-addr-2.c: New test.
809 * testsuite/libgomp.c-c++-common/target-implicit-map-3.c: New test.
810 * testsuite/libgomp.c-c++-common/target-implicit-map-4.c: New test.
811
f10a4ce0
GA
8122023-06-16 Tobias Burnus <tobias@codesourcery.com>
813
814 * target.c (resolve_device): Call gomp_get_num_devices early to ensure
815 gomp_init_targets_once was called before using default-device-var.
816 * testsuite/libgomp.c/target-55.c: New test.
817 * testsuite/libgomp.c/target-55a.c: New test.
818
7ff79341
GA
8192023-06-15 Tobias Burnus <tobias@codesourcery.com>
820
821 * env.c (gomp_def_allocator_envvar): New var.
822 (parse_allocator): Handle OpenMP 5.1 syntax.
823 (cleanup_env): New.
824 (omp_display_env): Output gomp_def_allocator_envvar
825 for an allocator with traits.
826 * libgomp.texi (OMP_ALLOCATOR, OMP_AFFINITY_FORMAT,
827 OMP_DISPLAY_AFFINITY): New.
828 * testsuite/libgomp.c/allocator-1.c: New test.
829 * testsuite/libgomp.c/allocator-2.c: New test.
830 * testsuite/libgomp.c/allocator-3.c: New test.
831 * testsuite/libgomp.c/allocator-4.c: New test.
832 * testsuite/libgomp.c/allocator-5.c: New test.
833 * testsuite/libgomp.c/allocator-6.c: New test.
834
c1c5edef
GA
8352023-06-14 Thomas Schwinge <thomas@codesourcery.com>
836
837 * target.c (resolve_device): Align a
838 'OMP_TARGET_OFFLOAD=mandatory' diagnostic with others.
839 * testsuite/libgomp.c/target-51.c: Adjust.
840
8412023-06-14 Thomas Schwinge <thomas@codesourcery.com>
842
843 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Don't
844 set.
845 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags):
846 Likewise.
847 * testsuite/libgomp.c/simd-math-1.c: Remove
848 '-foffload-options=-lm'.
849 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90:
850 Likewise.
851 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
852 Likewise.
853
8542023-06-14 Thomas Schwinge <thomas@codesourcery.com>
855
856 * testsuite/libgomp.fortran/fortran-torture_execute_math.f90: New.
857 * testsuite/libgomp.oacc-fortran/fortran-torture_execute_math.f90:
858 Likewise.
859
8602023-06-14 Thomas Schwinge <thomas@codesourcery.com>
861
862 * testsuite/libgomp.c/target-51.c: Fix typo.
863
8642023-06-14 Tobias Burnus <tobias@codesourcery.com>
865
866 * env.c (gomp_default_icv_values): Init default_device_var to
867 an nonconforming value - INT_MIN.
868 (initialize_env): After env-var parsing, set default_device_var to
869 device 0 unless OMP_TARGET_OFFLOAD=mandatory.
870 (omp_display_env): If default_device_var is INT_MIN, call
871 gomp_init_targets_once.
872 * icv-device.c (omp_get_default_device): Likewise.
873 * libgomp.texi (OMP_DEFAULT_DEVICE): Update init description.
874 (OpenMP 5.2 Impl. Status): Mark OMP_TARGET_OFFLOAD=mandatory as 'Y'.
875 * target.c (resolve_device): Improve error message device-num < 0
876 with 'mandatory' and no no-host devices available.
877 (gomp_target_init): Set default-device-var if INT_MIN.
878 * testsuite/libgomp.c/target-48.c: New test.
879 * testsuite/libgomp.c/target-49.c: New test.
880 * testsuite/libgomp.c/target-50.c: New test.
881 * testsuite/libgomp.c/target-50a.c: New test.
882 * testsuite/libgomp.c/target-51.c: New test.
883 * testsuite/libgomp.c/target-52.c: New test.
884 * testsuite/libgomp.c/target-53.c: New test.
885 * testsuite/libgomp.c/target-54.c: New test.
886
532fb120
GA
8872023-06-13 Tobias Burnus <tobias@codesourcery.com>
888
889 PR libgomp/109837
890 * testsuite/libgomp.c-c++-common/requires-unified-addr-1.c: New test.
891 * testsuite/libgomp.fortran/requires-unified-addr-1.f90: New test.
892
9d250bdb
GA
8932023-06-12 Tobias Burnus <tobias@codesourcery.com>
894
895 * target.c (gomp_to_device_kind_p, gomp_map_vars_internal): Replace
896 GOMP_MAP_PRESENT_{FROM,TO,TOFROM,ACLLOC} by GOMP_MAP_FORCE_PRESENT.
897 (gomp_map_vars_internal, gomp_update): Likewise; unify and improve
898 error message.
899 * testsuite/libgomp.c-c++-common/target-present-2.c: Update for
900 changed error message.
901 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
902 * testsuite/libgomp.fortran/target-present-2.f90: Likewise.
903 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
904 * testsuite/libgomp.c-c++-common/target-present-1.c: Likewise and
905 extend testcase to check that data is copied when needed.
906 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
907 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
908
8c5b1365
GA
9092023-06-07 Thomas Schwinge <thomas@codesourcery.com>
910 Tobias Burnus <tobias@codesourcery.com>
911
912 * testsuite/libgomp.c-c++-common/target-present-1.c: Run code
913 also for non-offload_device targets; check that it runs
914 successfully for those and for all until a checkpoint for all
915 * testsuite/libgomp.c-c++-common/target-present-2.c: Likewise.
916 * testsuite/libgomp.c-c++-common/target-present-3.c: Likewise.
917 * testsuite/libgomp.fortran/target-present-1.f90: Likewise.
918 * testsuite/libgomp.fortran/target-present-3.f90: Likewise.
919 * testsuite/libgomp.fortran/target-present-2.f90: Likewise;
920 add missing vars to map clause.
921
4f0d4825
GA
9222023-06-06 Tobias Burnus <tobias@codesourcery.com>
923
924 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Regard
925 unified_address requirement as supported.
926 * libgomp.texi (OpenMP 5.0, AMD Radeon, nvptx): Remove
927 'unified_address' from the not-supported requirements.
928
9292023-06-06 Kwok Cheung Yeung <kcy@codesourcery.com>
930 Tobias Burnus <tobias@codesourcery.com>
931
932 * libgomp.texi (OpenMP 5.1 Impl. status): Set 'present' support for
933 defaultmap to 'Y', add 'Y' entry for 'present' on to/from/map clauses.
934 * target.c (gomp_to_device_kind_p): Add map kinds with 'present'
935 modifier.
936 (gomp_map_vars_existing): Use new GOMP_MAP_FORCE_P macro.
937 (gomp_map_vars_internal, gomp_update, gomp_target_rev):
938 Emit runtime error if memory region not present.
939 * testsuite/libgomp.c-c++-common/target-present-1.c: New test.
940 * testsuite/libgomp.c-c++-common/target-present-2.c: New test.
941 * testsuite/libgomp.c-c++-common/target-present-3.c: New test.
942 * testsuite/libgomp.fortran/target-present-1.f90: New test.
943 * testsuite/libgomp.fortran/target-present-2.f90: New test.
944 * testsuite/libgomp.fortran/target-present-3.f90: New test.
945
829d5975
GA
9462023-06-02 Thomas Schwinge <thomas@codesourcery.com>
947
948 PR testsuite/66005
949 * testsuite/lib/libgomp.exp: 'flock' through stdout.
950 * testsuite/flock: New.
951 * configure.ac (FLOCK): Point to that if no 'flock' available, but
952 'perl' is.
953 * configure: Regenerate.
954
9552023-06-02 Thomas Schwinge <thomas@codesourcery.com>
956
957 * configure.ac (PERL): Remove.
958 * configure: Regenerate.
959 * Makefile.in: Likewise.
960 * testsuite/Makefile.in: Likewise.
961
84749914
GA
9622023-06-01 Tobias Burnus <tobias@codesourcery.com>
963
964 * libgomp.texi (OpenMP 5.2): Mark pure-directive handling as 'Y'.
965
6e6bb373
GA
9662023-05-26 Tobias Burnus <tobias@codesourcery.com>
967
968 * testsuite/libgomp.fortran/allocate-4.f90: Update dg-error.
969
4579954f
GA
9702023-05-21 Tobias Burnus <tobias@codesourcery.com>
971
972 PR libgomp/109875
973 * config/gcn/target.c (GOMP_teams4): Honor nteams-var ICV.
974 * config/nvptx/target.c (GOMP_teams4): Likewise.
975 * testsuite/libgomp.c-c++-common/teams-nteams-icv-1.c: New test.
976 * testsuite/libgomp.c-c++-common/teams-nteams-icv-2.c: New test.
977 * testsuite/libgomp.c-c++-common/teams-nteams-icv-3.c: New test.
978 * testsuite/libgomp.c-c++-common/teams-nteams-icv-4.c: New test.
979
5df01f89
GA
9802023-05-19 Jakub Jelinek <jakub@redhat.com>
981
982 PR libgomp/109904
983 * configure.ac (link_gomp): Include also $DL_LIBS.
984 * configure: Regenerated.
985
ff2dcddf
GA
9862023-05-17 Tobias Burnus <tobias@codesourcery.com>
987
988 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
989 'target exit data'.
990 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
991 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
992 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
993 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
994
3427b51b
GA
9952023-05-15 Thomas Schwinge <thomas@codesourcery.com>
996
997 PR testsuite/66005
998 * configure.ac: Look for 'flock'.
999 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
1000 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
1001 * testsuite/lib/libgomp.exp: ... but here, instead.
1002 (libgomp_load): Override for parallel testing.
1003 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
1004 * configure: Regenerate.
1005 * Makefile.in: Regenerate.
1006 * testsuite/Makefile.in: Regenerate.
1007
10082023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1009 Thomas Schwinge <thomas@codesourcery.com>
1010
1011 PR testsuite/66005
1012 * testsuite/Makefile.am (PWD_COMMAND): New variable.
1013 (%/site.exp): New target.
1014 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
1015 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
1016 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
1017 (check_p_subdirs)
1018 (check_DEJAGNU_libgomp_targets): New variables.
1019 ($(check_DEJAGNU_libgomp_targets)): New target.
1020 ($(check_DEJAGNU_libgomp_targets)): New dependency.
1021 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
1022 * testsuite/Makefile.in: Regenerate.
1023 * testsuite/lib/libgomp.exp: For parallel testing,
1024 'load_file ../libgomp-test-support.exp'.
1025
10262023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1027
1028 PR testsuite/91884
1029 * configure.ac: 'AC_SUBST(CXX)'.
1030 * configure: Regenerate.
1031 * Makefile.in: Likewise.
1032 * testsuite/Makefile.in: Likewise.
1033 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
1034 (GFORTRAN_UNDER_TEST): Set.
1035 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
1036 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
1037 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1038 * testsuite/libgomp.fortran/fortran.exp: Use
1039 'GFORTRAN_UNDER_TEST'.
1040 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1041
10422023-05-15 Thomas Schwinge <thomas@codesourcery.com>
1043
1044 PR testsuite/91884
1045 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
1046 specify compiler.
1047 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
1048 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1049 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1050 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1051 Likewise.
1052 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
1053 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
1054 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
1055 Likewise.
1056
20ca33db
GA
10572023-05-12 Tobias Burnus <tobias@codesourcery.com>
1058
1059 PR libstdc++/109816
1060 * testsuite/libgomp.c++/target-map-class-1.C: New test.
1061 * testsuite/libgomp.c++/target-map-class-2.C: New test.
1062
10632023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1064
1065 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
1066 'lang_library_path' into a list of 'lang_library_paths'.
1067 * testsuite/libgomp.c++/c++.exp: Adjust.
1068 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1069 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
1070 libquadmath, too.
1071 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1072
10732023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1074
1075 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
1076 at 'lang_test_file_found'.
1077 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
1078 'return' early if not able to test. Simplify 'ld_library_path' setup.
1079 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1080 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1081 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1082
10832023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1084
1085 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
1086 first.
1087 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1088 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1089 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1090
10912023-05-12 Thomas Schwinge <thomas@codesourcery.com>
1092
1093 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
1094 * testsuite/libgomp.c/c.exp: Likewise.
1095 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1096 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1097 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1098 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1099 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1100
35e324da
GA
11012023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1102
1103 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
1104 * testsuite/libgomp.fortran/fortran.exp: Likewise.
1105 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1106 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1107 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
1108 'lang_test_file'.
1109 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1110 * testsuite/libgomp.graphite/graphite.exp: Likewise.
1111 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
1112 'lang_test_file_found' instead of 'lang_test_file'.
1113
11142023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1115
1116 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
1117 set.
1118 * testsuite/libgomp.c++/c++.exp: Likewise.
1119 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1120
11212023-05-09 Thomas Schwinge <thomas@codesourcery.com>
1122
1123 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
1124 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
1125
212905a4
GA
11262023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1127
1128 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
1129 of 'libstdcxx_includes'.
1130 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1131
11322023-05-08 Thomas Schwinge <thomas@codesourcery.com>
1133
1134 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
1135 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
1136 * libgomp.h (gomp_target_rev): Adjust.
1137 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
1138 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
1139 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
1140 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
1141 (rev_off_host_to_dev_cpy): Remove.
1142 (GOMP_OFFLOAD_run): Adjust.
1143
fde093b7
GA
11442023-05-04 Julian Brown <julian@codesourcery.com>
1145
1146 PR fortran/109622
1147 * testsuite/libgomp.fortran/pr109622.f90: Move test...
1148 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
1149 vector length warning.
1150 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
1151 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
1152 missing copyin/copyout variable. Ignore vector length warnings.
1153 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
1154 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
1155 vector length warnings.
1156 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
1157
50205195
GA
11582023-04-28 Julian Brown <julian@codesourcery.com>
1159
1160 PR fortran/109622
1161 * testsuite/libgomp.fortran/pr109622.f90: New test.
1162 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
1163 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
1164
49cea02d
GA
11652023-04-25 Tobias Burnus <tobias@codesourcery.com>
1166
1167 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
1168 * testsuite/libgomp.c/scan-23.c: New test.
1169 * testsuite/libgomp.fortran/scan-2.f90: New test.
1170
579cdc1e
GA
11712023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1172
1173 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
1174 weak_undefined options.
1175
13ec81eb
GA
11762023-03-24 Tobias Burnus <tobias@codesourcery.com>
1177
1178 * libgomp.texi (Offload-Target Specifics): Grammar fix.
1179
11802023-03-24 Thomas Schwinge <thomas@codesourcery.com>
1181
1182 PR fortran/104949
1183 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
1184 caveat/safeguard.
1185
c8065441
GA
11862023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1187
1188 PR libgomp/90596
1189 * target.c (gomp_map_vars_internal): Allow for
1190 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
1191 * oacc-parallel.c (GOACC_parallel_keyed): Pass
1192 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
1193 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
1194 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1195 Adjust, simplify.
1196 (gomp_offload_free): Remove.
1197 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1198 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
1199 (cuda_free_argmem): Remove.
1200 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1201 Adjust.
1202
12032023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1204
1205 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
1206 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
1207 data.
1208
12092023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1210
1211 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
1212 'GOMP_MAP_IF_PRESENT'.
1213 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
1214 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
1215 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
1216 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
1217 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
1218 testing.
1219 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
1220
12212023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1222
1223 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
1224 shortcut.
1225
12262023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1227
1228 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
1229 another aspect of OpenACC 'async' semantics.
1230
12312023-03-10 Thomas Schwinge <thomas@codesourcery.com>
1232
1233 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
1234 position.
1235 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1236 Verify 'acc_ev_alloc', 'acc_ev_free'.
1237
da2b9c6e
GA
12382023-03-09 Hongyu Wang <hongyu.wang@intel.com>
1239
1240 PR libgomp/109062
1241 * env.c (wait_policy): Initialize to -1.
1242 (initialize_icvs): Initialize icvs->wait_policy to -1.
1243 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
1244
6a87fdd3
GA
12452023-03-08 Tobias Burnus <tobias@codesourcery.com>
1246
1247 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
1248
14db9ed5
GA
12492023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
1250 Paul-Antoine Arras <pa@codesourcery.com>
1251
1252 * testsuite/libgomp.c/simd-math-1.c: New testcase.
1253
c88a7c63
GA
12542023-03-01 Tobias Burnus <tobias@codesourcery.com>
1255
1256 PR middle-end/108546
1257 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
1258 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
1259
b6f98991
GA
12602023-02-22 Thomas Schwinge <thomas@codesourcery.com>
1261
1262 * testsuite/libgomp.fortran/alloc-10.f90: Use
1263 '-Wno-complain-wrong-lang'.
1264 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1265 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
1266 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1267 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
1268 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
1269 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
1270 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
1271 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
1272 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
1273 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
1274 Likewise.
1275 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
1276 Likewise.
1277 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
1278 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1279 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
1280 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
1281 'dg-prune-output'.
1282
88cc4495
GA
12832023-02-16 Jakub Jelinek <jakub@redhat.com>
1284
1285 * libgomp.texi: Fix typos - theads -> threads.
1286
12872023-02-16 Jakub Jelinek <jakub@redhat.com>
1288
1289 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
1290 comment typo and improve its wording.
1291
29a35391
GA
12922023-02-15 Tobias Burnus <tobias@codesourcery.com>
1293
1294 * target.c (gomp_target_rev): Dereference ptr
1295 to get device address.
1296 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
1297 for unallocated allocatable.
1298
12992023-02-15 Tobias Burnus <tobias@codesourcery.com>
1300
1301 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
1302 kind check.
1303 (GOMP_target_enter_exit_data): If the next map item is
1304 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
1305 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
1306
e92e2c96
GA
13072023-02-09 Tobias Burnus <tobias@codesourcery.com>
1308
1309 PR fortran/107424
1310 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
1311 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
1312 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
1313 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
1314 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
1315 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
1316
8f3b85ef
GA
13172023-02-07 Thomas Schwinge <thomas@codesourcery.com>
1318
1319 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
1320 offloading compilation.
1321
49e52115
GA
13222023-02-03 Tobias Burnus <tobias@codesourcery.com>
1323
1324 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
1325 freeing not allocated memory.
1326 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
1327
13282023-02-03 Tobias Burnus <tobias@codesourcery.com>
1329
1330 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
1331 reverse offload.
1332 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
1333 reverse-offload requirement.
1334
a37a0cb3
GA
13352023-02-02 Andrew Stubbs <ams@codesourcery.com>
1336
1337 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
1338 (DEFAULT_TEAM_ARENA_SIZE): New define.
1339 (struct heap): Move to this file.
1340 (struct kernargs_abi): Likewise.
1341 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
1342 the kernargs.
1343 * libgomp.h: Include libgomp-gcn.h.
1344 (TEAM_ARENA_SIZE): Remove.
1345 (team_malloc): Update the error message.
1346 * plugin/plugin-gcn.c (struct kernargs): Move common content to
1347 struct kernargs_abi.
1348 (struct agent_info): Rename team arenas to ephemeral memories.
1349 (struct team_arena_list): Rename ....
1350 (struct ephemeral_memories_list): to this.
1351 (struct heap): Delete.
1352 (team_arena_size): New variable.
1353 (stack_size): New variable.
1354 (print_kernel_dispatch): Update debug messages.
1355 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
1356 Read GCN_STACK_SIZE.
1357 (get_team_arena): Rename ...
1358 (configure_ephemeral_memories): ... to this, and set up stacks.
1359 (release_team_arena): Rename ...
1360 (release_ephemeral_memories): ... to this.
1361 (destroy_team_arenas): Rename ...
1362 (destroy_ephemeral_memories): ... to this.
1363 (create_kernel_dispatch): Add num_threads parameter.
1364 Adjust for kernargs_abi refactor and ephemeral memories.
1365 (release_kernel_dispatch): Adjust for ephemeral memories.
1366 (run_kernel): Pass thread-count to create_kernel_dispatch.
1367 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
1368 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
1369
13702023-02-02 Tobias Burnus <tobias@codesourcery.com>
1371
1372 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
1373
0a251e74
GA
13742023-02-01 Tobias Burnus <tobias@codesourcery.com>
1375
1376 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
1377 usage, remove unused -fdump-tree-original.
1378 * testsuite/libgomp.fortran/allocate-4.f90: New.
1379
13802023-02-01 Tobias Burnus <tobias@codesourcery.com>
1381
1382 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
1383 (GCN): Add item about 'omp requires'.
1384 (nvptx): Likewise; add item about reverse offload.
1385
338eb0f0
GA
13862023-01-27 Tobias Burnus <tobias@codesourcery.com>
1387
1388 PR fortran/108558
1389 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
1390
607f278a
GA
13912023-01-23 Tobias Burnus <tobias@codesourcery.com>
1392
1393 * libgomp.texi (OpenMP 5.0): Set non-rectangular
1394 loop nest back to 'P' as Fortran support is incomplete.
1395
0846336d
GA
13962023-01-19 Jakub Jelinek <jakub@redhat.com>
1397
1398 PR middle-end/108459
1399 * testsuite/libgomp.c/pr108459.c: New test.
1400
8d07b193
GA
14012023-01-17 Martin Liska <mliska@suse.cz>
1402
1403 * Makefile.in: Regenerate.
1404 * configure: Regenerate.
1405
d901bf8a
GA
14062023-01-07 LIU Hao <lh_mouse@126.com>
1407
1408 PR middle-end/108300
1409 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
1410 <windows.h>.
1411
53ef7c1d
GA
14122023-01-05 Jakub Jelinek <jakub@redhat.com>
1413
1414 PR c++/108286
1415 * testsuite/libgomp.c++/pr108286.C: New test.
1416
fee53a31
GA
14172023-01-02 Jakub Jelinek <jakub@redhat.com>
1418
1419 * libgomp.texi: Bump @copying's copyright year.
1420
de282a20
GA
14212022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
1422
1423 PR target/99555
1424 * config/nvptx/bar.c (generation_to_barrier): Remove.
1425 (futex_wait,futex_wake,do_spin,do_wait): Remove.
1426 (GOMP_WAIT_H): Remove.
1427 (#include "../linux/bar.c"): Remove.
1428 (gomp_barrier_wait_end): New function.
1429 (gomp_barrier_wait): Likewise.
1430 (gomp_barrier_wait_last): Likewise.
1431 (gomp_team_barrier_wait_end): Likewise.
1432 (gomp_team_barrier_wait): Likewise.
1433 (gomp_team_barrier_wait_final): Likewise.
1434 (gomp_team_barrier_wait_cancel_end): Likewise.
1435 (gomp_team_barrier_wait_cancel): Likewise.
1436 (gomp_team_barrier_cancel): Likewise.
1437 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
1438 (gomp_barrier_init): Remove init of waiters, lock fields.
1439 (gomp_team_barrier_wake): Remove prototype, add new static inline
1440 function.
1441
14422022-12-21 Jakub Jelinek <jakub@redhat.com>
1443
1444 PR c++/108180
1445 * testsuite/libgomp.c++/pr108180.C: New test.
1446
5fb1e674
GA
14472022-12-16 Tobias Burnus <tobias@codesourcery.com>
1448
1449 PR libfortran/108056
1450 * testsuite/libgomp.fortran/allocate-4.f90: Remove
1451 accidentally added file.
1452
c8f767b2
GA
14532022-12-15 Tobias Burnus <tobias@codesourcery.com>
1454
1455 PR libfortran/108056
1456 * testsuite/libgomp.fortran/allocate-4.f90: New file.
1457
26f4aefa
GA
14582022-12-14 Julian Brown <julian@codesourcery.com>
1459
1460 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
1461 test.
1462
c6b12b80
GA
14632022-12-10 Tobias Burnus <tobias@codesourcery.com>
1464
1465 * libgomp.h (struct target_mem_desc): Predeclare; move
1466 below after 'reverse_splay_tree_node' and add rev_array
1467 member.
1468 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
1469 (reverse_splay_tree_node, reverse_splay_tree,
1470 reverse_splay_tree_key): New typedef.
1471 (struct gomp_device_descr): Add mem_map_rev member.
1472 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
1473 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
1474 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
1475 * splay-tree.h (splay_tree_callback_stop): New typedef; like
1476 splay_tree_callback but returning int not void.
1477 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
1478 taking splay_tree_callback_stop as argument.
1479 * splay-tree.c (splay_tree_foreach_internal_lazy,
1480 splay_tree_foreach_lazy): New; but early exit if callback returns
1481 nonzero.
1482 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
1483 (gomp_map_lookup_rev): New.
1484 (gomp_load_image_to_device): Handle reverse-offload function
1485 lookup table.
1486 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
1487 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
1488 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
1489 gomp_map_cdata_lookup): New auxiliary structs and functions for
1490 gomp_target_rev.
1491 (gomp_target_rev): Implement reverse offloading and its mapping.
1492 (gomp_target_init): Init current_device.mem_map_rev.root.
1493 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
1494 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
1495 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
1496 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
1497 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
1498 mapping of on-device allocated variables.
1499
40ce6485
GA
15002022-12-09 Tobias Burnus <tobias@codesourcery.com>
1501
1502 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
1503 item about 'align'; mark clause as 'Y' and directive as 'N'.
1504 * testsuite/libgomp.fortran/allocate-2.f90: New test.
1505 * testsuite/libgomp.fortran/allocate-3.f90: New test.
1506
3fe66f7f
GA
15072022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
1508
1509 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
1510 allow processing of device-specific values.
1511 (omp_set_teams_thread_limit): Likewise.
1512 (ialias): Likewise.
1513 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
1514 (omp_set_teams_thread_limit): Likewise.
1515 (ialias): Likewise.
1516 * icv-device.c (omp_get_teams_thread_limit): Likewise.
1517 (ialias): Likewise.
1518 (omp_set_teams_thread_limit): Likewise.
1519 * icv.c (omp_set_teams_thread_limit): Removed.
1520 (omp_get_teams_thread_limit): Likewise.
1521 (ialias): Likewise.
1522 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
1523 to the limitation of the number of teams.
1524 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
1525 the number of teams by twice the number of compute units.
1526 (parse_target_attributes): Limit the number of teams on gcn offload
1527 devices.
1528 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
1529 handling.
1530 (gomp_load_image_to_device): Added a size check for the ICVs struct
1531 variable.
1532 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
1533 copy back the ICV values from device to host.
1534 (GOMP_target_ext): Update the number of teams and threads in the kernel
1535 args also considering device-specific values.
1536 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
1537 of OMP_TEAMS_THREAD_LIMIT from the environment.
1538 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
1539 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
1540 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
1541 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
1542 * testsuite/libgomp.fortran/icv-5.f90: New test.
1543 * testsuite/libgomp.fortran/icv-6.f90: New test.
1544
15452022-12-06 Tobias Burnus <tobias@codesourcery.com>
1546
1547 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
1548 (TR11): Add missing '@tab N @tab'.
1549
6eea85a9
GA
15502022-11-30 Tobias Burnus <tobias@codesourcery.com>
1551
1552 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
1553
15542022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
1555
1556 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
1557 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
1558 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
1559 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
1560 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
1561 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
1562 * testsuite/libgomp.c/declare-variant-4.h: New header file.
1563
b7748535
GA
15642022-11-28 Tobias Burnus <tobias@codesourcery.com>
1565
1566 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
1567
d769c504
GA
15682022-11-25 Sandra Loosemore <sandra@codesourcery.com>
1569
1570 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
1571 * testsuite/libgomp.c/target-simd-clone-1.c: New.
1572 * testsuite/libgomp.c/target-simd-clone-2.c: New.
1573 * testsuite/libgomp.c/target-simd-clone-3.c: New.
1574
15752022-11-25 Tobias Burnus <tobias@codesourcery.com>
1576
1577 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
1578 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
1579 as valid and the code having no reverse-offload code.
1580 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
1581
15822022-11-25 Tobias Burnus <tobias@codesourcery.com>
1583
1584 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
1585 and status for Technical Report (TR) 11.
1586
8b7fee1d
GA
15872022-11-21 Tobias Burnus <tobias@codesourcery.com>
1588
1589 * config/gcn/libgomp-gcn.h (struct output):
1590 Remove 'msg_u64' from the union, change
1591 value_u64[2] to value_u64[6].
1592 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
1593 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
1594 Likewise.
1595
fb98ede8
GA
15962022-11-19 Tobias Burnus <tobias@codesourcery.com>
1597
1598 * config/gcn/libgomp-gcn.h: New file; contains
1599 struct output, declared previously in plugin-gcn.c.
1600 * config/gcn/target.c: Include it.
1601 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
1602 (GOMP_target_ext): Handle reverse offload.
1603 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
1604 (struct kernargs): Replace struct def by the one
1605 from libgomp-gcn.h for output_data.
1606 (process_reverse_offload): New.
1607 (console_output): Call it.
1608
80909529
GA
16092022-11-16 Tobias Burnus <tobias@codesourcery.com>
1610 Andrew Stubbs <ams@codesourcery.com>
1611
1612 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
1613 __builtin_gcn_kernarg_ptr instead of asm ("s8").
1614
83d400bd
GA
16152022-11-14 Martin Liska <mliska@suse.cz>
1616
1617 Revert:
1618 2022-11-14 Martin Liska <mliska@suse.cz>
1619
1620 * doc/amd-radeon-gcn.rst: New file.
1621 * doc/conf.py: New file.
1622 * doc/copyright.rst: New file.
1623 * doc/cuda-streams-usage.rst: New file.
1624 * doc/enabling-openacc.rst: New file.
1625 * doc/enabling-openmp.rst: New file.
1626 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1627 * doc/first-invocation-openacc-library-api.rst: New file.
1628 * doc/funding.rst: New file.
1629 * doc/general-public-license-3.rst: New file.
1630 * doc/gnu-free-documentation-license.rst: New file.
1631 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1632 * doc/index.rst: New file.
1633 * doc/indices-and-tables.rst: New file.
1634 * doc/introduction.rst: New file.
1635 * doc/memory-allocation-with-libmemkind.rst: New file.
1636 * doc/nvptx.rst: New file.
1637 * doc/offload-target-specifics.rst: New file.
1638 * doc/openacc-environment-variables.rst: New file.
1639 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1640 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1641 * doc/openacc-environment-variables/accproflib.rst: New file.
1642 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1643 * doc/openacc-introduction.rst: New file.
1644 * doc/openacc-library-and-environment-variables.rst: New file.
1645 * doc/openacc-library-interoperability.rst: New file.
1646 * doc/openacc-profiling-interface.rst: New file.
1647 * doc/openacc-runtime-library-routines.rst: New file.
1648 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1649 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1650 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1651 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1652 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1653 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1654 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1655 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1656 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1657 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1658 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1659 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1660 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1661 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1662 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1663 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1664 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1665 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1666 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1667 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1668 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1669 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1670 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1671 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1672 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1673 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1674 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1675 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1676 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1677 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1678 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1679 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1680 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1681 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1682 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1683 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1684 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1685 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1686 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1687 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1688 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1689 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1690 * doc/openmp-context-selectors.rst: New file.
1691 * doc/openmp-environment-variables.rst: New file.
1692 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1693 * doc/openmp-environment-variables/gompdebug.rst: New file.
1694 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1695 * doc/openmp-environment-variables/gompspincount.rst: New file.
1696 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1697 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1698 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1699 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1700 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1701 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1702 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1703 * doc/openmp-environment-variables/ompnested.rst: New file.
1704 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1705 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1706 * doc/openmp-environment-variables/ompplaces.rst: New file.
1707 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1708 * doc/openmp-environment-variables/ompschedule.rst: New file.
1709 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1710 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1711 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1712 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1713 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1714 * doc/openmp-implementation-specifics.rst: New file.
1715 * doc/openmp-implementation-status.rst: New file.
1716 * doc/openmp-implementation-status/openmp-45.rst: New file.
1717 * doc/openmp-implementation-status/openmp-50.rst: New file.
1718 * doc/openmp-implementation-status/openmp-51.rst: New file.
1719 * doc/openmp-implementation-status/openmp-52.rst: New file.
1720 * doc/openmp-runtime-library-routines.rst: New file.
1721 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1722 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1723 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1724 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1725 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1726 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1727 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1728 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1729 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1730 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1731 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1732 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1733 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1734 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1735 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1736 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1737 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1738 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1739 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1740 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1741 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1742 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1743 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1744 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1745 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1746 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1747 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1748 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1749 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1750 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1751 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1752 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1753 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1754 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1755 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1756 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1757 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1758 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1759 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1760 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1761 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1762 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1763 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1764 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1765 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1766 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1767 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1768 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1769 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1770 * doc/reporting-bugs.rst: New file.
1771 * doc/the-libgomp-abi.rst: New file.
1772 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1773 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1774 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1775 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1776 New file.
1777 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1778 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1779 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1780 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1781 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1782 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1783 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1784 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1785 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1786 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1787 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1788
17892022-11-14 Martin Liska <mliska@suse.cz>
1790
1791 Revert:
1792 2022-11-14 Martin Liska <mliska@suse.cz>
1793
1794 * Makefile.in: Support Sphinx based documentation.
1795
17962022-11-14 Martin Liska <mliska@suse.cz>
1797
1798 Revert:
1799 2022-11-14 Martin Liska <mliska@suse.cz>
1800
1801 * libgomp.texi: Removed.
1802
18032022-11-14 Martin Liska <mliska@suse.cz>
1804
1805 Revert:
1806 2022-11-14 Martin Liska <mliska@suse.cz>
1807
1808 * Makefile.in: Support --with-sphinx-build.
1809 * configure.ac: Likewise..
1810 * configure: Regenerate.
1811
18122022-11-14 Martin Liska <mliska@suse.cz>
1813
1814 Revert:
1815 2022-11-09 Martin Liska <mliska@suse.cz>
1816
1817 * Makefile.in: Build info pages conditionally.
1818
18192022-11-14 Martin Liska <mliska@suse.cz>
1820
1821 Revert:
1822 2022-11-14 Martin Liska <mliska@suse.cz>
1823
1824 * doc/amd-radeon-gcn.rst:
3d3b561f 1825 Add trailing newline.
83d400bd 1826 * doc/copyright.rst:
3d3b561f 1827 Add trailing newline.
83d400bd 1828 * doc/cuda-streams-usage.rst:
3d3b561f 1829 Add trailing newline.
83d400bd 1830 * doc/enabling-openacc.rst:
3d3b561f 1831 Add trailing newline.
83d400bd 1832 * doc/enabling-openmp.rst:
3d3b561f 1833 Add trailing newline.
83d400bd 1834 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 1835 Add trailing newline.
83d400bd 1836 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 1837 Add trailing newline.
83d400bd 1838 * doc/funding.rst:
3d3b561f 1839 Add trailing newline.
83d400bd 1840 * doc/general-public-license-3.rst:
3d3b561f 1841 Add trailing newline.
83d400bd 1842 * doc/gnu-free-documentation-license.rst:
3d3b561f 1843 Add trailing newline.
83d400bd 1844 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 1845 Add trailing newline.
83d400bd 1846 * doc/index.rst:
3d3b561f 1847 Add trailing newline.
83d400bd 1848 * doc/indices-and-tables.rst:
3d3b561f 1849 Add trailing newline.
83d400bd 1850 * doc/introduction.rst:
3d3b561f 1851 Add trailing newline.
83d400bd 1852 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 1853 Add trailing newline.
83d400bd 1854 * doc/nvptx.rst:
3d3b561f 1855 Add trailing newline.
83d400bd 1856 * doc/offload-target-specifics.rst:
3d3b561f 1857 Add trailing newline.
83d400bd 1858 * doc/openacc-environment-variables.rst:
3d3b561f 1859 Add trailing newline.
83d400bd 1860 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 1861 Add trailing newline.
83d400bd 1862 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 1863 Add trailing newline.
83d400bd 1864 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 1865 Add trailing newline.
83d400bd 1866 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 1867 Add trailing newline.
83d400bd 1868 * doc/openacc-introduction.rst:
3d3b561f 1869 Add trailing newline.
83d400bd 1870 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 1871 Add trailing newline.
83d400bd 1872 * doc/openacc-library-interoperability.rst:
3d3b561f 1873 Add trailing newline.
83d400bd 1874 * doc/openacc-profiling-interface.rst:
3d3b561f 1875 Add trailing newline.
83d400bd 1876 * doc/openacc-runtime-library-routines.rst:
3d3b561f 1877 Add trailing newline.
83d400bd 1878 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 1879 Add trailing newline.
83d400bd 1880 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 1881 Add trailing newline.
83d400bd 1882 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 1883 Add trailing newline.
83d400bd 1884 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 1885 Add trailing newline.
83d400bd 1886 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 1887 Add trailing newline.
83d400bd 1888 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 1889 Add trailing newline.
83d400bd 1890 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 1891 Add trailing newline.
83d400bd 1892 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 1893 Add trailing newline.
83d400bd 1894 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 1895 Add trailing newline.
83d400bd 1896 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 1897 Add trailing newline.
83d400bd 1898 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 1899 Add trailing newline.
83d400bd 1900 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 1901 Add trailing newline.
83d400bd 1902 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 1903 Add trailing newline.
83d400bd 1904 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 1905 Add trailing newline.
83d400bd 1906 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 1907 Add trailing newline.
83d400bd 1908 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 1909 Add trailing newline.
83d400bd 1910 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 1911 Add trailing newline.
83d400bd 1912 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 1913 Add trailing newline.
83d400bd 1914 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 1915 Add trailing newline.
83d400bd 1916 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 1917 Add trailing newline.
83d400bd 1918 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 1919 Add trailing newline.
83d400bd 1920 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 1921 Add trailing newline.
83d400bd 1922 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 1923 Add trailing newline.
83d400bd 1924 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 1925 Add trailing newline.
83d400bd 1926 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 1927 Add trailing newline.
83d400bd 1928 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 1929 Add trailing newline.
83d400bd 1930 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 1931 Add trailing newline.
83d400bd 1932 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 1933 Add trailing newline.
83d400bd 1934 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 1935 Add trailing newline.
83d400bd 1936 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 1937 Add trailing newline.
83d400bd 1938 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 1939 Add trailing newline.
83d400bd 1940 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 1941 Add trailing newline.
83d400bd 1942 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 1943 Add trailing newline.
83d400bd 1944 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 1945 Add trailing newline.
83d400bd 1946 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 1947 Add trailing newline.
83d400bd 1948 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 1949 Add trailing newline.
83d400bd 1950 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 1951 Add trailing newline.
83d400bd 1952 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 1953 Add trailing newline.
83d400bd 1954 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 1955 Add trailing newline.
83d400bd 1956 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 1957 Add trailing newline.
83d400bd 1958 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 1959 Add trailing newline.
83d400bd 1960 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 1961 Add trailing newline.
83d400bd 1962 * doc/openmp-context-selectors.rst:
3d3b561f 1963 Add trailing newline.
83d400bd 1964 * doc/openmp-environment-variables.rst:
3d3b561f 1965 Add trailing newline.
83d400bd 1966 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 1967 Add trailing newline.
83d400bd 1968 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 1969 Add trailing newline.
83d400bd 1970 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 1971 Add trailing newline.
83d400bd 1972 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 1973 Add trailing newline.
83d400bd 1974 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 1975 Add trailing newline.
83d400bd 1976 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 1977 Add trailing newline.
83d400bd 1978 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 1979 Add trailing newline.
83d400bd 1980 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 1981 Add trailing newline.
83d400bd 1982 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 1983 Add trailing newline.
83d400bd 1984 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 1985 Add trailing newline.
83d400bd 1986 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 1987 Add trailing newline.
83d400bd 1988 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 1989 Add trailing newline.
83d400bd 1990 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 1991 Add trailing newline.
83d400bd 1992 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 1993 Add trailing newline.
83d400bd 1994 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 1995 Add trailing newline.
83d400bd 1996 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 1997 Add trailing newline.
83d400bd 1998 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 1999 Add trailing newline.
83d400bd 2000 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 2001 Add trailing newline.
83d400bd 2002 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 2003 Add trailing newline.
83d400bd 2004 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 2005 Add trailing newline.
83d400bd 2006 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 2007 Add trailing newline.
83d400bd 2008 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 2009 Add trailing newline.
83d400bd 2010 * doc/openmp-implementation-specifics.rst:
3d3b561f 2011 Add trailing newline.
83d400bd 2012 * doc/openmp-implementation-status.rst:
3d3b561f 2013 Add trailing newline.
83d400bd 2014 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 2015 Add trailing newline.
83d400bd 2016 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 2017 Add trailing newline.
83d400bd 2018 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 2019 Add trailing newline.
83d400bd 2020 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 2021 Add trailing newline.
83d400bd 2022 * doc/openmp-runtime-library-routines.rst:
3d3b561f 2023 Add trailing newline.
83d400bd 2024 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 2025 Add trailing newline.
83d400bd 2026 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 2027 Add trailing newline.
83d400bd 2028 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 2029 Add trailing newline.
83d400bd 2030 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 2031 Add trailing newline.
83d400bd 2032 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2033 Add trailing newline.
83d400bd 2034 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2035 Add trailing newline.
83d400bd 2036 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2037 Add trailing newline.
83d400bd 2038 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2039 Add trailing newline.
83d400bd 2040 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2041 Add trailing newline.
83d400bd 2042 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2043 Add trailing newline.
83d400bd 2044 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2045 Add trailing newline.
83d400bd 2046 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2047 Add trailing newline.
83d400bd 2048 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2049 Add trailing newline.
83d400bd 2050 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2051 Add trailing newline.
83d400bd 2052 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2053 Add trailing newline.
83d400bd 2054 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2055 Add trailing newline.
83d400bd 2056 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2057 Add trailing newline.
83d400bd 2058 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2059 Add trailing newline.
83d400bd 2060 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2061 Add trailing newline.
83d400bd 2062 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2063 Add trailing newline.
83d400bd 2064 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2065 Add trailing newline.
83d400bd 2066 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2067 Add trailing newline.
83d400bd 2068 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2069 Add trailing newline.
83d400bd 2070 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2071 Add trailing newline.
83d400bd 2072 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2073 Add trailing newline.
83d400bd 2074 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2075 Add trailing newline.
83d400bd 2076 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2077 Add trailing newline.
83d400bd 2078 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2079 Add trailing newline.
83d400bd 2080 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2081 Add trailing newline.
83d400bd 2082 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2083 Add trailing newline.
83d400bd 2084 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2085 Add trailing newline.
83d400bd 2086 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2087 Add trailing newline.
83d400bd 2088 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2089 Add trailing newline.
83d400bd 2090 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2091 Add trailing newline.
83d400bd 2092 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2093 Add trailing newline.
83d400bd 2094 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2095 Add trailing newline.
83d400bd 2096 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2097 Add trailing newline.
83d400bd 2098 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2099 Add trailing newline.
83d400bd 2100 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2101 Add trailing newline.
83d400bd 2102 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2103 Add trailing newline.
83d400bd 2104 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2105 Add trailing newline.
83d400bd 2106 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2107 Add trailing newline.
83d400bd 2108 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2109 Add trailing newline.
83d400bd 2110 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2111 Add trailing newline.
83d400bd 2112 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2113 Add trailing newline.
83d400bd 2114 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2115 Add trailing newline.
83d400bd 2116 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2117 Add trailing newline.
83d400bd 2118 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2119 Add trailing newline.
83d400bd 2120 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2121 Add trailing newline.
83d400bd 2122 * doc/reporting-bugs.rst:
3d3b561f 2123 Add trailing newline.
83d400bd 2124 * doc/the-libgomp-abi.rst:
3d3b561f 2125 Add trailing newline.
83d400bd 2126 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2127 Add trailing newline.
83d400bd 2128 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2129 Add trailing newline.
83d400bd 2130 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2131 Add trailing newline.
83d400bd 2132 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2133 Add trailing newline.
83d400bd 2134 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2135 Add trailing newline.
83d400bd 2136 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2137 Add trailing newline.
83d400bd 2138 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2139 Add trailing newline.
83d400bd 2140 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2141 Add trailing newline.
83d400bd 2142 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2143 Add trailing newline.
83d400bd 2144 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2145 Add trailing newline.
83d400bd 2146 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2147 Add trailing newline.
83d400bd 2148 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2149 Add trailing newline.
83d400bd 2150 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2151 Add trailing newline.
83d400bd 2152 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2153 Add trailing newline.
83d400bd 2154 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2155 Add trailing newline.
83d400bd
GA
2156
21572022-11-14 Martin Liska <mliska@suse.cz>
2158
2159 Revert:
2160 2022-11-09 Martin Liska <mliska@suse.cz>
2161
2162 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2163
21642022-11-14 Martin Liska <mliska@suse.cz>
2165
2166 Revert:
2167 2022-11-14 Martin Liska <mliska@suse.cz>
2168
2169 * doc/conf.py: Add newline at last line.
2170
21712022-11-14 Martin Liska <mliska@suse.cz>
2172
2173 Revert:
2174 2022-11-14 Martin Liska <mliska@suse.cz>
2175
2176 PR other/107620
2177 * configure: Regenerate.
2178 * configure.ac: Always set sphinx-build.
2179
eefbfbc7
GA
21802022-11-13 Martin Liska <mliska@suse.cz>
2181
2182 PR other/107620
2183 * configure: Regenerate.
2184 * configure.ac: Always set sphinx-build.
2185
30d77d49
GA
21862022-11-12 Jakub Jelinek <jakub@redhat.com>
2187
2188 PR libgomp/107641
2189 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
2190 unsigned long. Change type of upper from unsigned to unsigned long.
2191
f225b813
GA
21922022-11-10 Martin Liska <mliska@suse.cz>
2193
2194 * doc/conf.py: Add newline at last line.
2195
1cdfd0e5
GA
21962022-11-09 Martin Liska <mliska@suse.cz>
2197
2198 * Makefile.in: Add missing HAS_SPHINX_BUILD.
2199
22002022-11-09 Martin Liska <mliska@suse.cz>
2201
2202 * doc/amd-radeon-gcn.rst:
3d3b561f 2203 Add trailing newline.
1cdfd0e5 2204 * doc/copyright.rst:
3d3b561f 2205 Add trailing newline.
1cdfd0e5 2206 * doc/cuda-streams-usage.rst:
3d3b561f 2207 Add trailing newline.
1cdfd0e5 2208 * doc/enabling-openacc.rst:
3d3b561f 2209 Add trailing newline.
1cdfd0e5 2210 * doc/enabling-openmp.rst:
3d3b561f 2211 Add trailing newline.
1cdfd0e5 2212 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 2213 Add trailing newline.
1cdfd0e5 2214 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 2215 Add trailing newline.
1cdfd0e5 2216 * doc/funding.rst:
3d3b561f 2217 Add trailing newline.
1cdfd0e5 2218 * doc/general-public-license-3.rst:
3d3b561f 2219 Add trailing newline.
1cdfd0e5 2220 * doc/gnu-free-documentation-license.rst:
3d3b561f 2221 Add trailing newline.
1cdfd0e5 2222 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 2223 Add trailing newline.
1cdfd0e5 2224 * doc/index.rst:
3d3b561f 2225 Add trailing newline.
1cdfd0e5 2226 * doc/indices-and-tables.rst:
3d3b561f 2227 Add trailing newline.
1cdfd0e5 2228 * doc/introduction.rst:
3d3b561f 2229 Add trailing newline.
1cdfd0e5 2230 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 2231 Add trailing newline.
1cdfd0e5 2232 * doc/nvptx.rst:
3d3b561f 2233 Add trailing newline.
1cdfd0e5 2234 * doc/offload-target-specifics.rst:
3d3b561f 2235 Add trailing newline.
1cdfd0e5 2236 * doc/openacc-environment-variables.rst:
3d3b561f 2237 Add trailing newline.
1cdfd0e5 2238 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 2239 Add trailing newline.
1cdfd0e5 2240 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 2241 Add trailing newline.
1cdfd0e5 2242 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 2243 Add trailing newline.
1cdfd0e5 2244 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 2245 Add trailing newline.
1cdfd0e5 2246 * doc/openacc-introduction.rst:
3d3b561f 2247 Add trailing newline.
1cdfd0e5 2248 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 2249 Add trailing newline.
1cdfd0e5 2250 * doc/openacc-library-interoperability.rst:
3d3b561f 2251 Add trailing newline.
1cdfd0e5 2252 * doc/openacc-profiling-interface.rst:
3d3b561f 2253 Add trailing newline.
1cdfd0e5 2254 * doc/openacc-runtime-library-routines.rst:
3d3b561f 2255 Add trailing newline.
1cdfd0e5 2256 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 2257 Add trailing newline.
1cdfd0e5 2258 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 2259 Add trailing newline.
1cdfd0e5 2260 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 2261 Add trailing newline.
1cdfd0e5 2262 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 2263 Add trailing newline.
1cdfd0e5 2264 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 2265 Add trailing newline.
1cdfd0e5 2266 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 2267 Add trailing newline.
1cdfd0e5 2268 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 2269 Add trailing newline.
1cdfd0e5 2270 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 2271 Add trailing newline.
1cdfd0e5 2272 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 2273 Add trailing newline.
1cdfd0e5 2274 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 2275 Add trailing newline.
1cdfd0e5 2276 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 2277 Add trailing newline.
1cdfd0e5 2278 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 2279 Add trailing newline.
1cdfd0e5 2280 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 2281 Add trailing newline.
1cdfd0e5 2282 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 2283 Add trailing newline.
1cdfd0e5 2284 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 2285 Add trailing newline.
1cdfd0e5 2286 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 2287 Add trailing newline.
1cdfd0e5 2288 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 2289 Add trailing newline.
1cdfd0e5 2290 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 2291 Add trailing newline.
1cdfd0e5 2292 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 2293 Add trailing newline.
1cdfd0e5 2294 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 2295 Add trailing newline.
1cdfd0e5 2296 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 2297 Add trailing newline.
1cdfd0e5 2298 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 2299 Add trailing newline.
1cdfd0e5 2300 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 2301 Add trailing newline.
1cdfd0e5 2302 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 2303 Add trailing newline.
1cdfd0e5 2304 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 2305 Add trailing newline.
1cdfd0e5 2306 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 2307 Add trailing newline.
1cdfd0e5 2308 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 2309 Add trailing newline.
1cdfd0e5 2310 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 2311 Add trailing newline.
1cdfd0e5 2312 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 2313 Add trailing newline.
1cdfd0e5 2314 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 2315 Add trailing newline.
1cdfd0e5 2316 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 2317 Add trailing newline.
1cdfd0e5 2318 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 2319 Add trailing newline.
1cdfd0e5 2320 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 2321 Add trailing newline.
1cdfd0e5 2322 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 2323 Add trailing newline.
1cdfd0e5 2324 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 2325 Add trailing newline.
1cdfd0e5 2326 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 2327 Add trailing newline.
1cdfd0e5 2328 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 2329 Add trailing newline.
1cdfd0e5 2330 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 2331 Add trailing newline.
1cdfd0e5 2332 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 2333 Add trailing newline.
1cdfd0e5 2334 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 2335 Add trailing newline.
1cdfd0e5 2336 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 2337 Add trailing newline.
1cdfd0e5 2338 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 2339 Add trailing newline.
1cdfd0e5 2340 * doc/openmp-context-selectors.rst:
3d3b561f 2341 Add trailing newline.
1cdfd0e5 2342 * doc/openmp-environment-variables.rst:
3d3b561f 2343 Add trailing newline.
1cdfd0e5 2344 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 2345 Add trailing newline.
1cdfd0e5 2346 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 2347 Add trailing newline.
1cdfd0e5 2348 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 2349 Add trailing newline.
1cdfd0e5 2350 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 2351 Add trailing newline.
1cdfd0e5 2352 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 2353 Add trailing newline.
1cdfd0e5 2354 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 2355 Add trailing newline.
1cdfd0e5 2356 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 2357 Add trailing newline.
1cdfd0e5 2358 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 2359 Add trailing newline.
1cdfd0e5 2360 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 2361 Add trailing newline.
1cdfd0e5 2362 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 2363 Add trailing newline.
1cdfd0e5 2364 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 2365 Add trailing newline.
1cdfd0e5 2366 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 2367 Add trailing newline.
1cdfd0e5 2368 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 2369 Add trailing newline.
1cdfd0e5 2370 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 2371 Add trailing newline.
1cdfd0e5 2372 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 2373 Add trailing newline.
1cdfd0e5 2374 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 2375 Add trailing newline.
1cdfd0e5 2376 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 2377 Add trailing newline.
1cdfd0e5 2378 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 2379 Add trailing newline.
1cdfd0e5 2380 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 2381 Add trailing newline.
1cdfd0e5 2382 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 2383 Add trailing newline.
1cdfd0e5 2384 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 2385 Add trailing newline.
1cdfd0e5 2386 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 2387 Add trailing newline.
1cdfd0e5 2388 * doc/openmp-implementation-specifics.rst:
3d3b561f 2389 Add trailing newline.
1cdfd0e5 2390 * doc/openmp-implementation-status.rst:
3d3b561f 2391 Add trailing newline.
1cdfd0e5 2392 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 2393 Add trailing newline.
1cdfd0e5 2394 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 2395 Add trailing newline.
1cdfd0e5 2396 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 2397 Add trailing newline.
1cdfd0e5 2398 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 2399 Add trailing newline.
1cdfd0e5 2400 * doc/openmp-runtime-library-routines.rst:
3d3b561f 2401 Add trailing newline.
1cdfd0e5 2402 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 2403 Add trailing newline.
1cdfd0e5 2404 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 2405 Add trailing newline.
1cdfd0e5 2406 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 2407 Add trailing newline.
1cdfd0e5 2408 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 2409 Add trailing newline.
1cdfd0e5 2410 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 2411 Add trailing newline.
1cdfd0e5 2412 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 2413 Add trailing newline.
1cdfd0e5 2414 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 2415 Add trailing newline.
1cdfd0e5 2416 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 2417 Add trailing newline.
1cdfd0e5 2418 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 2419 Add trailing newline.
1cdfd0e5 2420 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 2421 Add trailing newline.
1cdfd0e5 2422 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 2423 Add trailing newline.
1cdfd0e5 2424 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 2425 Add trailing newline.
1cdfd0e5 2426 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 2427 Add trailing newline.
1cdfd0e5 2428 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 2429 Add trailing newline.
1cdfd0e5 2430 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 2431 Add trailing newline.
1cdfd0e5 2432 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 2433 Add trailing newline.
1cdfd0e5 2434 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 2435 Add trailing newline.
1cdfd0e5 2436 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 2437 Add trailing newline.
1cdfd0e5 2438 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 2439 Add trailing newline.
1cdfd0e5 2440 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 2441 Add trailing newline.
1cdfd0e5 2442 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 2443 Add trailing newline.
1cdfd0e5 2444 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 2445 Add trailing newline.
1cdfd0e5 2446 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 2447 Add trailing newline.
1cdfd0e5 2448 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 2449 Add trailing newline.
1cdfd0e5 2450 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 2451 Add trailing newline.
1cdfd0e5 2452 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 2453 Add trailing newline.
1cdfd0e5 2454 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 2455 Add trailing newline.
1cdfd0e5 2456 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 2457 Add trailing newline.
1cdfd0e5 2458 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 2459 Add trailing newline.
1cdfd0e5 2460 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 2461 Add trailing newline.
1cdfd0e5 2462 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 2463 Add trailing newline.
1cdfd0e5 2464 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 2465 Add trailing newline.
1cdfd0e5 2466 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 2467 Add trailing newline.
1cdfd0e5 2468 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 2469 Add trailing newline.
1cdfd0e5 2470 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 2471 Add trailing newline.
1cdfd0e5 2472 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 2473 Add trailing newline.
1cdfd0e5 2474 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 2475 Add trailing newline.
1cdfd0e5 2476 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 2477 Add trailing newline.
1cdfd0e5 2478 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 2479 Add trailing newline.
1cdfd0e5 2480 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 2481 Add trailing newline.
1cdfd0e5 2482 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 2483 Add trailing newline.
1cdfd0e5 2484 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 2485 Add trailing newline.
1cdfd0e5 2486 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 2487 Add trailing newline.
1cdfd0e5 2488 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 2489 Add trailing newline.
1cdfd0e5 2490 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 2491 Add trailing newline.
1cdfd0e5 2492 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 2493 Add trailing newline.
1cdfd0e5 2494 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 2495 Add trailing newline.
1cdfd0e5 2496 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 2497 Add trailing newline.
1cdfd0e5 2498 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 2499 Add trailing newline.
1cdfd0e5 2500 * doc/reporting-bugs.rst:
3d3b561f 2501 Add trailing newline.
1cdfd0e5 2502 * doc/the-libgomp-abi.rst:
3d3b561f 2503 Add trailing newline.
1cdfd0e5 2504 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 2505 Add trailing newline.
1cdfd0e5 2506 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 2507 Add trailing newline.
1cdfd0e5 2508 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 2509 Add trailing newline.
1cdfd0e5 2510 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 2511 Add trailing newline.
1cdfd0e5 2512 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 2513 Add trailing newline.
1cdfd0e5 2514 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 2515 Add trailing newline.
1cdfd0e5 2516 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 2517 Add trailing newline.
1cdfd0e5 2518 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 2519 Add trailing newline.
1cdfd0e5 2520 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 2521 Add trailing newline.
1cdfd0e5 2522 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 2523 Add trailing newline.
1cdfd0e5 2524 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 2525 Add trailing newline.
1cdfd0e5 2526 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 2527 Add trailing newline.
1cdfd0e5 2528 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 2529 Add trailing newline.
1cdfd0e5 2530 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 2531 Add trailing newline.
1cdfd0e5 2532 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 2533 Add trailing newline.
1cdfd0e5
GA
2534
25352022-11-09 Martin Liska <mliska@suse.cz>
2536
2537 * Makefile.in: Build info pages conditionally.
2538
25392022-11-09 Martin Liska <mliska@suse.cz>
2540
2541 * Makefile.in: Support --with-sphinx-build.
2542 * configure.ac: Likewise..
2543 * configure: Regenerate.
2544
25452022-11-09 Martin Liska <mliska@suse.cz>
2546
2547 * libgomp.texi: Removed.
2548
25492022-11-09 Martin Liska <mliska@suse.cz>
2550
2551 * Makefile.in: Support Sphinx based documentation.
2552
25532022-11-09 Martin Liska <mliska@suse.cz>
2554
2555 * doc/amd-radeon-gcn.rst: New file.
2556 * doc/conf.py: New file.
2557 * doc/copyright.rst: New file.
2558 * doc/cuda-streams-usage.rst: New file.
2559 * doc/enabling-openacc.rst: New file.
2560 * doc/enabling-openmp.rst: New file.
2561 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
2562 * doc/first-invocation-openacc-library-api.rst: New file.
2563 * doc/funding.rst: New file.
2564 * doc/general-public-license-3.rst: New file.
2565 * doc/gnu-free-documentation-license.rst: New file.
2566 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
2567 * doc/index.rst: New file.
2568 * doc/indices-and-tables.rst: New file.
2569 * doc/introduction.rst: New file.
2570 * doc/memory-allocation-with-libmemkind.rst: New file.
2571 * doc/nvptx.rst: New file.
2572 * doc/offload-target-specifics.rst: New file.
2573 * doc/openacc-environment-variables.rst: New file.
2574 * doc/openacc-environment-variables/accdevicenum.rst: New file.
2575 * doc/openacc-environment-variables/accdevicetype.rst: New file.
2576 * doc/openacc-environment-variables/accproflib.rst: New file.
2577 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
2578 * doc/openacc-introduction.rst: New file.
2579 * doc/openacc-library-and-environment-variables.rst: New file.
2580 * doc/openacc-library-interoperability.rst: New file.
2581 * doc/openacc-profiling-interface.rst: New file.
2582 * doc/openacc-runtime-library-routines.rst: New file.
2583 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
2584 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
2585 * doc/openacc-runtime-library-routines/accattach.rst: New file.
2586 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
2587 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
2588 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
2589 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
2590 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
2591 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
2592 * doc/openacc-runtime-library-routines/accfree.rst: New file.
2593 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
2594 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
2595 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
2596 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
2597 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
2598 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
2599 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
2600 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
2601 * doc/openacc-runtime-library-routines/accinit.rst: New file.
2602 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
2603 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
2604 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
2605 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
2606 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
2607 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
2608 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
2609 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
2610 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
2611 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
2612 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
2613 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
2614 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
2615 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
2616 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
2617 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
2618 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
2619 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
2620 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
2621 * doc/openacc-runtime-library-routines/accwait.rst: New file.
2622 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
2623 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
2624 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
2625 * doc/openmp-context-selectors.rst: New file.
2626 * doc/openmp-environment-variables.rst: New file.
2627 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
2628 * doc/openmp-environment-variables/gompdebug.rst: New file.
2629 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
2630 * doc/openmp-environment-variables/gompspincount.rst: New file.
2631 * doc/openmp-environment-variables/gompstacksize.rst: New file.
2632 * doc/openmp-environment-variables/ompcancellation.rst: New file.
2633 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
2634 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
2635 * doc/openmp-environment-variables/ompdynamic.rst: New file.
2636 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
2637 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
2638 * doc/openmp-environment-variables/ompnested.rst: New file.
2639 * doc/openmp-environment-variables/ompnumteams.rst: New file.
2640 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
2641 * doc/openmp-environment-variables/ompplaces.rst: New file.
2642 * doc/openmp-environment-variables/ompprocbind.rst: New file.
2643 * doc/openmp-environment-variables/ompschedule.rst: New file.
2644 * doc/openmp-environment-variables/ompstacksize.rst: New file.
2645 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
2646 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
2647 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
2648 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
2649 * doc/openmp-implementation-specifics.rst: New file.
2650 * doc/openmp-implementation-status.rst: New file.
2651 * doc/openmp-implementation-status/openmp-45.rst: New file.
2652 * doc/openmp-implementation-status/openmp-50.rst: New file.
2653 * doc/openmp-implementation-status/openmp-51.rst: New file.
2654 * doc/openmp-implementation-status/openmp-52.rst: New file.
2655 * doc/openmp-runtime-library-routines.rst: New file.
2656 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
2657 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
2658 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
2659 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
2660 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
2661 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
2662 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
2663 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
2664 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
2665 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
2666 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
2667 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
2668 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
2669 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
2670 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
2671 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
2672 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
2673 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
2674 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
2675 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
2676 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
2677 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
2678 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
2679 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
2680 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
2681 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
2682 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
2683 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
2684 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
2685 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
2686 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
2687 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
2688 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
2689 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
2690 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
2691 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
2692 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
2693 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
2694 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
2695 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
2696 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
2697 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
2698 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
2699 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
2700 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
2701 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
2702 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
2703 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
2704 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
2705 * doc/reporting-bugs.rst: New file.
2706 * doc/the-libgomp-abi.rst: New file.
2707 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
2708 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
2709 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
2710 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
2711 New file.
2712 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
2713 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
2714 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
2715 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
2716 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
2717 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
2718 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
2719 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
2720 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
2721 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
2722 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
2723
89d0a14a
JJ
27242022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2725
2726 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
2727 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
2728 documentation.
2729 * plugin/configfrag.ac <enable_offload_targets>
2730 [*-intelmic-* | *-intelmicemul-*]: Remove.
2731 * configure: Regenerate.
2732 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
2733 handling.
2734 (offload_target_to_openacc_device_type)
2735 [$offload_target = *-intelmic*]: Remove.
2736 (check_effective_target_offload_device_intel_mic)
2737 (check_effective_target_offload_device_any_intel_mic): Remove.
2738 * testsuite/libgomp.c-c++-common/on_device_arch.h
2739 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
2740 (any_device_arch_intel_mic): Remove.
2741 * testsuite/libgomp.c-c++-common/target-45.c: Remove
2742 'offload_device_any_intel_mic' XFAIL.
2743 * testsuite/libgomp.fortran/target10.f90: Likewise.
2744
d29260ce
GA
27452022-11-03 Tobias Burnus <tobias@codesourcery.com>
2746
2747 * testsuite/libgomp.fortran/target-11.f90: New test.
2748 * testsuite/libgomp.fortran/target-13.f90: New test.
2749
58035eee
GA
27502022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2751
2752 PR libgomp/106643
2753 PR fortran/96668
2754 * oacc-mem.c (goacc_enter_data_internal): Support
2755 OpenACC 'declare create' with Fortran allocatable arrays, part II.
2756 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2757 Adjust.
2758 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
2759
27602022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2761
2762 PR libgomp/106643
2763 * oacc-mem.c (goacc_enter_data_internal): Support
2764 OpenACC 'declare create' with Fortran allocatable arrays, part I.
2765 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
2766 New.
2767 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
2768 New.
2769
27702022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2771
2772 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
2773 New.
2774
27752022-11-02 Thomas Schwinge <thomas@codesourcery.com>
2776
2777 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
2778 New.
2779
27802022-11-02 Cesar Philippidis <cesar@codesourcery.com>
2781 Thomas Schwinge <thomas@codesourcery.com>
2782
2783 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
2784
3055829a
GA
27852022-10-28 Julian Brown <julian@codesourcery.com>
2786 Thomas Schwinge <thomas@codesourcery.com>
2787
2788 PR middle-end/90115
2789 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
2790 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2791 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2792 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
2793 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2794
4e939ae1
GA
27952022-10-24 Thomas Schwinge <thomas@codesourcery.com>
2796
2797 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
2798 'ptx_dev->rev_data'.
2799
28002022-10-24 Tobias Burnus <tobias@codesourcery.com>
2801
2802 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
2803 'static' for this variable.
2804 * config/nvptx/libgomp-nvptx.h: New file.
2805 * config/nvptx/target.c: Include it.
2806 (GOMP_ADDITIONAL_ICVS): Declare extern var.
2807 (GOMP_REV_OFFLOAD_VAR): Declare var.
2808 (GOMP_target_ext): Handle reverse offload.
2809 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
2810 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
2811 * target.c (gomp_target_rev): ... this new stub function.
2812 * libgomp.h (gomp_target_rev): Declare.
2813 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
2814 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
2815 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
2816 (struct ptx_device): Add rev_data member.
2817 (nvptx_open_device): Remove async_engines query, last used in
2818 r10-304-g1f4c5b9b; add unified-address assert check.
2819 (GOMP_OFFLOAD_get_num_devices): Claim unified address
2820 support.
2821 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
2822 offload functions exist. Make offload var available
2823 on host and device.
2824 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
2825 (GOMP_OFFLOAD_run): Handle reverse offload.
2826
10439719
GA
28272022-10-21 Thomas Schwinge <thomas@codesourcery.com>
2828
2829 PR tree-optimization/107195
2830 PR target/107344
2831 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
2832 regions checking.
2833
47a6ae56
GA
28342022-10-20 Tobias Burnus <tobias@codesourcery.com>
2835
2836 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
2837 New.
2838 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
2839 on_device_arch_gcn): New.
2840 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
2841 requires-4.c but using heap-allocated memory.
2842
28432022-10-20 Thomas Schwinge <thomas@codesourcery.com>
2844
2845 PR target/105421
2846 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
2847
6237663c
GA
28482022-10-17 Thomas Schwinge <thomas@codesourcery.com>
2849
2850 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
2851 '-foffload-options' syntax.
2852
621a911d
GA
28532022-10-13 Tobias Burnus <tobias@codesourcery.com>
2854
2855 * testsuite/libgomp.fortran/task-7.f90: New test.
2856 * testsuite/libgomp.fortran/task-8.f90: New test.
2857 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
2858 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
2859 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
2860 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
2861 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
2862
781f477a
GA
28632022-10-12 Jakub Jelinek <jakub@redhat.com>
2864
2865 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
2866 in deprecation bullet.
2867
28682022-10-12 Jakub Jelinek <jakub@redhat.com>
2869
2870 * omp.h.in (omp_in_explicit_task): Declare.
2871 * omp_lib.h.in (omp_in_explicit_task): Likewise.
2872 * omp_lib.f90.in (omp_in_explicit_task): New interface.
2873 * libgomp.map (OMP_5.2): New symbol version, export
2874 omp_in_explicit_task and omp_in_explicit_task_.
2875 * task.c (omp_in_explicit_task): New function.
2876 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
2877 (omp_in_explicit_task_): New function.
2878 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
2879 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
2880 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
2881 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
2882
28832022-10-12 Jakub Jelinek <jakub@redhat.com>
2884
2885 * task.c (gomp_create_artificial_team): Fix up handling of invocations
2886 from within explicit task.
2887 * target.c (GOMP_target_ext): Likewise.
2888 * testsuite/libgomp.c/task-7.c: New test.
2889 * testsuite/libgomp.c/task-8.c: New test.
2890 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
2891 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
2892
28932022-10-12 Martin Liska <mliska@suse.cz>
2894
2895 * configure: Regenerate.
2896
ab332cd7
GA
28972022-10-11 Olivier Hainque <hainque@adacore.com>
2898 Olivier Hainque <hainque@adacore.com>
2899
2900 * configure: Regenerate.
2901
966010b2
GA
29022022-10-05 Tobias Burnus <tobias@codesourcery.com>
2903
2904 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
2905
85872a69
GA
29062022-10-04 Jakub Jelinek <jakub@redhat.com>
2907
2908 * libgomp.texi (Support begin/end declare target syntax in C/C++):
2909 Mark as implemented.
2910
3a221b73
GA
29112022-09-30 Tobias Burnus <tobias@codesourcery.com>
2912
2913 PR fortran/105318
2914 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
2915
9e79a25b
GA
29162022-09-28 Tobias Burnus <tobias@codesourcery.com>
2917
2918 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
2919 for C/C++. Remove duplicated 'begin declare target' entry.
2920
28a61ecd
GA
29212022-09-24 Jakub Jelinek <jakub@redhat.com>
2922
2923 PR c/106981
2924 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
2925
ff822367
GA
29262022-09-14 Julian Brown <julian@codesourcery.com>
2927
2928 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
2929 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
2930 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
2931 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
2932 test to here, make "run" test.
2933
1995a022
GA
29342022-09-13 Jakub Jelinek <jakub@redhat.com>
2935
2936 PR libgomp/106906
2937 * env.c (get_icv_member_addr): Cast false to void * before assigning
2938 it to icv_addr[1], and comment the whole assignment out.
2939
29402022-09-13 Tobias Burnus <tobias@codesourcery.com>
2941
2942 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
2943 (nvptx): ... here.
2944
b5f09bd7
GA
29452022-09-12 Tobias Burnus <tobias@codesourcery.com>
2946
2947 * libgomp.texi (Offload-Target Specifics: nvptx): Document
2948 that reverse offload requires >= -march=sm_35.
2949 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
2950 with -misa=sm_35.
2951 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2952 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
2953 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
2954 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
2955 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
2956
29572022-09-12 Tobias Burnus <tobias@codesourcery.com>
2958
2959 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
2960 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
2961
29622022-09-12 Jakub Jelinek <jakub@redhat.com>
2963
2964 PR libgomp/106894
2965 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
2966 (main): Avoid tests for which corresponding non-_ALL suffixed variable
2967 is in the environment, or for OMP_NUM_TEAMS on the device
2968 OMP_NUM_TEAMS_DEV_?.
2969
5b3496e2
GA
29702022-09-10 Iain Sandoe <iain@sandoe.co.uk>
2971
2972 * env.c (initialize_env): Include libiberty environ.h.
2973
861d1a11
GA
29742022-09-09 Tobias Burnus <tobias@codesourcery.com>
2975
2976 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
2977 function address table '$offload_func_table' if rev_fn_table
2978 is not NULL.
2979
29802022-09-09 Tobias Burnus <tobias@codesourcery.com>
2981
2982 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
2983 .offload_func_table to populate rev_fn_table when requested.
2984
29852022-09-09 Tobias Burnus <tobias@codesourcery.com>
2986
2987 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
2988 'uint64_t **rev_fn_table' argument.
2989 * oacc-host.c (host_load_image): Likewise.
2990 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
2991 currently unused.
2992 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2993 * target.c (gomp_load_image_to_device): Update call but pass
2994 NULL for now.
2995
29962022-09-09 Jakub Jelinek <jakub@redhat.com>
2997
2998 PR libgomp/106894
2999 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
3000 char * for dest[1] initialization from params[1]. Formatting fixes.
3001
2e7ad70c
GA
30022022-09-08 Tobias Burnus <tobias@codesourcery.com>
3003
3004 PR fortran/106670
3005 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
3006
30072022-09-08 Tobias Burnus <tobias@codesourcery.com>
3008
3009 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
3010 section; move OpenMP Context Selectors from ...
3011 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
3012 'nvptx' sections.
3013
30142022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
3015
3016 * config/gcn/icv-device.c (omp_get_default_device): Return device-
3017 specific ICV.
3018 (omp_get_max_teams): Added for GCN devices.
3019 (omp_set_num_teams): Likewise.
3020 (ialias): Likewise.
3021 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
3022 specific ICV.
3023 (omp_get_max_teams): Added for NVPTX devices.
3024 (omp_set_num_teams): Likewise.
3025 (ialias): Likewise.
3026 * env.c (struct gomp_icv_list): New struct to store entries of initial
3027 ICV values.
3028 (struct gomp_offload_icv_list): New struct to store entries of device-
3029 specific ICV values that are copied to the device and back.
3030 (struct gomp_default_icv_values): New struct to store default values of
3031 ICVs according to the OpenMP standard.
3032 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
3033 (print_env_var_error): Function that prints an error for invalid values
3034 for ICVs.
3035 (parse_unsigned_long_1): Removed getenv. Generalized.
3036 (parse_unsigned_long): Likewise.
3037 (parse_int_1): Likewise.
3038 (parse_int): Likewise.
3039 (parse_int_secure): Likewise.
3040 (parse_unsigned_long_list): Likewise.
3041 (parse_target_offload): Likewise.
3042 (parse_bind_var): Likewise.
3043 (parse_stacksize): Likewise.
3044 (parse_boolean): Likewise.
3045 (parse_wait_policy): Likewise.
3046 (parse_allocator): Likewise.
3047 (omp_display_env): Extended to output different variants of environment
3048 variables.
3049 (print_schedule): New helper function for omp_display_env which prints
3050 the values of run_sched_var.
3051 (print_proc_bind): New helper function for omp_display_env which prints
3052 the values of proc_bind_var.
3053 (enum gomp_parse_type): Collection of types used for parsing environment
3054 variables.
3055 (ENTRY): Preprocess string lengths of environment variables.
3056 (OMP_VAR_CNT): Preprocess table size.
3057 (OMP_HOST_VAR_CNT): Likewise.
3058 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
3059 number.
3060 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3061 (gomp_set_icv_flag): Sets a flag for a particular ICV.
3062 (print_device_specific_icvs): New helper function for omp_display_env to
3063 print device specific ICV values.
3064 (get_device_num): New helper function for parse_device_specific.
3065 Extracts the device number from an environment variable name.
3066 (get_icv_member_addr): Gets the memory address for a particular member
3067 of an ICV struct.
3068 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3069 (initialize_icvs): New function to initialize a gomp_initial_icvs
3070 struct.
3071 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
3072 (startswith): Checks if a string starts with a given prefix.
3073 (initialize_env): Extended to parse the new syntax of environment
3074 variables.
3075 * icv-device.c (omp_get_max_teams): Added.
3076 (ialias): Likewise.
3077 (omp_set_num_teams): Likewise.
3078 * icv.c (omp_set_num_teams): Moved to icv-device.c.
3079 (omp_get_max_teams): Likewise.
3080 (ialias): Likewise.
3081 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
3082 (GOMP_ADDITIONAL_ICVS): New target-side struct that
3083 holds the designated ICVs of the target device.
3084 * libgomp.h (enum gomp_icvs): Collection of ICVs.
3085 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
3086 no suffix.
3087 (enum gomp_env_suffix): Collection of possible suffixes of environment
3088 variables.
3089 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
3090 initial values.
3091 (struct gomp_default_icv):New struct to hold ICVs for which we need
3092 to store initial values.
3093 (struct gomp_icv_list): Definition of a linked list that is used for
3094 storing ICVs for the devices and also for _DEV, _ALL, and without
3095 suffix.
3096 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
3097 a device.
3098 (struct gomp_offload_icv_list): Definition of a linked list that holds
3099 device-specific ICVs that are copied to devices.
3100 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
3101 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
3102 * libgomp.texi: Updated.
3103 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
3104 further ICVs from the offload image.
3105 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3106 * target.c (gomp_get_offload_icv_item): Get a list item of
3107 gomp_offload_icv_list.
3108 (get_gomp_offload_icvs): New. Returns the ICV values
3109 depending on the device num and the variable hierarchy.
3110 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
3111 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
3112 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
3113 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
3114 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
3115 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
3116 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
3117
31182022-09-08 Jakub Jelinek <jakub@redhat.com>
3119
3120 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
3121 fully supported.
3122 * testsuite/libgomp.c/doacross-4.c: New test.
3123 * testsuite/libgomp.c/doacross-5.c: New test.
3124 * testsuite/libgomp.c/doacross-6.c: New test.
3125 * testsuite/libgomp.c/doacross-7.c: New test.
3126
47d2dcd1
GA
31272022-09-05 Tobias Burnus <tobias@codesourcery.com>
3128
3129 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
3130
16f542d6
GA
31312022-08-26 Tobias Burnus <tobias@codesourcery.com>
3132
3133 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
3134 refer to 'requires'.
3135 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
3136 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
3137 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
3138 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
3139
0342f034
GA
31402022-08-17 Tobias Burnus <tobias@codesourcery.com>
3141
3142 PR middle-end/106548
3143 * testsuite/libgomp.c/linear-2.c: New test.
3144
31452022-08-17 Tobias Burnus <tobias@codesourcery.com>
3146
3147 * splay-tree.h: Fix splay_* macro unsetting if
3148 splay_tree_prefix is defined.
3149
b2bf0473
GA
31502022-07-29 Tobias Burnus <tobias@codesourcery.com>
3151
3152 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
3153
31542022-07-29 Jakub Jelinek <jakub@redhat.com>
3155
3156 PR middle-end/106449
3157 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
3158
43997608
GA
31592022-07-12 Tobias Burnus <tobias@codesourcery.com>
3160
3161 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
3162
31632022-07-12 Thomas Schwinge <thomas@codesourcery.com>
3164
3165 PR middle-end/101551
3166 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
3167 'offloading_enabled' diagnostics issue.
3168
c72d4714
GA
31692022-07-11 Thomas Schwinge <thomas@codesourcery.com>
3170
3171 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
3172 '_Pragma' diagnostics verification.
3173
b53ebbc5
GA
31742022-07-10 Lewis Hyatt <lhyatt@gmail.com>
3175
3176 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
3177 improved warning locations.
3178 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
3179
0fe604a2
GA
31802022-07-08 Thomas Schwinge <thomas@codesourcery.com>
3181
3182 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
3183 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
3184 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3185 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3186 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3187
6345c414
GA
31882022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3189
3190 * target.c (GOMP_offload_register, GOMP_offload_unregister):
3191 Denote as legacy entry points.
3192 * testsuite/lib/libgomp.exp
3193 (check_effective_target_offload_target_any): New proc.
3194 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
3195 'offload_target_any'.
3196 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
3197 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
3198 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
3199
32002022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3201
3202 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
3203 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
3204
32052022-07-07 Thomas Schwinge <thomas@codesourcery.com>
3206
3207 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
3208
4bc92c3b
GA
32092022-07-06 Thomas Schwinge <thomas@codesourcery.com>
3210
3211 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
3212 'data'.
3213 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
3214
8467574d
GA
32152022-07-04 Tobias Burnus <tobias@codesourcery.com>
3216 Jakub Jelinek <jakub@redhat.com>
3217
3218 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
3219
32202022-07-04 Tobias Burnus <tobias@codesourcery.com>
3221 Chung-Lin Tang <cltang@codesourcery.com>
3222 Thomas Schwinge <thomas@codesourcery.com>
3223
3224 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
3225 omp_requires_mask arg.
3226 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
3227 return -1 when device available but omp_requires_mask != 0.
3228 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
3229 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
3230 Update call.
3231 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
3232 goacc_attach_host_thread_to_device, acc_get_num_devices,
3233 acc_set_device_num, get_property_any): Likewise.
3234 * target.c (omp_requires_mask): New global var.
3235 (gomp_requires_to_name): New.
3236 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
3237 (gomp_target_init): Handle omp_requires_mask.
3238 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
3239 (OpenMP 5.1): Add a missed item.
3240 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
3241 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
3242 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
3243 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
3244 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
3245 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
3246 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
3247 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
3248 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
3249 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
3250 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
3251 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
3252 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
3253 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
3254 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
3255 * testsuite/libgomp.fortran/requires-1.f90: New test.
3256
ed974488
GA
32572022-07-01 Tobias Burnus <tobias@codesourcery.com>
3258
3259 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
3260 with fromto as implemented.
3261
fb29fdea
GA
32622022-06-28 Martin Liska <mliska@suse.cz>
3263
3264 * acinclude.m4: Fix typo in mold linker detection.
3265 * Makefile.in: Regenerate.
3266 * configure: Regenerate.
3267
de89b078
GA
32682022-06-21 Jakub Jelinek <jakub@redhat.com>
3269 Paul Iannetta <piannetta@kalrayinc.com>
3270
3271 PR libgomp/106045
3272 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
3273
5a66d7dd
GA
32742022-06-17 Martin Liska <mliska@suse.cz>
3275
3276 * libgomp.texi: Add table header for new features of
3277 OpenMP 5.2.
3278
499b9c5f
GA
32792022-06-15 Jakub Jelinek <jakub@redhat.com>
3280
3281 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
3282 q to ddress of an automatic variable. Use -5 instead of -1 in
3283 omp_get_mapped_ptr call. Add test with omp_initial_device.
3284 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
3285 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
3286 Renumber stop arguments afterwards.
3287
c3642271
GA
32882022-06-13 Jakub Jelinek <jakub@redhat.com>
3289
3290 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
3291 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
3292 parameters.
3293 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
3294 * target.c (resolve_device): Add remapped argument, handle
3295 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
3296 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
3297 if remapped, otherwise treat omp_initial_device that way. For
3298 omp_invalid_device, always emit gomp_fatal, even when
3299 OMP_TARGET_OFFLOAD isn't mandatory.
3300 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
3301 GOMP_target_update, GOMP_target_update_ext,
3302 GOMP_target_enter_exit_data): Pass true as remapped argument to
3303 resolve_device.
3304 (omp_target_alloc, omp_target_free, omp_target_is_present,
3305 omp_target_memcpy_check, omp_target_associate_ptr,
3306 omp_target_disassociate_ptr, omp_get_mapped_ptr,
3307 omp_target_is_accessible): Pass false as remapped argument to
3308 resolve_device. Treat omp_initial_device the same as
3309 gomp_get_num_devices (). Don't bypass resolve_device calls if
3310 device_num is negative.
3311 (omp_pause_resource): Treat omp_initial_device the same as
3312 gomp_get_num_devices (). Call resolve_device.
3313 * icv-device.c (omp_set_default_device): Always set to device_num
3314 even when it is negative.
3315 * libgomp.texi: Document that Conforming device numbers,
3316 omp_initial_device and omp_invalid_device is implemented.
3317 * testsuite/libgomp.c/target-41.c (main): Add test with
3318 omp_initial_device.
3319 * testsuite/libgomp.c/target-45.c: New test.
3320 * testsuite/libgomp.c/target-46.c: New test.
3321 * testsuite/libgomp.c/target-47.c: New test.
3322 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
3323 test with omp_initial_device. Use -5 instead of -1 for negative value
3324 test.
3325 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
3326 Likewise. Reorder stop numbers.
3327
ef1e4d80
GA
33282022-06-10 Jakub Jelinek <jakub@redhat.com>
3329
3330 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
3331 rather than "libmemkind.so".
3332
33332022-06-10 Thomas Schwinge <thomas@codesourcery.com>
3334
3335 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
3336 * plugin/configfrag.ac (--with-cuda-driver)
3337 (--with-cuda-driver-include, --with-cuda-driver-lib)
3338 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
3339 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
3340 Remove.
3341 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
3342 (cuda_driver_lib): Remove.
3343 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
3344 * Makefile.in: Regenerate.
3345 * configure: Likewise.
3346 * testsuite/Makefile.in: Likewise.
3347
e3bba42f
GA
33482022-06-09 Jakub Jelinek <jakub@redhat.com>
3349
3350 * config/linux/allocator.c: Fix up #include directive.
3351
33522022-06-09 Jakub Jelinek <jakub@redhat.com>
3353
3354 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
3355 (enum gomp_memkind_kind): New type.
3356 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
3357 is defined.
3358 (struct gomp_memkind_data): New type.
3359 (memkind_data, memkind_data_once): New variables.
3360 (gomp_init_memkind, gomp_get_memkind): New functions.
3361 (omp_init_allocator): Initialize data.memkind, don't fail for
3362 omp_high_bw_mem_space if libmemkind supports it.
3363 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
3364 memkind support of LIBGOMP_USE_MEMKIND is defined.
3365 * config/linux/allocator.c: New file.
3366
58b67140
GA
33672022-06-03 Tobias Burnus <tobias@codesourcery.com>
3368
3369 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
3370 * testsuite/libgomp.fortran/scope-2.f90: New test.
3371
b168441c
GA
33722022-06-02 David Malcolm <dmalcolm@redhat.com>
3373
3374 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
3375
820ead45
GA
33762022-05-31 Jakub Jelinek <jakub@redhat.com>
3377
3378 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
3379 scope construct with allocate clause.
3380 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
3381 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
3382
37b3b5da
GA
33832022-05-28 Tobias Burnus <tobias@codesourcery.com>
3384
3385 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
3386 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
3387 explicit 'to' and 'enter' clause.
3388 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
3389
33902022-05-28 Jakub Jelinek <jakub@redhat.com>
3391
3392 PR libgomp/105745
3393 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
3394 defined(HAVE__ALIGNED_MALLOC) case.
3395 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
3396 handling as last option before fallback instead of first.
3397 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
3398 _aligned_free.
3399
d9176e64
GA
34002022-05-27 Jakub Jelinek <jakub@redhat.com>
3401
3402 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
3403 clauses to enter.
3404 * testsuite/libgomp.c/target-41.c: Likewise.
3405
34062022-05-27 Tobias Burnus <tobias@codesourcery.com>
3407
3408 * libgomp.texi (Other new OpenMP 5.1 features): Add
3409 'begin declare target'.
3410 (Other new OpenMP 5.2 features): New.
3411
3dff965c
GA
34122022-05-25 Jakub Jelinek <jakub@redhat.com>
3413
3414 * task.c (gomp_task_run_post_handle_dependers): If empty_task
3415 is the last task taskwait depend depends on, wake it up.
3416 Similarly if it is the last child of a taskgroup, use atomic
3417 store instead of decrement and awak taskgroup wait if any.
3418 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
3419
768f49a2
GA
34202022-05-24 Andrew Stubbs <ams@codesourcery.com>
3421
3422 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
3423 EF_AMDGPU_MACH_AMDGCN_GFX90a.
3424 (gcn_gfx90a_s): New.
3425 (isa_hsa_name): Support gfx90a.
3426 (isa_code): Likewise.
3427
34282022-05-24 Tobias Burnus <tobias@codesourcery.com>
3429
3430 PR c/105378
3431 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
3432 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
3433
34342022-05-24 Jakub Jelinek <jakub@redhat.com>
3435
3436 PR c/105378
3437 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
3438 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
3439 * task.c (empty_task): New function.
3440 (gomp_task_run_post_handle_depend_hash): Declare earlier.
3441 (gomp_task_run_post_handle_depend): Declare.
3442 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
3443 for.
3444 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
3445 (GOMP_taskwait_depend_nowait): New function.
3446 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
3447
168fc8bd
GA
34482022-05-23 Tobias Burnus <tobias@codesourcery.com>
3449
3450 PR fortran/104949
3451 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
3452 Support attach for GOMP_MAP_FIRSTPRIVATE.
3453 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
3454 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
3455 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
3456
57f2ce6a
GA
34572022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
3458
3459 * libgomp.map: Added omp_target_memcpy_async and
3460 omp_target_memcpy_rect_async.
3461 * libgomp.texi: Both functions are now supported.
3462 * omp.h.in: Added omp_target_memcpy_async and
3463 omp_target_memcpy_rect_async.
3464 * omp_lib.f90.in: Added interfaces for both new functions.
3465 * omp_lib.h.in: Likewise.
3466 * target.c (ialias_redirect): Added for GOMP_task.
3467 (omp_target_memcpy): Restructured into check and copy part.
3468 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
3469 omp_target_memcpy_async that checks requirements.
3470 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
3471 omp_target_memcpy_async that performs the memcpy.
3472 (omp_target_memcpy_async_helper): New helper function that is used in
3473 omp_target_memcpy_async for the asynchronous task.
3474 (omp_target_memcpy_async): Added.
3475 (omp_target_memcpy_rect): Restructured into check and copy part.
3476 (omp_target_memcpy_rect_check): New helper function for
3477 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
3478 requirements.
3479 (omp_target_memcpy_rect_copy): New helper function for
3480 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
3481 the memcpy.
3482 (omp_target_memcpy_rect_async_helper): New helper function that is used
3483 in omp_target_memcpy_rect_async for the asynchronous task.
3484 (omp_target_memcpy_rect_async): Added.
3485 * task.c (ialias): Added for GOMP_task.
3486 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
3487 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
3488 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
3489 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
3490 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
3491 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
3492 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
3493 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
3494
1cda629f
GA
34952022-05-18 Tobias Burnus <tobias@codesourcery.com>
3496
3497 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
3498 (OpenMP Context Selectors): Add missing comma.
3499 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
3500 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
3501 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
3502 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
3503
3d9439b1
GA
35042022-05-17 Jakub Jelinek <jakub@redhat.com>
3505
3506 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
3507 comment for omp_display_env feature.
3508
35092022-05-17 Tobias Burnus <tobias@codesourcery.com>
3510
3511 * libgomp.texi (Offload-Target Specifics): New chapter; add section
3512 to document OpenMP context selectors.
3513
35142022-05-17 Jakub Jelinek <jakub@redhat.com>
3515
3516 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
3517 from bool to unsigned char.
3518 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
3519 Ignore dependencies where
3520 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
3521 rather than just task->depend[i].is_in && ent->is_in. Remember
3522 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
3523 conditional.
3524 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
3525 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
3526 rather than just elem.is_in && ent->is_in.
3527 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
3528 inoutset depend-kind.
3529 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
3530 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
3531 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
3532
35332022-05-17 Tobias Burnus <tobias@codesourcery.com>
3534
3535 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
3536
35372022-05-17 Tobias Burnus <tobias@codesourcery.com>
3538
3539 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
3540 * testsuite/libgomp.fortran/depend-5.f90: New test.
3541 * testsuite/libgomp.fortran/depend-6.f90: New test.
3542 * testsuite/libgomp.fortran/depend-7.f90: New test.
3543
702bd11f
GA
35442022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3545
3546 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
3547 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
3548 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
3549
9df4ffe4
GA
35502022-05-13 Tobias Burnus <tobias@codesourcery.com>
3551
3552 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3553
35542022-05-13 Tobias Burnus <tobias@codesourcery.com>
3555
3556 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
3557
35582022-05-13 Thomas Schwinge <thomas@codesourcery.com>
3559
3560 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
3561 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
3562 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
3563 append '$(PLUGIN_NVPTX_LDFLAGS)'.
3564 * Makefile.in: Regenerate.
3565
49ace834
GA
35662022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3567
3568 * Makefile.am (libgomp_la_LIBADD): Initialize.
3569 * plugin/configfrag.ac (DL_LIBS): New.
3570 (PLUGIN_GCN_LIBS): Remove.
3571 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
3572 * plugin/Makefrag.am (libgomp_la_LIBADD)
3573 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
3574 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
3575 * Makefile.in: Regenerate.
3576 * config.h.in: Likewise.
3577 * configure: Likewise.
3578 * testsuite/Makefile.in: Likewise.
3579
35802022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3581
3582 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
3583 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
3584 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
3585 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
3586 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
3587 'PLUGIN_NVPTX_LINK_LIBCUDA'.
3588 * Makefile.in: Regenerate.
3589 * config.h.in: Likewise.
3590 * configure: Likewise.
3591
35922022-05-12 Thomas Schwinge <thomas@codesourcery.com>
3593
3594 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
3595 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
3596 * Makefile.in: Regenerate.
3597 * config.h.in: Likewise.
3598 * configure: Likewise.
3599 * testsuite/Makefile.in: Likewise.
3600
36012022-05-12 Jakub Jelinek <jakub@redhat.com>
3602
3603 * libgomp.h (struct gomp_task): Add depend_all_memory member.
3604 * task.c (gomp_init_task): Initialize depend_all_memory.
3605 (gomp_task_handle_depend): Handle omp_all_memory.
3606 (gomp_task_run_post_handle_depend_hash): Clear
3607 parent->depend_all_memory if equal to current task.
3608 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
3609 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
3610 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
3611 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
3612
d0d513b5
GA
36132022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3614
3615 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
3616 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
3617 * Makefile.in: Regenerate.
3618 * configure: Likewise.
3619 * testsuite/Makefile.in: Likewise.
3620
36212022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3622
3623 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
3624 consider 'PLUGIN_GCN_CPPFLAGS'.
3625 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
3626 'PLUGIN_GCN_LDFLAGS'.
3627 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
3628 Remove.
3629 * Makefile.in: Regenerate.
3630 * configure: Likewise.
3631 * testsuite/Makefile.in: Likewise.
3632
36332022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3634
3635 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
3636 (HSA_RUNTIME_LDFLAGS): Remove.
3637 * configure: Regenerate.
3638
36392022-05-11 Thomas Schwinge <thomas@codesourcery.com>
3640
3641 * testsuite/lib/libgomp.exp (libgomp_init): Don't
3642 'append always_ld_library_path ":$hsa_runtime_lib"'.
3643 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
3644
e8778989
GA
36452022-05-10 Thomas Schwinge <thomas@codesourcery.com>
3646
3647 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
3648 multi-device testing.
3649
ea3fbfda
GA
36502022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
3651
3652 * libgomp.map: Added omp_target_is_accessible.
3653 * libgomp.texi: Tagged omp_target_is_accessible as supported.
3654 * omp.h.in: Added omp_target_is_accessible.
3655 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
3656 * omp_lib.h.in: Likewise.
3657 * target.c (omp_target_is_accessible): Added implementation of
3658 omp_target_is_accessible.
3659 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
3660 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
3661
ab869e7f
GA
36622022-05-05 Sandra Loosemore <sandra@codesourcery.com>
3663
3664 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
3665
3e7db517
GA
36662022-05-04 Tobias Burnus <tobias@codesourcery.com>
3667
3668 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
3669
36702022-05-04 Tobias Burnus <tobias@codesourcery.com>
3671
3672 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
3673
e66af28d
GA
36742022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
3675
3676 * libgomp.map: Added omp_get_mapped_ptr.
3677 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
3678 * omp.h.in: Added omp_get_mapped_ptr.
3679 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
3680 * omp_lib.h.in: Likewise.
3681 * target.c (omp_get_mapped_ptr): Added implementation of
3682 omp_get_mapped_ptr.
3683 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
3684 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
3685 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
3686 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
3687 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
3688 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
3689 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
3690 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
3691
6b6f53d8
GA
36922022-04-28 Thomas Schwinge <thomas@codesourcery.com>
3693
3694 PR fortran/104717
3695 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
3696 privatization scanning. For GCN offloading compilation, raise
3697 '-mgang-private-size'.
3698
01ad093b
GA
36992022-04-26 Jakub Jelinek <jakub@redhat.com>
3700
3701 PR libgomp/105358
3702 * work.c (gomp_init_work_share): Don't mask of adjustment for
3703 dynamic long long realignment if struct gomp_work_share has smaller
3704 alignof than long long.
3705 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
3706 struct gomp_work_share has smaller alignof than long long or if
3707 sizeof (struct gomp_work_share) is smaller than
3708 INLINE_ORDERED_TEAM_IDS_OFF.
3709 * loop_ull.c (GOMP_loop_ull_start): Likewise.
3710 * sections.c (GOMP_sections2_start): Likewise.
3711
98de0da6
GA
37122022-04-25 Jakub Jelinek <jakub@redhat.com>
3713 Thomas Schwinge <thomas@codesourcery.com>
3714
3715 PR fortran/104717
3716 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
3717
247bbed1
GA
37182022-04-13 Jakub Jelinek <jakub@redhat.com>
3719
3720 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
3721
80eb8ec6
GA
37222022-04-06 Thomas Schwinge <thomas@codesourcery.com>
3723
3724 * plugin/cuda/cuda.h: Remove file.
3725 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
3726 "cuda/cuda.h" instead of <cuda.h>.
3727 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
3728 'PLUGIN_NVPTX_CPPFLAGS'.
3729 * configure: Regenerate.
3730
9d84ed68
GA
37312022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
3732
3733 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
3734
5e09bb1b
GA
37352022-04-04 Tom de Vries <tdevries@suse.de>
3736
3737 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
3738 on_device_arch_nvptx instead of offload_target_nvptx.
3739 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3740
8af4270d
GA
37412022-04-01 Tom de Vries <tdevries@suse.de>
3742
3743 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
3744 and use REC_DEPTH.
3745 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3746
37472022-04-01 Tom de Vries <tdevries@suse.de>
3748
3749 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
3750 num_workers check.
3751
9f774626
GA
37522022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
3753 Lulu Cheng <chenglulu@loongson.cn>
3754
3755 * configure.tgt: Add LoongArch triplet.
3756
aab0127d
GA
37572022-03-28 Tom de Vries <tdevries@suse.de>
3758
3759 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
3760 instead of /libexec/.
3761 * configure: Regenerate.
3762
31e989a2
GA
37632022-03-25 Tom de Vries <tdevries@suse.de>
3764
3765 PR libgomp/105042
3766 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
3767 execution time.
3768 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
3769 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
3770
d1ca63a1
GA
37712022-03-23 Tobias Burnus <tobias@codesourcery.com>
3772
3773 PR middle-end/104285
3774 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
3775 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
3776 * testsuite/libgomp.c++/target-same-name-2.C: New test.
3777 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
3778 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
3779 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
3780
a2287813
GA
37812022-03-22 Tom de Vries <tdevries@suse.de>
3782
3783 PR target/104916
3784 PR target/104783
3785 * testsuite/libgomp.c/pr104783-2.c: New test.
3786
8ca61ad1
GA
37872022-03-18 Tobias Burnus <tobias@codesourcery.com>
3788
3789 PR fortran/103039
3790 * testsuite/libgomp.fortran/associate4.f90: New test.
3791
37922022-03-18 Tom de Vries <tdevries@suse.de>
3793
3794 PR target/104952
3795 * testsuite/libgomp.c/pr104952-1.c: New test.
3796 * testsuite/libgomp.c/pr104952-2.c: New test.
3797
37982022-03-18 Jakub Jelinek <jakub@redhat.com>
3799
3800 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
3801 variable next to pl variable.
3802
e9ea3016
GA
38032022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3804
3805 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3806 Enhance.
3807 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3808 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3809
38102022-03-17 Thomas Schwinge <thomas@codesourcery.com>
3811
3812 PR middle-end/90115
3813 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
3814 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3815
9fc8f278
GA
38162022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
3817
3818 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
3819 omp_set_max_active_levels.
3820 * testsuite/libgomp.fortran/icv-8.f90: New test.
3821
38222022-03-16 Thomas Schwinge <thomas@codesourcery.com>
3823
3824 PR testsuite/102841
3825 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
3826
b9756c08
GA
38272022-03-13 Tobias Burnus <tobias@codesourcery.com>
3828
3829 * libgomp.texi: Fix typo.
3830
57eeedda
GA
38312022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3832
3833 PR middle-end/100280
3834 PR middle-end/104892
3835 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3836 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
3837 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3838 Likewise.
3839 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3840 Likewise.
3841 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3842 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3843 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3844 Likewise.
3845
38462022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3847
3848 PR middle-end/104892
3849 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
3850 to PR104892.
3851 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
3852 enable '--param=openacc-kernels=decompose' and adjust.
3853 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
3854 Likewise.
3855 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3856 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
3857 Likewise.
3858
38592022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3860
3861 PR middle-end/90115
3862 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
3863 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
3864 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3865 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
3866
38672022-03-12 Thomas Schwinge <thomas@codesourcery.com>
3868
3869 PR middle-end/100280
3870 PR middle-end/104086
3871 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3872 Merge this...
3873 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3874 ..., and this...
3875 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
3876 this, and adjust.
3877 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3878 Extend.
3879
5e28be89
GA
38802022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
3881
3882 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
3883 trait. Test last index in w and v array. Remove redundant
3884 assignment to V(1). Move alignment checks at the end of
3885 parallel region.
3886
38872022-03-10 Tom de Vries <tdevries@suse.de>
3888
3889 * testsuite/libgomp.c/pr104783.c: New test.
3890
38912022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3892
3893 PR middle-end/90115
3894 PR middle-end/102330
3895 PR middle-end/104774
3896 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3897 Enhance.
3898 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3899 Adjust.
3900 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3901 Likewise.
3902 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3903 Likewise.
3904 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3905 Likewise.
3906 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3907 Likewise.
3908 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3909 Likewise.
3910 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3911 Likewise.
3912 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3913 Likewise.
3914 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3915 Likewise.
3916 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3917 Likewise.
3918 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3919 Likewise.
3920 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3921 Likewise.
3922 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3923 Likewise.
3924 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
3925 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3926 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3927
39282022-03-10 Thomas Schwinge <thomas@codesourcery.com>
3929
3930 PR middle-end/90115
3931 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
3932 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3933 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3934 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3935
8d96e14c
GA
39362022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3937
3938 PR testsuite/104791
3939 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
3940 expected diagnostics.
3941
39422022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3943
3944 PR middle-end/104784
3945 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3946 Test with '--param=openacc-kernels=decompose'.
3947 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3948 Likewise.
3949 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3950 Likewise.
3951 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3952 Likewise.
3953 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3954 Likewise.
3955 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3956 Likewise.
3957 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3958 Likewise.
3959 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3960 Likewise.
3961 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3962 Likewise.
3963 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3964 Likewise.
3965 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3966 Likewise.
3967 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3968 Likewise.
3969 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3970 Likewise.
3971 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3972 Likewise.
3973 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3974 Likewise.
3975 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3976 Likewise.
3977 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3978 Likewise.
3979 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3980 Likewise.
3981 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3982 Likewise.
3983 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3984 Likewise.
3985 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3986 Likewise.
3987 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3988 Likewise.
3989 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3990 Likewise.
3991 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3992 Likewise.
3993 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3994 Likewise.
3995 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3996 Likewise.
3997 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3998 Likewise.
3999 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4000 Likewise.
4001 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4002 Likewise.
4003 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4004 Likewise.
4005 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4006 Likewise.
4007 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4008 Likewise.
4009 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4010 Likewise.
4011
40122022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4013
4014 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4015 Test '-fopt-info-omp-all'.
4016 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4017 Likewise.
4018 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4019 Likewise.
4020 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4021 Likewise.
4022 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4023 Likewise.
4024 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4025 Likewise.
4026 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4027 Likewise.
4028 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4029 Likewise.
4030 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4031 Likewise.
4032 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4033 Likewise.
4034 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4035 Likewise.
4036 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4037 Likewise.
4038 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4039 Likewise.
4040 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4041 Likewise.
4042 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4043 Likewise.
4044 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4045 Likewise.
4046 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4047 Likewise.
4048 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4049 Likewise.
4050 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4051 Likewise.
4052 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4053 Likewise.
4054 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4055 Likewise.
4056 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4057 Likewise.
4058 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4059 Likewise.
4060 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4061 Likewise.
4062 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4063 Likewise.
4064 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4065 Likewise.
4066 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4067 Likewise.
4068 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4069 Likewise.
4070 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4071 Likewise.
4072 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4073 Likewise.
4074 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4075 Likewise.
4076 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4077 Likewise.
4078 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4079 Likewise.
4080
40812022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4082
4083 PR middle-end/100280
4084 PR middle-end/104132
4085 PR middle-end/104133
4086 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4087 Extend.
4088
40892022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4090
4091 PR middle-end/100280
4092 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4093 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4094 Likewise.
4095
40962022-03-04 Thomas Schwinge <thomas@codesourcery.com>
4097
4098 PR middle-end/100280
4099 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
4100 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4101 Likewise.
4102
a35f1697
GA
41032022-02-28 Tom de Vries <tdevries@suse.de>
4104
4105 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
4106 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
4107 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
4108 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
4109 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
4110 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
4111
756a6185
GA
41122022-02-24 Tom de Vries <tdevries@suse.de>
4113
4114 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
4115 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
4116 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
4117 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
4118 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
4119 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
4120 * testsuite/libgomp.c/declare-variant-3.h: New header file.
4121
2cfb33fc
GA
41222022-02-22 Thomas Schwinge <thomas@codesourcery.com>
4123
4124 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
4125 gang-redundant execution.
4126
41272022-02-22 Tom de Vries <tdevries@suse.de>
4128
4129 PR target/99555
4130 * config/nvptx/bar.c (generation_to_barrier): New function, copied
4131 from config/rtems/bar.c.
4132 (futex_wait, futex_wake): New function.
4133 (do_spin, do_wait): New function, copied from config/linux/wait.h.
4134 (gomp_barrier_wait_end, gomp_barrier_wait_last)
4135 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
4136 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
4137 and replace with include of config/linux/bar.c.
4138 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
4139 (gomp_barrier_init): Init new fields.
4140 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
4141 workarounds.
4142 * testsuite/libgomp.c/pr99555-1.c: Same.
4143 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
4144
41452022-02-22 Tom de Vries <tdevries@suse.de>
4146
4147 PR testsuite/104146
4148 * testsuite/libgomp.c++/pr96390.C: Add additional-option
4149 -foffload=-Wa,--verify for nvptx.
4150 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
4151
875e493b
GA
41522022-02-15 Tobias Burnus <tobias@codesourcery.com>
4153
4154 * testsuite/libgomp.fortran/depend-4.f90: New test.
4155
a645583d
GA
41562022-02-10 Tobias Burnus <tobias@codesourcery.com>
4157
4158 PR c++/102204
4159 * testsuite/libgomp.c++/target-virtual-1.C: New test.
4160
41612022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
4162
4163 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
4164 * target.c (copy_firstprivate_data): Copy only if host address is not
4165 NULL.
4166 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
4167 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
4168 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
4169 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
4170 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
4171 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
4172 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
4173 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
4174 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
4175 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
4176
2a2fda2d
GA
41772022-02-08 Jakub Jelinek <jakub@redhat.com>
4178
4179 PR libgomp/104385
4180 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
4181 clear task->parent.
4182 * testsuite/libgomp.c/pr104385.c: New test.
4183
3c1cbde1
GA
41842022-02-04 Tobias Burnus <tobias@codesourcery.com>
4185
4186 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
4187 STOP of previous commit.
4188
41892022-02-04 Tobias Burnus <tobias@codesourcery.com>
4190
4191 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
4192 from is_64bit_aligned_.
4193 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
4194 and use it, more implicit none, remove unused argument.
4195
682ede39
GA
41962022-02-03 David Seifert <soap@gentoo.org>
4197 Jakub Jelinek <jakub@redhat.com>
4198
4199 * configure.ac: Support --disable-werror.
4200 * configure: Regenerate.
4201
ae7e4af9
GA
42022022-02-01 Tom de Vries <tdevries@suse.de>
4203
4204 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
4205 PR83812 workaround.
4206 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
4207 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
4208
42092022-02-01 Tom de Vries <tdevries@suse.de>
4210
4211 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
4212 num_workers for nvidia accelerator to fix libgomp error 'insufficient
4213 resources'.
4214 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
4215 Same.
4216 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
4217
42182022-02-01 Tom de Vries <tdevries@suse.de>
4219
4220 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
4221 recursion depth.
4222 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
4223
1bb52662
GA
42242022-01-31 Martin Liska <mliska@suse.cz>
4225
4226 * acinclude.m4: Detect *_ld_is_mold and use it.
4227 * configure: Regenerate.
4228
99f17e99
GA
42292022-01-27 Tobias Burnus <tobias@codesourcery.com>
4230
4231 * libgomp.texi (OpenMP 5.0): Update implementation status.
4232
9dd44357
GA
42332022-01-21 Thomas Schwinge <thomas@codesourcery.com>
4234
4235 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
4236 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4237 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4238 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4239 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4240 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4241 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4242 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4243 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4244 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4245 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4246 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4247 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4248 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4249 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4250
fe1ad141
GA
42512022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
4252
4253 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
4254 "static") to make the device num available in the offload image.
4255
42562022-01-19 Martin Liska <mliska@suse.cz>
4257 Thomas Schwinge <thomas@codesourcery.com>
4258
4259 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
4260 patterns.
4261 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4262 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4263 Likewise.
4264 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4265 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4266 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4267 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4268 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4269 Likewise.
4270 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
4271 Likewise.
4272 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
4273 Likewise.
4274 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
4275 Likewise.
4276 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
4277 Likewise.
4278 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
4279 Likewise.
4280 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4281 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4282 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4283
7a761ae6
GA
42842022-01-18 Martin Liska <mliska@suse.cz>
4285
4286 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
4287 in dg-warning.
4288 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4289 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4290 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
4291 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4292 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4293 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
4294 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
4295 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
4296 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
4297 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
4298 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
4299 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
4300 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4301 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4302 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4303
fc829782
GA
43042022-01-17 Thomas Schwinge <thomas@codesourcery.com>
4305
4306 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
4307 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
4308 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
4309
43102022-01-17 Julian Brown <julian@codesourcery.com>
4311 Thomas Schwinge <thomas@codesourcery.com>
4312
4313 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
4314 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
4315 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
4316
1e942d7c
GA
43172022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
4318 Andrew Stubbs <ams@codesourcery.com>
4319
4320 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
4321 the number of teams and threads if necessary.
4322 (gcn_exec): Automatically set the number of gangs and workers if
4323 necessary.
4324
ad3f0d08
GA
43252022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
4326
4327 * testsuite/libgomp.fortran/allocate-1.c: New test.
4328 * testsuite/libgomp.fortran/allocate-1.f90: New test.
4329 * libgomp.texi: Remove string that says that allocate clause
4330 support is for C/C++ only.
4331
43322022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4333
4334 * testsuite/libgomp.c-c++-common/on_device_arch.h
4335 (any_device_arch, any_device_arch_intel_mic): New.
4336 * testsuite/lib/libgomp.exp
4337 (check_effective_target_offload_device_any_intel_mic): New.
4338 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
4339 * testsuite/libgomp.fortran/target10.f90: Likewise.
4340
43412022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4342
4343 PR tree-optimization/102192
4344 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
4345 '-Wuninitialized' diagnostics.
4346
43472022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4348
4349 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
4350 current '-Wuninitialized' diagnostics.
4351 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
4352 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
4353 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
4354 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
4355 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4356 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
4357 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
4358 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4359 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4360 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4361 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
4362 Likewise.
4363
43642022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4365
4366 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
4367 for 'offload_device_intel_mic'.
4368
43692022-01-13 Julian Brown <julian@codesourcery.com>
4370 Thomas Schwinge <thomas@codesourcery.com>
4371
4372 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
4373 offloading execution XFAIL.
4374
43752022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4376
4377 PR middle-end/100280
4378 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4379 Update.
4380 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4381 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4382 Likewise.
4383
43842022-01-13 Thomas Schwinge <thomas@codesourcery.com>
4385
4386 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4387 Enhance.
4388 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4389 Likewise.
4390 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
4391 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
4392 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
4393 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
4394 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4395 Likewise.
4396 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4397 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4398 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4399 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
4400
7d11b64b
GA
44012022-01-04 Tobias Burnus <tobias@codesourcery.com>
4402
4403 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
4404 * testsuite/libgomp.fortran/target10.f90: Likewise.
4405
44062022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
4407
4408 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
4409 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
4410 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
4411
a4ae8c37
GA
44122022-01-03 Jakub Jelinek <jakub@redhat.com>
4413
4414 * libgomp.texi: Bump @copying's copyright year.
4415
7f1239cb
GA
44162021-12-13 Tobias Burnus <tobias@codesourcery.com>
4417
4418 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
4419 * testsuite/libgomp.fortran/atomic-19.f90: New test.
4420
0bceef16
GA
44212021-12-10 Andrew Stubbs <ams@codesourcery.com>
4422
4423 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
4424 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
4425 table, not individual symbols.
4426
4b4839e3
GA
44272021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
4428
4429 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
4430 "target offload_device_nonshared_as"
4431 * testsuite/libgomp.c++/target-this-3.C: Likewise.
4432 * testsuite/libgomp.c++/target-this-4.C: Likewise.
4433
641ff219
GA
44342021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4435
4436 * target.c (gomp_map_vars_existing): Make sure attached pointer is
4437 not overwritten during cross-host/device copying.
4438 (gomp_update): Likewise.
4439 (gomp_exit_data): Likewise.
4440 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
4441 * testsuite/libgomp.c++/target-12.C: Likewise.
4442 * testsuite/libgomp.c++/target-15.C: Likewise.
4443 * testsuite/libgomp.c++/target-16.C: Likewise.
4444 * testsuite/libgomp.c++/target-17.C: Likewise.
4445 * testsuite/libgomp.c++/target-21.C: Likewise.
4446 * testsuite/libgomp.c++/target-23.C: Likewise.
4447 * testsuite/libgomp.c/target-23.c: Likewise.
4448 * testsuite/libgomp.c/target-29.c: Likewise.
4449 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
4450
44512021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
4452
4453 PR middle-end/92120
4454 * libgomp.h (gomp_attach_pointer): Add bool parameter.
4455 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
4456 (goacc_enter_data_internal): Likewise.
4457 * target.c (gomp_map_vars_existing): Update assert condition to
4458 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
4459 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
4460 parameter, add support for mapping a pointer with NULL target.
4461 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
4462 parameter, add support for attaching a pointer with NULL target.
4463 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
4464 gomp_attach_pointer, add handling for
4465 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
4466 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
4467 * testsuite/libgomp.c++/target-23.C: New testcase.
4468 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
4469 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
4470 * testsuite/libgomp.c++/target-this-1.C: New testcase.
4471 * testsuite/libgomp.c++/target-this-2.C: New testcase.
4472 * testsuite/libgomp.c++/target-this-3.C: New testcase.
4473 * testsuite/libgomp.c++/target-this-4.C: New testcase.
4474 * testsuite/libgomp.c++/target-this-5.C: New testcase.
4475
70e4cb66
GA
44762021-12-04 Tobias Burnus <tobias@codesourcery.com>
4477
4478 * libgomp.texi (OpenMP 5.1): Update status.
4479
44802021-12-04 Tobias Burnus <tobias@codesourcery.com>
4481
4482 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
4483
ea6ef320
GA
44842021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
4485
4486 PR fortran/90030
4487 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
4488 * testsuite/libgomp.fortran/pr90030.f90: New test.
4489
c177e806
GA
44902021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
4491 Thomas Schwinge <thomas@codesourcery.com>
4492
4493 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
4494 temporary skip.
4495
44962021-11-30 Cesar Philippidis <cesar@codesourcery.com>
4497 Thomas Schwinge <thomas@codesourcery.com>
4498
4499 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
4500 skip.
4501
87cd82c8
GA
45022021-11-29 Richard Biener <rguenther@suse.de>
4503
4504 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
4505 return.
4506
d9ca4b45
GA
45072021-11-24 Jakub Jelinek <jakub@redhat.com>
4508
4509 PR middle-end/103384
4510 * testsuite/libgomp.c/declare-variant-2.c: New test.
4511
483092d3
GA
45122021-11-18 David Edelsohn <dje.gcc@gmail.com>
4513
4514 * alloc.c (gomp_aligned_alloc): Fix typo.
4515
45162021-11-18 Jakub Jelinek <jakub@redhat.com>
4517
4518 PR libgomp/102838
4519 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
4520 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
4521 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
4522 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4523 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
4524 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
4525 gomp_aligned_alloc instead of team_malloc.
4526
45272021-11-18 Jakub Jelinek <jakub@redhat.com>
4528
4529 PR libgomp/102838
4530 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
4531 memalign over posix_memalign over aligned_alloc over fallback
4532 with malloc instead of aligned_alloc over _aligned_alloc over
4533 posix_memalign over memalign over fallback with malloc. For
4534 aligned_alloc, round up size up to multiple of al.
4535
6b1695f4
GA
45362021-11-16 Jakub Jelinek <jakub@redhat.com>
4537
4538 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
4539 construct as implemented.
4540
e2b57363
GA
45412021-11-15 Tobias Burnus <tobias@codesourcery.com>
4542
4543 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
4544
45452021-11-15 Jakub Jelinek <jakub@redhat.com>
4546
4547 * task.c (gomp_create_target_task): Copy args array as well.
4548 * target.c (gomp_target_fallback): Add args argument.
4549 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
4550 (GOMP_target): Adjust gomp_target_fallback caller.
4551 (GOMP_target_ext): Likewise.
4552 (gomp_target_task_fn): Likewise.
4553 * config/nvptx/team.c (gomp_nvptx_main): Set
4554 gomp_global_icv.thread_limit_var.
4555 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
4556
45572021-11-15 Jakub Jelinek <jakub@redhat.com>
4558
4559 * config/nvptx/team.c (__gomp_team_num): Define as
4560 __attribute__((shared)) var.
4561 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
4562 * config/nvptx/target.c (__gomp_team_num): Declare as
4563 extern __attribute__((shared)) var.
4564 (GOMP_teams4): Use __gomp_team_num as the team number instead of
4565 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
4566 is bigger than num_blocks, use num_teams_lower teams and arrange for
4567 bumping of __gomp_team_num if !first and returning false once we run
4568 out of teams.
4569 * config/nvptx/teams.c (__gomp_team_num): Declare as
4570 extern __attribute__((shared)) var.
4571 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
4572
45732021-11-15 Jakub Jelinek <jakub@redhat.com>
4574
4575 * testsuite/libgomp.c/teams-5.c: New test.
4576
af2852b9
GA
45772021-11-12 Jakub Jelinek <jakub@redhat.com>
4578
4579 PR target/103201
4580 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
4581 to ...
4582 * config/gcn/teams.c: ... here. New file.
4583
45842021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
4585
4586 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
4587 implicit map handling to allow a "superset" existing map as valid case.
4588 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
4589 (get_implicit): New function to extract implicit status.
4590 (gomp_map_fields_existing): Adjust arguments in calls to
4591 gomp_map_vars_existing, and add uses of get_implicit.
4592 (gomp_map_vars_internal): Likewise.
4593 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
4594
45952021-11-12 Jakub Jelinek <jakub@redhat.com>
4596
4597 * libgomp_g.h (GOMP_teams4): Declare.
4598 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
4599 * target.c (GOMP_teams4): New function.
4600 * config/nvptx/target.c (GOMP_teams): Remove.
4601 (GOMP_teams4): New function.
4602 * config/gcn/target.c (GOMP_teams): Remove.
4603 (GOMP_teams4): New function.
4604 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
4605 teams instead of <= 2.
4606 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
4607
b39265d4
GA
46082021-11-11 Tobias Burnus <tobias@codesourcery.com>
4609
4610 * testsuite/libgomp.fortran/teams-1.f90: New test.
4611
46122021-11-11 Jakub Jelinek <jakub@redhat.com>
4613
4614 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
4615 * team.c (struct gomp_thread_start_data): Likewise.
4616 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
4617 (gomp_team_start): Initialize start_data->num_teams and
4618 start_data->team_num. Update nthr->num_teams and nthr->team_num.
4619 * teams.c (gomp_num_teams, gomp_team_num): Remove.
4620 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
4621 instead of gomp_num_teams and gomp_team_num.
4622 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
4623 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
4624 * testsuite/libgomp.c/teams-4.c: New test.
4625
46262021-11-11 Jakub Jelinek <jakub@redhat.com>
4627
4628 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
4629
c9b1334e
GA
46302021-11-09 Thomas Schwinge <thomas@codesourcery.com>
4631
4632 * env.c (parse_gomp_openacc_dim): Restore parsing.
4633
0ef94462
GA
46342021-10-30 Tobias Burnus <tobias@codesourcery.com>
4635
4636 PR middle-end/102972
4637 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
4638 parallel construct.
4639 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
4640 * testsuite/libgomp.c/target-3.c: Likewise.
4641 * testsuite/libgomp.c/target-5.c: Likewise.
4642 * testsuite/libgomp.c/target-6.c: Likewise.
4643 * testsuite/libgomp.c/target-teams-1.c: Likewise.
4644 * testsuite/libgomp.c/teams-1.c: Likewise.
4645 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4646 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
4647 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
4648 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
4649 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
4650 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
4651 * testsuite/libgomp.fortran/teams1.f90: Likewise.
4652
4c61300f
GA
46532021-10-29 Aldy Hernandez <aldyh@redhat.com>
4654
4655 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
4656 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4657
04a2cf3f
GA
46582021-10-27 Jakub Jelinek <jakub@redhat.com>
4659
4660 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
4661 aren't implemented for Fortran yet.
4662
46632021-10-27 Jakub Jelinek <jakub@redhat.com>
4664
4665 * testsuite/libgomp.c/loop-26.c: New test.
4666 * testsuite/libgomp.c/loop-27.c: New test.
4667
b621508d
GA
46682021-10-25 Tobias Burnus <tobias@codesourcery.com>
4669
4670 PR testsuite/102910
4671 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
4672 instead of #include <alloca.h> + alloca.
4673
ae5c5406
GA
46742021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
4675
4676 * libgomp.texi (Support of strictly structured blocks in Fortran):
4677 Adjust to 'Y'.
4678 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
4679
674dda6b
GA
46802021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
4681
4682 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
4683 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
4684
46852021-10-20 Jakub Jelinek <jakub@redhat.com>
4686
4687 PR libgomp/102838
4688 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
4689 (struct gomp_work_share): Only use aligned(64) attribute if
4690 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
4691 add padding before lock to ensure lock is at offset 64 bytes
4692 into the structure.
4693 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
4694 New poor man's static assertions.
4695 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
4696 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
4697
46982021-10-20 Aldy Hernandez <aldyh@redhat.com>
4699 Richard Biener <rguenther@suse.de>
4700
4701 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
4702
ce4d1f63
GA
47032021-10-18 Jakub Jelinek <jakub@redhat.com>
4704
4705 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
4706 && gomp_places_list_len < count after nfirst <= nlast loop condition.
4707
47082021-10-18 Tobias Burnus <tobias@codesourcery.com>
4709
4710 PR fortran/102086
4711 PR fortran/92189
4712 PR fortran/92621
4713 PR fortran/101308
4714 PR fortran/101309
4715 PR fortran/101635
4716 PR fortran/92482
4717 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
4718
93d183a5
GA
47192021-10-15 Jakub Jelinek <jakub@redhat.com>
4720
4721 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
4722 type from char [50] to const char *.
4723 (places_array): Add a testcase for simplified syntax place followed
4724 by length or length and stride.
4725
47262021-10-15 Jakub Jelinek <jakub@redhat.com>
4727
4728 * env.c (parse_one_place): Handle non-negative-number the same
4729 as { non-negative-number }. Reject even !number:1 and
4730 !number:1:stride or !place:1 or !place:1:stride instead of just
4731 length other than 1.
4732 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
4733 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
4734 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
4735 as implemented.
4736 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
4737 simplified syntax.
4738
47392021-10-15 Jakub Jelinek <jakub@redhat.com>
4740
4741 * env.c (parse_schedule): For strtoul or strtoull calls which don't
4742 clearly reject return value 0 as invalid handle the case where end
4743 pointer is the same as first argument as invalid.
4744 (parse_unsigned_long_1): Likewise.
4745 (parse_one_place): Likewise.
4746 (parse_places_var): Likewise.
4747 (parse_stacksize): Likewise.
4748 (parse_spincount): Likewise.
4749 (parse_affinity): Likewise.
4750 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
4751 Make code valid C89.
4752 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
4753 For strtoul calls which don't clearly reject return value 0 as
4754 invalid handle the case where end pointer is the same as first
4755 argument as invalid.
4756 (gomp_affinity_init_level_1): Likewise.
4757 (gomp_affinity_init_numa_domains): Likewise.
4758 * config/rtems/proc.c (parse_thread_pools): Likewise.
4759
47602021-10-15 Jakub Jelinek <jakub@redhat.com>
4761
4762 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
4763 after creating count places clean up and return immediately.
4764 * testsuite/libgomp.c/places-6.c: New test.
4765 * testsuite/libgomp.c/places-7.c: New test.
4766 * testsuite/libgomp.c/places-8.c: New test.
4767 * testsuite/libgomp.c/places-9.c: New test.
4768 * testsuite/libgomp.c/places-10.c: New test.
4769
47702021-10-15 Jakub Jelinek <jakub@redhat.com>
4771
4772 * env.c (parse_places_var): Handle numa_domains as level 5.
4773 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
4774 function.
4775 (gomp_affinity_init_level): Use it instead of
4776 gomp_affinity_init_level_1 for level == 5.
4777 * testsuite/libgomp.c/places-5.c: New test.
4778
47792021-10-15 Jakub Jelinek <jakub@redhat.com>
4780
4781 * env.c (parse_places_var): Handle ll_caches as level 4.
4782 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
4783 function.
4784 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
4785 last level cache.
4786 (gomp_affinity_init_level): Likewise.
4787 * testsuite/libgomp.c/places-1.c: New test.
4788 * testsuite/libgomp.c/places-2.c: New test.
4789 * testsuite/libgomp.c/places-3.c: New test.
4790 * testsuite/libgomp.c/places-4.c: New test.
4791
5d5885c9
GA
47922021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4793
4794 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
4795 directive.
4796
47972021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
4798
4799 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
4800
52055987
GA
48012021-10-12 Julian Brown <julian@codesourcery.com>
4802
4803 * target.c (gomp_copy_host2dev): Release device lock on cbuf
4804 error path.
4805
48062021-10-12 Tobias Burnus <tobias@codesourcery.com>
4807
4808 * testsuite/libgomp.fortran/icv-3.f90: New.
4809 * testsuite/libgomp.fortran/icv-4.f90: New.
4810
48112021-10-12 Jakub Jelinek <jakub@redhat.com>
4812
4813 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
4814 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
4815 OMP_TEAMS_THREAD_LIMIT): Document.
4816
48172021-10-12 Jakub Jelinek <jakub@redhat.com>
4818
4819 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
4820 to avoid makeinfo warnings.
4821
48222021-10-12 Jakub Jelinek <jakub@redhat.com>
4823
4824 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
4825 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
4826
48272021-10-12 Jakub Jelinek <jakub@redhat.com>
4828
4829 PR libgomp/102628
4830 PR libgomp/102668
4831 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
4832 allocation sizes from 420 to 320 and from 768 to 568.
4833 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
4834 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
4835 for cr from 16 to 4.
4836
48372021-10-12 Jakub Jelinek <jakub@redhat.com>
4838
4839 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
4840 * testsuite/libgomp.c/scan-12.c: Likewise.
4841 * testsuite/libgomp.c/scan-13.c: Likewise.
4842 * testsuite/libgomp.c/scan-14.c: Likewise.
4843 * testsuite/libgomp.c/scan-15.c: Likewise.
4844 * testsuite/libgomp.c/scan-16.c: Likewise.
4845 * testsuite/libgomp.c/scan-17.c: Likewise.
4846 * testsuite/libgomp.c/scan-18.c: Likewise.
4847 * testsuite/libgomp.c/scan-19.c: Likewise.
4848 * testsuite/libgomp.c/scan-20.c: Likewise.
4849 * testsuite/libgomp.c/scan-21.c: Likewise.
4850 * testsuite/libgomp.c/scan-22.c: Likewise.
4851 * testsuite/libgomp.c++/scan-9.C: Likewise.
4852 * testsuite/libgomp.c++/scan-10.C: Likewise.
4853 * testsuite/libgomp.c++/scan-11.C: Likewise.
4854 * testsuite/libgomp.c++/scan-12.C: Likewise.
4855 * testsuite/libgomp.c++/scan-13.C: Likewise.
4856 * testsuite/libgomp.c++/scan-14.C: Likewise.
4857 * testsuite/libgomp.c++/scan-15.C: Likewise.
4858 * testsuite/libgomp.c++/scan-16.C: Likewise.
4859
48602021-10-12 Kewen Lin <linkw@linux.ibm.com>
4861
4862 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
4863
732d7638
GA
48642021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
4865
4866 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
4867 omp_atv_serialized.
4868 * omp.h.in: Add deprecated flag for omp_atv_sequential.
4869 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
4870 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
4871 * testsuite/libgomp.fortran/alloc-12.f90: New test.
4872
48732021-10-11 Jakub Jelinek <jakub@redhat.com>
4874
4875 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
4876 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4877 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
4878 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4879 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
4880 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
4881 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
4882 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
4883 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
4884 omp_set_teams_thread_limit{,_,_8_}.
4885 * icv.c (omp_set_num_teams, omp_get_max_teams,
4886 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
4887 functions.
4888 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
4889 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
4890 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
4891 vars.
4892 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
4893 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
4894 is not specified, use gomp_nteams_var.
4895 * fortran.c (omp_set_num_teams, omp_get_max_teams,
4896 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
4897 ialias_redirect.
4898 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
4899 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
4900 omp_get_teams_thread_limit_): New functions.
4901
c9db17b8
GA
49022021-10-09 liuhongt <hongtao.liu@intel.com>
4903
4904 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
4905 * testsuite/libgomp.c++/scan-11.C: Ditto.
4906 * testsuite/libgomp.c++/scan-12.C: Ditto.
4907 * testsuite/libgomp.c++/scan-13.C: Ditto.
4908 * testsuite/libgomp.c++/scan-14.C: Ditto.
4909 * testsuite/libgomp.c++/scan-15.C: Ditto.
4910 * testsuite/libgomp.c++/scan-16.C: Ditto.
4911 * testsuite/libgomp.c++/scan-9.C: Ditto.
4912 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
4913 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
4914 * testsuite/libgomp.c/scan-11.c: Ditto.
4915 * testsuite/libgomp.c/scan-12.c: Ditto.
4916 * testsuite/libgomp.c/scan-13.c: Ditto.
4917 * testsuite/libgomp.c/scan-14.c: Ditto.
4918 * testsuite/libgomp.c/scan-15.c: Ditto.
4919 * testsuite/libgomp.c/scan-16.c: Ditto.
4920 * testsuite/libgomp.c/scan-17.c: Ditto.
4921 * testsuite/libgomp.c/scan-18.c: Ditto.
4922 * testsuite/libgomp.c/scan-19.c: Ditto.
4923 * testsuite/libgomp.c/scan-20.c: Ditto.
4924 * testsuite/libgomp.c/scan-21.c: Ditto.
4925 * testsuite/libgomp.c/scan-22.c: Ditto.
4926
49272021-10-09 Jakub Jelinek <jakub@redhat.com>
4928
4929 * libgomp.texi (OpenMP 5.1): Mention implemented support for
4930 structured block sequences in C/C++. Mention support for
4931 unconstrained/reproducible modifiers on order clause.
4932 Mention partial (C/C++ only) support of extentensions to atomics
4933 construct. Mention partial (C/C++ on clause only) support of
4934 align/allocator modifiers on allocate clause.
4935
e3e07b89
GA
49362021-10-02 Tobias Burnus <tobias@codesourcery.com>
4937
4938 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
4939 based on libgomp.c-c++-common/order-reproducible-1.c.
4940 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
4941 * testsuite/libgomp.fortran/my-usleep.c: New test.
4942
9d116bcc
GA
49432021-10-01 Tobias Burnus <tobias@codesourcery.com>
4944
4945 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
4946 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
4947 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
4948 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
4949 based on libgomp.c-c++-common/alloc-9.c.
4950
49512021-10-01 Jakub Jelinek <jakub@redhat.com>
4952
4953 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
4954 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
4955
49562021-10-01 Jakub Jelinek <jakub@redhat.com>
4957
4958 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
4959 ialias_redirect.
4960 * env.c (handle_omp_display_env): Use ialias_call.
4961 * icv-device.c: Move ialias right below each function.
4962 (omp_get_device_num): Use ialias_call.
4963 * fortran.c (omp_fulfill_event): Add ialias_redirect.
4964 * icv.c (omp_get_active_level): Add ialias_redirect.
4965
49662021-10-01 Jakub Jelinek <jakub@redhat.com>
4967
4968 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
4969 __alloc_align__ (1) attribute.
4970 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
4971
24679983
GA
49722021-09-30 Tobias Burnus <tobias@codesourcery.com>
4973
4974 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
4975 for -fintrinsic-modules-path= warning of the C compiler.
4976 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
4977 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
4978
49792021-09-30 Tobias Burnus <tobias@codesourcery.com>
4980
4981 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
4982 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
4983 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4984 omp_realloc): Add.
4985 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4986 omp_realloc): Add.
4987 * testsuite/libgomp.fortran/alloc-10.f90: New test.
4988 * testsuite/libgomp.fortran/alloc-6.f90: New test.
4989 * testsuite/libgomp.fortran/alloc-7.c: New test.
4990 * testsuite/libgomp.fortran/alloc-7.f90: New test.
4991 * testsuite/libgomp.fortran/alloc-8.f90: New test.
4992 * testsuite/libgomp.fortran/alloc-9.f90: New test.
4993
49942021-09-30 Jakub Jelinek <jakub@redhat.com>
4995
4996 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
4997 omp_realloc): New prototypes.
4998 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
4999 attribute.
5000 * allocator.c: Include string.h.
5001 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
5002 variable and use it instead of alignment so that when retrying the old
5003 alignment is used again. Don't retry if new alignment is the same
5004 as old alignment, unless allocator had pool size.
5005 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
5006 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
5007 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
5008 omp_aligned_calloc and omp_realloc.
5009 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
5010 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
5011 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
5012 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
5013 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
5014 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
5015
fd133479
GA
50162021-09-28 Tobias Burnus <tobias@codesourcery.com>
5017
5018 PR libgomp/96661
5019 * configure.ac: Only check for int-type = 2*size_t support when
5020 building with Fortran support.
5021 * configure: Regenerate.
5022
50232021-09-28 Thomas Schwinge <thomas@codesourcery.com>
5024
5025 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
5026 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5027
cf966403
GA
50282021-09-27 Aldy Hernandez <aldyh@redhat.com>
5029
5030 * team.c: Initialize start_data.
5031 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5032 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
5033
50342021-09-27 Tobias Burnus <tobias@codesourcery.com>
5035
5036 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
5037 dg-message back to dg-note.
5038
50392021-09-27 Tobias Burnus <tobias@codesourcery.com>
5040
5041 PR fortran/94070
5042 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
5043 expected dg-note output.
5044
e4777439
GA
50452021-09-22 Tobias Burnus <tobias@codesourcery.com>
5046
5047 PR fortran/55534
5048 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
5049 r12-3722 by removing -Wno-missing-include-dirs.
5050 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5051
50522021-09-22 Jakub Jelinek <jakub@redhat.com>
5053
5054 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
5055 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
5056
2c41dd82
GA
50572021-09-21 Tobias Burnus <tobias@codesourcery.com>
5058
5059 PR fortran/55534
5060 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
5061 to ALWAYS_CFLAGS.
5062 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5063
cf74e7b5
GA
50642021-09-18 Jakub Jelinek <jakub@redhat.com>
5065
5066 * testsuite/libgomp.c++/default-1.C: New test.
5067 * testsuite/libgomp.c-c++-common/default-1.c: New test.
5068 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
5069 to default clause in C and C++" as implemented.
5070
0a4cb439
GA
50712021-09-17 Julian Brown <julian@codesourcery.com>
5072
5073 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
5074
50752021-09-17 Julian Brown <julian@codesourcery.com>
5076
5077 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
5078
50792021-09-17 Jakub Jelinek <jakub@redhat.com>
5080
5081 * libgomp.texi (OpenMP 5.1): Spelling fix,
5082 declare variante -> declare variant.
5083
50842021-09-17 Jakub Jelinek <jakub@redhat.com>
5085
5086 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
5087 Use /* */ comments instead of //.
5088 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
5089 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
5090 * testsuite/libgomp.c++/atomic-16.C: New test.
5091 * testsuite/libgomp.c++/atomic-17.C: New test.
5092
a26206ec
GA
50932021-09-10 Jakub Jelinek <jakub@redhat.com>
5094
5095 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
5096 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
5097 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
5098
b2748138
GA
50992021-09-07 Tobias Burnus <tobias@codesourcery.com>
5100
5101 * libgomp.texi (OpenMP Implementation Status): Extend
5102 OpenMP 5.0 section.
5103 (OpenACC Profiling Interface): Fix typo.
5104
51052021-09-07 Tobias Burnus <tobias@codesourcery.com>
5106
5107 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
5108 not to 4.5; link to new section.
5109 (OpenMP Implementation Status): New.
5110
9f99555f
GA
51112021-09-06 Thomas Schwinge <thomas@codesourcery.com>
5112
5113 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
5114
7b739540
GA
51152021-09-03 Tobias Burnus <tobias@codesourcery.com>
5116
5117 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
5118 dg-output.
5119 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5120
38b19c5b
GA
51212021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5122 Jakub Jelinek <jakub@redhat.com>
5123
5124 * testsuite/libgomp.c/address-space-1.c: New file.
5125
51262021-08-23 Thomas Schwinge <thomas@codesourcery.com>
5127
5128 * testsuite/lib/libgomp.exp
5129 (check_effective_target_offload_target_intelmic): Remove 'proc'.
5130 (check_effective_target_offload_device_intel_mic): New 'proc'.
5131 * testsuite/libgomp.c-c++-common/on_device_arch.h
5132 (device_arch_intel_mic, on_device_arch_intel_mic): New.
5133 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
5134 'dg-xfail-run-if'.
5135 * testsuite/libgomp.fortran/target10.f90: Likewise.
5136
51372021-08-23 Tobias Burnus <tobias@codesourcery.com>
5138
5139 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
5140 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
5141 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
5142 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
5143
51442021-08-23 Jakub Jelinek <jakub@redhat.com>
5145
5146 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
5147 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
5148 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
5149
5b2876f9
GA
51502021-08-22 Thomas Schwinge <thomas@codesourcery.com>
5151
5152 * config/nvptx/error.c (fwrite, exit): Override, too.
5153 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
5154 of offloading testing.
5155 * testsuite/libgomp.fortran/error-1.f90: Likewise.
5156
7c9e1645
GA
51572021-08-20 Tobias Burnus <tobias@codesourcery.com>
5158
5159 * testsuite/libgomp.fortran/error-1.f90: New test.
5160
51612021-08-20 Jakub Jelinek <jakub@redhat.com>
5162
5163 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
5164 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
5165 * error.c (GOMP_warning, GOMP_error): New functions.
5166 * testsuite/libgomp.c-c++-common/error-1.c: New test.
5167
6e529985
GA
51682021-08-18 Tobias Burnus <tobias@codesourcery.com>
5169
5170 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
5171 omp_target_free. omp_target_is_present, omp_target_memcpy,
5172 omp_target_memcpy_rect, omp_target_associate_ptr,
5173 omp_target_disassociate_ptr): Add interface.
5174 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
5175 omp_target_free. omp_target_is_present, omp_target_memcpy,
5176 omp_target_memcpy_rect, omp_target_associate_ptr,
5177 omp_target_disassociate_ptr): Add interface.
5178 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
5179 interface block for omp_alloc + omp_free.
5180 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
5181 * testsuite/libgomp.fortran/refcount-1.f90: New test.
5182 * testsuite/libgomp.fortran/target-12.f90: New test.
5183
51842021-08-18 Jakub Jelinek <jakub@redhat.com>
5185
5186 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
5187
2d14d64b
GA
51882021-08-17 Tobias Burnus <tobias@codesourcery.com>
5189
5190 * testsuite/libgomp.fortran/scope-1.f90: New test.
5191 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
5192
51932021-08-17 Jakub Jelinek <jakub@redhat.com>
5194
5195 * Makefile.am (libgomp_la_SOURCES): Add scope.c
5196 * Makefile.in: Regenerated.
5197 * libgomp_g.h (GOMP_scope_start): Declare.
5198 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
5199 * scope.c: New file.
5200 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
5201 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
5202
9d1d9fc8
GA
52032021-08-16 Thomas Schwinge <thomas@codesourcery.com>
5204
5205 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
5206 '?:' issues.
5207
52082021-08-16 Tobias Burnus <tobias@codesourcery.com>
5209
5210 * testsuite/libgomp.fortran/masked-1.f90: New test.
5211
261512fa
GA
52122021-08-13 Thomas Schwinge <thomas@codesourcery.com>
5213
5214 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
5215
72be20e2
GA
52162021-08-12 Jakub Jelinek <jakub@redhat.com>
5217
5218 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
5219
52202021-08-12 Tobias Burnus <tobias@codesourcery.com>
5221
5222 * env.c (parse_bind_var): Accept 'primary' as alias for
5223 'master'.
5224 (omp_display_env): Add TODO comment to
5225 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
5226 * libgomp.texi: Change 'master thread' to 'primary thread'
5227 in line with OpenMP 5.1.
5228 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
5229 omp_proc_bind_master is an alias of it.
5230 (OMP_PROC_BIND): Mention 'PRIMARY'.
5231 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
5232 (omp_proc_bind_primary): Add.
5233 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5234 * omp_lib.f90.in (omp_proc_bind_primary): Add.
5235 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
5236 * omp_lib.h.in (omp_proc_bind_primary): Add.
5237 * testsuite/libgomp.c/affinity-1.c: Check that
5238 'primary' works and is identical to 'master'.
5239
37768150
GA
52402021-08-09 Julian Brown <julian@codesourcery.com>
5241 Kwok Cheung Yeung <kcy@codesourcery.com>
5242 Thomas Schwinge <thomas@codesourcery.com>
5243
5244 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
5245 16.
5246 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
5247 [acc_device_radeon]: Update.
5248 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
5249 [ACC_DEVICE_TYPE_radeon]: Likewise.
5250 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5251 [acc_device_radeon]: Likewise.
5252 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
5253 [ACC_DEVICE_TYPE_radeon]: Likewise.
5254 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
5255 'openacc_radeon_accel_selected' and '-O0'.
5256 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5257
8ebf4fb5
GA
52582021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
5259
5260 * icv-device.c (omp_get_device_num): New API function, host side.
5261 * fortran.c (omp_get_device_num_): New interface function.
5262 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
5263 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
5264 omp_get_device_num_.
5265 * libgomp.texi (omp_get_device_num): Add documentation for new API
5266 function.
5267 * omp.h.in (omp_get_device_num): Add declaration.
5268 * omp_lib.f90.in (omp_get_device_num): Likewise.
5269 * omp_lib.h.in (omp_get_device_num): Likewise.
5270 * target.c (gomp_load_image_to_device): If additional entry for device
5271 number exists at end of returned entries from 'load_image_func' hook,
5272 copy the assigned device number over to the device variable.
5273 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5274 (omp_get_device_num): New API function, device side.
5275 * plugin/plugin-gcn.c ("symcat.h"): Add include.
5276 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5277 at end of returned 'target_table' entries.
5278 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
5279 (omp_get_device_num): New API function, device side.
5280 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
5281 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
5282 at end of returned 'target_table' entries.
5283 * testsuite/lib/libgomp.exp
5284 (check_effective_target_offload_target_intelmic): New function for
5285 testing for intelmic offloading.
5286 * testsuite/libgomp.c-c++-common/target-45.c: New test.
5287 * testsuite/libgomp.fortran/target10.f90: New test.
5288
4d17ca1b
GA
52892021-07-30 Thomas Schwinge <thomas@codesourcery.com>
5290 Ulrich Drepper <drepper@redhat.com>
5291
5292 * fortran.c (omp_display_env_, omp_display_env_8_): Only
5293 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
5294
52952021-07-29 Thomas Schwinge <thomas@codesourcery.com>
5296 Julian Brown <julian@codesourcery.com>
5297 Kwok Cheung Yeung <kcy@codesourcery.com>
5298
5299 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
5300 's%oaccdevlow%oaccloops%g'.
5301 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5302 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5303 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
5304 Likewise.
5305 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
5306 Likewise.
5307 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
5308 Likewise.
5309 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
5310 Likewise.
5311 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
5312 Likewise.
5313 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
5314 Likewise.
5315 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
5316 Likewise.
5317 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
5318 Likewise.
5319 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5320
872c1a56
ML
53212021-07-29 Aldy Hernandez <aldyh@redhat.com>
5322
5323 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
5324 threader.
5325 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5326
af3f12e6
GA
53272021-07-27 Ulrich Drepper <drepper@gmail.com>
5328
5329 * env.c (wait_policy, stacksize): New static variables,
5330 move out of handle_omp_display_env.
5331 (omp_display_env): New function. The meat of the old
5332 handle_omp_display_env function.
5333 (handle_omp_display_env): Change to not take parameters
5334 and instead use the global variables. Only perform
5335 parsing, defer to omp_display_env for the implementation.
5336 (initialize_env): Remove local variables wait_policy and
5337 stacksize. Don't pass parameters to handle_omp_display_env.
5338 * fortran.c: Add ialias_redirect for omp_display_env.
5339 (omp_display_env_, omp_display_env_8_): New functions.
5340 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
5341 omp_display_env_, and omp_display_env_8_.
5342 * omp.h.in: Declare omp_display_env.
5343 * omp_lib.f90.in: Likewise.
5344 * omp_lib.h.in: Likewise.
5345
53462021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5347 Julian Brown <julian@codesourcery.com>
5348
5349 * target.c (gomp_coalesce_buf_add): Update comment.
5350 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
5351 'aq && cbuf'.
5352 (gomp_map_vars_internal): Only 'if (!aq)', do
5353 'gomp_coalesce_buf_add'.
5354 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
5355 XFAIL.
5356
53572021-07-27 Julian Brown <julian@codesourcery.com>
5358 Thomas Schwinge <thomas@codesourcery.com>
5359
5360 * libgomp.h (gomp_copy_host2dev): Update prototype.
5361 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
5362 argument to gomp_copy_host2dev (false).
5363 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
5364 (copy_data): Don't free src.
5365 (queue_push_copy): Remove free_src handling.
5366 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
5367 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
5368 snapshotting.
5369 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
5370 queue_push_copy.
5371 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
5372 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
5373 data when true, and set up deferred freeing of temporary buffer.
5374 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
5375 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
5376 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
5377 calls to gomp_copy_host2dev with appropriate ephemeral argument.
5378 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
5379 XFAIL.
5380
53812021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5382 Tom de Vries <tom@codesourcery.com>
5383
5384 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
5385 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
5386
53872021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5388
5389 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
5390 sequencing of 'async' data copying vs. profiling events.
5391 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
5392 Likewise.
5393
53942021-07-27 Thomas Schwinge <thomas@codesourcery.com>
5395 Julian Brown <julian@codesourcery.com>
5396
5397 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
5398 'async'/'wait' issue.
5399 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
5400 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
5401 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
5402
419c6c68
GA
54032021-07-21 Thomas Schwinge <thomas@codesourcery.com>
5404 Joseph Myers <joseph@codesourcery.com>
5405 Cesar Philippidis <cesar@codesourcery.com>
5406
5407 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
5408 file.
5409 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
5410 Likewise.
5411 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
5412 Likewise.
5413 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
5414
92d45509
GA
54152021-07-20 Thomas Schwinge <thomas@codesourcery.com>
5416
5417 PR target/101484
5418 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
5419 '-Wno-error=array-bounds'.
5420 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
5421 * libgomp.h [__AMDGCN__]: Likewise.
5422
21ea2f93
GA
54232021-07-19 Thomas Schwinge <thomas@codesourcery.com>
5424
5425 PR target/101484
5426 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
5427 * libgomp.h [__AMDGCN__]: Likewise.
5428
0e775456
GA
54292021-07-13 Jakub Jelinek <jakub@redhat.com>
5430 Florian Weimer <fweimer@redhat.com>
5431
5432 * config/linux/sem.h: Don't include limits.h.
5433 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
5434 * config/linux/affinity.c: Include limits.h.
5435
bea7c16a
GA
54362021-07-01 Jakub Jelinek <jakub@redhat.com>
5437
5438 PR middle-end/94366
5439 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
5440
6bc18203
GA
54412021-06-29 Tobias Burnus <tobias@codesourcery.com>
5442
5443 PR other/67300
5444 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
5445 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
5446 avoid disabling other offload targets.
5447 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
5448 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5449 * testsuite/libgomp.c/target-44.c: Likewise.
5450
54512021-06-29 Tobias Burnus <tobias@codesourcery.com>
5452
5453 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
5454 target has shared memory and disable some scalar pointer/allocatable
5455 checks if not as firstprivate does not work.
5456
90708f87
GA
54572021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
5458
5459 PR testsuite/101114
5460 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
5461 Add "target offload_device_nonshared_as" condition for enabling test.
5462
9aa8327e
GA
54632021-06-24 Jakub Jelinek <jakub@redhat.com>
5464
5465 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
5466 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
5467 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
5468 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
5469
fcf617f0
GA
54702021-06-23 Jakub Jelinek <jakub@redhat.com>
5471
5472 PR middle-end/101167
5473 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
5474
688359a2
GA
54752021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
5476
5477 * hashtab.h (htab_clear): New function with initialization code
5478 factored out from...
5479 (htab_create): ...here, adjust to use htab_clear function.
5480 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
5481 special refcount values, add comments.
5482 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
5483 (REFCOUNT_LINK): Likewise.
5484 (REFCOUNT_STRUCTELEM): New special refcount range for structure
5485 element siblings.
5486 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
5487 sibling maps.
5488 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
5489 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
5490 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
5491 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
5492 (struct splay_tree_key_s): Add structelem_refcount and
5493 structelem_refcount_ptr fields into a union with dynamic_refcount.
5494 Add comments.
5495 (gomp_map_vars): Delete declaration.
5496 (gomp_map_vars_async): Likewise.
5497 (gomp_unmap_vars): Likewise.
5498 (gomp_unmap_vars_async): Likewise.
5499 (goacc_map_vars): New declaration.
5500 (goacc_unmap_vars): Likewise.
5501 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
5502 (goacc_enter_datum): Likewise.
5503 (goacc_enter_data_internal): Likewise.
5504 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
5505 and goacc_unmap_vars.
5506 (GOACC_data_start): Adjust to use goacc_map_vars.
5507 (GOACC_data_end): Adjust to use goacc_unmap_vars.
5508 * target.c (hash_entry_type): New typedef.
5509 (htab_alloc): New function hook for hashtab.h.
5510 (htab_free): Likewise.
5511 (htab_hash): Likewise.
5512 (htab_eq): Likewise.
5513 (hashtab.h): Add file include.
5514 (gomp_increment_refcount): New function.
5515 (gomp_decrement_refcount): Likewise.
5516 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
5517 gomp_increment_refcount.
5518 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
5519 to gomp_map_vars_existing.
5520 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
5521 variable to guard OpenMP specific paths, adjust calls to
5522 gomp_map_vars_existing, add structure element sibling splay_tree_key
5523 sequence creation code, adjust Fortran map case to avoid increment
5524 under OpenMP.
5525 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
5526 local refcount_set if caller passed in NULL, adjust call to
5527 gomp_map_vars_internal.
5528 (gomp_map_vars_async): Adjust and rename into...
5529 (goacc_map_vars): ...this new function, adjust call to
5530 gomp_map_vars_internal.
5531 (gomp_remove_splay_tree_key): New function with code factored out from
5532 gomp_remove_var_internal.
5533 (gomp_remove_var_internal): Add code to handle removing multiple
5534 splay_tree_key sequence for structure elements, adjust code to use
5535 gomp_remove_splay_tree_key for splay-tree key removal.
5536 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
5537 gomp_decrement_refcount.
5538 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
5539 local refcount_set if caller passed in NULL, adjust call to
5540 gomp_unmap_vars_internal.
5541 (gomp_unmap_vars_async): Adjust and rename into...
5542 (goacc_unmap_vars): ...this new function, adjust call to
5543 gomp_unmap_vars_internal.
5544 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
5545 gomp_unmap_vars.
5546 (GOMP_target_ext): Likewise.
5547 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
5548 (GOMP_target_data): Likewise.
5549 (GOMP_target_data_ext): Likewise.
5550 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
5551 (gomp_exit_data): Add refcount_set parameter, adjust to use
5552 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
5553 after main loop.
5554 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
5555 gomp_map_vars and gomp_exit_data.
5556 (gomp_target_task_fn): Likewise.
5557 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
5558 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
5559 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
5560 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
5561 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
5562 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
5563
ede6c356
GA
55642021-06-15 Tobias Burnus <tobias@codesourcery.com>
5565
5566 PR fortran/92568
5567 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
5568
43c35d0d
GA
55692021-06-10 Andrew Stubbs <ams@codesourcery.com>
5570 Thomas Schwinge <thomas@codesourcery.com>
5571
5572 * libgomp.map (GOACC_2.0.2): New symbol version.
5573 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
5574 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
5575
55762021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5577 Andrew Stubbs <ams@codesourcery.com>
5578
5579 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
5580 extracted from...
5581 (GOACC_enter_exit_data): ... here.
5582 (GOACC_declare): Use it.
5583
55842021-06-10 Thomas Schwinge <thomas@codesourcery.com>
5585
5586 * oacc-parallel.c (GOACC_declare): Move...
5587 * oacc-mem.c: ... here.
5588 * libgomp_g.h: Adjust.
5589
55902021-06-10 Andrew Stubbs <ams@codesourcery.com>
5591 Thomas Schwinge <thomas@codesourcery.com>
5592
5593 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
5594 handling.
5595
55962021-06-10 Jakub Jelinek <jakub@redhat.com>
5597
5598 PR tree-optimization/100981
5599 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
5600 dsdotr and dsdoti to 0.
5601
4f625f47
GA
56022021-06-09 H.J. Lu <hjl.tools@gmail.com>
5603
5604 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
5605 if atomic compare-and-swap is supported on 'int'.
5606
56072021-06-09 Richard Biener <rguenther@suse.de>
5608
5609 PR tree-optimization/100981
5610 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
5611
c6038721
GA
56122021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5613
5614 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
5615 unconditionally.
5616 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
5617 Update.
5618 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5619 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5620
56212021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5622
5623 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
5624 '-DACC_MEM_SHARED=0'.
5625 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
5626 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
5627 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
5628 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5629 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5630 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
5631 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5632 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5633 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5634 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5635 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
5636 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
5637 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
5638 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
5639 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
5640 'acc_device_radeon' testing.
5641 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
5642 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5643 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5644 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
5645 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5646 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5647 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
5648 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
5649 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5650 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5651 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
5652 for non-'openacc_nvidia_accel_selected'.
5653 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5654 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
5655 all implement this checking".
5656 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5657 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5658 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5659 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5660 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5661
56622021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5663
5664 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
5665 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
5666
56672021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5668
5669 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
5670 for 'acc_device_radeon'.
5671
56722021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5673
5674 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
5675 for non-'acc_device_nvidia'.
5676
56772021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5678
5679 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
5680 'acc_device_radeon' testing.
5681 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5682 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5683 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5684
56852021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5686
5687 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
5688 require 'openacc_nvidia_accel_selected'. Fix up for
5689 'ACC_DEVICE_TYPE_radeon'.
5690
56912021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5692
5693 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
5694 'openacc_nvidia_accel_selected'.
5695 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
5696
56972021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5698
5699 * testsuite/lib/libgomp.exp
5700 (check_effective_target_openacc_radeon_accel_selected):
5701 Streamline.
5702
57032021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5704
5705 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
5706 PR80547 workaround.
5707
57082021-06-08 Thomas Schwinge <thomas@codesourcery.com>
5709
5710 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
5711 <acc_device_nvidia>: Update comment.
5712
48166757
GA
57132021-05-28 Tobias Burnus <tobias@codesourcery.com>
5714
5715 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
5716
cd62d089
GA
57172021-05-27 Jakub Jelinek <jakub@redhat.com>
5718
5719 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
5720 check_effective_target_openacc_cublas,
5721 check_effective_target_openacc_cudart): New.
5722 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
5723 target openacc_cublas.
5724 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
5725 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
5726 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
5727 target openacc_cuda.
5728 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
5729 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
5730 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
5731 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
5732 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
5733 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
5734 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
5735 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
5736 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
5737 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
5738 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
5739 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
5740 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
5741 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
5742 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
5743 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
5744 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
5745 targets openacc_cublas and openacc_cudart.
5746 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
5747 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
5748 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
5749 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
5750 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
5751 Require effective target openacc_cudart.
5752 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
5753 for effective target openacc_cuda and add && defined USE_CUDA_H to
5754 preprocessor conditionals. Guard -lcuda also on openacc_cuda
5755 effective target.
5756
01c59ef2
GA
57572021-05-26 Jakub Jelinek <jakub@redhat.com>
5758
5759 PR libgomp/100573
5760 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
5761 GOMP_target_end_data, GOMP_target_update_ext,
5762 GOMP_target_enter_exit_data): New dummy entrypoints.
5763 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
5764 GOMP_target_end_data, GOMP_target_update_ext,
5765 GOMP_target_enter_exit_data): Likewise.
5766 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
5767 OMPFROM, OMPTO): Define.
5768 (main): Remove #pragma omp target teams around all the tests.
5769 * testsuite/libgomp.c-c++-common/target-41.c: New test.
5770 * testsuite/libgomp.c-c++-common/target-42.c: New test.
5771
2bc6dace
GA
57722021-05-25 Jakub Jelinek <jakub@redhat.com>
5773
5774 PR middle-end/99928
5775 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
5776
637569df
GA
57772021-05-24 Tobias Burnus <tobias@codesourcery.com>
5778
5779 PR fortran/86470
5780 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
5781 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
5782 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
5783
15d30d2f
GA
57842021-05-22 Thomas Schwinge <thomas@codesourcery.com>
5785
5786 PR testsuite/90115
5787 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
5788 uninteresting/varying diagnostics.
5789
2832d51b
GA
57902021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5791
5792 PR middle-end/90115
5793 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
5794 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5795
57962021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5797
5798 PR middle-end/90115
5799 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
5800 file.
5801 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5802 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
5803 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5804 Likewise.
5805 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
5806 Likewise.
5807 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
5808 Likewise.
5809 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
5810 Likewise.
5811 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
5812 Likewise.
5813 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
5814 Likewise.
5815 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
5816 Likewise.
5817 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
5818 Likewise.
5819 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
5820 Likewise.
5821 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
5822 Likewise.
5823 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
5824 Likewise.
5825 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
5826 Likewise.
5827 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
5828 Likewise.
5829 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
5830 Likewise.
5831 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
5832 Likewise.
5833 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
5834 Likewise.
5835 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
5836 Likewise.
5837 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
5838 Likewise.
5839 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
5840 Likewise.
5841 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
5842 Likewise.
5843 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
5844 Likewise.
5845 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5846 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5847 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5848 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
5849 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5850 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5851 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5852 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5853 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5854 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5855 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5856 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5857 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5858 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5859 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5860 Likewise.
5861 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
5862 Likewise.
5863 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
5864 Likewise.
5865 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5866 Likewise.
5867 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5868 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5869 Likewise.
5870 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5871 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5872 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5873 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5874 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
5875 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5876 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5877 Likewise.
5878 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5879 Likewise.
5880 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5881 Likewise.
5882 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5883 Likewise.
5884 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
5885 Likewise.
5886 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
5887 Likewise.
5888 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
5889 Likewise.
5890 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
5891 Likewise.
5892 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
5893 Likewise.
5894 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
5895 Likewise.
5896 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
5897 Likewise.
5898 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
5899 Likewise.
5900 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
5901 Likewise.
5902 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5903 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5904 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5905 Likewise.
5906 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5907 Likewise.
5908 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5909 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
5910 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5911
59122021-05-21 Julian Brown <julian@codesourcery.com>
5913 Chung-Lin Tang <cltang@codesourcery.com>
5914 Thomas Schwinge <thomas@codesourcery.com>
5915
5916 PR middle-end/90115
5917 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
5918 test.
5919 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
5920 Likewise.
5921 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
5922 Likewise.
5923
59242021-05-21 Thomas Schwinge <thomas@codesourcery.com>
5925
5926 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
5927 for nvptx offloading.
5928
59292021-05-21 Tobias Burnus <tobias@codesourcery.com>
5930
5931 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
5932
65f32e5d
GA
59332021-05-19 Thomas Schwinge <thomas@codesourcery.com>
5934
5935 PR target/83812
5936 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
5937
59382021-05-19 Julian Brown <julian@codesourcery.com>
5939
5940 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
5941
a8daf9a1
GA
59422021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5943
5944 * testsuite/lib/libgomp.exp
5945 (check_effective_target_offload_target_nvptx): Don't shadow global
5946 'offload_targets' variable.
5947
59482021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5949
5950 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
5951 '-latomic' to nvptx offloading compilation.
5952 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5953
59542021-05-18 Thomas Schwinge <thomas@codesourcery.com>
5955
5956 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
5957 offloading compilation.
5958
a7ffc1ef
GA
59592021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
5960
5961 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
5962 if new tasks generated.
5963 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
5964
87a7d10c
GA
59652021-05-14 Tobias Burnus <tobias@codesourcery.com>
5966
5967 * testsuite/libgomp.fortran/parallel-master.f90: New test.
5968
f9af11c7
GA
59692021-05-13 Martin Liska <mliska@suse.cz>
5970
5971 PR testsuite/100569
5972 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
5973 * testsuite/libgomp.c/pr46032-2.c: Likewise.
5974 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
5975 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
5976
0ff3a0f2
GA
59772021-05-12 Tobias Burnus <tobias@codesourcery.com>
5978
5979 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
5980 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
5981
037e3661
GA
59822021-05-11 Jakub Jelinek <jakub@redhat.com>
5983
5984 PR middle-end/100471
5985 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
5986 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
5987 reduction pointer.
5988 * testsuite/libgomp.c/task-reduction-4.c: New test.
5989
62d87a32
GA
59902021-05-07 Tobias Burnus <tobias@codesourcery.com>
5991 Tom de Vries <tdevries@suse.de>
5992
5993 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
5994 complex/floating-point || + && reduction with 'omp target'.
5995 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5996
99e8df7a
GA
59972021-05-04 Tobias Burnus <tobias@codesourcery.com>
5998
5999 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
6000 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
6001 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
6002 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
6003
60042021-05-04 Tobias Burnus <tobias@codesourcery.com>
6005
6006 PR testsuite/100397
6007 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
6008 declaration to scope of non-'depend'-guarded assignment to avoid races.
6009
e690396d
GA
60102021-05-03 Tom de Vries <tdevries@suse.de>
6011
6012 PR target/100321
6013 * testsuite/libgomp.c/target-44.c: New test.
6014
9326049e
GA
60152021-04-30 Roman Zhuykov <zhroma@ispras.ru>
6016
6017 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
6018
3c8e539d
GA
60192021-04-29 Tom de Vries <tdevries@suse.de>
6020
6021 * testsuite/libgomp.c/pr81778.c: New test.
6022
60232021-04-29 Tom de Vries <tdevries@suse.de>
6024
6025 PR target/100232
6026 * testsuite/libgomp.c/target-43.c: New file.
6027
e4ff4ffb
GA
60282021-04-28 Jakub Jelinek <jakub@redhat.com>
6029 Tobias Burnus <tobias@codesourcery.com>
6030
6031 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
6032 * target.c (gomp_load_plugin_for_device): If set and if a plugin
6033 can't be dlopened, silently assume it has no devices.
6034 * Makefile.in: Regenerate.
6035 * config.h.in: Regenerate.
6036 * configure: Regenerate.
6037
c0fa3f2f
GA
60382021-04-26 Tobias Burnus <tobias@codesourcery.com>
6039
6040 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6041 Use [Ww]arning in dg-bogus as FE diagnostic and default
6042 diagnostic differ and the result depends on ENABLE_OFFLOAD.
6043 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6044 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6045 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6046
60472021-04-26 Tobias Burnus <tobias@codesourcery.com>
6048
6049 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
6050 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
6051 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6052 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6053 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6054
60552021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6056 Nathan Sidwell <nathan@codesourcery.com>
6057 Tom de Vries <vries@codesourcery.com>
6058 Julian Brown <julian@codesourcery.com>
6059 Kwok Cheung Yeung <kcy@codesourcery.com>
6060
6061 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
6062 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
6063 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
6064 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
6065 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
6066 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
6067 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
6068 Likewise.
6069 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6070 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6071 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
6072 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6073 Likewise.
6074 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6075 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
6076 Likewise.
6077 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6078 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
6079 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
6080 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
6081 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
6082 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
6083 Likewise.
6084 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
6085 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
6086 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
6087 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
6088 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6089 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
6090 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
6091 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6092 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6093 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6094 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
6095
60962021-04-26 Thomas Schwinge <thomas@codesourcery.com>
6097
6098 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
6099 compile with '-w'.
6100 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6101 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
6102 Likewise.
6103 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6104 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
6105 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
6106 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6107 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6108 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6109 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
6110
e3948473
GA
61112021-04-22 Richard Biener <rguenther@suse.de>
6112
6113 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
6114 only on nvptx-none.
6115
c1ef0c92
GA
61162021-04-21 Tobias Burnus <tobias@codesourcery.com>
6117
6118 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
6119 omp_depend_kind instead of defining it as 16.
6120
61212021-04-21 Tobias Burnus <tobias@codesourcery.com>
6122
6123 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
6124 New, based on check_effective_target_offload_target_nvptx.
6125 (check_effective_target_offload_target_nvptx): Call it.
6126 (check_effective_target_offload_target_amdgcn): New.
6127 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
6128 Require target offload_target_nvptx || offload_target_amdgcn.
6129 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
6130 * testsuite/libgomp.c/pr86416-1.c: Likewise.
6131 * testsuite/libgomp.c/pr86416-2.c: Likewise.
6132
61332021-04-21 Tobias Burnus <tobias@codesourcery.com>
6134
6135 * testsuite/libgomp.fortran/depobj-1.f90: New test.
6136
6e81e015
GA
61372021-04-19 Thomas Schwinge <thomas@codesourcery.com>
6138
6139 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6140 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
6141 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6142 Likewise.
6143 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6144 Likewise.
6145 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6146
ee351f7f
GA
61472021-04-15 Thomas Schwinge <thomas@codesourcery.com>
6148
6149 PR target/99555
6150 * testsuite/lib/libgomp.exp
6151 (check_effective_target_offload_device_nvptx): New.
6152 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
6153 resolved, make sure that we exit quickly, with error status,
6154 XFAILed.
6155 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
6156 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6157
df3b1289
GA
61582021-04-14 Jakub Jelinek <jakub@redhat.com>
6159
6160 PR testsuite/100071
6161 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
6162 cp = omp_alloc with cp, p arguments instead of cq, q and call
6163 c_f_pointer after last cq = omp_alloc with cq, q.
6164
a0ecde22
GA
61652021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
6166
6167 PR middle-end/98088
6168 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
6169 for loop with GT/GE condition.
6170 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6171
3115aba8
GA
61722021-04-09 Thomas Schwinge <thomas@codesourcery.com>
6173
6174 PR middle-end/84991
6175 PR middle-end/84992
6176 PR middle-end/90779
6177 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
6178
61792021-04-09 Jakub Jelinek <jakub@redhat.com>
6180
6181 PR libgomp/99984
6182 * team.c (gomp_thread_start): Call pthread_setspecific for
6183 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
6184 has been initialized to avoid false positive warning.
6185
65374af2
GA
61862021-03-29 Tobias Burnus <tobias@codesourcery.com>
6187
6188 PR target/99555
6189 * testsuite/lib/on_device_arch.c: Move to ...
6190 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
6191 * testsuite/libgomp.fortran/on_device_arch.c: New file;
6192 #include on_device_arch.h.
6193 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
6194 on_device_arch.h instead of using dg-additional-source.
6195 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6196 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
6197 on_device_arch.c without relative paths.
6198
4493b1c1
GA
61992021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6200
6201 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
6202 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
6203 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
6204 * config.h.in: Regenerate.
6205 * configure: Likewise.
6206
62072021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6208
6209 PR target/99555
6210 * testsuite/lib/on_device_arch.c: New file.
6211 * testsuite/libgomp.c/pr99555-1.c: Likewise.
6212 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
6213 skip for nvptx offloading, with error status.
6214 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
6215
62162021-03-25 Thomas Schwinge <thomas@codesourcery.com>
6217
6218 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
6219 OpenACC 'serial' construct diagnostic for nvptx offloading.
6220
3c5b6d24
GA
62212021-03-15 Tobias Burnus <tobias@codesourcery.com>
6222
6223 PR c++/99509
6224 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
6225
6da2762a
GA
62262021-03-12 Tobias Burnus <tobias@codesourcery.com>
6227
6228 PR fortran/98858
6229 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
6230
67f10d28
GA
62312021-03-04 Jakub Jelinek <jakub@redhat.com>
6232
6233 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
6234 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
6235 checking of -m32 or -mx32 options on the command line.
6236 * config.h.in: Regenerated.
6237 * configure: Regenerated.
6238
ec9dc4fa
GA
62392021-02-27 Iain Sandoe <iain@sandoe.co.uk>
6240
6241 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
6242 support from the target.
6243
daa68844
GA
62442021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6245 Jakub Jelinek <jakub@redhat.com>
6246
6247 PR libgomp/98738
6248 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
6249 (struct gomp_task): Replace detach and completion_sem fields with
6250 union containing completion_sem and detach_team. Add deferred_p
6251 field.
6252 (struct gomp_team): Remove task_detach_queue.
6253 * task.c: Include assert.h.
6254 (gomp_init_task): Initialize deferred_p and completion_sem fields.
6255 Rearrange initialization order of fields.
6256 (task_fulfilled_p): Delete.
6257 (GOMP_task): Use address of task as the event handle. Remove
6258 initialization of detach field. Initialize deferred_p field.
6259 Use automatic local for completion_sem. Initialize detach_team field
6260 for deferred tasks.
6261 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
6262 Set kind of suspended detach task to GOMP_TASK_DETACHED and
6263 decrement task_running_count. Move finish_cancelled block out of
6264 else branch. Relocate call to gomp_team_barrier_done.
6265 (GOMP_taskwait): Handle tasks with completion events that have not
6266 been fulfilled.
6267 (GOMP_taskgroup_end): Likewise.
6268 (omp_fulfill_event): Use address of task as event handle. Post to
6269 completion_sem for undeferred tasks. Clear detach_team if task
6270 has not finished. For finished tasks, handle post-execution tasks,
6271 call gomp_team_barrier_wake if necessary, and free task.
6272 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
6273 (free_team): Remove free of task_detach_queue.
6274 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
6275 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
6276 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
6277 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
6278 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
6279 Change data-sharing of detach events on enclosing parallel to private.
6280 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
6281 taskwait directive.
6282 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
6283 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
6284 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
6285 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
6286 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
6287 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
6288 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
6289 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
6290 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
6291 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
6292 Change data-sharing of detach events on enclosing parallel to private.
6293 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
6294 taskwait directive.
6295 * testsuite/libgomp.fortran/task-detach-7.f90: New.
6296 * testsuite/libgomp.fortran/task-detach-8.f90: New.
6297 * testsuite/libgomp.fortran/task-detach-9.f90: New.
6298 * testsuite/libgomp.fortran/task-detach-10.f90: New.
6299 * testsuite/libgomp.fortran/task-detach-11.f90: New.
6300
2f5765cf
GA
63012021-02-22 Tobias Burnus <tobias@codesourcery.com>
6302
6303 PR fortran/99171
6304 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
6305
acc0ee5c
GA
63062021-02-17 Julian Brown <julian@codesourcery.com>
6307
6308 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
6309 expected errors.
6310
63112021-02-17 Julian Brown <julian@codesourcery.com>
6312
6313 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
6314 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
6315
0c5cdb31
GA
63162021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6317
6318 * config/linux/x86/futex.h (__futex_wait):
6319 Revert output type back to long.
6320 (__futex_wake): Ditto.
6321 (futex_wait): Update for revert.
6322 (futex_wake): Ditto.
6323
63242021-02-11 Uroš Bizjak <ubizjak@gmail.com>
6325
6326 * config/linux/x86/futex.h (__futex_wait): New static inline
6327 wrapper function. Correct output type to int and
6328 timeout type to void *.
6329 (__futex_wake): New static inline wrapper function.
6330 Correct output type to int.
6331 (futex_wait): Use __futex_wait.
6332 (futex_wake): Use __futex_wake.
6333
4b37c3ea
GA
63342021-02-10 Julian Brown <julian@codesourcery.com>
6335
6336 PR fortran/98979
6337 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
6338 errors.
6339
a19dd5e6
GA
63402021-02-04 Julian Brown <julian@codesourcery.com>
6341
6342 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
6343
9faaa807
GA
63442021-02-03 Andrew Stubbs <ams@codesourcery.com>
6345
6346 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
6347 EF_AMDGPU_MACH_AMDGCN_GFX908.
6348 (gcn_gfx908_s): New constant string.
6349 (isa_hsa_name): Add gfx908.
6350 (isa_code): Add gfx908.
6351
161e4c08
GA
63522021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
6353
6354 * libgomp.texi (omp_fulfill_event): New entry.
6355
b93d0e36
GA
63562021-01-20 Jakub Jelinek <jakub@redhat.com>
6357
6358 * task.c (GOMP_task): Rename priority argument to priority_arg,
6359 add priority automatic variable and modify that variable. Instead of
6360 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
6361 check flags for that bit.
6362
f35a4f96
GA
63632021-01-19 Tobias Burnus <tobias@codesourcery.com>
6364
6365 PR fortran/98476
6366 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
6367
ef1f8ee6
GA
63682021-01-18 Andreas Schwab <schwab@suse.de>
6369
6370 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
6371
63722021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
6373
6374 * config/rtems/sem.h (gomp_sem_getcount): New function.
6375
63762021-01-18 Jakub Jelinek <jakub@redhat.com>
6377
6378 * config/linux/sem.h (gomp_sem_getcount): New function.
6379 * config/posix/sem.h (gomp_sem_getcount): New function.
6380 * config/posix/sem.c (gomp_sem_getcount): New function.
6381 * config/accel/sem.h (gomp_sem_getcount): New function.
6382 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
6383 (omp_fulfill_event): Likewise.
6384
59cf67d1
GA
63852021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
6386
6387 * fortran.c (omp_fulfill_event_): New.
6388 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
6389 (struct gomp_team): Add task_detach_queue and task_detach_count
6390 fields.
6391 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
6392 * libgomp_g.h (GOMP_task): Add extra argument.
6393 * omp.h.in (enum omp_event_handle_t): New.
6394 (omp_fulfill_event): New.
6395 * omp_lib.f90.in (omp_event_handle_kind): New.
6396 (omp_fulfill_event): New.
6397 * omp_lib.h.in (omp_event_handle_kind): New.
6398 (omp_fulfill_event): Declare.
6399 * priority_queue.c (priority_tree_find): New.
6400 (priority_list_find): New.
6401 (priority_queue_find): New.
6402 * priority_queue.h (priority_queue_predicate): New.
6403 (priority_queue_find): New.
6404 * task.c (gomp_init_task): Initialize detach field.
6405 (task_fulfilled_p): New.
6406 (GOMP_task): Add detach argument. Ignore detach argument if
6407 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
6408 field. Copy address of completion_sem into detach argument and
6409 into the start of the data record. Wait for detach event if task
6410 not deferred.
6411 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
6412 Remove completed tasks and requeue dependent tasks.
6413 (omp_fulfill_event): New.
6414 * team.c (gomp_new_team): Initialize task_detach_queue and
6415 task_detach_count fields.
6416 (free_team): Free task_detach_queue field.
6417 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
6418 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
6419 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
6420 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
6421 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
6422 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
6423 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
6424 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
6425 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
6426 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
6427 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
6428 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
6429
2f7f0d32
GA
64302021-01-15 Jakub Jelinek <jakub@redhat.com>
6431
6432 PR target/70454
6433 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
6434 be added through preprocessor check on
6435 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
6436
5fff80fd
GA
64372021-01-14 Thomas Schwinge <thomas@codesourcery.com>
6438
6439 PR libgomp/65099
6440 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
6441 configurations.
6442 * configure: Regenerate.
6443 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
6444 check.
6445
651b8a50
GA
64462021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6447
6448 * configure: Re-generate.
6449
64502021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
6451
6452 * configure: Re-generate.
6453
64542021-01-05 Julian Brown <julian@codesourcery.com>
6455
6456 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
6457 (struct ptx_device): Add omp_stacks struct.
6458 (nvptx_open_device): Initialise cached-stacks housekeeping info.
6459 (nvptx_close_device): Free cached stacks block and mutex.
6460 (nvptx_stacks_free): New function.
6461 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
6462 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
6463 (nvptx_stacks_alloc): Rename to...
6464 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
6465 size or smaller is required.
6466 (nvptx_stacks_free): Remove.
6467 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
6468 during kernel execution.
6469
b6dd195a
GA
64702021-01-01 Jakub Jelinek <jakub@redhat.com>
6471
6472 * libgomp.texi: Bump @copying's copyright year.
6473
2d3425a5
GA
64742020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
6475
6476 * libgomp.texi (Top): Avoid bad "up" link.
6477
b1a2242e
GA
64782020-12-18 Jakub Jelinek <jakub@redhat.com>
6479
6480 * testsuite/libgomp.c/task-6.c: New test.
6481
ca2bd949
GA
64822020-12-09 Andrew Stubbs <ams@codesourcery.com>
6483
6484 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
6485 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
6486
f6e8e279
GA
64872020-12-08 Tobias Burnus <tobias@codesourcery.com>
6488
6489 * testsuite/libgomp.fortran/scan-1.f90: New test.
6490
6e1edf48
GA
64912020-12-05 Iain Sandoe <iain@sandoe.co.uk>
6492
6493 PR target/97865
6494 * configure: Regenerate.
6495
a9625c50
GA
64962020-11-29 John David Anglin <danglin@gcc.gnu.org>
6497
6498 * configure: Regenerate.
6499
360258da
GA
65002020-11-25 Thomas Schwinge <thomas@codesourcery.com>
6501
6502 * testsuite/libgomp.oacc-c++/cache-1.C: New.
6503 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
6504
65052020-11-25 Andrew Stubbs <ams@codesourcery.com>
6506
6507 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
6508 expected results.
6509
1e2c9a27
GA
65102020-11-24 Andrew Stubbs <ams@codesourcery.com>
6511
6512 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
6513 (reserved): Delete unused define.
6514
65152020-11-24 Thomas Schwinge <thomas@codesourcery.com>
6516
6517 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
6518 Tcl 8.5-specific behavior.
6519 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6520
25bb75f8
GA
65212020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
6522
6523 * env.c (gomp_global_icv): Remove nest_var field. Add
6524 max_active_levels_var field.
6525 (gomp_max_active_levels_var): Remove.
6526 (parse_boolean): Return true on success.
6527 (handle_omp_display_env): Express OMP_NESTED in terms of
6528 max_active_levels_var. Change format specifier for
6529 max_active_levels_var.
6530 (initialize_env): Set max_active_levels_var from
6531 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
6532 OMP_PROC_BIND.
6533 * icv.c (omp_set_nested): Express in terms of
6534 max_active_levels_var.
6535 (omp_get_nested): Likewise.
6536 (omp_set_max_active_levels): Use max_active_levels_var field instead
6537 of gomp_max_active_levels_var.
6538 (omp_get_max_active_levels): Likewise.
6539 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
6540 max_active_levels_var field.
6541 (gomp_supported_active_levels): Set to UCHAR_MAX.
6542 (gomp_max_active_levels_var): Delete.
6543 * libgomp.texi (omp_get_nested): Update documentation.
6544 (omp_set_nested): Likewise.
6545 (OMP_MAX_ACTIVE_LEVELS): Likewise.
6546 (OMP_NESTED): Likewise.
6547 (OMP_NUM_THREADS): Likewise.
6548 (OMP_PROC_BIND): Likewise.
6549 * parallel.c (gomp_resolve_num_threads): Replace reference
6550 to nest_var with max_active_levels_var. Use max_active_levels_var
6551 field instead of gomp_max_active_levels_var.
6552
65532020-11-18 Tobias Burnus <tobias@codesourcery.com>
6554
6555 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
6556 nvptx_usleep; use also for device={arch(gcn)}.
6557
faab61b5
GA
65582020-11-14 Jakub Jelinek <jakub@redhat.com>
6559
6560 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
6561 (foo): Add tests for non-VLA private and firstprivate clauses on
6562 omp task.
6563 (bar): Likewise. Remove taking of address from private/firstprivate
6564 variables.
6565 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
6566 (foo): Add p, q, px and s arguments. Add tests for array reductions
6567 and for non-VLA private and firstprivate clauses on omp task.
6568 (bar): Removed.
6569 (main): Adjust foo caller. Don't call bar.
6570
77f67db2
GA
65712020-11-13 Gergö Barany <gergo@codesourcery.com>
6572 Thomas Schwinge <thomas@codesourcery.com>
6573
6574 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
6575 New.
6576 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
6577 Likewise.
6578 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
6579 Likewise.
6580 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
6581 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
6582
65832020-11-13 Gergö Barany <gergo@codesourcery.com>
6584 Thomas Schwinge <thomas@codesourcery.com>
6585
6586 PR fortran/94358
6587 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
6588
65892020-11-13 Jakub Jelinek <jakub@redhat.com>
6590
6591 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
6592 for array reductions.
6593 (main): Adjust foo callers.
6594
a5a11525
GA
65952020-11-12 Jakub Jelinek <jakub@redhat.com>
6596
6597 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
6598 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
6599 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
6600 * allocator.c (omp_aligned_alloc): New for now static function,
6601 add alignment argument and handle it.
6602 (omp_alloc): Reimplement using omp_aligned_alloc.
6603 (GOMP_alloc, GOMP_free): New functions.
6604 (omp_free): Add ialias.
6605 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
6606 * testsuite/libgomp.c++/allocate-1.C: New test.
6607
66082020-11-12 Thomas Schwinge <thomas@codesourcery.com>
6609
6610 PR fortran/97782
6611 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
6612
bb622641
GA
66132020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
6614
6615 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
6616 usable.
6617 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
6618 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
6619 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
6620 (goacc_enter_data_internal): Likewise.
6621 * target.c (gomp_map_vars_internal):
6622 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
6623 of gomp_attach_pointer for OpenMP cases.
6624 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
6625 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
6626 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
6627
0cfd9109
GA
66282020-11-05 Ulrich Drepper <drepper@redhat.com>
6629 Kwok Cheung Yeung <kcy@codesourcery.com>
6630
6631 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
6632 * Makefile.in: Regenerate.
6633 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
6634 pragmas to ignore -Wdeprecated-declarations warnings.
6635 * icv.c: Likewise.
6636 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
6637 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
6638 and omp_get_nested with __GOMP_DEPRECATED_5_0.
6639 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
6640 deprecated.
6641 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
6642 to test options.
6643 * testsuite/libgomp.c/affinity-1.c: Likewise.
6644 * testsuite/libgomp.c/affinity-2.c: Likewise.
6645 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
6646 * testsuite/libgomp.c/lib-1.c: Likewise.
6647 * testsuite/libgomp.c/nested-1.c: Likewise.
6648 * testsuite/libgomp.c/nested-2.c: Likewise.
6649 * testsuite/libgomp.c/nested-3.c: Likewise.
6650 * testsuite/libgomp.c/pr32362-1.c: Likewise.
6651 * testsuite/libgomp.c/pr32362-2.c: Likewise.
6652 * testsuite/libgomp.c/pr32362-3.c: Likewise.
6653 * testsuite/libgomp.c/pr35549.c: Likewise.
6654 * testsuite/libgomp.c/pr42942.c: Likewise.
6655 * testsuite/libgomp.c/pr61200.c: Likewise.
6656 * testsuite/libgomp.c/sort-1.c: Likewise.
6657 * testsuite/libgomp.c/target-5.c: Likewise.
6658 * testsuite/libgomp.c/target-6.c: Likewise.
6659 * testsuite/libgomp.c/teams-1.c: Likewise.
6660 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6661 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6662 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
6663 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
6664 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6665 * testsuite/libgomp.fortran/lib2.f: Likewise.
6666 * testsuite/libgomp.fortran/nested1.f90: Likewise.
6667 * testsuite/libgomp.fortran/teams1.f90: Likewise.
6668
88ce3d5f
GA
66692020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6670
6671 PR target/85486
6672 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
6673 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
6674 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
6675
66762020-11-02 Thomas Schwinge <thomas@codesourcery.com>
6677
6678 PR testsuite/80219
6679 PR testsuite/85303
6680 * testsuite/lib/libgomp.exp (libgomp_init): Set
6681 'gcc_warning_prefix', 'gcc_error_prefix'.
6682
66832020-10-30 Jakub Jelinek <jakub@redhat.com>
6684
6685 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
6686 even in field_tgt_clear initializer.
6687
e93aae4a
GA
66882020-10-28 Jakub Jelinek <jakub@redhat.com>
6689
6690 * testsuite/libgomp.c/target-42.c: New test.
6691
66922020-10-28 Jakub Jelinek <jakub@redhat.com>
6693 Tom de Vries <tdevries@suse.de>
6694
6695 PR testsuite/81690
6696 * testsuite/libgomp.c/usleep.h: New file.
6697 * testsuite/libgomp.c/target-32.c: Include usleep.h.
6698 (main): Use tgt_usleep instead of usleep.
6699 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
6700 (main): Use tgt_usleep instead of usleep.
6701
67022020-10-28 Jakub Jelinek <jakub@redhat.com>
6703
6704 PR lto/96680
6705 * testsuite/libgomp.c/declare-variant-1.c: New test.
6706
56ddd5e2
GA
67072020-10-22 Jakub Jelinek <jakub@redhat.com>
6708
6709 * testsuite/libgomp.c/target-41.c: New test.
6710
67112020-10-22 Jakub Jelinek <jakub@redhat.com>
6712
6713 * icv.c (omp_get_initial_device): Remove including corresponding
6714 ialias.
6715 * icv-device.c (omp_get_initial_device): New function. Return
6716 gomp_get_num_devices (). Add ialias.
6717 * target.c (resolve_device): Don't fail with
6718 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
6719 gomp_get_num_devices ().
6720 (omp_target_alloc, omp_target_free, omp_target_is_present,
6721 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
6722 omp_target_disassociate_ptr, omp_pause_resource): Use
6723 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
6724 first use in the functions, in uses dominated by the
6725 gomp_get_num_devices call use num_devices_openmp instead.
6726 * libgomp.texi (omp_get_initial_device): Document.
6727 * config/gcn/icv-device.c (omp_get_initial_device): New function.
6728 Add ialias.
6729 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
6730 * testsuite/libgomp.c/target-40.c: New test.
6731
67322020-10-21 Jakub Jelinek <jakub@redhat.com>
6733
6734 * env.c (parse_target_offload): Change new_offload var type to int,
6735 preinitialize to -1, remove found var and test new_offload != -1
6736 instead of found.
6737
e2e04288
GA
67382020-10-20 Jakub Jelinek <jakub@redhat.com>
6739
6740 * target.c (gomp_target_init): Inside of the function, use automatic
6741 variables corresponding to num_devices, num_devices_openmp and devices
6742 global variables and update the globals only at the end of the
6743 function.
6744
67452020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
6746
6747 * env.c (gomp_target_offload_var): New.
6748 (parse_target_offload): New.
6749 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
6750 (initialize_env): Parse OMP_TARGET_OFFLOAD.
6751 * libgomp.h (gomp_target_offload_t): New.
6752 (gomp_target_offload_var): New.
6753 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
6754 * target.c (resolve_device): Generate error if device not found and
6755 offloading is mandatory.
6756 (gomp_target_fallback): Generate error if offloading is mandatory.
6757 (GOMP_target): Add argument in call to gomp_target_fallback.
6758 (GOMP_target_ext): Likewise.
6759 (gomp_target_data_fallback): Generate error if offloading is mandatory.
6760 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
6761 (GOMP_target_data_ext): Likewise.
6762 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
6763 (gomp_target_init): Return early if offloading is disabled.
6764
b85d5dc5
GA
67652020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
6766
6767 * libgomp.texi (omp_get_max_active_levels): Modify description.
6768 (omp_get_supported_active_levels): Make descriptions consistent.
6769
b2698c21
GA
67702020-10-14 Jakub Jelinek <jakub@redhat.com>
6771
6772 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
6773
bdd74cc2
GA
67742020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6775
6776 * env.c (gomp_max_active_levels_var): Initialize to
6777 gomp_supported_active_levels.
6778 (initialize_env): Limit gomp_max_active_levels_var to be at most
6779 equal to gomp_supported_active_levels.
6780 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
6781 (omp_get_supported_active_levels_): New.
6782 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
6783 to at most equal to gomp_supported_active_levels.
6784 (omp_get_supported_active_levels): New.
6785 * libgomp.h (gomp_supported_active_levels): New.
6786 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
6787 omp_get_supported_active_levels_.
6788 * libgomp.texi (omp_get_supported_active_levels): New.
6789 (omp_set_max_active_levels): Update. Add reference to
6790 omp_get_supported_active_levels.
6791 * omp.h.in (omp_get_supported_active_levels): New.
6792 * omp_lib.f90.in (omp_get_supported_active_levels): New.
6793 * omp_lib.h.in (omp_get_supported_active_levels): New.
6794 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
6795 against omp_get_supported_active_levels.
6796 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
6797
2baa36d4
GA
67982020-10-11 Clement Chigot <clement.chigot@atos.net>
6799
6800 * config/t-aix: Delete and recreate libgomp before creating
6801 FAT library.
6802
da9df699
GA
68032020-10-08 Tom de Vries <tdevries@suse.de>
6804
6805 PR libgomp/81802
6806 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
6807 dimensions.
6808
8e97b905
GA
68092020-10-06 Tom de Vries <tdevries@suse.de>
6810
6811 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
6812
68132020-10-06 Tom de Vries <tdevries@suse.de>
6814
6815 PR middle-end/90861
6816 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
6817
7e9282ae
GA
68182020-10-05 Tom de Vries <tdevries@suse.de>
6819
6820 PR fortran/95654
6821 * testsuite/libgomp.fortran/pr95654.f90: New test.
6822
b0b9b8f0
GA
68232020-10-02 Tobias Burnus <tobias@codesourcery.com>
6824
6825 * Makefile.in: Regenerate with automake 1.15.1.
6826 * aclocal.m4: Likewise.
6827 * configure: Likewise.
6828 * testsuite/Makefile.in: Likewise.
6829
660bfe61
GA
68302020-09-30 Andrew Stubbs <ams@codesourcery.com>
6831
6832 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
6833 and amdgcn targets.
6834
68352020-09-30 Tobias Burnus <tobias@codesourcery.com>
6836
6837 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
6838
93bca37c
GA
68392020-09-29 Andrew Stubbs <ams@codesourcery.com>
6840
6841 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
6842 total number of threads is one.
6843 (gomp_team_barrier_wake): Likewise.
6844 (gomp_team_barrier_wait_end): Likewise.
6845 (gomp_team_barrier_wait_cancel_end): Likewise.
6846 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
6847 (gomp_team_barrier_wake): Likewise.
6848 (gomp_team_barrier_wait_end): Likewise.
6849 (gomp_team_barrier_wait_cancel_end): Likewise.
6850 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
6851
e84761c6
GA
68522020-09-28 Tobias Burnus <tobias@codesourcery.com>
6853
6854 PR middle-end/96390
6855 * testsuite/libgomp.c++/pr96390.C: New test.
6856 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
6857
4383c595
GA
68582020-09-27 Clement Chigot <clement.chigot@atos.net>
6859
6860 * config/t-aix: Use $(AR) without -X32_64.
6861
cdd8f031
GA
68622020-09-25 Jakub Jelinek <jakub@redhat.com>
6863
6864 * testsuite/libgomp.c/loop-25.c: New test.
6865
521d2711
GA
68662020-09-22 Tobias Burnus <tobias@codesourcery.com>
6867
6868 PR fortran/95654
6869 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
6870
68712020-09-22 Tom de Vries <tdevries@suse.de>
6872
6873 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
6874 fails.
6875
ecde1b0a
GA
68762020-09-16 Nathan Sidwell <nathan@acm.org>
6877
6878 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
6879
9f7ab8c5
GA
68802020-09-15 Tobias Burnus <tobias@codesourcery.com>
6881
6882 PR fortran/96668
6883 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
6884
68852020-09-15 Tobias Burnus <tobias@codesourcery.com>
6886
6887 PR fortran/96668
6888 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
6889 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
6890 (gomp_map_vars_existing): Update call to it.
6891 (gomp_map_fields_existing): Likewise
6892 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
6893 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
6894 remapped.
6895 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
6896 GOMP_MAP_POINTER.
6897 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
6898 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
6899
50a71cd0
GA
69002020-09-14 Tom de Vries <tdevries@suse.de>
6901
6902 * config/nvptx/atomic.c: New file. Add
6903 __sync_val_compare_and_swap_16.
6904 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
6905 target offload_target_nvptx.
6906
31a05046
GA
69072020-09-08 Julian Brown <julian@codesourcery.com>
6908
6909 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
6910 iteration-ordering assumptions.
6911
69122020-09-08 Julian Brown <julian@codesourcery.com>
6913
6914 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
6915 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6916
5b9a3d2a
GA
69172020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
6918
6919 * plugin/plugin-nvptx.c (nvptx_free):
6920 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
6921 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
6922 comments.
6923
69242020-08-20 Tobias Burnus <tobias@codesourcery.com>
6925
6926 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
6927
b3cb5606
GA
69282020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
6929
6930 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
6931
69322020-08-13 Jakub Jelinek <jakub@redhat.com>
6933
6934 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
6935 * testsuite/libgomp.c/loop-23.c (main): Likewise.
6936 * testsuite/libgomp.c/loop-24.c: New test.
6937
bc0ca715
GA
69382020-08-08 Jakub Jelinek <jakub@redhat.com>
6939 Tobias Burnus <tobias@codesourcery.com>
6940
6941 PR fortran/93553
6942 * testsuite/libgomp.fortran/pr93553.f90: New test.
6943
aa5ea20c
GA
69442020-08-05 Jakub Jelinek <jakub@redhat.com>
6945
6946 * testsuite/libgomp.c/loop-22.c: New test.
6947 * testsuite/libgomp.c/loop-23.c: New test.
6948
69492020-08-05 Jakub Jelinek <jakub@redhat.com>
6950
6951 PR middle-end/96459
6952 * testsuite/libgomp.c/teams-3.c: New test.
6953 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
6954 if not defined yet.
6955 (N(test)): Use it before all N(f*) calls.
6956 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
6957 (main): Don't call all test_* functions from within
6958 #pragma omp teams reduction(|:err), call them directly.
6959
abba2591
GA
69602020-08-04 Tom de Vries <tdevries@suse.de>
6961
6962 PR target/96428
6963 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
6964 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
6965
6a1ad710
GA
69662020-08-03 Julian Brown <julian@codesourcery.com>
6967 Thomas Schwinge <thomas@codesourcery.com>
6968
6969 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
6970 shared-memory devices. Extend with further checking.
6971
69722020-08-03 Martin Jambor <mjambor@suse.cz>
6973
6974 * plugin/Makefrag.am: Remove configuration of HSA plugin.
6975 * aclocal.m4: Regenerated.
6976 * Makefile.in: Regenerated.
6977 * config.h.in: Regenerated.
6978 * configure: Regenerated.
6979 * plugin/configfrag.ac: Likewise.
6980 * plugin/hsa_ext_finalize.h: Removed.
6981 * plugin/plugin-hsa.c: Likewise.
6982 * testsuite/Makefile.in: Regenerated.
6983 * testsuite/lib/libgomp.exp
6984 (offload_target_to_openacc_device_type): Remove hsa case.
6985 (check_effective_target_hsa_offloading_selected_nocache): Removed
6986 (check_effective_target_hsa_offloading_selected): Likewise.
6987 (libgomp_init): Do not add -Wno-hsa to additional_flags.
6988 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
6989 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6990 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
6991 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6992 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6993 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6994 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
6995 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6996 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6997 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6998 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6999 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
7000 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
7001 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
7002 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
7003 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
7004 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
7005 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
7006 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
7007 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
7008 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
7009 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
7010 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
7011 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7012
e71dab87
GA
70132020-07-27 Julian Brown <julian@codesourcery.com>
7014 Thomas Schwinge <thomas@codesourcery.com>
7015
7016 * libgomp.h (struct target_var_desc): Rename do_detach field to
7017 is_attach.
7018 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
7019 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
7020 (goacc_enter_data_internal): Don't affect reference counts
7021 for attach mappings.
7022 (goacc_exit_data_internal): Don't affect reference counts for detach
7023 mappings.
7024 * target.c (gomp_map_vars_existing): Don't affect reference counts for
7025 attach mappings.
7026 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
7027 mark attach mappings.
7028 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
7029 reference count for attach mappings.
7030 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
7031 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7032 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
7033 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
7034 test as shouldfail.
7035 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
7036 gracefully in no-finalize mode.
7037 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
7038
53256ee3
GA
70392020-07-24 Thomas Schwinge <thomas@codesourcery.com>
7040
7041 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
7042 use.
7043 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7044 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7045
9bb403dc
GA
70462020-07-23 Julian Brown <julian@codesourcery.com>
7047 Thomas Schwinge <thomas@codesourcery.com>
7048
7049 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
7050 finalization for detach operation.
7051 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
7052 New test.
7053
70542020-07-23 Tobias Burnus <tobias@codesourcery.com>
7055
7056 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
7057 * libgomp_f.h.in (omp_check_defines): Check whether
7058 sizeof of determined Fortran kind and C typedef match.
7059 * omp_lib.f90.in: Add omp_depened_kind.
7060 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
7061 * configure: Regenerate.
7062 * Makefile.in: Regenerate.
7063 * testsuite/Makefile.in: Regenerate.
7064
3ea9abca
GA
70652020-07-22 Tobias Burnus <tobias@codesourcery.com>
7066
7067 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
7068 gcc/testsuite/c-c++-common/gomp/.
7069 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
7070 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
7071 from gcc/testsuite/gfortran.dg/gomp/.
7072 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
7073
70742020-07-22 Tobias Burnus <tobias@codesourcery.com>
7075
7076 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
7077 * omp_lib.h.in: Likewise.
7078
aeb34e15
GA
70792020-07-18 H.J. Lu <hjl.tools@gmail.com>
7080
7081 PR target/95620
7082 * testsuite/libgomp.c/pr95620.c: New test.
7083
96686b3f
GA
70842020-07-16 Julian Brown <julian@codesourcery.com>
7085 Thomas Schwinge <thomas@codesourcery.com>
7086
7087 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
7088 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
7089
fe8185b5
GA
70902020-07-15 Tobias Burnus <tobias@codesourcery.com>
7091
7092 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
7093 avoid conversion on 32bit systems from 32bit to 64bit due
7094 to -fdefault-integer-8.
7095
70962020-07-15 Tobias Burnus <tobias@codesourcery.com>
7097
7098 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
7099 variables; add character(kind=4) tests; update TODO comment.
7100
71012020-07-15 Tobias Burnus <tobias@codesourcery.com>
7102
7103 * allocator.c: Add ialias for omp_init_allocator and
7104 omp_destroy_allocator.
7105 * configure.ac: Set INTPTR_T_KIND.
7106 * configure: Regenerate.
7107 * Makefile.in: Regenerate.
7108 * testsuite/Makefile.in: Regenerate.
7109 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
7110 omp_set_default_allocator_, omp_get_default_allocator_): New
7111 functions and ialias_redirect.
7112 * icv.c: Add ialias for omp_set_default_allocator and
7113 omp_get_default_allocator.
7114 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
7115 omp_destroy_allocator_, omp_set_default_allocator_ and
7116 omp_get_default_allocator_.
7117 * omp_lib.f90.in: Add allocator traits parameters, declare
7118 allocator routines and add related kind parameters.
7119 * omp_lib.h.in: Likewise.
7120 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
7121 * testsuite/libgomp.fortran/alloc-1.F90: New test.
7122 * testsuite/libgomp.fortran/alloc-2.F90: New test.
7123 * testsuite/libgomp.fortran/alloc-3.F: New test.
7124 * testsuite/libgomp.fortran/alloc-4.f90: New test.
7125 * testsuite/libgomp.fortran/alloc-5.f90: New test.
7126
8ca07a30
GA
71272020-07-14 Tom de Vries <tom@codesourcery.com>
7128 Cesar Philippidis <cesar@codesourcery.com>
7129 Thomas Schwinge <thomas@codesourcery.com>
7130 Kwok Cheung Yeung <kcy@codesourcery.com>
7131
7132 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
7133 New variable.
7134 (acc_init_1): Set acc_init_thread to pthread_self (). Set
7135 acc_init_state to initializing at the start, and to initialized at the
7136 end.
7137 (self_initializing_p): New function.
7138 (acc_get_device_type): Return acc_device_none if called by thread that
7139 is currently executing acc_init_1.
7140 * libgomp.texi (acc_get_device_type): Update documentation.
7141 (Implementation Status and Implementation-Defined Behavior): Likewise.
7142 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
7143
71442020-07-14 David Edelsohn <dje.gcc@gmail.com>
7145
7146 * config/t-aix: Set BITS from compiler cpp macro.
7147
71482020-07-14 Tobias Burnus <tobias@codesourcery.com>
7149
7150 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
7151
71522020-07-14 Tobias Burnus <tobias@codesourcery.com>
7153
7154 PR fortran/67311
7155 * testsuite/libgomp.fortran/target-map-1.f90: New test.
7156
71572020-07-14 Jakub Jelinek <jakub@redhat.com>
7158
7159 * testsuite/libgomp.c/loop-21.c: New test.
7160
ea69fcf9
GA
71612020-07-13 Julian Brown <julian@codesourcery.com>
7162 Thomas Schwinge <thomas@codesourcery.com>
7163
7164 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
7165
86536295
GA
71662020-07-10 Julian Brown <julian@codesourcery.com>
7167 Thomas Schwinge <thomas@codesourcery.com>
7168
7169 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
7170 dynamic_refcount.
7171 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7172 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
7173 dynamic_refcount.
7174 (acc_unmap_data): Update comment.
7175 (goacc_map_var_existing, goacc_enter_datum): Adjust for
7176 dynamic_refcount semantics.
7177 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
7178 Adjust for dynamic_refcount semantics.
7179 (goacc_enter_data_internal): Implement "present" case of dynamic
7180 memory-map handling here. Update "non-present" case for
7181 dynamic_refcount semantics.
7182 (goacc_exit_data_internal): Use goacc_exit_datum_1.
7183 * target.c (gomp_map_vars_internal): Remove
7184 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
7185 handling.
7186 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
7187 (gomp_load_image_to_device): Substitute dynamic_refcount for
7188 virtual_refcount.
7189 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
7190 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
7191 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
7192 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
7193 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
7194 trace output.
7195 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
7196 trace output.
7197 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
7198 test.
7199 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7200 Remove stale comment.
7201 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
7202 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7203 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7204 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7205 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7206 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
7207
72082020-07-10 Julian Brown <julian@codesourcery.com>
7209 Thomas Schwinge <thomas@codesourcery.com>
7210
7211 * oacc-mem.c (goacc_map_var_existing): New function.
7212 (goacc_enter_datum): Use above function.
7213 (goacc_exit_datum_1): New function.
7214 (goacc_exit_datum): Use above function.
7215
3f8ca9cb
GA
72162020-07-09 Julian Brown <julian@codesourcery.com>
7217 Thomas Schwinge <thomas@codesourcery.com>
7218
7219 PR middle-end/95270
7220 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
7221 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
7222
72232020-07-09 Julian Brown <julian@codesourcery.com>
7224
7225 * oacc-mem.c (find_group_last): Group data-movement clauses
7226 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
7227 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
7228
72292020-07-09 Jakub Jelinek <jakub@redhat.com>
7230
7231 * testsuite/libgomp.c/loop-19.c: New test.
7232 * testsuite/libgomp.c/loop-20.c: New test.
7233
72342020-07-09 Jakub Jelinek <jakub@redhat.com>
7235
7236 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
7237 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
7238 it. Remove __omp_alloctrait_value_max__.
7239 * allocator.c (omp_init_allocator): Handle omp_atv_default for
7240 omp_atk_alignment and omp_atk_pool_size.
7241
b991c834
GA
72422020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7243
7244 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
7245 behavior for 'GOMP_MAP_FORCE_FROM'.
7246 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
7247
72482020-07-03 Thomas Schwinge <thomas@codesourcery.com>
7249
7250 * oacc-mem.c (goacc_exit_data_internal): Remove
7251 'GOMP_MAP_ALWAYS_FROM' handling.
7252
46fbb6c6
GA
72532020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7254
7255 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
7256 'scan-assembler' with 'scan-offload-rtl'.
7257 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
7258 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7259 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
7260 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
7261
72622020-06-30 Thomas Schwinge <thomas@codesourcery.com>
7263
7264 * target.c (gomp_map_vars_existing): Assert 'kind !=
7265 GOMP_MAP_ATTACH'.
7266 (gomp_map_vars_internal): Clean up.
7267
9a33c41f
GA
72682020-06-27 Jakub Jelinek <jakub@redhat.com>
7269
7270 * testsuite/libgomp.c/loop-17.c: New test.
7271 * testsuite/libgomp.c/loop-18.c: New test.
7272
c9c05f73
GA
72732020-06-26 Marek Polacek <polacek@redhat.com>
7274
7275 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
7276
4543acc8
GA
72772020-06-23 Alexandre Oliva <oliva@adacore.com>
7278
7279 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
7280 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
7281
605a8f3b
GA
72822020-06-22 David Edelsohn <dje.gcc@gmail.com>
7283
7284 * Makefile.am: Use -include.
7285 * Makefile.in: Regenerate.
7286
f86e11a2
GA
72872020-06-21 David Edelsohn <dje.gcc@gmail.com>
7288
7289 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
7290 * Makefile.in: Regenerate
7291 * configure.ac (tmake_file): Substitute.
7292 * configure: Regenerate.
7293 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
7294 * config/t-aix: New file.
7295
aff95ee7
GA
72962020-06-17 Thomas Schwinge <thomas@codesourcery.com>
7297
7298 PR lto/94848
7299 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
7300 'dg-do run'.
7301
73022020-06-17 Andrew Stubbs <ams@codesourcery.com>
7303
7304 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
7305 variant for HSA_RUNTIME_LIB name.
7306 (find_executable_symbol_1): Delete.
7307 (find_executable_symbol): Delete.
7308 (init_kernel_properties): Add ".kd" suffix to symbol names.
7309 (find_load_offset): Delete.
7310 (create_and_finalize_hsa_program): Remove relocation handling.
7311
56638b9b
GA
73122020-06-16 Tobias Burnus <tobias@codesourcery.com>
7313
7314 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
7315
2c455ae0
GA
73162020-06-08 Tobias Burnus <tobias@codesourcery.com>
7317
7318 PR lto/94848
7319 PR middle-end/95551
7320 * testsuite/libgomp.fortran/target-var.f90: New test.
7321
1a59f3db
GA
73222020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7323 Julian Brown <julian@codesourcery.com>
7324
7325 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
7326 special handling.
7327
73282020-06-05 Thomas Schwinge <thomas@codesourcery.com>
7329 Julian Brown <julian@codesourcery.com>
7330
7331 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7332 Simplify.
7333
73342020-06-05 Julian Brown <julian@codesourcery.com>
7335
7336 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
7337 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
7338
3add3425
GA
73392020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7340
7341 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7342 Evaluate 'copyfrom' individually for each entry.
7343 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
7344
73452020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7346
7347 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
7348 Evaluate 'finalize' individually for each entry.
7349 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
7350 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
7351 file.
7352
73532020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7354
7355 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
7356 usage.
7357 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
7358
73592020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7360 Julian Brown <julian@codesourcery.com>
7361
7362 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
7363 checking.
7364 (acc_unmap_data, goacc_exit_data_internal): Restore
7365 'is_tgt_unmapped' checking.
7366 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
7367 file.
7368 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
7369 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7370 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7371 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7372 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7373 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7374
73752020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7376 Julian Brown <julian@codesourcery.com>
7377
7378 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
7379
73802020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7381
7382 PR libgomp/92854
7383 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
7384
73852020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7386
7387 PR libgomp/92854
7388 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
7389 more.
7390
73912020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7392 Julian Brown <julian@codesourcery.com>
7393
7394 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
7395 'gomp_map_vars'.
3d3b561f 7396 (acc_map_data): Clean up accordingly.
3add3425
GA
7397
73982020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7399
7400 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
7401 of over-eager 'finalize' clause.
7402 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
7403 file.
7404 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
7405 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
7406 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
7407 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
7408 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
7409 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
7410 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
7411 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
7412
74132020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7414
7415 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
7416
74172020-06-04 Julian Brown <julian@codesourcery.com>
7418
7419 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
7420 error path.
7421 (goacc_detach_internal): Likewise.
7422
74232020-06-04 Thomas Schwinge <thomas@codesourcery.com>
7424
7425 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
7426 the checkpoint.
7427 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7428 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7429 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7430 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7431 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7432
a9312a79
GA
74332020-06-02 Jakub Jelinek <jakub@redhat.com>
7434
7435 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
7436 defined.
7437
945b53cc
GA
74382020-05-30 Jakub Jelinek <jakub@redhat.com>
7439
7440 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
7441
74422020-05-30 Jakub Jelinek <jakub@redhat.com>
7443
7444 * allocator.c (omp_alloc): For size == 0, return NULL early.
7445
885ef72f
GA
74462020-05-29 H.J. Lu <hjl.tools@gmail.com>
7447
7448 PR bootstrap/95413
7449 * configure: Regenerated.
7450
8df7ee67
TK
74512020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
7452
7453 PR libfortran/95191
7454 * testsuite/libgomp.fortran/async_io_9.f90: New test.
7455
800bcc8c
JJ
74562020-05-19 Jakub Jelinek <jakub@redhat.com>
7457
7458 * omp.h.in (omp_uintptr_t): New typedef.
7459 (__GOMP_UINTPTR_T_ENUM): Define.
7460 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
7461 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
7462 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
7463 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
7464 omp_get_default_allocator, omp_alloc, omp_free): Declare.
7465 * libgomp.h (struct gomp_team_state): Add def_allocator field.
7466 (gomp_def_allocator): Declare.
7467 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
7468 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
7469 omp_alloc and omp_free.
7470 * team.c (gomp_team_start): Copy over ts.def_allocator.
7471 * env.c (gomp_def_allocator): New variable.
7472 (parse_wait_policy): Adjust function comment.
7473 (parse_allocator): New function.
7474 (handle_omp_display_env): Print OMP_ALLOCATOR.
7475 (initialize_env): Call parse_allocator.
7476 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
7477 * allocator.c: New file.
7478 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
7479 functions.
7480 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
7481 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
7482 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
7483 * Makefile.in: Regenerated.
7484
4c1a5d8b
L
74852020-05-15 H.J. Lu <hongjiu.lu@intel.com>
7486
7487 PR bootstrap/95147
7488 * configure: Regenerated.
7489
cdc34b50
TK
74902020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
7491
7492 PR libfortran/95119
7493 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
7494
74952020-05-14 H.J. Lu <hongjiu.lu@intel.com>
7496
7497 * configure: Regenerated.
7498
74992020-05-14 Jakub Jelinek <jakub@redhat.com>
7500
7501 * testsuite/libgomp.c-c++-common/target-40.c: New test.
7502
f884bef2
TB
75032020-05-13 Tobias Burnus <tobias@codesourcery.com>
7504
7505 PR fortran/94690
7506 * testsuite/libgomp.fortran/pr66199-3.f90: New.
7507 * testsuite/libgomp.fortran/pr66199-4.f90: New.
7508 * testsuite/libgomp.fortran/pr66199-5.f90: New.
7509 * testsuite/libgomp.fortran/pr66199-6.f90: New.
7510 * testsuite/libgomp.fortran/pr66199-7.f90: New.
7511 * testsuite/libgomp.fortran/pr66199-8.f90: New.
7512 * testsuite/libgomp.fortran/pr66199-9.f90: New.
7513
dc703151
JJ
75142020-05-12 Jakub Jelinek <jakub@redhat.com>
7515
7516 * testsuite/libgomp.c/target-39.c: New test.
7517
b9dc11b6
TS
75182020-04-29 Thomas Schwinge <thomas@codesourcery.com>
7519
a5d0bc12
TS
7520 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
7521 * openacc.f90 (acc_device_current): Likewise.
7522 * openacc.h (acc_device_current): Likewise.
7523 * openacc_lib.h (acc_device_current): Likewise.
7524
7f198924
TS
7525 PR target/94282
7526 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
7527 'dg-allow-blank-lines-in-output'.
7528
4912a04f
TS
7529 * oacc-init.c (get_openacc_name): Handle 'gcn'.
7530 * testsuite/lib/libgomp.exp
7531 (offload_target_to_openacc_device_type) [amdgcn*]: Return
7532 'radeon'. Adjust all users.
7533 (check_effective_target_openacc_amdgcn_accel_present): Rename
7534 to...
7535 (check_effective_target_openacc_radeon_accel_present): ... this.
7536 Adjust all users.
7537 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
7538 (check_effective_target_openacc_radeon_accel_selected): ... this.
7539 Adjust all users.
7540
b9dc11b6
TS
7541 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
7542 'dg-do run'.
7543
966de09b
AS
75442020-04-23 Andrew Stubbs <ams@codesourcery.com>
7545
7546 PR other/94629
7547
7548 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
7549 hsa_iterate_agents.
7550 (GOMP_OFFLOAD_init_device): Check return values from both calls to
7551 hsa_agent_iterate_regions.
7552
3f5d94c1
TS
75532020-04-20 Thomas Schwinge <thomas@codesourcery.com>
7554
7555 PR middle-end/94635
7556 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
7557 run'.
7558
85d8c05a
TB
75592020-04-20 Tobias Burnus <tobias@codesourcery.com>
7560
7561 PR middle-end/94120
7562 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
7563 test case.
7564
af557050
TB
75652020-04-17 Tobias Burnus <tobias@codesourcery.com>
7566
7567 PR middle-end/94635
7568 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
7569
af4c9257
TS
75702020-04-13 Thomas Schwinge <thomas@codesourcery.com>
7571
7572 PR libgomp/92843
7573 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7574 Rename to...
7575 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
7576 ... this.
7577 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7578 Rename to...
7579 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
7580 ... this.
7581 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7582 Rename to...
7583 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
7584 ... this.
7585 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7586 Rename to...
7587 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
7588 ... this.
7589 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7590 Rename to...
7591 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
7592 ... this.
7593 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7594 Rename to...
7595 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
7596 ... this.
7597 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7598 Rename to...
7599 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
7600 ... this.
7601 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7602 Rename to...
7603 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
7604 ... this.
7605 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7606 Rename to...
7607 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
7608 ... this.
7609 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7610 Rename to...
7611 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
7612 ... this.
7613 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7614 Rename to...
7615 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
7616 ... this.
7617 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7618 Rename to...
7619 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
7620 ... this.
7621 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7622 Rename to...
7623 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
7624 ... this.
7625 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7626 Rename to...
7627 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
7628 ... this.
7629 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7630 Rename to...
7631 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
7632 ... this.
7633 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
7634 Rename to...
7635 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
7636 ... this.
7637
be9862dd
JB
76382020-04-10 Julian Brown <julian@codesourcery.com>
7639 Thomas Schwinge <thomas@codesourcery.com>
7640
7641 PR libgomp/92843
7642 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
7643 New file.
7644 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
7645 Likewise.
7646 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
7647 Likewise.
7648 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
7649 Likewise.
7650 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
7651 Likewise.
7652 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
7653 Likewise.
7654 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
7655 Likewise.
7656 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
7657 Likewise.
7658 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
7659 Likewise.
7660 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
7661 Likewise.
7662 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
7663 Likewise.
7664 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
7665 Likewise.
7666 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
7667 Likewise.
7668 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
7669 Likewise.
7670 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
7671 Likewise.
7672 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
7673 Likewise.
7674
6b816a5f
TS
76752020-04-10 Thomas Schwinge <thomas@codesourcery.com>
7676
7677 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
7678 run'.
7679
13e41d8b
TB
76802020-04-08 Tobias Burnus <tobias@codesourcery.com>
7681
7682 PR middle-end/94120
7683 * libgomp.oacc-c++/declare-pr94120.C: New.
7684
749bd22d
MR
76852020-04-06 Maciej W. Rozycki <macro@wdc.com>
7686
7687 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
7688 files.
7689 * configure: Regenerate.
7690 * testsuite/libgomp-site-extra.exp.in: New file.
7691 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
7692 variable.
7693 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
7694 variable.
7695 * testsuite/Makefile.in: Regenerate.
7696
2b1e849b
TS
76972020-04-03 Thomas Schwinge <thomas@codesourcery.com>
7698
7699 PR tree-optimization/89713
7700 PR c/94392
7701 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
7702 'bar.sync'.
7703 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
7704
689418b9
TB
77052020-03-31 Tobias Burnus <tobias@codesourcery.com>
7706
7707 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
7708 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
7709
c2211a60
TB
77102020-03-24 Tobias Burnus <tobias@codesourcery.com>
7711
7712 PR libgomp/81689
7713 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
7714
4897bb00
TB
77152020-03-20 Tobias Burnus <tobias@codesourcery.com>
7716
7717 PR libgomp/94251
7718 * target.c (gomp_load_image_to_device): Fix link
7719 variable handling.
7720
02f7334a
JJ
77212020-03-19 Jakub Jelinek <jakub@redhat.com>
7722
7723 PR c++/93931
7724 * testsuite/libgomp.c++/pr93931.C: New test.
7725
bb83e069
TB
77262020-03-19 Tobias Burnus <tobias@codesourcery.com>
7727
7728 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
7729 dg-allow-blank-lines-in-output.
7730
26cbcfe5
TB
77312020-03-18 Julian Brown <julian@codesourcery.com>
7732 Tobias Burnus <tobias@codesourcery.com>
7733
7734 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
7735 it work concurrently.
7736
4da92887
TB
77372020-03-18 Tobias Burnus <tobias@codesourcery.com>
7738
7739 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
7740 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
7741 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
7742
9c3cdb43
JJ
77432020-03-14 Jakub Jelinek <jakub@redhat.com>
7744
7745 PR middle-end/93566
7746 * testsuite/libgomp.c/pr93566.c: New test.
7747
83d45e1d
FH
77482020-02-21 Frederik Harwath <frederik@codesourcery.com>
7749
7750 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
7751 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
7752 integer(acc_device_property) for the type of the return value of
7753 acc_get_property.
7754
8d1a1cb1
TB
77552020-02-19 Tobias Burnus <tobias@codesourcery.com>
7756
7757 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
7758 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
7759 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
7760 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
7761 (acc_set_device_num): Fix Fortran argument name, use same name for C.
7762 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
7763 corrections; add note about the previous interface and named constant.
7764 (OpenACC library and environment variables): Fix two typos.
7765 * openacc.f90: Use for all procedures the argument names from the spec
7766 as for …_h they are user visible.
7767 (openacc_kinds): Rename acc_device_property to
7768 acc_device_property_kinds and change value to int32 ; and update users.
7769 Re-add acc_device_property for for backward compatibility.
7770 (acc_get_property_string_h): Clean up as acc_device_property_kind
7771 changed.
7772 (acc_get_property_h): Likewise and return c_size_t instead of
7773 acc_device_property.
7774 (openacc): Also export acc_device_property_kinds.
7775 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
7776 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
7777 handling; check against /= 0 instead of == 1 to match C.
7778 * openacc_lib.h: Use for all procedures the argument names from the spec
7779 as for …_h they are user visible. Place !GCC$ into the first column to
7780 be active also for fixed-form souce form.
7781 (acc_device_current, acc_device_property_kind, acc_device_property,
7782 acc_property_memory, acc_property_free_memory, acc_property_name,
7783 acc_property_vendor, acc_property_driver): New named constants.
7784 (acc_get_property, acc_get_property_string): New generic interface.
7785
2d9eb4e4
FH
77862020-02-13 Frederik Harwath <frederik@codesourcery.com>
7787
7788 PR libgomp/93481
7789 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
7790 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
7791 optional.
7792 (gomp_target_task_fn): Assert "devicep->async_run_func".
7793 (clear_unsupported_flags): New function to remove unsupported flags
7794 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
7795 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
7796 * testsuite/libgomp.c/target-33.c:
7797 Remove xfail for offload_target_nvptx.
7798 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
7799
78002020-02-10 Frederik Harwath <frederik@codesourcery.com>
7801
7802 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
7803 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
7804 * testsuite/libgomp.c/target-34.c: Likewise.
7805 * testsuite/libgomp.c/target-link-1.c: Add xfail for
7806 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
7807
9bc3b95d
JJ
78082020-02-09 Jakub Jelinek <jakub@redhat.com>
7809
7810 * testsuite/libgomp.c/target-38.c: New test.
7811
cb3f0648
JJ
78122020-02-06 Jakub Jelinek <jakub@redhat.com>
7813
7814 PR libgomp/93515
7815 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
7816
91bc3c98
TB
78172020-02-05 Tobias Burnus <tobias@codesourcery.com>
7818
7819 * testsuite/lib/libgomp.exp
7820 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
7821 and not as 'source' argument to libgomp_target_compile.
7822
591f869a
AS
78232020-02-03 Andrew Stubbs <ams@codesourcery.com>
7824
7825 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
7826 (gcn_gfx801_s): Remove.
7827 (isa_hsa_name): Remove gfx801.
7828 (isa_gcc_name): Remove gfx801/carizzo.
7829 (isa_code): Remove gfx801.
7830
e464fc90
TB
78312020-02-03 Julian Brown <julian@codesourcery.com>
7832 Tobias Burnus <tobias@codesourcery.com>
7833
7834 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
7835 and *_finalize variants; document acc_attach and acc_detach; update
7836 references from OpenACC 2.0 to 2.6.
7837 * openacc.f90 (openacc_version): Update to 201711.
7838 * openacc_lib.h (openacc_version): Update to 201711.
7839 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
7840 openacc_version to 201711.
7841 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7842
5a28e272
KCY
78432020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
7844
7845 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
7846 and vgpr_count fields.
7847 (struct kernel_info): Add a field for a hsa_kernel_description.
7848 (run_kernel): Reduce the number of threads/workers if the requested
7849 number would require too many VGPRs.
7850 (init_basic_kernel_info): Initialize description field with
7851 the hsa_kernel_description entry for the kernel.
7852
5ab5d81b
TB
78532020-01-29 Tobias Burnus <tobias@codesourcery.com>
7854
7855 PR bootstrap/93409
7856 * plugin/configfrag.ac (enable_offload_targets): Skip
7857 HSA and GCN plugin besides -m32 also for -mx32.
7858 * configure: Regenerate.
7859
989a5fb3
FH
78602020-01-29 Frederik Harwath <frederik@codesourcery.com>
7861
7862 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
7863
78642020-01-29 Frederik Harwath <frederik@codesourcery.com>
7865
7866 * plugin-gcn.c (struct agent_info): Add fields "name" and
7867 "vendor_name" ...
7868 (GOMP_OFFLOAD_init_device): ... and init from here.
7869 (struct hsa_context_info): Add field "driver_version_s" ...
7870 (init_hsa_contest): ... and init from here.
7871 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
7872 implementation.
7873 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7874 Enable test execution for amdgcn and host offloading targets.
7875 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
7876 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7877 (expect_device_properties): Split function into ...
7878 (expect_device_string_properties): ... this new function ...
7879 (expect_device_memory): ... and this new function.
7880 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
7881 Add test.
7882
278c3214
JB
78832020-01-28 Julian Brown <julian@codesourcery.com>
7884
7885 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
7886 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
7887 component/non-component variable refs in a single directive.
7888 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
7889
e8e66971
MR
78902020-01-24 Maciej W. Rozycki <macro@wdc.com>
7891
7892 * configure.ac: Handle `--with-toolexeclibdir='.
7893 * Makefile.in: Regenerate.
7894 * aclocal.m4: Regenerate.
7895 * configure: Regenerate.
7896 * testsuite/Makefile.in: Regenerate.
7897
9e424d97
FH
78982020-01-24 Frederik Harwath <frederik@codesourcery.com>
7899
7900 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
7901 (expect_device_properties): Remove "expected_free_mem" argument,
7902 change "expected_total_mem" argument type to size_t;
7903 change types of acc_get_property results to size_t,
7904 adapt format strings.
7905 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
7906 Use %zu instead of %zd to print size_t values.
7907 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
7908 rename to ...
7909 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
7910 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
7911 rename to ...
7912 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
7913
14e5e746
AS
79142020-01-23 Andrew Stubbs <ams@codesourcery.com>
7915
7916 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
7917 the device id.
7918
09e0ad62
AS
79192020-01-20 Andrew Stubbs <ams@codesourcery.com>
7920
7921 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
7922 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
7923 Adjust test dimensions for amdgcn.
7924 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
7925 gang/worker/vector expectations dynamically.
7926 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
7927 (main): Likewise.
7928 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
7929 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
7930 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
7931 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
7932 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
7933 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
7934 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
7935 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
7936 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
7937 (acc_gang): Recognise acc_device_radeon.
7938 (acc_worker): Likewise.
7939 (acc_vector): Likewise.
7940 (main): Set expectations for amdgcn.
7941 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
7942 (main): Adjust gang/worker/vector expectations dynamically.
7943 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
7944 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
7945 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
7946 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
7947 for amdgcn.
7948
6687d13a
AS
79492020-01-17 Andrew Stubbs <ams@codesourcery.com>
7950
7951 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
7952 acc_device_radeon.
7953 (openacc): Likewise.
7954 * openacc.f90 (openacc_kinds): Likewise.
7955 (openacc): Likewise.
7956 * openacc.h (acc_device_t): Likewise.
7957 * openacc_lib.h: Likewise.
7958 * testsuite/lib/libgomp.exp
7959 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
7960 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
7961 (cb_compute_construct_end): Likewise.
7962 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
7963 (cb_enqueue_launch_start): Likewise.
7964 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
7965 (cb_enter_data_end): Likewise.
7966 (cb_exit_data_start): Likewise.
7967 (cb_exit_data_end): Likewise.
7968 (cb_compute_construct_end): Likewise.
7969 (cb_enqueue_launch_start): Likewise.
7970 (cb_enqueue_launch_end): Likewise.
7971 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
7972 (main): Likewise.
7973
b3b75e66
TS
79742020-01-10 Thomas Schwinge <thomas@codesourcery.com>
7975
6fc0385c
TS
7976 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
7977 to use this instead of 'enum gomp_device_property'.
7978 (GOMP_OFFLOAD_get_property): Rename to...
7979 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
7980 * libgomp.h (struct gomp_device_descr): Move
7981 'GOMP_OFFLOAD_openacc_get_property'...
7982 (struct acc_dispatch_t): ... here. Adjust all users.
7983 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
7984
b3b75e66
TS
7985 * target.c (gomp_map_vars_internal)
7986 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
7987 paths.
7988
91df4397
JJ
79892020-01-10 Jakub Jelinek <jakub@redhat.com>
7990
7991 PR libgomp/93219
7992 * libgomp.h (gomp_print_string): Change return type from void to int.
7993 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
7994 not all characters have been written.
7995
df2c0d36
TB
79962020-01-08 Tobias Burnus <tobias@codesourcery.com>
7997
7998 * libgomp.texi: Fix typos, use https.
7999
f760c0c7
TB
80002020-01-03 Tobias Burnus <tobias@codesourcery.com>
8001
8002 * testsuite/libgomp.fortran/optional-map.f90: Add test for
8003 unallocated/disassociated actual arguments to nonallocatable/nonpointer
8004 dummy arguments; those are/shall be regarded as absent arguments.
8005 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8006 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
8007
7e7065b9
JJ
80082020-01-01 Jakub Jelinek <jakub@redhat.com>
8009
8d9254fc
JJ
8010 Update copyright years.
8011
7e7065b9
JJ
8012 * libgomp.texi: Bump @copying's copyright year.
8013
2c829799
AM
80142019-12-31 Ayush Mittal <ayush.m@samsung.com>
8015
8016 PR libgomp/93065
8017 * oacc-init.c (goacc_runtime_deinitialize): New function.
8018
e9dcb75e
JJ
80192019-12-28 Jakub Jelinek <jakub@redhat.com>
8020
8021 PR bootstrap/93074
8022 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
8023 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
8024
6c84c8bf
MR
80252019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
8026 Frederik Harwath <frederik@codesourcery.com>
8027 Thomas Schwinge <tschwinge@codesourcery.com>
8028
8029 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
8030 * libgomp-plugin.h (gomp_device_property_value): New union.
8031 (gomp_device_property_value): New prototype.
8032 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
8033 constant.
8034 (acc_device_property_t): New enum.
8035 (acc_get_property, acc_get_property_string): New prototypes.
8036 * oacc-init.c (acc_get_device_type): Also assert that result
8037 is not `acc_device_current'.
8038 (get_property_any, acc_get_property, acc_get_property_string):
8039 New functions.
8040 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
8041 `acc_property_memory', `acc_property_free_memory',
8042 `acc_property_name', `acc_property_vendor' and
8043 `acc_property_driver' constants. Add `acc_device_property' data
8044 type.
8045 (openacc_internal): Add `acc_get_property' and
8046 `acc_get_property_string' interfaces. Add `acc_get_property_h',
8047 `acc_get_property_string_h', `acc_get_property_l' and
8048 `acc_get_property_string_l'.
8049 * oacc-host.c (host_get_property): New function.
8050 (host_dispatch): Wire it.
8051 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
8052 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
8053 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
8054 * libgomp.texi (OpenACC Runtime Library Routines): Add
8055 `acc_get_property'.
8056 (acc_get_property): New node.
8057 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
8058 function (stub).
8059 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
8060 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
8061 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
8062 calls.
8063 (GOMP_OFFLOAD_get_property): New function.
8064 (struct ptx_device): Add new field "name".
8065 (cuda_driver_version_s): Add new static variable ...
8066 (nvptx_init): ... and init from here.
8067
8068 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
8069 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
8070 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
8071 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
8072 with test helper functions.
8073
8074 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
8075
c8e759b4
MR
80762019-12-22 Maciej W. Rozycki <macro@wdc.com>
8077
8078 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
8079 variable.
8080
b092fb3b
TS
80812019-12-21 Thomas Schwinge <thomas@codesourcery.com>
8082
8083 * target.c (gomp_map_vars_internal): Restore 'omp declare target
8084 link' handling.
8085
9be3ac5d
JB
80862019-12-19 Julian Brown <julian@codesourcery.com>
8087
8088 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
8089 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
8090 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
8091
02817027
JB
80922019-12-19 Julian Brown <julian@codesourcery.com>
8093 Cesar Philippidis <cesar@codesourcery.com>
8094
8095 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
8096 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
8097 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
8098 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
8099 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
8100 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
8101 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
8102 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
8103 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
8104 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
8105 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
8106 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
8107 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
8108
c2eb021f
JB
81092019-12-19 Julian Brown <julian@codesourcery.com>
8110
8111 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
8112 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
8113 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
8114 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
8115 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
8116 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
8117 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
8118 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
8119 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
8120 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
8121 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
8122 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
8123
8e7e71ff
JB
81242019-12-19 Julian Brown <julian@codesourcery.com>
8125
8126 * libgomp.h (struct target_var_desc): Add do_detach flag.
8127 * oacc-init.c (acc_shutdown_1): Free aux block if present.
8128 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
8129 struct components. Tidy up and add some new checks.
8130 (goacc_enter_data_internal): Update call to find_group_last.
8131 (goacc_exit_data_internal): Support detach operations and
8132 GOMP_MAP_STRUCT.
8133 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
8134 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
8135 attach/detach in enter/exit data detection code.
8136 * target.c (gomp_map_vars_existing): Initialise do_detach field of
8137 tgt_var_desc.
8138 (gomp_map_vars_internal): Support attach.
8139 (gomp_unmap_vars_internal): Support detach.
8140
5d5be7bf
JB
81412019-12-19 Julian Brown <julian@codesourcery.com>
8142 Thomas Schwinge <thomas@codesourcery.com>
8143
8144 * libgomp.h (struct splay_tree_aux): Add attach_count field.
8145 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
8146 * libgomp.map (OACC_2.6): New section. Add acc_attach,
8147 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
8148 acc_detach_finalize_async.
8149 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
8150 acc_detach, acc_detach_async, acc_detach_finalize,
8151 acc_detach_finalize_async): New functions.
8152 * openacc.h (acc_attach, acc_attach_async, acc_detach,
8153 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
8154 prototypes.
8155 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
8156 (gomp_remove_var_internal): Free attachment counts if present.
8157 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
8158 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
8159
5bcd470b
JB
81602019-12-19 Julian Brown <julian@codesourcery.com>
8161 Cesar Philippidis <cesar@codesourcery.com>
8162
8163 * libgomp.h (gomp_map_val): Add prototype.
8164 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
8165 open-coding device-address calculation.
8166 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
8167 non-present case.
8168
378da98f
JB
81692019-12-19 Julian Brown <julian@codesourcery.com>
8170
8171 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
8172 field for virtual_refcount.
8173 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
8174 (gomp_free_memmap): Remove prototype.
8175 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
8176 instead of calling gomp_free_memmap.
8177 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
8178 dynamic_refcount.
8179 (acc_unmap_data): Open code instead of forcing target_mem_desc's
8180 to_free field to NULL then calling gomp_unmap_vars. Handle
8181 REFCOUNT_INFINITY on target blocks.
8182 (goacc_enter_data): Rename to...
8183 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
8184 handling for mapping groups. Use virtual_refcount instead of
8185 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
8186 map_map_vars_async call. Re-do lookup for target pointer return value.
8187 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
8188 renamed goacc_enter_datum function.
8189 (goacc_exit_data): Rename to...
8190 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
8191 (acc_delete, acc_delete_async, acc_delete_finalize,
8192 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
8193 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
8194 goacc_exit_datum function.
8195 (gomp_acc_remove_pointer, find_pointer): Remove functions.
8196 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
8197 New functions.
8198 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
8199 goacc_exit_data_internal helper functions.
8200 * target.c (gomp_map_vars_internal): Handle
8201 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
8202 semantics.
8203 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
8204 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
8205 virtual_refcount field instead of dynamic_refcount.
8206 (gomp_free_memmap): Remove function.
8207 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
8208 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
8209 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
8210
2a656a93
JB
82112019-12-19 Julian Brown <julian@codesourcery.com>
8212 Thomas Schwinge <thomas@codesourcery.com>
8213
8214 * libgomp.h (struct splay_tree_aux): New.
8215 (struct splay_tree_key_s): Replace link_key field with aux pointer.
8216 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
8217 to aux struct.
8218 (gomp_remove_var_internal): Free aux block if present.
8219 (gomp_load_image_to_device): Zero-initialise aux field instead of
8220 link_key field.
8221 (omp_target_associate_pointer): Zero-initialise aux field.
8222
601399c0
JJ
82232019-12-18 Jakub Jelinek <jakub@redhat.com>
8224
8225 PR middle-end/86416
8226 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
8227 q or none.
8228 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
8229 L or none.
8230
a6163563
JB
82312019-12-19 Julian Brown <julian@codesourcery.com>
8232 Maciej W. Rozycki <macro@codesourcery.com>
8233 Tobias Burnus <tobias@codesourcery.com>
8234 Thomas Schwinge <thomas@codesourcery.com>
8235
8236 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
8237 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8238 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
8239 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
8240 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
8241 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
8242 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
8243 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
8244 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
8245
6278b549
TS
82462019-12-18 Thomas Schwinge <thomas@codesourcery.com>
8247
77ce5555
TS
8248 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8249 called...
8250 (goacc_insert_pointer): ... from here, "present" case.
8251 (goacc_insert_pointer): Inline function into...
8252 (GOACC_enter_exit_data): ... here, and simplify.
8253
9444a299
TS
8254 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
8255 called...
8256 (goacc_insert_pointer): ... from here, "not present" case.
8257
5031b619
TS
8258 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
8259 all users.
8260
1a79b578
TS
8261 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
8262 'goacc_enter_data', 'goacc_exit_data'.
8263
34cfe31e
TS
8264 * oacc-mem.c (delete_copyout): Refactor into...
8265 (goacc_exit_data): ... this. Adjust all users.
8266
aaf0e9d7
TS
8267 * oacc-mem.c (present_create_copy): Refactor into...
8268 (goacc_enter_data): ... this. Adjust all users.
8269
83d1d065
TS
8270 * target.c (gomp_unmap_vars_internal): Add a safeguard to
8271 'gomp_remove_var'.
8272
cc3f11f5
TS
8273 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
8274 like 'GOMP_MAP_FROM'.
8275
ddb25eb9
TS
8276 PR libgomp/92726
8277 PR libgomp/92970
8278 PR libgomp/92984
8279 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
8280 fails.
8281 (GOACC_enter_exit_data): Simplify accordingly.
8282 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
8283 subsuming...
8284 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
8285 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
8286 file.
8287 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
8288 subsuming...
8289 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
8290 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
8291 file.
8292 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
8293 subsuming...
8294 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
8295
32128577
TS
8296 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
8297 'finalize' handling.
8298
ba40277f
TS
8299 PR libgomp/92848
8300 * oacc-mem.c (acc_map_data, present_create_copy)
8301 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
8302 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
8303 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
8304 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
8305 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
8306 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
8307 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
8308 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8309 Remove "XFAIL"s.
8310
6278b549
TS
8311 * target.c (gomp_unmap_tgt): Make it 'static'.
8312 * libgomp.h (gomp_unmap_tgt): Remove.
8313
c80c9e26
TB
83142019-12-18 Tobias Burnus <tobias@codesourcery.com>
8315
8316 PR middle-end/86416
8317 * testsuite/libgomp.c/pr86416-1.c: New.
8318 * testsuite/libgomp.c/pr86416-2.c: New.
8319
0b8499a4
TB
83202019-12-17 Tobias Burnus <tobias@codesourcery.com>
8321
8322 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
8323 all symbols as public except for the 'use …, only' imported symbol,
8324 which is private.
8325 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8326 all symbols from module openacc_kinds as PUBLIC
8327 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
8328 fix comment typo.
8329 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
8330
1cbd94e8
JB
83312019-12-13 Julian Brown <julian@codesourcery.com>
8332
8333 PR libgomp/92881
8334
8335 * libgomp.h (gomp_remove_var_async): Add prototype.
8336 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
8337 gomp_remove_var.
8338 * target.c (gomp_unref_tgt): Change return type to bool, indicating
8339 whether target_mem_desc was unmapped.
8340 (gomp_unref_tgt_void): New.
8341 (gomp_remove_var): Reimplement in terms of...
8342 (gomp_remove_var_internal): ...this new helper function.
8343 (gomp_remove_var_async): New, implemented using above helper function.
8344 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
8345 gomp_unref_tgt.
8346
26b74ed0
AS
83472019-12-13 Andrew Stubbs <ams@codesourcery.com>
8348
8349 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
8350 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
8351 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
8352 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
8353 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
8354 Likewise.
8355 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
8356 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
8357
7858bb96
TB
83582019-12-13 Tobias Burnus <tobias@codesourcery.com>
8359
8360 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
8361 as public except for the 'use …, only' imported symbol, which is
8362 private.
8363 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
8364 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
8365 attributes for acc_copyout_finalize and acc_delete_finalize.
8366
f8ac7d8f
JJ
83672019-12-11 Jakub Jelinek <jakub@redhat.com>
8368
8369 PR fortran/92899
8370 * testsuite/libgomp.fortran/atomic1.f90: New test.
8371
3d1b5e71
TS
83722019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8373
d6e8c01c
TS
8374 PR libgomp/92843
8375 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
8376 reference counting for structured 'REFCOUNT_INFINITY'. Add some
8377 assertions.
8378 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
8379 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
8380 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
8381 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8382 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8383
57963e39
TS
8384 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
8385 * oacc-mem.c: ... here.
8386 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
8387 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
8388 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
8389 Remove.
8390 * libgomp_g.h: Update.
8391
c5578b56
TS
8392 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
8393 * oacc-async.c: ... here.
8394 * oacc-int.h (goacc_wait): Declare.
8395 * libgomp_g.h: Update
8396
3d1b5e71
TS
8397 PR libgomp/92854
8398 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
8399 New file.
8400 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
8401 Likewise.
8402 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
8403 Likewise.
8404 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
8405 Likewise.
8406 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
8407 Likewise.
8408 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
8409 Likewise.
8410
5e939438
TS
84112019-12-11 Thomas Schwinge <thomas@codesourcery.com>
8412 Julian Brown <julian@codesourcery.com>
8413
8414 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
8415 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
8416
93d90219
TB
84172019-12-11 Tobias Burnus <tobias@codesourcery.com>
8418
8419 * omp_lib.h.in: Fix spelling of function declaration
8420 omp_get_cancell(l)ation.
8421 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
8422 Fix typos.
8423 * env.c: Fix comment typos.
8424 * oacc-host.c: Likewise.
8425 * ordered.c: Likewise.
8426 * task.c: Likewise.
8427 * team.c: Likewise.
8428 * config/gcn/task.c: Likewise.
8429 * config/gcn/team.c: Likewise.
8430 * config/nvptx/task.c: Likewise.
8431 * config/nvptx/team.c: Likewise.
8432 * plugin/plugin-gcn.c: Likewise.
8433 * testsuite/libgomp.fortran/jacobi.f: Likewise.
8434 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
8435 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
8436
a0221aee
TB
84372019-12-11 Tobias Burnus <tobias@codesourcery.com>
8438
8439 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
8440 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
8441 unnecessary 'dg-additional-options "-w"'.
8442
47afc7b4
TS
84432019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8444 Julian Brown <julian@codesourcery.com>
8445
8446 PR libgomp/92116
8447 PR libgomp/92877
8448
8449 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
8450 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
8451 Adjust all users.
8452 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8453 Remove XFAIL.
8454 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8455 Likewise.
8456 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
8457
b5859e40
TS
84582019-12-09 Thomas Schwinge <thomas@codesourcery.com>
8459
cec41816
TS
8460 PR libgomp/92503
8461 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
8462 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
8463 file.
8464 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
8465 Likewise.
8466 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
8467 Likewise.
8468 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
8469 Likewise.
8470 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
8471 Likewise.
8472 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
8473 Likewise.
8474 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8475 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
8476 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
8477 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
8478 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
8479 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8480 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8481 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8482 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8483 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8484
e103542b
TS
8485 PR libgomp/92840
8486 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
8487 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
8488 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
8489 New file.
8490 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
8491 Likewise.
8492 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
8493 Likewise.
8494 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
8495 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
8496
41f36f22
TS
8497 PR libgomp/92511
8498 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
8499 this file...
8500 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
8501 this file...
8502 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
8503 file...
8504 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
8505 file...
8506 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
8507 ... with their content moved into, and extended in this new file.
8508 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
8509 New file.
8510 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
8511 Likewise.
8512 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
8513 Likewise.
8514 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
8515 Likewise.
8516
6effebe1
TS
8517 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
8518
7d020473
TS
8519 PR libgomp/92854
8520 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
8521
1e1fb715
TS
8522 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
8523
b5859e40
TS
8524 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
8525
11586ed9
TB
85262019-12-09 Tobias Burnus <tobias@codesourcery.com>
8527
8528 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
8529 unique.
8530 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
8531 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
8532 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
8533 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
8534 Ditto.
8535 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
8536 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
8537
3ad4a03a
KCY
85382019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
8539
8540 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
8541
6e4d01d6
TB
85422019-12-06 Tobias Burnus <tobias@codesourcery.com>
8543 Kwok Cheung Yeung <kcy@codesourcery.com>
8544
8545 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
8546 if input it a NULL pointer.
8547 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
8548 diagnostic of NULL pointer.
8549 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
8550 * testsuite/libgomp.fortran/optional-map.f90: New.
8551 * testsuite/libgomp.fortran/use_device_addr-1.f90
8552 (test_dummy_opt_callee_1_absent): New.
8553 (test_dummy_opt_call_1): Call it.
8554 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8555 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
8556 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8557 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
8558 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
8559 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
8560 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
8561 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
8562 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
8563 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
8564 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
8565 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
8566 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
8567 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
8568 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
8569 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
8570
ad80ec46
TB
85712019-12-05 Tobias Burnus <tobias@codesourcery.com>
8572
8573 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
8574 expect dg-output of 'Error termination.' for GCN.
8575 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
8576 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
8577
a8a5f4cc
JJ
85782019-12-04 Jakub Jelinek <jakub@redhat.com>
8579
8580 PR fortran/92756
8581 * testsuite/libgomp.fortran/teams1.f90: New test.
8582 * testsuite/libgomp.fortran/teams2.f90: New test.
8583
d8f0024b
FH
85842019-12-03 Frederik Harwath <frederik@codesourcery.com>
8585
8586 * oacc-init.c (acc_known_device_type): Add function.
8587 (unknown_device_type_error): Add function.
8588 (name_of_acc_device_t): Change to call unknown_device_type_error
8589 on unknown type.
8590 (resolve_device): Use acc_known_device_type.
8591 (acc_init): Fail if acc_device_t argument is not valid.
8592 (acc_shutdown): Likewise.
8593 (acc_get_num_devices): Likewise.
8594 (acc_set_device_type): Likewise.
8595 (acc_get_device_num): Likewise.
8596 (acc_set_device_num): Likewise.
8597 (acc_on_device): Add comment that argument validity is not checked.
8598
83caa34e
AS
85992019-12-03 Andrew Stubbs <ams@codesourcery.com>
8600
8601 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
8602 Recognize amdgcn.
8603 (check_effective_target_openacc_amdgcn_accel_present): New proc.
8604 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
8605 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
8606 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8607 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8608
00484365
SN
86092019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
8610
8611 PR libgomp/91938
8612 * configure.tgt: Avoid IE tls on *-*-musl*.
8613
9909a059
TB
86142019-11-29 Tobias Burnus <tobias@codesourcery.com>
8615
8616 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
8617 adding a common-block test case.
8618
b3f44388
JJ
86192019-11-29 Jakub Jelinek <jakub@redhat.com>
8620
8621 PR c++/60228
8622 * testsuite/libgomp.c++/udr-20.C: New test.
8623 * testsuite/libgomp.c++/udr-21.C: New test.
8624
b1a73b48
TS
86252019-11-27 Thomas Schwinge <thomas@codesourcery.com>
8626
8627 * testsuite/lib/libgomp.exp
8628 (check_effective_target_offload_target_nvptx): New proc.
8629 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
8630 'dg-skip-if'.
8631 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
8632 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
8633 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
8634
b8e72446
RO
86352019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8636
8637 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
8638 * testsuite/libgomp.c/pr39591-2.c: Likewise.
8639 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8640 * testsuite/libgomp.c/private-1.c: Likewise.
8641 * testsuite/libgomp.c/task-1.c: Likewise.
8642 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
8643
d88b27da
JB
86442019-11-20 Julian Brown <julian@codesourcery.com>
8645
8646 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
8647 aq->mutex here.
8648 (queue_push_launch): Lock aq->mutex before calling
8649 wait_for_queue_nonfull.
8650 (queue_push_callback): Likewise.
8651 (queue_push_asyncwait): Likewise.
8652 (queue_push_placeholder): Likewise.
8653
8d2f4ddf
JB
86542019-11-20 Julian Brown <julian@codesourcery.com>
8655
8656 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
8657 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
8658 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
8659 return code.
8660
e307b05f
JB
86612019-11-20 Julian Brown <julian@codesourcery.com>
8662
8663 PR libgomp/92511
8664
8665 * oacc-mem.c (present_create_copy): Fix device pointer return value in
8666 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
8667 in non-present/create case.
8668 (delete_copyout): Change error condition to fail only on copies outside
8669 of mapped block. Adjust error message accordingly.
8670 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
8671 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
8672 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
8673 message.
8674 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8675 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
8676 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8677
83115e9e
MR
86782019-11-20 Maciej W. Rozycki <macro@wdc.com>
8679
8680 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
8681 libatomic in build-tree testing.
8682
a1289887
MR
86832019-11-18 Maciej W. Rozycki <macro@wdc.com>
8684
8685 * testsuite/Makefile.in: Regenerate.
8686
8916ba87
AS
86872019-11-15 Andrew Stubbs <ams@codesourcery.com>
8688
8689 * testsuite/libgomp.c/target-print-1.c: New file.
8690 * testsuite/libgomp.fortran/target-print-1.f90: New file.
8691 * testsuite/libgomp.oacc-c/print-1.c: New file.
8692 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
8693
237957cc
AS
86942019-11-13 Andrew Stubbs <ams@codesourcery.com>
8695 Kwok Cheung Yeung <kcy@codesourcery.com>
8696 Julian Brown <julian@codesourcery.com>
8697 Tom de Vries <tom@codesourcery.com>
8698
8699 * plugin/Makefrag.am: Add amdgcn plugin support.
8700 * plugin/configfrag.ac: Likewise.
8701 * plugin/plugin-gcn.c: New file.
8702 * configure: Regenerate.
8703 * Makefile.in: Regenerate.
8704 * testsuite/Makefile.in: Regenerate.
8705
cee16451
AS
87062019-11-13 Andrew Stubbs <ams@codesourcery.com>
8707
8708 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
8709 and use team_malloc variants.
8710 (gomp_gcn_exit_kernel): Use team_free.
8711 * libgomp.h (TEAM_ARENA_SIZE): Define.
8712 (TEAM_ARENA_START): Define.
8713 (TEAM_ARENA_FREE): Define.
8714 (TEAM_ARENA_END): Define.
8715 (team_malloc): New function.
8716 (team_malloc_cleared): New function.
8717 (team_free): New function.
8718 * team.c (gomp_new_team): Initialize and use team_malloc.
8719 (free_team): Use team_free.
8720 (gomp_free_thread): Use team_free.
8721 (gomp_pause_host): Use team_free.
8722 * work.c (gomp_init_work_share): Use team_malloc.
8723 (gomp_fini_work_share): Use team_free.
8724
fa499995
AS
87252019-11-13 Andrew Stubbs <ams@codesourcery.com>
8726 Kwok Cheung Yeung <kcy@codesourcery.com>
8727 Julian Brown <julian@codesourcery.com>
8728 Tom de Vries <tom@codesourcery.com>
8729
8730 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
8731 * Makefile.in: Regenerate.
8732 * config.h.in (PLUGIN_GCN): Add new undef.
8733 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
8734 * config/gcn/affinity-fmt.c: New file.
8735 * config/gcn/bar.c: New file.
8736 * config/gcn/bar.h: New file.
8737 * config/gcn/doacross.h: New file.
8738 * config/gcn/icv-device.c: New file.
8739 * config/gcn/oacc-target.c: New file.
8740 * config/gcn/simple-bar.h: New file.
8741 * config/gcn/target.c: New file.
8742 * config/gcn/task.c: New file.
8743 * config/gcn/team.c: New file.
8744 * config/gcn/time.c: New file.
8745 * configure.ac: Add amdgcn*-*-*.
8746 * configure: Regenerate.
8747 * configure.tgt: Add amdgcn*-*-*.
8748 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
8749 * libgomp.h (gcn_thrs): Add amdgcn variant.
8750 (set_gcn_thrs): Likewise.
8751 (gomp_thread): Likewise.
8752 * oacc-int.h (goacc_thread): Likewise.
8753 * oacc-target.c: New file.
8754 * openacc.f90 (acc_device_gcn): New parameter.
8755 * openacc.h (acc_device_t): Add acc_device_gcn.
8756 * team.c (gomp_free_pool_helper): Add amdgcn support.
8757
d2903ce0
AS
87582019-11-13 Andrew Stubbs <ams@codesourcery.com>
8759 Julian Brown <julian@codesourcery.com>
8760
8761 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
8762 parameter.
8763 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
8764 queue constructor.
8765 * oacc-host.c (host_openacc_async_construct): Add device parameter.
8766 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
8767 device parameter.
8768
b3d14b3a
AS
87692019-11-13 Andrew Stubbs <ams@codesourcery.com>
8770
8771 * configure.tgt (nvptx*-*-*): Add "accel" directory.
8772 * config/nvptx/libgomp-plugin.c: Move ...
8773 * config/accel/libgomp-plugin.c: ... to here.
8774 * config/nvptx/lock.c: Move ...
8775 * config/accel/lock.c: ... to here.
8776 * config/nvptx/mutex.c: Move ...
8777 * config/accel/mutex.c: ... to here.
8778 * config/nvptx/mutex.h: Move ...
8779 * config/accel/mutex.h: ... to here.
8780 * config/nvptx/oacc-async.c: Move ...
8781 * config/accel/oacc-async.c: ... to here.
8782 * config/nvptx/oacc-cuda.c: Move ...
8783 * config/accel/oacc-cuda.c: ... to here.
8784 * config/nvptx/oacc-host.c: Move ...
8785 * config/accel/oacc-host.c: ... to here.
8786 * config/nvptx/oacc-init.c: Move ...
8787 * config/accel/oacc-init.c: ... to here.
8788 * config/nvptx/oacc-mem.c: Move ...
8789 * config/accel/oacc-mem.c: ... to here.
8790 * config/nvptx/oacc-plugin.c: Move ...
8791 * config/accel/oacc-plugin.c: ... to here.
8792 * config/nvptx/omp-lock.h: Move ...
8793 * config/accel/omp-lock.h: ... to here.
8794 * config/nvptx/openacc.f90: Move ...
8795 * config/accel/openacc.f90: ... to here.
8796 * config/nvptx/pool.h: Move ...
8797 * config/accel/pool.h: ... to here.
8798 * config/nvptx/proc.c: Move ...
8799 * config/accel/proc.c: ... to here.
8800 * config/nvptx/ptrlock.c: Move ...
8801 * config/accel/ptrlock.c: ... to here.
8802 * config/nvptx/ptrlock.h: Move ...
8803 * config/accel/ptrlock.h: ... to here.
8804 * config/nvptx/sem.c: Move ...
8805 * config/accel/sem.c: ... to here.
8806 * config/nvptx/sem.h: Move ...
8807 * config/accel/sem.h: ... to here.
8808 * config/nvptx/thread-stacksize.h: Move ...
8809 * config/accel/thread-stacksize.h: ... to here.
8810
62aee289
MR
88112019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
8812 Tobias Burnus <tobias@codesourcery.com>
8813 Frederik Harwath <frederik@codesourcery.com>
8814 Thomas Schwinge <thomas@codesourcery.com>
8815
8816 libgomp/
8817 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
8818 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
8819 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
8820
a2c26c50
TB
88212019-11-11 Tobias Burnus <tobias@codesourcery.com>
8822 Kwok Cheung Yeung <kcy@codesourcery.com>
8823
8824 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
8825 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
8826
6d4868f3
TS
88272019-11-11 Thomas Schwinge <thomas@codesourcery.com>
8828
bfa1837b
TS
8829 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
8830
6d4868f3
TS
8831 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
8832 run'.
8833 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
8834 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
8835
5d183d17
FH
88362019-11-06 Thomas Schwinge <thomas@codesourcery.com>
8837
8838 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
8839 Add expected warnings about missing reduction clauses.
8840 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
8841 Likewise.
8842 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
8843 Likewise.
8844 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
8845 Likewise.
8846
d8f03b03
TB
88472019-11-04 Tobias Burnus <tobias@codesourcery.com>
8848
8849 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
8850 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
8851 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
8852 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8853 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8854 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8855
12fd2ec5
TB
88562019-11-04 Tobias Burnus <tobias@codesourcery.com>
8857
8858 PR fortran/92305
8859 * testsuite/libgomp.fortran/allocatable2.f90: Use
8860 unique numbers with 'stop'.
8861 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8862 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8863 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
8864 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
8865 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
8866
92e63bd2
TB
88672019-11-01 Tobias Burnus <tobias@codesourcery.com>
8868
8869 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
8870 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
8871 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
8872 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
8873 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
8874 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
8875
91ae0a46
TB
88762019-10-30 Tobias Burnus <tobias@codesourcery.com>
8877
8878 * testsuite/libgomp.fortran/target9.f90: New.
8879
c425e66b
TB
88802019-10-30 Tobias Burnus <tobias@codesourcery.com>
8881
8882 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
8883 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
8884 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
8885 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
8886 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
8887 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
8888 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
8889 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
8890 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
8891 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
8892 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
8893 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
8894 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
8895 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
8896 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
8897 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
8898 * testsuite/libgomp.fortran/associate1.f90: Ditto.
8899 * testsuite/libgomp.fortran/associate2.f90: Ditto.
8900 * testsuite/libgomp.fortran/associate3.f90: Ditto.
8901 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
8902 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
8903 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
8904 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
8905 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
8906 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
8907 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
8908 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
8909 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
8910 * testsuite/libgomp.fortran/character1.f90: Ditto.
8911 * testsuite/libgomp.fortran/character2.f90: Ditto.
8912 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
8913 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
8914 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
8915 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
8916 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
8917 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
8918 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
8919 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
8920 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
8921 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
8922 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
8923 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
8924 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
8925 * testsuite/libgomp.fortran/do1.f90: Ditto.
8926 * testsuite/libgomp.fortran/do2.f90: Ditto.
8927 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
8928 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
8929 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
8930 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
8931 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
8932 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
8933 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
8934 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
8935 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
8936 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
8937 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
8938 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
8939 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
8940 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
8941 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
8942 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
8943 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
8944 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
8945 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
8946 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
8947 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
8948 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
8949 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
8950 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
8951 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
8952 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
8953 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
8954 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
8955 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
8956 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
8957 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
8958 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
8959 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
8960 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
8961 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
8962 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
8963 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
8964 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
8965 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
8966 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
8967 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
8968 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
8969 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
8970 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
8971 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
8972 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
8973 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
8974 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
8975 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
8976 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
8977 * testsuite/libgomp.fortran/lib1.f90: Ditto.
8978 * testsuite/libgomp.fortran/lib4.f90: Ditto.
8979 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
8980 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
8981 * testsuite/libgomp.fortran/nested1.f90: Ditto.
8982 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
8983 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
8984 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
8985 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8986 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
8987 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
8988 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8989 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
8990 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
8991 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
8992 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
8993 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
8994 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
8995 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
8996 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8997 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
8998 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8999 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
9000 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
9001 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
9002 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
9003 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
9004 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
9005 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
9006 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9007 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
9008 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
9009 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
9010 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
9011 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
9012 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9013 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
9014 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9015 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
9016 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
9017 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9018 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
9019 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
9020 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
9021 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
9022 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
9023 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
9024 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
9025 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
9026 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
9027 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
9028 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
9029 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
9030 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
9031 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
9032 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
9033 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
9034 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
9035 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
9036 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
9037 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
9038 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
9039 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
9040 * testsuite/libgomp.fortran/reference1.f90: Ditto.
9041 * testsuite/libgomp.fortran/reference2.f90: Ditto.
9042 * testsuite/libgomp.fortran/retval1.f90: Ditto.
9043 * testsuite/libgomp.fortran/retval2.f90: Ditto.
9044 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
9045 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
9046 * testsuite/libgomp.fortran/simd1.f90: Ditto.
9047 * testsuite/libgomp.fortran/simd2.f90: Ditto.
9048 * testsuite/libgomp.fortran/simd3.f90: Ditto.
9049 * testsuite/libgomp.fortran/simd4.f90: Ditto.
9050 * testsuite/libgomp.fortran/simd5.f90: Ditto.
9051 * testsuite/libgomp.fortran/simd6.f90: Ditto.
9052 * testsuite/libgomp.fortran/simd7.f90: Ditto.
9053 * testsuite/libgomp.fortran/stack.f90: Ditto.
9054 * testsuite/libgomp.fortran/strassen.f90: Ditto.
9055 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
9056 * testsuite/libgomp.fortran/tabs2.f: Ditto.
9057 * testsuite/libgomp.fortran/target1.f90: Ditto.
9058 * testsuite/libgomp.fortran/target2.f90: Ditto.
9059 * testsuite/libgomp.fortran/target3.f90: Ditto.
9060 * testsuite/libgomp.fortran/target4.f90: Ditto.
9061 * testsuite/libgomp.fortran/target5.f90: Ditto.
9062 * testsuite/libgomp.fortran/target6.f90: Ditto.
9063 * testsuite/libgomp.fortran/target7.f90: Ditto.
9064 * testsuite/libgomp.fortran/target8.f90: Ditto.
9065 * testsuite/libgomp.fortran/task1.f90: Ditto.
9066 * testsuite/libgomp.fortran/task2.f90: Ditto.
9067 * testsuite/libgomp.fortran/task3.f90: Ditto.
9068 * testsuite/libgomp.fortran/task4.f90: Ditto.
9069 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9070 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9071 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
9072 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
9073 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
9074 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
9075 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
9076 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
9077 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
9078 * testsuite/libgomp.fortran/udr1.f90: Ditto.
9079 * testsuite/libgomp.fortran/udr10.f90: Ditto.
9080 * testsuite/libgomp.fortran/udr11.f90: Ditto.
9081 * testsuite/libgomp.fortran/udr12.f90: Ditto.
9082 * testsuite/libgomp.fortran/udr13.f90: Ditto.
9083 * testsuite/libgomp.fortran/udr14.f90: Ditto.
9084 * testsuite/libgomp.fortran/udr15.f90: Ditto.
9085 * testsuite/libgomp.fortran/udr2.f90: Ditto.
9086 * testsuite/libgomp.fortran/udr3.f90: Ditto.
9087 * testsuite/libgomp.fortran/udr4.f90: Ditto.
9088 * testsuite/libgomp.fortran/udr5.f90: Ditto.
9089 * testsuite/libgomp.fortran/udr6.f90: Ditto.
9090 * testsuite/libgomp.fortran/udr7.f90: Ditto.
9091 * testsuite/libgomp.fortran/udr8.f90: Ditto.
9092 * testsuite/libgomp.fortran/udr9.f90: Ditto.
9093 * testsuite/libgomp.fortran/vla1.f90: Ditto.
9094 * testsuite/libgomp.fortran/vla2.f90: Ditto.
9095 * testsuite/libgomp.fortran/vla3.f90: Ditto.
9096 * testsuite/libgomp.fortran/vla4.f90: Ditto.
9097 * testsuite/libgomp.fortran/vla5.f90: Ditto.
9098 * testsuite/libgomp.fortran/vla6.f90: Ditto.
9099 * testsuite/libgomp.fortran/vla7.f90: Ditto.
9100 * testsuite/libgomp.fortran/vla8.f90: Ditto.
9101 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9102 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9103
01509e2f
TB
91042019-10-30 Tobias Burnus <tobias@codesourcery.com>
9105
9106 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
9107 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
9108 Ditto; add 'dg-do run' for torture testing.
9109 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
9110 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
9111 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
9112 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
9113 * testsuite/libgomp.fortran/pr28390.f: Ditto.
9114 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
9115 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
9116 * testsuite/libgomp.fortran/task2.f90: Ditto.
9117 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
9118 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
9119 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
9120 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
9121 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
9122 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
9123
ffbdd78a
TB
91242019-10-28 Tobias Burnus <tobias@codesourcery.com>
9125
9126 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
9127 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
9128 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
9129 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
9130 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
9131 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
9132 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
9133 Use 'stop' not abort().
9134 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
9135 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
9136 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
9137 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
9138 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
9139 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
9140 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
9141 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
9142 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
9143 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
9144 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
9145 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
9146 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
9147 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
9148 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
9149 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
9150 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9151 Ditto.
9152 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9153 Ditto.
9154 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9155 Ditto.
9156 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9157 Ditto.
9158 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9159 Ditto.
9160 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
9161 Ditto.
9162 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
9163 Ditto.
9164 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
9165 Ditto.
9166 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
9167 Ditto.
9168 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
9169 Ditto.
9170 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
9171 Ditto.
9172 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
9173 Ditto.
9174 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
9175 Ditto.
9176 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
9177 Ditto.
9178 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
9179 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
9180 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
9181 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
9182 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9183 Likewise and also add 'dg-do run'.
9184 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9185 Ditto.
9186
ec084613
CP
91872019-10-25 Cesar Philippidis <cesar@codesourcery.com>
9188 Tobias Burnus <tobias@codesourcery.com>
9189
9190 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
9191 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
9192 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
9193
77ef3394
JJ
91942019-10-14 Jakub Jelinek <jakub@redhat.com>
9195
9196 PR libgomp/92081
9197 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
9198 than 0.
9199
08c14aaa
TB
92002019-10-11 Tobias Burnus <tobias@codesourcery.com>
9201
9202 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
9203 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
9204
6bbead0c
TS
92052019-10-09 Thomas Schwinge <thomas@codesourcery.com>
9206
9207 PR middle-end/92036
9208 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
9209 file.
9210
eba3dee8
TB
92112019-10-09 Tobias Burnus <tobias@codesourcery.com>
9212
9213 PR testsuite/91884
9214 * testsuite/libgomp.fortran/fortran.exp: Conditionally
9215 add -lquadmath.
9216 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
9217
7d48e14f
JJ
92182019-10-09 Jakub Jelinek <jakub@redhat.com>
9219
9220 PR libgomp/92028
9221 * target.c (gomp_map_vars_internal): Readd the previous
9222 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
9223 though do that just in the !not_found_cnt case.
9224
65b67cf3
TB
92252019-10-08 Tobias Burnus <tobias@codesourcery.com>
9226
9227 * gfortran.dg/gomp/target-simd.f90: New.
9228
6c7e076b
JB
92292019-10-02 Julian Brown <julian@codesourcery.com>
9230 Cesar Philippidis <cesar@codesourcery.com>
9231
9232 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
9233 * target.c (FIELD_TGT_EMPTY): Define.
9234 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
9235 as switch instead of list of ifs.
9236 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
9237
d61bff85
AT
92382019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
9239
9240 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
9241 include. Replace alloca () with __builtin_alloca ().
9242 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
9243
810f316d
JJ
92442019-10-01 Jakub Jelinek <jakub@redhat.com>
9245
9246 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
9247 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
9248 * oacc-parallel.c: Don't include "libgomp_g.h".
9249 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
9250 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
9251 * aclocal.m4: Regenerated.
9252 * config.h.in: Regenerated.
9253 * configure: Regenerated.
9254 * Makefile.in: Regenerated.
9255
d7f9ee98
KCY
92562019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
9257
9258 * libgomp_g.h: Include stdint.h instead of gstdint.h.
9259
e9085da5
MR
92602019-09-27 Maciej W. Rozycki <macro@wdc.com>
9261
9262 * configure: Regenerate.
9263
c28712be
TB
92642019-09-13 Tobias Burnus <tobias@codesourcery.com>
9265
9266 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
9267 string is initialized.
9268
3c086f8d
FW
92692019-09-06 Florian Weimer <fweimer@redhat.com>
9270
9271 * configure: Regenerate.
9272
c6c2d1bc
CLT
92732019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
9274
9275 PR other/79543
9276 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
9277 scanning to conform to the GNU Coding Standards.
9278 * configure: Regenerate.
9279
5cb72d83
JJ
92802019-08-28 Jakub Jelinek <jakub@redhat.com>
9281
9282 PR libgomp/91530
9283 * testsuite/libgomp.c/scan-21.c: New test.
9284 * testsuite/libgomp.c/scan-22.c: New test.
9285
0ad7981c
JJ
92862019-08-27 Jakub Jelinek <jakub@redhat.com>
9287
9288 PR libgomp/91530
9289 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
9290 targets.
9291 * testsuite/libgomp.c/scan-12.c: Likewise.
9292 * testsuite/libgomp.c/scan-13.c: Likewise.
9293 * testsuite/libgomp.c/scan-14.c: Likewise.
9294 * testsuite/libgomp.c/scan-15.c: Likewise.
9295 * testsuite/libgomp.c/scan-16.c: Likewise.
9296 * testsuite/libgomp.c/scan-17.c: Likewise.
9297 * testsuite/libgomp.c/scan-18.c: Likewise.
9298 * testsuite/libgomp.c/scan-19.c: Likewise.
9299 * testsuite/libgomp.c/scan-20.c: Likewise.
9300 * testsuite/libgomp.c++/scan-9.C: Likewise.
9301 * testsuite/libgomp.c++/scan-10.C: Likewise.
9302 * testsuite/libgomp.c++/scan-11.C: Likewise.
9303 * testsuite/libgomp.c++/scan-12.C: Likewise.
9304 * testsuite/libgomp.c++/scan-14.C: Likewise.
9305 * testsuite/libgomp.c++/scan-15.C: Likewise.
9306 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
9307 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
9308 * testsuite/libgomp.c++/scan-16.C: Likewise.
9309
1e67491a
TK
93102019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
9311
9312 PR fortran/91473
9313 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
9314 -std=legacy so invalid code in the test case is accepted.
9315
393fdeb1
TK
93162019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
9317
9318 PR fortran/91422
9319 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
9320 dimension.
9321
8860d270
JJ
93222019-08-08 Jakub Jelinek <jakub@redhat.com>
9323
9324 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
9325 perform the lookup in the first loop only if !not_found_cnt, otherwise
9326 perform lookups for it in the second loop guarded with
9327 if (not_found_cnt || has_firstprivate).
9328 * testsuite/libgomp.c/target-37.c: New test.
9329 * testsuite/libgomp.c++/target-22.C: New test.
9330
398e3feb
JJ
93312019-08-07 Jakub Jelinek <jakub@redhat.com>
9332
9333 * testsuite/libgomp.c/target-18.c (struct S): New type.
9334 (foo): Use use_device_addr clause instead of use_device_ptr clause
9335 where required by OpenMP 5.0, add further tests for both use_device_ptr
9336 and use_device_addr clauses.
9337 * testsuite/libgomp.c++/target-9.C (struct S): New type.
9338 (foo): Use use_device_addr clause instead of use_device_ptr clause
9339 where required by OpenMP 5.0, add further tests for both use_device_ptr
9340 and use_device_addr clauses. Add t and u arguments.
9341 (main): Adjust caller.
9342
d81ab49d
JJ
93432019-08-06 Jakub Jelinek <jakub@redhat.com>
9344
9345 * testsuite/libgomp.c++/loop-13.C: New test.
9346 * testsuite/libgomp.c++/loop-14.C: New test.
9347 * testsuite/libgomp.c++/loop-15.C: New test.
9348
c3ac76aa
JJ
93492019-07-31 Jakub Jelinek <jakub@redhat.com>
9350
9351 PR middle-end/91301
9352 * testsuite/libgomp.c++/for-27.C: New test.
9353
8dc63166
SK
93542019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
9355
393fdeb1 9356 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 9357 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 9358
554a530f
JJ
93592019-07-20 Jakub Jelinek <jakub@redhat.com>
9360
9361 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
9362
6cda84b5
JJ
93632019-07-08 Jakub Jelinek <jakub@redhat.com>
9364
9365 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
9366 * testsuite/libgomp.c++/scan-16.C: Likewise.
9367
1f52d1a8
JJ
93682019-07-06 Jakub Jelinek <jakub@redhat.com>
9369
6f67abcd
JJ
9370 * testsuite/libgomp.c/scan-19.c: New test.
9371 * testsuite/libgomp.c/scan-20.c: New test.
9372
1f52d1a8
JJ
9373 * testsuite/libgomp.c/scan-11.c: New test.
9374 * testsuite/libgomp.c/scan-12.c: New test.
9375 * testsuite/libgomp.c/scan-13.c: New test.
9376 * testsuite/libgomp.c/scan-14.c: New test.
9377 * testsuite/libgomp.c/scan-15.c: New test.
9378 * testsuite/libgomp.c/scan-16.c: New test.
9379 * testsuite/libgomp.c/scan-17.c: New test.
9380 * testsuite/libgomp.c/scan-18.c: New test.
9381 * testsuite/libgomp.c++/scan-9.C: New test.
9382 * testsuite/libgomp.c++/scan-10.C: New test.
9383 * testsuite/libgomp.c++/scan-11.C: New test.
9384 * testsuite/libgomp.c++/scan-12.C: New test.
9385 * testsuite/libgomp.c++/scan-13.C: New test.
9386 * testsuite/libgomp.c++/scan-14.C: New test.
9387 * testsuite/libgomp.c++/scan-15.C: New test.
9388 * testsuite/libgomp.c++/scan-16.C: New test.
9389
2f03073f
JJ
93902019-07-04 Jakub Jelinek <jakub@redhat.com>
9391
9392 * testsuite/libgomp.c/scan-9.c: New test.
9393 * testsuite/libgomp.c/scan-10.c: New test.
9394
2f6bb511
JJ
93952019-07-03 Jakub Jelinek <jakub@redhat.com>
9396
9397 * testsuite/libgomp.c++/scan-1.C: New test.
9398 * testsuite/libgomp.c++/scan-2.C: New test.
9399 * testsuite/libgomp.c++/scan-3.C: New test.
9400 * testsuite/libgomp.c++/scan-4.C: New test.
9401 * testsuite/libgomp.c++/scan-5.C: New test.
9402 * testsuite/libgomp.c++/scan-6.C: New test.
9403 * testsuite/libgomp.c++/scan-7.C: New test.
9404 * testsuite/libgomp.c++/scan-8.C: New test.
9405 * testsuite/libgomp.c/scan-1.c: New test.
9406 * testsuite/libgomp.c/scan-2.c: New test.
9407 * testsuite/libgomp.c/scan-3.c: New test.
9408 * testsuite/libgomp.c/scan-4.c: New test.
9409 * testsuite/libgomp.c/scan-5.c: New test.
9410 * testsuite/libgomp.c/scan-6.c: New test.
9411 * testsuite/libgomp.c/scan-7.c: New test.
9412 * testsuite/libgomp.c/scan-8.c: New test.
9413
bd194a51
TS
94142019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9415
85fca03a
TS
9416 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
9417 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
9418 Likewise.
9419
bd194a51
TS
9420 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
9421 check.
9422
6652161e
CP
94232019-06-18 Cesar Philippidis <cesar@codesourcery.com>
9424
9425 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
9426 file.
9427
3a37d6f6
TS
94282019-06-18 Thomas Schwinge <thomas@codesourcery.com>
9429
4017da8d
TS
9430 PR fortran/90743
9431 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
9432 case.
9433 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
9434 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
9435 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
9436 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
9437
6f7c1f65
TS
9438 PR testsuite/90861
9439 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
9440
3a37d6f6
TS
9441 PR middle-end/90862
9442 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
9443
f45ce17d
TV
94442019-06-16 Tom de Vries <tdevries@suse.de>
9445
9446 PR tree-optimization/89376
9447 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
9448
00908992
TV
94492019-06-15 Tom de Vries <tdevries@suse.de>
9450
9451 PR tree-optimization/89713
9452 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
9453 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
9454
211b7533
JJ
94552019-06-15 Jakub Jelinek <jakub@redhat.com>
9456
9457 PR middle-end/90779
9458 * testsuite/libgomp.c/pr90779.c: New test.
9459 * testsuite/libgomp.fortran/pr90779.f90: New test.
9460
120a01d1
TV
94612019-06-15 Tom de Vries <tdevries@suse.de>
9462
9463 PR tree-optimization/90009
9464 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
9465
c29c92c7
FX
94662019-06-13 Feng Xue <fxue@os.amperecomputing.com>
9467
9468 PR tree-optimization/89713
9469 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
9470
ce9c4ec3
JJ
94712019-06-11 Jakub Jelinek <jakub@redhat.com>
9472
9473 PR target/90811
9474 * testsuite/libgomp.c/pr90811.c: New test.
9475
28b3a77c
JJ
94762019-06-05 Jakub Jelinek <jakub@redhat.com>
9477
9478 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
9479 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
9480
7855700e
JJ
94812019-06-04 Jakub Jelinek <jakub@redhat.com>
9482
9483 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
9484 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
9485 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
9486 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
9487
a7155c2e
RO
94882019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9489
9490 * configure.ac: Call AX_COUNT_CPUS.
9491 Substitute CPU_COUNT.
9492 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
9493 count fallback.
9494 * aclocal.m4: Regenerate.
9495 * configure: Regenerate.
9496 * Makefile.in, testsuite/Makefile.in: Regenerate.
9497
7e47198b
JJ
94982019-05-29 Jakub Jelinek <jakub@redhat.com>
9499
9500 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
9501 to ...
9502 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
9503 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
9504 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
9505
fcfb8032
JJ
95062019-05-27 Jakub Jelinek <jakub@redhat.com>
9507
8e7757ba
JJ
9508 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
9509
36c7a3ff
JJ
9510 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
9511
fcfb8032
JJ
9512 PR libgomp/90641
9513 * work.c (gomp_init_work_share): Instead of aligning final ordered
9514 value to multiples of long long alignment, align to that the
9515 first part (ordered team ids) and if inline_ordered_team_ids
9516 is not on a long long alignment boundary within the structure,
9517 use __alignof__ (long long) - 1 pad size always.
9518 * loop.c (GOMP_loop_start): Fix *mem computation if
9519 inline_ordered_team_ids is not aligned on long long alignment boundary
9520 within the structure.
9521 * loop-ull.c (GOMP_loop_ull_start): Likewise.
9522 * sections.c (GOMP_sections2_start): Likewise.
9523
b5c26449
JJ
95242019-05-24 Jakub Jelinek <jakub@redhat.com>
9525
6c7ae8c5
JJ
9526 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
9527 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
9528
b5c26449
JJ
9529 PR libgomp/90585
9530 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
9531 HAVE_INTTYPES_H is defined.
9532 (print_uint64_t): New typedef.
9533 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
9534 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
9535 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
9536 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
9537 before casting to void *.
9538 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
9539 * oacc-mem.c: Don't include config.h nor stdint.h.
9540 * target.c: Don't include config.h.
9541 * oacc-cuda.c: Likewise.
9542 * oacc-host.c: Don't include stdint.h.
9543
3e03ed66
JJ
95442019-05-20 Jakub Jelinek <jakub@redhat.com>
9545
9546 PR libgomp/90527
9547 * alloc.c (_GNU_SOURCE): Define.
9548
5fae049d
TS
95492019-05-17 Thomas Schwinge <thomas@codesourcery.com>
9550
9551 * acc_prof.h: New file.
9552 * oacc-profiling.c: Likewise.
9553 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
9554 Add these, respectively.
9555 * Makefile.in: Regenerate.
9556 * env.c (initialize_env): Call goacc_profiling_initialize.
9557 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
9558 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
9559 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
9560 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
9561 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
9562 acc_prof_register, acc_prof_unregister, and acc_register_library.
9563 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
9564 GOMP_PLUGIN_goacc_thread.
9565 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
9566 prof_callbacks_enabled members.
9567 (goacc_prof_enabled, goacc_profiling_initialize)
9568 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
9569 (goacc_profiling_dispatch): Declare.
9570 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
9571 (GOACC_PROFILING_SETUP_P): Define.
9572 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
9573 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
9574 OpenACC Profiling Interface.
9575 * oacc-cuda.c (acc_get_current_cuda_device)
9576 (acc_get_current_cuda_context, acc_get_cuda_stream)
9577 (acc_set_cuda_stream): Likewise.
9578 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
9579 (acc_init, acc_set_device_type, acc_get_device_type)
9580 (acc_get_device_num, goacc_lazy_initialize): Likewise.
9581 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
9582 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
9583 (acc_unmap_data, present_create_copy, delete_copyout)
9584 (update_dev_host): Likewise.
9585 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
9586 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
9587 Likewise.
9588 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
9589 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
9590 Likewise.
9591 * libgomp.texi: Update.
9592 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
9593 file.
9594 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
9595 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
9596 Likewise.
9597 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
9598 Likewise.
9599 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
9600 Likewise.
9601 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
9602 Likewise.
9603
1f4c5b9b
CLT
96042019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
9605
9606 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
9607 (struct goacc_asyncqueue_list): Likewise.
9608 (goacc_aq): Likewise.
9609 (goacc_aq_list): Likewise.
9610 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9611 (GOMP_OFFLOAD_openacc_async_test): Remove.
9612 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9613 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9614 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9615 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9616 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9617 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9618 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
9619 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
9620 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
9621 (GOMP_OFFLOAD_openacc_async_exec): Declare.
9622 (GOMP_OFFLOAD_openacc_async_construct): Declare.
9623 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
9624 (GOMP_OFFLOAD_openacc_async_test): Declare.
9625 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
9626 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
9627 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
9628 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
9629 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
9630
9631 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
9632 (gomp_acc_insert_pointer): Adjust declaration.
9633 (gomp_copy_host2dev): New declaration.
9634 (gomp_copy_dev2host): Likewise.
9635 (gomp_map_vars_async): Likewise.
9636 (gomp_unmap_tgt): Likewise.
9637 (gomp_unmap_vars_async): Likewise.
9638 (gomp_fini_device): Likewise.
9639
9640 * oacc-async.c (get_goacc_thread): New function.
9641 (get_goacc_thread_device): New function.
9642 (lookup_goacc_asyncqueue): New function.
9643 (get_goacc_asyncqueue): New function.
9644 (acc_async_test): Adjust code to use new async design.
9645 (acc_async_test_all): Likewise.
9646 (acc_wait): Likewise.
9647 (acc_wait_async): Likewise.
9648 (acc_wait_all): Likewise.
9649 (acc_wait_all_async): Likewise.
9650 (goacc_async_free): New function.
9651 (goacc_init_asyncqueues): Likewise.
9652 (goacc_fini_asyncqueues): Likewise.
9653 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
9654 design.
9655 (acc_set_cuda_stream): Likewise.
9656 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
9657 (host_openacc_register_async_cleanup): Remove.
9658 (host_openacc_async_exec): New function.
9659 (host_openacc_async_test): Adjust parameters.
9660 (host_openacc_async_test_all): Remove.
9661 (host_openacc_async_wait): Remove.
9662 (host_openacc_async_wait_async): Remove.
9663 (host_openacc_async_wait_all): Remove.
9664 (host_openacc_async_wait_all_async): Remove.
9665 (host_openacc_async_set_async): Remove.
9666 (host_openacc_async_synchronize): New function.
9667 (host_openacc_async_serialize): New function.
9668 (host_openacc_async_host2dev): New function.
9669 (host_openacc_async_dev2host): New function.
9670 (host_openacc_async_queue_callback): New function.
9671 (host_openacc_async_construct): New function.
9672 (host_openacc_async_destruct): New function.
9673 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 9674 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
9675 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
9676 (goacc_attach_host_thread_to_device): Remove old async code usage.
9677 * oacc-int.h (goacc_init_asyncqueues): New declaration.
9678 (goacc_fini_asyncqueues): Likewise.
9679 (goacc_async_copyout_unmap_vars): Likewise.
9680 (goacc_async_free): Likewise.
9681 (get_goacc_asyncqueue): Likewise.
9682 (lookup_goacc_asyncqueue): Likewise.
9683 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
9684 design.
9685 (present_create_copy): Adjust code to use new async design.
9686 (delete_copyout): Likewise.
9687 (update_dev_host): Likewise.
9688 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
9689 async design.
9690 (gomp_acc_remove_pointer): Adjust code to use new async design.
9691 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
9692 design.
9693 (GOACC_enter_exit_data): Likewise.
9694 (goacc_wait): Likewise.
9695 (GOACC_update): Likewise.
9696 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
9697 when called, warn as obsolete in comment.
9698 * target.c (goacc_device_copy_async): New function.
9699 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
9700 add goacc_device_copy_async case.
9701 (gomp_copy_dev2host): Likewise.
9702 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
9703 (gomp_map_pointer): Likewise.
9704 (gomp_map_fields_existing): Likewise.
9705 (gomp_map_vars_internal): New always_inline function, renamed from
9706 gomp_map_vars.
9707 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
9708 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
9709 passing goacc_asyncqueue argument.
9710 (gomp_unmap_tgt): Remove static, add attribute_hidden.
9711 (gomp_unref_tgt): New function.
9712 (gomp_unmap_vars_internal): New always_inline function, renamed from
9713 gomp_unmap_vars.
9714 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
9715 (gomp_unmap_vars_async): Implement by calling
9716 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
9717 (gomp_fini_device): New function.
9718 (gomp_exit_data): Adjust gomp_copy_dev2host call.
9719 (gomp_load_plugin_for_device): Remove old interface, adjust to load
9720 new async interface.
9721 (gomp_target_fini): Adjust code to call gomp_fini_device.
9722
9723 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
9724 (struct ptx_stream): Remove.
9725 (struct nvptx_thread): Remove current_stream field.
9726 (cuda_map_create): Remove.
9727 (cuda_map_destroy): Remove.
9728 (map_init): Remove.
9729 (map_fini): Remove.
9730 (map_pop): Remove.
9731 (map_push): Remove.
9732 (struct goacc_asyncqueue): Define.
9733 (struct nvptx_callback): Define.
9734 (struct ptx_free_block): Define.
9735 (struct ptx_device): Remove null_stream, active_streams, async_streams,
9736 stream_lock, and next fields.
9737 (enum ptx_event_type): Remove.
9738 (struct ptx_event): Remove.
9739 (ptx_event_lock): Remove.
9740 (ptx_events): Remove.
9741 (init_streams_for_device): Remove.
9742 (fini_streams_for_device): Remove.
9743 (select_stream_for_async): Remove.
9744 (nvptx_init): Remove ptx_events and ptx_event_lock references.
9745 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
9746 case.
9747 (nvptx_open_device): Add free_blocks initialization, remove
9748 init_streams_for_device call.
9749 (nvptx_close_device): Remove fini_streams_for_device call, add
9750 free_blocks destruct code.
9751 (event_gc): Remove.
9752 (event_add): Remove.
9753 (nvptx_exec): Adjust parameters and code.
9754 (nvptx_free): Likewise.
9755 (nvptx_host2dev): Remove.
9756 (nvptx_dev2host): Remove.
9757 (nvptx_set_async): Remove.
9758 (nvptx_async_test): Remove.
9759 (nvptx_async_test_all): Remove.
9760 (nvptx_wait): Remove.
9761 (nvptx_wait_async): Remove.
9762 (nvptx_wait_all): Remove.
9763 (nvptx_wait_all_async): Remove.
9764 (nvptx_get_cuda_stream): Remove.
9765 (nvptx_set_cuda_stream): Remove.
9766 (GOMP_OFFLOAD_alloc): Adjust code.
9767 (GOMP_OFFLOAD_free): Likewise.
9768 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
9769 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
9770 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
9771 (GOMP_OFFLOAD_openacc_async_wait): Remove.
9772 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
9773 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
9774 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
9775 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
9776 (cuda_free_argmem): New function.
9777 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
9778 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
9779 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
9780 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
9781 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
9782 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
9783 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
9784 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
9785 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
9786 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
9787 (cuda_callback_wrapper): New function.
9788 (cuda_memcpy_sanity_check): New function.
9789 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
9790 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
9791 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
9792 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
9793
da2d30c1
TS
97942019-05-07 Thomas Schwinge <thomas@codesourcery.com>
9795
9796 PR target/87835
9797 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
9798
2bbbfa4e
TS
97992019-05-06 Thomas Schwinge <thomas@codesourcery.com>
9800
9801 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
9802
bbf1efe1
KB
98032019-03-27 Kevin Buettner <kevinb@redhat.com>
9804
9805 * team.c (gomp_team_start): Initialize pool->threads[0].
9806
1241136c
TS
98072019-02-22 Thomas Schwinge <thomas@codesourcery.com>
9808
b03d721a
TS
9809 * testsuite/libgomp.oacc-c++/c++.exp: Specify
9810 "-foffload=$offload_target".
9811 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9812 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9813 * testsuite/lib/libgomp.exp
9814 (check_effective_target_openacc_nvidia_accel_configured): Remove,
9815 as (conceptually) merged into
9816 check_effective_target_openacc_nvidia_accel_selected. Adjust all
9817 users.
9818
0a0384b4
TS
9819 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
9820 * testsuite/libgomp-test-support.exp.in: Adjust.
9821 * testsuite/lib/libgomp.exp: Likewise. Don't populate
9822 openacc_device_types_s.
9823 (offload_target_to_openacc_device_type): New proc.
9824 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
9825 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9826 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9827 * Makefile.in: Regenerate.
9828 * configure: Likewise.
9829 * testsuite/Makefile.in: Likewise.
9830
ee332b4a
TS
9831 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
9832 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
9833 instead of OFFLOAD_TARGETS.
9834 * target.c (gomp_target_init): Adjust.
9835 * testsuite/libgomp-test-support.exp.in: Likewise.
9836 * testsuite/lib/libgomp.exp: Likewise. Populate
9837 openacc_device_types_s instead of offload_targets_s_openacc.
9838 (check_effective_target_openacc_nvidia_accel_selected)
9839 (check_effective_target_openacc_host_selected): Adjust.
9840 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
9841 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9842 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9843 * Makefile.in: Regenerate.
9844 * config.h.in: Likewise.
9845 * configure: Likewise.
9846 * testsuite/Makefile.in: Likewise.
9847
1241136c
TS
9848 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
9849 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
9850 "offloading: supported, but hardware not accessible".
9851 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9852 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
9853
19695f4d
CLT
98542019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
9855
9856 PR c/87924
9857 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
9858 goacc_wait().
9859 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
9860 and related adjustment.
9861
8b44f8ec
JJ
98622019-01-30 Jakub Jelinek <jakub@redhat.com>
9863
9864 PR c++/88988
9865 * testsuite/libgomp.c++/pr88988.C: New test.
9866
be3a87e7
JJ
98672019-01-28 Jakub Jelinek <jakub@redhat.com>
9868
9869 PR middle-end/89002
9870 * testsuite/libgomp.c/pr89002.c: New test.
9871
497ef4d7
RB
98722019-01-28 Richard Biener <rguenther@suse.de>
9873
9874 PR testsuite/89064
9875 PR tree-optimization/86865
9876 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
9877
738c56d4
TV
98782019-01-24 Tom de Vries <tdevries@suse.de>
9879
9880 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
9881 once instantiated_devices drops to 0.
9882
4a75460b
TV
98832019-01-23 Tom de Vries <tdevries@suse.de>
9884
9885 PR target/PR88946
9886 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
9887 cuMemFree.
9888 (nvptx_exec): Don't call map_push if mapnum == 0.
9889 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
9890
4fef8e4d
TV
98912019-01-23 Tom de Vries <tdevries@suse.de>
9892
9893 PR target/88941
9894 PR target/88939
9895 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
9896 (map_fini): Remove "assert (!s->map->active)".
9897 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
9898
2ee6cb22
TV
98992019-01-23 Tom de Vries <tdevries@suse.de>
9900
9901 PR target/87835
9902 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
9903 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
9904
d41d952c
TV
99052019-01-15 Tom de Vries <tdevries@suse.de>
9906
9907 PR target/80547
9908 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
9909 New test.
9910
efb56ae8
TV
99112019-01-12 Tom de Vries <tdevries@suse.de>
9912
9913 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
9914 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
9915 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
9916 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
9917
2c2ff168
TV
99182019-01-12 Tom de Vries <tdevries@suse.de>
9919
9920 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
9921
a1057758
TV
99222019-01-12 Tom de Vries <tdevries@suse.de>
9923
9924 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
9925 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
9926 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
9927
56314b77
TV
99282019-01-12 Tom de Vries <tdevries@suse.de>
9929
9930 PR target/85486
9931 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
9932 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
9933
b39e4366
TV
99342019-01-12 Tom de Vries <tdevries@suse.de>
9935
9936 PR target/85381
9937 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
9938 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
9939
2cb7a501
TV
99402019-01-12 Tom de Vries <tdevries@suse.de>
9941
9942 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
9943 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
9944 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
9945
8e77f71e
TV
99462019-01-12 Tom de Vries <tdevries@suse.de>
9947
9948 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
9949 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
9950 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
9951
52d22ece
TV
99522019-01-12 Tom de Vries <tdevries@suse.de>
9953
9954 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
9955 resources diagnostic.
9956
2b9d9e39
TV
99572019-01-12 Tom de Vries <tdevries@suse.de>
9958
9959 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
9960 vector length to be 128.
9961 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
9962 length 2097152 to be reduced to 1024 instead of 32.
9963
4102bda6
TS
99642019-01-11 Thomas Schwinge <thomas@codesourcery.com>
9965 James Norris <jnorris@codesourcery.com>
9966
9967 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
9968 Library Routines", and "Environment Variables".
9969
052aaace
TV
99702019-01-11 Tom de Vries <tdevries@suse.de>
9971
9972 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
9973 num_workers 16.
9974
9390f916
TV
99752019-01-11 Tom de Vries <tdevries@suse.de>
9976
9977 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
9978 -foffload=-w.
9979 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
9980 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
9981 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
9982 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
9983
2c3e7ad2
TV
99842019-01-11 Tom de Vries <tdevries@suse.de>
9985
9986 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
9987 test.
9988
e222497d
NS
99892019-01-10 Nathan Sidwell <nathan@acm.org>
9990 Julian Brown <julian@codesourcery.com>
9991
9992 PR lto/71959
9993 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
9994 * testsuite/libgomp.oacc-c++/pr71959.C: New.
9995
cb87fec3
SH
99962019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9997
9998 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
9999 and paste code.
10000
30b4d0d0
SH
100012019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
10002
10003 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
10004 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10005 write.
10006
5d0bc70a
TV
100072019-01-09 Tom de Vries <tdevries@suse.de>
10008
10009 PR target/88756
10010 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
10011 #define instead of "const int".
10012 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
10013 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
10014 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
10015 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
10016
2c372e81
TV
100172019-01-09 Tom de Vries <tdevries@suse.de>
10018
10019 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
10020 one worker.
10021
43493c97
TV
100222019-01-07 Tom de Vries <tdevries@suse.de>
10023
10024 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
10025 GOMP_OPENACC_DIM argument.
10026
5c571497
TV
100272019-01-03 Tom de Vries <tdevries@suse.de>
10028
10029 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
10030 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
10031
a5544970
JJ
100322019-01-01 Jakub Jelinek <jakub@redhat.com>
10033
10034 Update copyright years.
10035
3f27508c
JJ
100362019-01-01 Jakub Jelinek <jakub@redhat.com>
10037
10038 * libgomp.texi: Bump @copying's copyright year.
10039
59d5960c
TS
100402018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10041
10042 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
10043 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
10044 (GOACC_declare): Redefine the "device" argument to "flags".
10045
a44c1790
TS
100462018-12-28 Thomas Schwinge <thomas@codesourcery.com>
10047 Cesar Philippidis <cesar@codesourcery.com>
10048
10049 * target.c (struct gomp_coalesce_chunk): New structure.
10050 (struct gomp_coalesce_buf): Update the chunks member to use that
10051 type. Adjust all users.
10052
a152954e
TV
100532018-12-19 Tom de Vries <tdevries@suse.de>
10054
10055 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
10056 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
10057 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
10058
49188cd1
TV
100592018-12-19 Tom de Vries <tdevries@suse.de>
10060
10061 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
10062 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
10063 gcc/testsuite/gcc.dg/goacc.
10064 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
10065
c759830b
TS
100662018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10067 Chung-Lin Tang <cltang@codesourcery.com>
10068
10069 * oacc-mem.c (acc_present_or_create): Remove definition and change
10070 to alias of acc_create.
10071 (acc_present_or_copyin): Remove definition and change to alias of
10072 acc_copyin.
10073 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
10074 of acc_present_or_create.
10075 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
10076 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10077 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10078 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10079 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10080 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10081 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10082 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10083 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
10084 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10085 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10086 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10087 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10088 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10089 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10090 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10091
7de562ee
TS
100922018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10093
f847198e
TS
10094 PR libgomp/88495
10095 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
10096 "identical parameters".
10097 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
10098 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
10099
c8ab8aab
TS
10100 PR libgomp/88484
10101 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
10102 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
10103
1404af62
TS
10104 PR libgomp/88407
10105 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
10106 (nvptx_wait_async): Unseen async-argument is a no-op.
10107 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
10108 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
10109 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10110 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10111 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10112 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
10113 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
10114 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
10115 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
10116
7de562ee
TS
10117 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
10118 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10119
17469af7
CLT
101202018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
10121
10122 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
10123 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
10124 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
10125
18c247cc
TS
101262018-12-14 Thomas Schwinge <thomas@codesourcery.com>
10127
10128 PR libgomp/88370
10129 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
10130 (acc_set_cuda_stream): Clarify.
10131 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10132 "async_valid_p".
10133 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
10134 acc_async_sync".
10135 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
10136 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
10137 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
10138 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
10139
b0aba46c
TV
101402018-12-14 Tom de Vries <tdevries@suse.de>
10141
10142 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
10143 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
10144 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
10145 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
10146 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
10147
fe0827ee
TV
101482018-12-13 Tom de Vries <tdevries@suse.de>
10149
10150 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
10151 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
10152 * fortran.c (omp_display_affinity_): ... here.
10153 * libgomp.h (gomp_print_string): Declare.
10154 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
10155 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
10156 write.
10157
a51f8c92
JJ
101582018-12-13 Jakub Jelinek <jakub@redhat.com>
10159
10160 PR libgomp/88460
10161 * testsuite/libgomp.c++/for-24.C (results): Include it in
10162 omp declare target region.
10163 (main): Use map (always, tofrom: results) instead of
10164 map (tofrom: results).
10165
a6ef2ac9
JJ
101662018-12-12 Jakub Jelinek <jakub@redhat.com>
10167
7a289b7d
JJ
10168 PR fortran/88463
10169 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
10170 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
10171
a6ef2ac9
JJ
10172 * testsuite/libgomp.c-c++-common/for-16.c: New test.
10173
9c47a019
AS
101742018-12-12 Andreas Schwab <schwab@suse.de>
10175
10176 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
10177 clobbered.
10178
d0cbb206
TK
101792018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
10180
10181 PR fortran/88411
10182 * testsuite/libgomp.fortran/async_io_8.f90: New test.
10183
84ca08d2
TS
101842018-12-09 Thomas Schwinge <thomas@codesourcery.com>
10185 Jakub Jelinek <jakub@redhat.com>
10186
10187 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
10188 devicep->host2dev_func.
10189
6997628d
JJ
101902018-12-08 Jakub Jelinek <jakub@redhat.com>
10191
10192 PR libgomp/87995
10193 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
10194 tls_runtime effective target.
10195 (t): New threadprivate variable.
10196 (main): Set t in threads which execute iterations of the worksharing
10197 loop. Propagate that to the task after the loop and don't abort
10198 if the current taskgroup hasn't been cancelled.
10199
daa8c1d7
JJ
102002018-12-02 Jakub Jelinek <jakub@redhat.com>
10201
4a82df9a
JJ
10202 * testsuite/libgomp.c/task-reduction-3.c: New test.
10203
daa8c1d7
JJ
10204 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
10205
fe570ff8
CP
102062018-11-30 Cesar Philippidis <cesar@codesourcery.com>
10207
10208 PR libgomp/88288
10209 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
10210 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
10211
c223608f
TS
102122018-11-30 Thomas Schwinge <thomas@codesourcery.com>
10213
10214 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
10215
fc60283c
RB
102162018-10-19 Richard Biener <rguenther@suse.de>
10217
10218 PR tree-optimization/88182
10219 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
10220
ffcf3b79
JJ
102212018-11-26 Jakub Jelinek <jakub@redhat.com>
10222
10223 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
10224 (RUNTEST): Don't define.
10225 (RUNTESTDEFAULTFLAGS): Add.
10226 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
10227 (distclean-am): Depend on distclean-DEJAGNU.
10228 (check-am): If -j% option is present in MFLAGS and if
10229 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
10230 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
10231 * testsuite/Makefile.in: Regenerated.
10232
ef6e6914
RB
102332018-11-26 Richard Biener <rguenther@suse.de>
10234
10235 PR tree-optimization/88182
10236 * testsuite/libgomp.c++/pr88182.C: New testcase.
10237
72d3bb76
JJ
102382018-11-20 Jakub Jelinek <jakub@redhat.com>
10239
10240 PR bootstrap/88106
10241 * config/mingw32/affinity-fmt.c: New file.
10242
207286c3
JJ
102432018-11-09 Jakub Jelinek <jakub@redhat.com>
10244
9666c522
JJ
10245 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
10246 (gomp_display_affinity): Use __builtin_choose_expr to handle
10247 properly handle argument having integral, or pointer or some other
10248 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
10249 with uint64_t type instead of %llx and unsigned long long.
10250
207286c3
JJ
10251 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
10252 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
10253
2033f45b
RO
102542018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10255
10256 * affinity.c: Include <string.h>, <stdio.h>.
10257 (gomp_display_affinity_place): Remove cpusetp.
10258 * teams.c: Include <limits.h>.
10259
28567c40
JJ
102602018-11-08 Jakub Jelinek <jakub@redhat.com>
10261
8991d779
JJ
10262 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
10263 in_reduction clause for s[0].
10264
28567c40
JJ
10265 * affinity.c (gomp_display_affinity_place): New function.
10266 * affinity-fmt.c: New file.
10267 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
10268 * config/linux/affinity.c (gomp_display_affinity_place): New function.
10269 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
10270 Move these functions to ...
10271 * config/nvptx/teams.c: ... here. New file.
10272 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
10273 New functions.
10274 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
10275 functions.
10276 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
10277 and _aligned_malloc.
10278 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
10279 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
10280 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
10281 gomp_affinity_format_len): New variables.
10282 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
10283 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
10284 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
10285 modifiers. Display (non-default) chunk sizes. Print
10286 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
10287 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
10288 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
10289 * fortran.c: Include stdio.h and string.h.
10290 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
10291 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
10292 (omp_set_affinity_format_, omp_get_affinity_format_,
10293 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
10294 omp_pause_resource_all_): New functions.
10295 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
10296 switch.
10297 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
10298 functions to ...
10299 * teams.c: ... here. New file.
10300 * libgomp_g.h: Include gstdint.h.
10301 (GOMP_loop_nonmonotonic_runtime_start,
10302 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
10303 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
10304 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
10305 GOMP_parallel_loop_nonmonotonic_runtime,
10306 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10307 GOMP_loop_ull_nonmonotonic_runtime_start,
10308 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
10309 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
10310 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10311 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
10312 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
10313 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10314 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10315 GOMP_teams_reg): Declare.
10316 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
10317 gomp_aligned_alloc uses fallback implementation.
10318 (gomp_aligned_alloc, gomp_aligned_free): Declare.
10319 (enum gomp_schedule_type): Add GFS_MONOTONIC.
10320 (struct gomp_doacross_work_share): Add extra field.
10321 (struct gomp_work_share): Add task_reductions field.
10322 (struct gomp_taskgroup): Add workshare and reductions fields.
10323 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
10324 (gomp_thread_handle): New typedef.
10325 (gomp_display_affinity_place, gomp_set_affinity_format,
10326 gomp_display_string, gomp_display_affinity,
10327 gomp_display_affinity_thread): Declare.
10328 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
10329 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
10330 gomp_workshare_task_reduction_register): Declare.
10331 (gomp_team_start): Add taskgroup argument.
10332 (gomp_pause_host): Declare.
10333 (gomp_init_work_share, gomp_work_share_start): Change bool argument
10334 to size_t.
10335 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
10336 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
10337 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
10338 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10339 GOMP_loop_ull_doacross_start,
10340 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
10341 GOMP_loop_maybe_nonmonotonic_runtime_next,
10342 GOMP_loop_maybe_nonmonotonic_runtime_start,
10343 GOMP_loop_nonmonotonic_runtime_next,
10344 GOMP_loop_nonmonotonic_runtime_start,
10345 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10346 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10347 GOMP_loop_ull_nonmonotonic_runtime_next,
10348 GOMP_loop_ull_nonmonotonic_runtime_start,
10349 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10350 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
10351 GOMP_taskgroup_reduction_register,
10352 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10353 GOMP_teams_reg and GOMP_taskwait_depend.
10354 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
10355 omp_{capture,display}_affinity{,_}, and
10356 omp_[gs]et_affinity_format{,_}.
10357 * loop.c: Include string.h.
10358 (GOMP_loop_runtime_next): Add ialias.
10359 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10360 (gomp_loop_static_start, gomp_loop_dynamic_start,
10361 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10362 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10363 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10364 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
10365 or gomp_doacross_init callers.
10366 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
10367 GOMP_loop_doacross_start): New functions.
10368 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10369 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
10370 Mask off GFS_MONOTONIC bit.
10371 (GOMP_loop_maybe_nonmonotonic_runtime_next,
10372 GOMP_loop_maybe_nonmonotonic_runtime_start,
10373 GOMP_loop_nonmonotonic_runtime_next,
10374 GOMP_loop_nonmonotonic_runtime_start,
10375 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
10376 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
10377 functions.
10378 (gomp_parallel_loop_start): Pass NULL as taskgroup to
10379 gomp_team_start.
10380 * loop_ull.c: Include string.h.
10381 (GOMP_loop_ull_runtime_next): Add ialias.
10382 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10383 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
10384 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
10385 gomp_loop_ull_ordered_dynamic_start,
10386 gomp_loop_ull_ordered_guided_start,
10387 gomp_loop_ull_doacross_static_start,
10388 gomp_loop_ull_doacross_dynamic_start,
10389 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
10390 and gomp_doacross_ull_init callers.
10391 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
10392 GOMP_loop_ull_doacross_start): New functions.
10393 (GOMP_loop_ull_runtime_start,
10394 GOMP_loop_ull_ordered_runtime_start,
10395 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
10396 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
10397 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
10398 GOMP_loop_ull_nonmonotonic_runtime_next,
10399 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
10400 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
10401 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
10402 (omp_pause_resource_t, omp_depend_t): New typedefs.
10403 (enum omp_lock_hint_t): Renamed to ...
10404 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
10405 enumerators using numbers and omp_lock_hint_* as their aliases.
10406 (omp_lock_hint_t): New typedef. Rename to ...
10407 (omp_sync_hint_t): ... this.
10408 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
10409 omp_sync_hint_t instead of omp_lock_hint_t.
10410 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10411 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10412 Declare.
10413 (omp_target_is_present, omp_target_disassociate_ptr):
10414 Change first argument from void * to const void *.
10415 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
10416 from void * to const void *.
10417 (omp_target_associate_ptr): Change first and second arguments from
10418 void * to const void *.
10419 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
10420 omp_pause_hard): New parameters.
10421 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10422 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10423 New interfaces.
10424 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
10425 omp_pause_hard): New parameters.
10426 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
10427 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
10428 New externals.
10429 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
10430 EXTRA argument. If not needed to prepare array, if extra is 0,
10431 clear ws->doacross, otherwise allocate just doacross structure and
10432 extra payload. If array is needed, allocate also extra payload.
10433 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
10434 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
10435 doacross == NULL.
10436 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
10437 gomp_team_start.
10438 (GOMP_parallel): Likewise. Formatting fix.
10439 (GOMP_parallel_reductions): New function.
10440 (GOMP_cancellation_point): If taskgroup has workshare
10441 flag set, check cancelled of prev taskgroup if any.
10442 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
10443 on prev taskgroup if any.
10444 * sections.c: Include string.h.
10445 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
10446 (GOMP_sections_start): Adjust gomp_work_share_start caller.
10447 (GOMP_sections2_start): New function.
10448 (GOMP_parallel_sections_start, GOMP_parallel_sections):
10449 Pass NULL as taskgroup to gomp_team_start.
10450 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
10451 gomp_work_share_start callers.
10452 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
10453 If taskgroup has workshare flag set, check cancelled on prev
10454 taskgroup if any. Guard all cancellation tests with
10455 gomp_cancel_var test.
10456 (omp_target_is_present, omp_target_disassociate_ptr):
10457 Change ptr argument from void * to const void *.
10458 (omp_target_memcpy): Change src argument from void * to const void *.
10459 (omp_target_memcpy_rect): Likewise.
10460 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
10461 instead of char * where needed.
10462 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
10463 from void * to const void *.
10464 (omp_pause_resource, omp_pause_resource_all): New functions.
10465 * task.c (gomp_task_handle_depend): Handle new depend array format
10466 in addition to the old. Handle mutexinoutset kinds the same as
10467 inout for now, handle unspecified kinds.
10468 (gomp_create_target_task): If taskgroup has workshare flag set, check
10469 cancelled on prev taskgroup if any. Guard all cancellation tests with
10470 gomp_cancel_var test. Handle new depend array format count in
10471 addition to the old.
10472 (GOMP_task): Likewise. Adjust function comment.
10473 (gomp_task_run_pre): If taskgroup has workshare flag set, check
10474 cancelled on prev taskgroup if any. Guard all cancellation tests with
10475 gomp_cancel_var test.
10476 (GOMP_taskwait_depend): New function.
10477 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
10478 format in addition to the old. Handle mutexinoutset kinds the same as
10479 inout for now, handle unspecified kinds. Fix a function comment typo.
10480 (gomp_taskgroup_init): New function.
10481 (GOMP_taskgroup_start): Use it.
10482 (gomp_reduction_register, gomp_create_artificial_team,
10483 GOMP_taskgroup_reduction_register,
10484 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
10485 gomp_parallel_reduction_register,
10486 gomp_workshare_task_reduction_register,
10487 gomp_workshare_taskgroup_start,
10488 GOMP_workshare_task_reduction_unregister): New functions.
10489 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
10490 check cancelled on prev taskgroup if any. Guard all cancellation
10491 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
10492 by calling GOMP_taskgroup_reduction_register.
10493 * team.c (gomp_thread_attr): Remove comment.
10494 (struct gomp_thread_start_data): Add handle field.
10495 (gomp_thread_start): Call pthread_detach.
10496 (gomp_new_team): Adjust gomp_init_work_share caller.
10497 (gomp_free_pool_helper): Call pthread_detach.
10498 (gomp_team_start): Add taskgroup argument, initialize implicit
10499 tasks' taskgroup field to that. Don't call
10500 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
10501 (gomp_team_end): Determine nesting by thr->ts.level != 0
10502 rather than thr->ts.team != NULL.
10503 (gomp_pause_pool_helper, gomp_pause_host): New functions.
10504 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
10505 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
10506 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
10507 if more than 1 allocate also extra payload at the end of array. Never
10508 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
10509 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
10510 return true instead of ws.
10511 * Makefile.in: Regenerated.
10512 * configure: Regenerated.
10513 * config.h.in: Regenerated.
10514 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
10515 in some cases.
10516 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
10517 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
10518 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
10519 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
10520 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
10521 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
10522 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
10523 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
10524 * testsuite/libgomp.c-c++-common/for-10.c: New test.
10525 * testsuite/libgomp.c-c++-common/for-11.c: New test.
10526 * testsuite/libgomp.c-c++-common/for-12.c: New test.
10527 * testsuite/libgomp.c-c++-common/for-13.c: New test.
10528 * testsuite/libgomp.c-c++-common/for-14.c: New test.
10529 * testsuite/libgomp.c-c++-common/for-15.c: New test.
10530 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
10531 define a different N(test), don't define N(f0) to N(f14), but instead
10532 define N(f20) to N(f34) using != comparisons.
10533 * testsuite/libgomp.c-c++-common/for-7.c: New test.
10534 * testsuite/libgomp.c-c++-common/for-8.c: New test.
10535 * testsuite/libgomp.c-c++-common/for-9.c: New test.
10536 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
10537 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
10538 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
10539 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
10540 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
10541 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
10542 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
10543 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
10544 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
10545 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
10546 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
10547 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
10548 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
10549 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
10550 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
10551 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
10552 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
10553 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
10554 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
10555 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
10556 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
10557 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
10558 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
10559 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
10560 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
10561 * testsuite/libgomp.c++/depend-1.C: New test.
10562 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
10563 * testsuite/libgomp.c++/depobj-1.C: New test.
10564 * testsuite/libgomp.c++/for-16.C: New test.
10565 * testsuite/libgomp.c++/for-21.C: New test.
10566 * testsuite/libgomp.c++/for-22.C: New test.
10567 * testsuite/libgomp.c++/for-23.C: New test.
10568 * testsuite/libgomp.c++/for-24.C: New test.
10569 * testsuite/libgomp.c++/for-25.C: New test.
10570 * testsuite/libgomp.c++/for-26.C: New test.
10571 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
10572 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
10573 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
10574 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
10575 * testsuite/libgomp.c++/task-reduction-10.C: New test.
10576 * testsuite/libgomp.c++/task-reduction-11.C: New test.
10577 * testsuite/libgomp.c++/task-reduction-12.C: New test.
10578 * testsuite/libgomp.c++/task-reduction-13.C: New test.
10579 * testsuite/libgomp.c++/task-reduction-14.C: New test.
10580 * testsuite/libgomp.c++/task-reduction-15.C: New test.
10581 * testsuite/libgomp.c++/task-reduction-16.C: New test.
10582 * testsuite/libgomp.c++/task-reduction-17.C: New test.
10583 * testsuite/libgomp.c++/task-reduction-18.C: New test.
10584 * testsuite/libgomp.c++/task-reduction-19.C: New test.
10585 * testsuite/libgomp.c/task-reduction-1.c: New test.
10586 * testsuite/libgomp.c++/task-reduction-1.C: New test.
10587 * testsuite/libgomp.c/task-reduction-2.c: New test.
10588 * testsuite/libgomp.c++/task-reduction-2.C: New test.
10589 * testsuite/libgomp.c++/task-reduction-3.C: New test.
10590 * testsuite/libgomp.c++/task-reduction-4.C: New test.
10591 * testsuite/libgomp.c++/task-reduction-5.C: New test.
10592 * testsuite/libgomp.c++/task-reduction-6.C: New test.
10593 * testsuite/libgomp.c++/task-reduction-7.C: New test.
10594 * testsuite/libgomp.c++/task-reduction-8.C: New test.
10595 * testsuite/libgomp.c++/task-reduction-9.C: New test.
10596 * testsuite/libgomp.c/teams-1.c: New test.
10597 * testsuite/libgomp.c/teams-2.c: New test.
10598 * testsuite/libgomp.c/thread-limit-4.c: New test.
10599 * testsuite/libgomp.c/thread-limit-5.c: New test.
10600 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
10601
58168bbf
CLT
106022018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
10603
10604 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
10605 acc_memcpy_to/from_device functions, now with async parameter.
10606 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
10607 (acc_memcpy_from_device): Likewise.
10608 (acc_memcpy_to_device_async): New API function.
10609 (acc_memcpy_from_device_async): Likewise.
10610 (present_create_copy): Add async parameter and async setting/unsetting.
10611 (acc_create): Adjust present_create_copy call.
10612 (acc_copyin): Likewise.
10613 (acc_present_or_create): Likewise.
10614 (acc_present_or_copyin): Likewise.
10615 (acc_create_async): New API function.
10616 (acc_copyin_async): New API function.
10617 (delete_copyout): Add async parameter and async setting/unsetting.
10618 (acc_delete): Adjust delete_copyout call.
10619 (acc_copyout): Likewise.
10620 (acc_delete_async): New API function.
10621 (acc_copyout_async): Likewise.
10622 (update_dev_host): Add async parameter and async setting/unsetting.
10623 (acc_update_device): Adjust update_dev_host call.
10624 (acc_update_self): Likewise.
10625 (acc_update_device_async): New API function.
10626 (acc_update_self_async): Likewise.
10627 * openacc.h (acc_copyin_async): Declare new API function.
10628 (acc_create_async): Likewise.
10629 (acc_copyout_async): Likewise.
10630 (acc_delete_async): Likewise.
10631 (acc_update_device_async): Likewise.
10632 (acc_update_self_async): Likewise.
10633 (acc_memcpy_to_device_async): Likewise.
10634 (acc_memcpy_from_device_async): Likewise.
10635 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
10636 (acc_copyin_async_64_h): New subroutine.
10637 (acc_copyin_async_array_h): New subroutine.
10638 (acc_create_async_32_h): New subroutine.
10639 (acc_create_async_64_h): New subroutine.
10640 (acc_create_async_array_h): New subroutine.
10641 (acc_copyout_async_32_h): New subroutine.
10642 (acc_copyout_async_64_h): New subroutine.
10643 (acc_copyout_async_array_h): New subroutine.
10644 (acc_delete_async_32_h): New subroutine.
10645 (acc_delete_async_64_h): New subroutine.
10646 (acc_delete_async_array_h): New subroutine.
10647 (acc_update_device_async_32_h): New subroutine.
10648 (acc_update_device_async_64_h): New subroutine.
10649 (acc_update_device_async_array_h): New subroutine.
10650 (acc_update_self_async_32_h): New subroutine.
10651 (acc_update_self_async_64_h): New subroutine.
10652 (acc_update_self_async_array_h): New subroutine.
10653 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
10654 (acc_copyin_async_64_h): New subroutine.
10655 (acc_copyin_async_array_h): New subroutine.
10656 (acc_create_async_32_h): New subroutine.
10657 (acc_create_async_64_h): New subroutine.
10658 (acc_create_async_array_h): New subroutine.
10659 (acc_copyout_async_32_h): New subroutine.
10660 (acc_copyout_async_64_h): New subroutine.
10661 (acc_copyout_async_array_h): New subroutine.
10662 (acc_delete_async_32_h): New subroutine.
10663 (acc_delete_async_64_h): New subroutine.
10664 (acc_delete_async_array_h): New subroutine.
10665 (acc_update_device_async_32_h): New subroutine.
10666 (acc_update_device_async_64_h): New subroutine.
10667 (acc_update_device_async_array_h): New subroutine.
10668 (acc_update_self_async_32_h): New subroutine.
10669 (acc_update_self_async_64_h): New subroutine.
10670 (acc_update_self_async_array_h): New subroutine.
10671 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
10672 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
10673 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
10674 acc_memcpy_to_device_async*, acc_update_device_async*, and
10675 acc_update_self_async* entries.
10676 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
10677 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
10678 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
10679
22e05272
JM
106802018-10-31 Joseph Myers <joseph@codesourcery.com>
10681
10682 PR bootstrap/82856
10683 * Makefile.am: Include multilib.am
10684 (AUTOMAKE_OPTIONS): Add info-in-builddir.
10685 (CLEANFILES): Remove libgomp.info.
10686 * configure.ac: Remove AC_PREREQ.
10687 * testsuite/Makefile.am (RUNTEST): Remove quotes.
10688 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
10689 Regenerate.
10690
87a5ccfb
JM
106912018-10-29 Joseph Myers <joseph@codesourcery.com>
10692 Julian Brown <julian@codesourcery.com>
10693
10694 * testsuite/libgomp.oacc-c++/this.C: New.
10695
2049befd
CP
106962018-09-18 Cesar Philippidis <cesar@codesourcery.com>
10697
10698 * plugin/plugin-nvptx.c (struct cuda_map): New.
10699 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
10700 h_tail with (cuda_map *) map.
10701 (cuda_map_create): New function.
10702 (cuda_map_destroy): New function.
10703 (map_init): Update to use a linked list of cuda_map objects.
10704 (map_fini): Likewise.
10705 (map_pop): Likewise.
10706 (map_push): Likewise. Return CUdeviceptr instead of void.
10707 (init_streams_for_device): Remove stales references to ptx_stream
10708 members.
10709 (select_stream_for_async): Likewise.
10710 (nvptx_exec): Update call to map_init.
10711
8e36332c
CP
107122018-09-09 Cesar Philippidis <cesar@codesourcery.com>
10713 Julian Brown <julian@codesourcery.com>
10714
10715 PR middle-end/86336
10716 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
10717
2b4c9065
NK
107182018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
10719 Thomas Koenig <tkoenig@gcc.gnu.org>
10720
10721 PR fortran/25829
10722 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10723 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10724 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10725 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10726 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10727 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10728 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10729
bd9b3d3d
CP
107302018-08-13 Cesar Philippidis <cesar@codesourcery.com>
10731 Tom de Vries <tdevries@suse.de>
10732
10733 PR target/85590
10734 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
10735 (cuOccupancyMaxPotentialBlockSize): Declare.
10736 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
10737 CUDA_ONE_CALL_MAYBE_NULL.
10738 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
10739 CUoccupancyB2DSize and declare
10740 cuOccupancyMaxPotentialBlockSize.
10741 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
10742 default num_gangs and num_workers when the driver supports it.
10743
8e09a12f
TV
107442018-08-08 Tom de Vries <tdevries@suse.de>
10745
10746 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
10747 CUDA_ONE_CALL_MAYBE_NULL.
10748 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
10749 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
10750 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
10751 are not found.
10752
cedd9bd0
TV
107532018-08-08 Tom de Vries <tdevries@suse.de>
10754
10755 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
10756 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
10757 present.
10758
b113af95
TV
107592018-08-08 Tom de Vries <tdevries@suse.de>
10760
10761 * plugin/plugin-nvptx.c
10762 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
10763 (nvptx_open_device): Use
10764 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
10765
94767dac
TV
107662018-08-08 Tom de Vries <tdevries@suse.de>
10767
10768 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
10769 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
10770
02150de8
TV
107712018-08-07 Tom de Vries <tdevries@suse.de>
10772
10773 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
10774 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
10775 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
10776 corresponding call in CUDA_ONE_CALL. Add def/undef of
10777 CUDA_ONE_CALL_MAYBE_NULL.
10778 (CUDA_CALL_EXISTS): Define.
10779
9e28b107
TV
107802018-08-07 Tom de Vries <tdevries@suse.de>
10781
10782 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
10783 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
10784 corresponding undefs right after.
10785
09940090
TV
107862018-08-04 Tom de Vries <tdevries@suse.de>
10787
10788 * plugin/configfrag.ac: For --without-cuda-driver, set
10789 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
10790 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
10791 * configure: Regenerate.
10792
77e0a97a
TV
107932018-08-02 Tom de Vries <tdevries@suse.de>
10794
10795 PR target/86660
10796 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
10797 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
10798 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
10799 Same.
10800 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
10801 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
10802 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
10803
701d080a
CP
108042018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10805 Thomas Schwinge <thomas@codesourcery.com>
10806
10807 * config/nvptx/oacc-parallel.c: Truncate.
10808
094db6be
CP
108092018-08-01 Cesar Philippidis <cesar@codesourcery.com>
10810 James Norris <jnorris@codesourcery.com>
10811
10812 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
10813 (map_init, map_pop): Remove use of struct map.
10814 (map_push): Likewise and change argument list.
094db6be
CP
10815 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
10816
8c6310a2
TV
108172018-08-01 Tom de Vries <tdevries@suse.de>
10818
10819 * plugin/cuda-lib.def: New file. Factor out of ...
10820 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
10821 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
10822 using CUDA_CALLS.
10823
1d4a51cf
AV
108242018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
10825
10826 Revert 'AsyncI/O patch committed'.
10827 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10828 Thomas Koenig <tkoenig@gcc.gnu.org>
10829
10830 PR fortran/25829
10831 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10832 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10833 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10834 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10835 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10836 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10837 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10838
4cdfee3f
TV
108392018-07-30 Tom de Vries <tdevries@suse.de>
10840
10841 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
10842 (nvptx_exec): Ensure worker and vector default dims don't exceed
10843 targ_fn->max_threads_per_block.
10844
0b210c43
TV
108452018-07-30 Tom de Vries <tdevries@suse.de>
10846
10847 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
10848 (nvptx_open_device): Init default_dims for device.
10849 (nvptx_exec): Use default_dims from device.
10850
5883c5cc
JJ
108512018-07-26 Jakub Jelinek <jakub@redhat.com>
10852
5d36384c
JJ
10853 PR testsuite/86660
10854 * testsuite/libgomp.c++/for-15.C (results): Include it in
10855 omp declare target region.
10856 (main): Use map (always, tofrom: results) instead of
10857 map (tofrom: results).
10858
5883c5cc
JJ
10859 PR middle-end/86660
10860 * testsuite/libgomp.c/pr86660.c: New test.
10861
88a4654d
CP
108622018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10863 Tom de Vries <tdevries@suse.de>
10864
10865 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
10866 sufficient resources to launch a kernel, and give a hint on how to fix
10867 it.
10868
0c6c2f5f
CP
108692018-07-26 Cesar Philippidis <cesar@codesourcery.com>
10870 Tom de Vries <tdevries@suse.de>
10871
10872 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
10873 max_threads_per_block and max_threads_per_multiprocessor fields.
10874 (nvptx_open_device): Initialize new fields.
10875 (nvptx_exec): Use num_sms, and new fields.
10876
6dd58010
TV
108772018-07-26 Tom de Vries <tdevries@suse.de>
10878
10879 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
10880 to correct locations. Remove xfail.
10881
b2eb1779
TV
108822018-07-26 Tom de Vries <tdevries@suse.de>
10883
10884 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
10885 acc_wait. Move acc_async_test calls to correct locations. Remove
10886 xfail.
10887
b1f45884
NK
108882018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
10889 Thomas Koenig <tkoenig@gcc.gnu.org>
10890
10891 PR fortran/25829
10892 * testsuite/libgomp.fortran/async_io_1.f90: New test.
10893 * testsuite/libgomp.fortran/async_io_2.f90: New test.
10894 * testsuite/libgomp.fortran/async_io_3.f90: New test.
10895 * testsuite/libgomp.fortran/async_io_4.f90: New test.
10896 * testsuite/libgomp.fortran/async_io_5.f90: New test.
10897 * testsuite/libgomp.fortran/async_io_6.f90: New test.
10898 * testsuite/libgomp.fortran/async_io_7.f90: New test.
10899
3a106211
JJ
109002018-07-17 Jakub Jelinek <jakub@redhat.com>
10901
a3bccfa1
JJ
10902 PR middle-end/86542
10903 * testsuite/libgomp.c++/pr86542.C: New test.
10904
3a106211
JJ
10905 PR middle-end/86539
10906 * testsuite/libgomp.c++/pr86539.C: New test.
10907
2bae8b2f
JJ
109082018-07-11 Jakub Jelinek <jakub@redhat.com>
10909
10910 PR c++/86443
10911 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
10912 (results): Make sure the variable is not inside declare target region.
10913 (qux): Remove unused function.
10914
0b27c3ed
JJ
109152018-07-10 Jakub Jelinek <jakub@redhat.com>
10916
10917 PR c++/86443
10918 * testsuite/libgomp.c++/for-15.C: New test.
10919
f0391511
JJ
109202018-06-26 Jakub Jelinek <jakub@redhat.com>
10921
10922 PR c++/86291
10923 * testsuite/libgomp.c++/pr86291.C: New test.
10924
1a6d1d24
GP
109252018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
10926
10927 * libgomp.texi (Top): Move www.openmp.org to https.
10928 (Enabling OpenMP): Ditto.
10929 (omp_get_active_level): Ditto.
10930 (omp_get_ancestor_thread_num): Ditto.
10931 (omp_get_cancellation): Ditto.
10932 (omp_get_default_device): Ditto.
10933 (omp_get_dynamic): Ditto.
10934 (omp_get_level): Ditto.
10935 (omp_get_max_active_levels): Ditto.
10936 (omp_get_max_task_priority): Ditto.
10937 (omp_get_max_threads): Ditto.
10938 (omp_get_nested): Ditto.
10939 (omp_get_num_devices): Ditto.
10940 (omp_get_num_procs): Ditto.
10941 (omp_get_num_teams): Ditto.
10942 (omp_get_num_threads): Ditto.
10943 (omp_get_proc_bind): Ditto.
10944 (omp_get_schedule): Ditto.
10945 (omp_get_team_num): Ditto.
10946 (omp_get_team_size): Ditto.
10947 (omp_get_thread_limit): Ditto.
10948 (omp_get_thread_num): Ditto.
10949 (omp_in_parallel): Ditto.
10950 (omp_in_final): Ditto.
10951 (omp_is_initial_device): Ditto.
10952 (omp_set_default_device): Ditto.
10953 (omp_set_dynamic): Ditto.
10954 (omp_set_max_active_levels): Ditto.
10955 (omp_set_nested): Ditto.
10956 (omp_set_num_threads): Ditto.
10957 (omp_set_schedule): Ditto.
10958 (omp_init_lock): Ditto.
10959 (omp_set_lock): Ditto.
10960 (omp_test_lock): Ditto.
10961 (omp_unset_lock): Ditto.
10962 (omp_destroy_lock): Ditto.
10963 (omp_init_nest_lock): Ditto.
10964 (omp_set_nest_lock): Ditto.
10965 (omp_test_nest_lock): Ditto.
10966 (omp_unset_nest_lock): Ditto.
10967 (omp_destroy_nest_lock): Ditto.
10968 (omp_get_wtick): Ditto.
10969 (omp_get_wtime): Ditto.
10970 (OMP_CANCELLATION): Ditto.
10971 (OMP_DISPLAY_ENV): Ditto.
10972 (OMP_DEFAULT_DEVICE): Ditto.
10973 (OMP_DYNAMIC): Ditto.
10974 (OMP_MAX_ACTIVE_LEVELS): Ditto.
10975 (OMP_MAX_TASK_PRIORITY): Ditto.
10976 (OMP_NESTED): Ditto.
10977 (OMP_NUM_THREADS): Ditto.
10978 (OMP_PROC_BIND): Ditto.
10979 (OMP_PLACES): Ditto.
10980 (OMP_STACKSIZE): Ditto.
10981 (OMP_SCHEDULE): Ditto.
10982 (OMP_THREAD_LIMIT): Ditto.
10983 (OMP_WAIT_POLICY): Ditto.
10984
31dd69b7
CP
109852018-06-22 Cesar Philippidis <cesar@codesourcery.com>
10986 James Norris <jnorris@codesourcery.com>
10987 Julian Brown <julian@codesourcery.com>
10988 Thomas Schwinge <thomas@codesourcery.com>
10989 Tom de Vries <tom@codesourcery.com>
10990
10991 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
10992 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
10993 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
10994 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
10995 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10996 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10997 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
10998 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
10999 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
11000 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
11001 Likewise.
11002 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
11003 Likewise.
11004 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
11005 Likewise.
11006 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
11007 Likewise.
11008 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
11009 Likewise.
11010 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
11011 Likewise.
11012 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
11013 Likewise.
11014 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
11015 Likewise.
11016 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
11017 Likewise.
11018 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
11019 Likewise.
11020 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
11021 Likewise.
11022 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
11023 Likewise.
11024 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
11025 Likewise.
11026 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
11027 Likewise.
11028 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
11029 Likewise.
11030 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
11031 Likewise.
11032 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
11033 Likewise.
11034 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
11035 Likewise.
11036 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
11037 Likewise.
11038 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
11039 Likewise.
11040 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
11041 Likewise.
11042 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
11043 Likewise.
11044 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
11045 Likewise.
11046 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
11047 Likewise.
11048 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
11049 Likewise.
11050 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
11051 Likewise.
11052 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
11053 Likewise.
11054 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
11055 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
11056 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
11057 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
11058 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
11059 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
11060 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
11061 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
11062 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
11063 Likewise.
11064 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
11065 Likewise.
11066 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
11067 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
11068 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
11069 Likewise.
11070 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
11071 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
11072 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
11073 Likewise.
11074 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
11075 Likewise.
11076 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
11077 Likewise.
11078 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
11079 Likewise.
11080 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
11081 Likewise.
11082 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
11083 Likewise.
11084 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
11085 Likewise.
11086 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
11087 Likewise.
11088 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
11089 Likewise.
11090 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
11091 Likewise.
11092 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
11093 Likewise.
11094 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
11095 Likewise.
11096 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
11097 Likewise.
11098 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
11099 Likewise.
11100 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
11101 Likewise.
11102 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11103 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
11104 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
11105 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
11106 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
11107 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
11108 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
11109
829c6349
CLT
111102018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
11111 Thomas Schwinge <thomas@codesourcery.com>
11112 Cesar Philippidis <cesar@codesourcery.com>
11113
11114 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
11115 (gomp_acc_remove_pointer): Update declaration.
11116 (gomp_acc_declare_allocate): Declare.
11117 (gomp_remove_var): Declare.
11118 * libgomp.map (OACC_2.5): Define.
11119 * oacc-mem.c (acc_map_data): Update refcount.
11120 (acc_unmap_data): Likewise.
11121 (present_create_copy): Likewise.
11122 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
11123 (acc_copyin): Likewise.
11124 (FLAG_FINALIZE): Define.
11125 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
11126 (acc_delete_finalize): New function.
11127 (acc_delete_finalize_async): New function.
11128 (acc_copyout_finalize): New function.
11129 (acc_copyout_finalize_async): New function.
11130 (gomp_acc_insert_pointer): Update refcounts.
11131 (gomp_acc_remove_pointer): Return if data is not present on the
11132 accelerator.
11133 * oacc-parallel.c (find_pset): Rename to find_pointer.
11134 (find_pointer): Add support for GOMP_MAP_POINTER.
11135 (handle_ftn_pointers): New function.
11136 (GOACC_parallel_keyed): Update refcounts of variables.
11137 (GOACC_enter_exit_data): Add support for finalized data mappings.
11138 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
11139 of fortran arrays.
11140 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
11141 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
11142 for GOMP_MAP_FORCE_FROM.
11143 * openacc.f90 (module openacc_internal): Add
11144 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
11145 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
11146 acc_copyout_finalize and acc_delete_finalize.
11147 (acc_copyout_finalize_32_h): New subroutine.
11148 (acc_copyout_finalize_64_h): New subroutine.
11149 (acc_copyout_finalize_array_h): New subroutine.
11150 (acc_delete_finalize_32_h): New subroutine.
11151 (acc_delete_finalize_64_h): New subroutine.
11152 (acc_delete_finalize_array_h): New subroutine.
11153 * openacc.h (acc_copyout_finalize): Declare.
11154 (acc_copyout_finalize_async): Declare.
11155 (acc_delete_finalize): Declare.
11156 (acc_delete_finalize_async): Declare.
11157 * openacc_lib.h (acc_copyout_finalize): New interface.
11158 (acc_delete_finalize): New interface.
11159 * target.c (gomp_map_vars): Update dynamic_refcount.
11160 (gomp_remove_var): New function.
11161 (gomp_unmap_vars): Use it.
11162 (gomp_unload_image_from_device): Likewise.
11163 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
11164 case to utilize OpenACC 2.5 data clause semantics.
11165 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11166 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11167 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11168 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11169 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11170 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11171 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11172 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11173 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11174 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
11175 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
11176 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
11177 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
11178 utilize OpenACC 2.5 data clause semantics.
11179 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11180 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11181 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11182 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11183 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11184 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11185 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11186 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11187 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11188
4358400b
JW
111892018-05-21 Janus Weil <janus@gcc.gnu.org>
11190
11191 PR fortran/85841
11192 PR testsuite/85865
11193 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
11194 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
11195 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
11196 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
11197 * testsuite/libgomp.fortran/task2.f90: Ditto.
11198 * testsuite/libgomp.fortran/vla1.f90: Ditto.
11199 * testsuite/libgomp.fortran/vla2.f90: Ditto.
11200 * testsuite/libgomp.fortran/vla3.f90: Ditto.
11201 * testsuite/libgomp.fortran/vla4.f90: Ditto.
11202 * testsuite/libgomp.fortran/vla5.f90: Ditto.
11203 * testsuite/libgomp.fortran/vla6.f90: Ditto.
11204 * testsuite/libgomp.fortran/vla8.f90: Ditto.
11205 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
11206 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
11207
950ad0ba
CP
112082018-05-18 Cesar Philippidis <cesar@codesourcery.com>
11209
11210 PR c++/85782
11211 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
11212
f5ad16f1
TV
112132018-05-09 Tom de Vries <tom@codesourcery.com>
11214
11215 PR libgomp/82901
11216 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
11217 to GOACC_enter_exit_data.
11218
edbd038a
TV
112192018-05-09 Tom de Vries <tom@codesourcery.com>
11220
11221 PR libgomp/83792
11222 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
11223 (async_synchronous_p): New function.
11224 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
11225 async_valid_p.
11226 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
11227 async_valid_stream_id_p.
11228 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
11229 * oacc-parallel.c (GOACC_parallel_keyed): Same.
11230
37d6c719
TV
112312018-05-07 Tom de Vries <tom@codesourcery.com>
11232
11233 PR testsuite/85677
11234 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
11235 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
11236
63f12215
TV
112372018-05-03 Tom de Vries <tom@codesourcery.com>
11238
11239 PR testsuite/85106
11240 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
11241 extra_tool_flags if it contains an -foffload=-fdump-* flag.
11242 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
11243 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
11244
ec00d3fa
TV
112452018-05-02 Tom de Vries <tom@codesourcery.com>
11246
11247 PR libgomp/85411
11248 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
11249 GOMP_OPENACC_DIM ...
11250 * env.c (parse_gomp_openacc_dim): ... here. New function.
11251 (initialize_env): Call parse_gomp_openacc_dim.
11252 (goacc_default_dims): Define.
11253 * libgomp.h (goacc_default_dims): Declare.
11254 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
11255 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
11256 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
11257 GOMP_PLUGIN_acc_default_dim.
11258 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
11259 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
11260
92243e7c
TV
112612018-05-02 Tom de Vries <tom@codesourcery.com>
11262
11263 PR testsuite/83791
11264 * testsuite/libgomp.c++/udr-9.C: Update.
11265 * testsuite/libgomp.c++/atomic-16.C: Remove.
11266 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
11267 * testsuite/libgomp.c++/loop-13.C: Remove.
11268 * testsuite/libgomp.c++/loop-14.C: Remove.
11269 * testsuite/libgomp.c++/loop-15.C: Remove.
11270 * testsuite/libgomp.c++/monotonic-1.C: Remove.
11271 * testsuite/libgomp.c++/monotonic-2.C: Remove.
11272 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
11273 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
11274 * testsuite/libgomp.c++/ordered-1.C: Remove.
11275 * testsuite/libgomp.c++/pr45784.C: Remove.
11276 * testsuite/libgomp.c++/pr64824.C: Remove.
11277 * testsuite/libgomp.c++/pr64868.C: Remove.
11278 * testsuite/libgomp.c++/pr66199-1.C: Remove.
11279 * testsuite/libgomp.c++/pr66199-2.C: Remove.
11280 * testsuite/libgomp.c++/pr66199-3.C: Remove.
11281 * testsuite/libgomp.c++/pr66199-4.C: Remove.
11282 * testsuite/libgomp.c++/pr66199-5.C: Remove.
11283 * testsuite/libgomp.c++/pr66199-6.C: Remove.
11284 * testsuite/libgomp.c++/pr66199-7.C: Remove.
11285 * testsuite/libgomp.c++/pr66199-8.C: Remove.
11286 * testsuite/libgomp.c++/pr66199-9.C: Remove.
11287 * testsuite/libgomp.c++/pr69389.C: Remove.
11288 * testsuite/libgomp.c++/simd10.C: Remove.
11289 * testsuite/libgomp.c++/simd11.C: Remove.
11290 * testsuite/libgomp.c++/simd12.C: Remove.
11291 * testsuite/libgomp.c++/simd13.C: Remove.
11292 * testsuite/libgomp.c++/target-1.C: Remove.
11293 * testsuite/libgomp.c++/target-3.C: Remove.
11294 * testsuite/libgomp.c++/target-4.C: Remove.
11295 * testsuite/libgomp.c++/target-5.C: Remove.
11296 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
11297 * testsuite/libgomp.c++/taskloop-1.C: Remove.
11298 * testsuite/libgomp.c++/taskloop-2.C: Remove.
11299 * testsuite/libgomp.c++/taskloop-3.C: Remove.
11300 * testsuite/libgomp.c++/taskloop-4.C: Remove.
11301 * testsuite/libgomp.c++/udr-9.C: Remove.
11302 * testsuite/libgomp.c++/for-10.C: Remove.
11303 * testsuite/libgomp.c++/for-11.C: Remove.
11304 * testsuite/libgomp.c++/for-12.C: Remove.
11305 * testsuite/libgomp.c++/for-13.C: Remove.
11306 * testsuite/libgomp.c++/for-14.C: Remove.
11307 * testsuite/libgomp.c++/for-9.C: Remove.
11308 * testsuite/libgomp.c/atomic-18.c: Move ...
11309 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
11310 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
11311 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
11312 * testsuite/libgomp.c/loop-13.c: Move ...
11313 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
11314 * testsuite/libgomp.c/loop-14.c: Move ...
11315 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
11316 * testsuite/libgomp.c/loop-15.c: Remove.
11317 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
11318 * testsuite/libgomp.c/monotonic-1.c: Move ...
11319 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
11320 * testsuite/libgomp.c/monotonic-2.c: Move ...
11321 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
11322 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
11323 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
11324 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
11325 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
11326 * testsuite/libgomp.c/ordered-4.c: Move ...
11327 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
11328 * testsuite/libgomp.c/pr45784.c: Move ...
11329 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
11330 * testsuite/libgomp.c/pr64824.c: Move ...
11331 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
11332 * testsuite/libgomp.c/pr64868.c: Move ...
11333 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
11334 * testsuite/libgomp.c/pr66199-1.c: Move ...
11335 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
11336 * testsuite/libgomp.c/pr66199-2.c: Move ...
11337 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
11338 * testsuite/libgomp.c/pr66199-3.c: Move ...
11339 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
11340 * testsuite/libgomp.c/pr66199-4.c: Move ...
11341 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
11342 * testsuite/libgomp.c/pr66199-5.c: Move ...
11343 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
11344 * testsuite/libgomp.c/pr66199-6.c: Move ...
11345 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
11346 * testsuite/libgomp.c/pr66199-7.c: Move ...
11347 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
11348 * testsuite/libgomp.c/pr66199-8.c: Move ...
11349 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
11350 * testsuite/libgomp.c/pr66199-9.c: Move ...
11351 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
11352 * testsuite/libgomp.c/pr69389.c: Move ...
11353 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
11354 * testsuite/libgomp.c/simd-14.c: Move ...
11355 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
11356 * testsuite/libgomp.c/simd-15.c: Move ...
11357 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
11358 * testsuite/libgomp.c/simd-16.c: Move ...
11359 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
11360 * testsuite/libgomp.c/simd-17.c: Move ...
11361 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
11362 * testsuite/libgomp.c/target-1.c: Move ...
11363 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
11364 * testsuite/libgomp.c/target-10.c: Move ...
11365 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
11366 * testsuite/libgomp.c/target-13.c: Move ...
11367 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
11368 * testsuite/libgomp.c/target-2.c: Move ...
11369 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
11370 * testsuite/libgomp.c/taskgroup-1.c: Move ...
11371 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
11372 * testsuite/libgomp.c/taskloop-1.c: Move ...
11373 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
11374 * testsuite/libgomp.c/taskloop-2.c: Move ...
11375 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
11376 * testsuite/libgomp.c/taskloop-3.c: Move ...
11377 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
11378 * testsuite/libgomp.c/taskloop-4.c: Move ...
11379 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
11380 * testsuite/libgomp.c/udr-1.c: Move ...
11381 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
11382 * testsuite/libgomp.c/for-1.c: Move ...
11383 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
11384 * testsuite/libgomp.c/for-1.h: Move ...
11385 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
11386 * testsuite/libgomp.c/for-2.c: Move ...
11387 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
11388 * testsuite/libgomp.c/for-2.h: Move ...
11389 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
11390 * testsuite/libgomp.c/for-3.c: Move ...
11391 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
11392 * testsuite/libgomp.c/for-4.c: Move ...
11393 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
11394 * testsuite/libgomp.c/for-5.c: Move ...
11395 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
11396 * testsuite/libgomp.c/for-6.c: Move ...
11397 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
11398
1f62d637
TV
113992018-05-02 Tom de Vries <tom@codesourcery.com>
11400
11401 PR libgomp/82428
11402 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
11403 __builtin_goacc_parlevel_{id,size}.
11404 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
11405 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
11406 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
11407 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
11408 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
11409 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
11410 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
11411 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
11412 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
11413 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
11414 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
11415 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
11416 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
11417 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
11418 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
11419 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
11420 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
11421 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
11422 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
11423 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
11424 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
11425 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
11426 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
11427
9220b511
TV
114282018-05-02 Tom de Vries <tom@codesourcery.com>
11429
11430 PR testsuite/85106
11431 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
11432
6c3c13c1
TV
114332018-05-02 Tom de Vries <tom@codesourcery.com>
11434
11435 PR testsuite/85106
11436 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
11437
8d70b61e
JB
114382018-04-29 Julian Brown <julian@codesourcery.com>
11439 Tom de Vries <tom@codesourcery.com>
11440
11441 PR testsuite/85527
11442 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
11443 arbitrary order for iterations of atomic subtract check.
11444
4a57a4b6
TV
114452018-04-28 Tom de Vries <tom@codesourcery.com>
11446
11447 PR testsuite/85527
11448 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
11449 atomic capture results obtained in parallel loop to an array, instead of
11450 to a scalar.
11451
df36a3d3
TV
114522018-04-26 Tom de Vries <tom@codesourcery.com>
11453
11454 PR libgomp/84020
11455 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
11456 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
11457 (process_GOMP_NVPTX_JIT): New function.
11458 (link_ptx): Use process_GOMP_NVPTX_JIT.
11459
d160ae78
RB
114602018-04-26 Richard Biener <rguenther@suse.de>
11461 Tom de Vries <tom@codesourcery.com>
11462
11463 PR lto/85422
11464 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
11465
ca9dc642
TV
114662018-04-26 Tom de Vries <tom@codesourcery.com>
11467
11468 PR target/85519
11469 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
11470 recursion depth from 25 to 23.
11471 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
11472
7b47ecf2
L
114732018-04-24 H.J. Lu <hongjiu.lu@intel.com>
11474
11475 * configure: Regenerated.
11476
e91eba31
NS
114772018-04-20 Nathan Sidwell <nathan@codesourcery.com>
11478 Tom de Vries <tom@codesourcery.com>
11479
11480 PR target/85445
11481 * testsuite/libgomp.oacc-c++/ref-1.C: New.
11482
6e0d40b6
TS
114832018-04-19 Thomas Schwinge <thomas@codesourcery.com>
11484
11485 PR libgomp/85463
11486 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
11487 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
11488 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
11489 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
11490 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
11491 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
11492
11493 PR libfortran/85166
11494 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
11495 abort".
11496 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11497
a0e1df88
JJ
114982018-04-19 Jakub Jelinek <jakub@redhat.com>
11499
11500 * configure: Regenerated.
11501
001ddaa8
DM
115022018-04-18 David Malcolm <dmalcolm@redhat.com>
11503
11504 PR jit/85384
11505 * configure: Regenerate.
11506
05e0af43
CP
115072018-04-16 Cesar Philippidis <cesar@codesourcery.com>
11508 Tom de Vries <tom@codesourcery.com>
11509
11510 PR middle-end/84955
11511 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11512 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11513
bc436e10
TK
115142018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
11515
11516 PR fortran/83064
11517 PR testsuite/85346
11518 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
11519 test from gfortran.dg to here.
11520
ffb164c7
JJ
115212018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11522
11523 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
11524 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
11525
115262018-04-12 Cesar Philippidis <cesar@codesourcery.com>
11527
11528 PR middle-end/84955
11529 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
11530 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
11531
2ba16fd2
TV
115322018-04-05 Tom de Vries <tom@codesourcery.com>
11533
11534 PR target/85204
11535 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
11536
46dbeb40
TV
115372018-03-26 Tom de Vries <tom@codesourcery.com>
11538
11539 PR tree-optimization/85063
11540 * testsuite/libgomp.c/switch-conversion-2.c: New test.
11541 * testsuite/libgomp.c/switch-conversion.c: New test.
11542 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
11543 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
11544
bfc24e32
TK
115452018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
11546
11547 PR fortran/84381
11548 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
11549 call abort by STOP n.
11550 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
11551 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
11552 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
11553 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
11554 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
11555 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
11556 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
11557 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
11558 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
11559 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
11560 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
11561 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
11562 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
11563 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
11564 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
11565 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
11566 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
11567 * testsuite/libgomp.fortran/associate1.f90: Likewise.
11568 * testsuite/libgomp.fortran/associate2.f90: Likewise.
11569 * testsuite/libgomp.fortran/associate3.f90: Likewise.
11570 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
11571 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
11572 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
11573 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
11574 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
11575 * testsuite/libgomp.fortran/character1.f90: Likewise.
11576 * testsuite/libgomp.fortran/character2.f90: Likewise.
11577 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
11578 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
11579 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
11580 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
11581 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
11582 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
11583 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
11584 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
11585 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
11586 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
11587 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
11588 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
11589 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
11590 * testsuite/libgomp.fortran/do1.f90: Likewise.
11591 * testsuite/libgomp.fortran/do2.f90: Likewise.
11592 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
11593 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
11594 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
11595 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
11596 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
11597 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
11598 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
11599 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
11600 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
11601 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
11602 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
11603 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
11604 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
11605 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
11606 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
11607 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
11608 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
11609 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
11610 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
11611 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
11612 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
11613 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
11614 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
11615 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
11616 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
11617 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
11618 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
11619 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
11620 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
11621 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
11622 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
11623 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
11624 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
11625 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
11626 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
11627 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
11628 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
11629 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
11630 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
11631 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
11632 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
11633 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
11634 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
11635 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
11636 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
11637 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
11638 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
11639 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
11640 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
11641 * testsuite/libgomp.fortran/lib1.f90: Likewise.
11642 * testsuite/libgomp.fortran/lib2.f: Likewise.
11643 * testsuite/libgomp.fortran/lib3.f: Likewise.
11644 * testsuite/libgomp.fortran/lib4.f90: Likewise.
11645 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
11646 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
11647 * testsuite/libgomp.fortran/nested1.f90: Likewise.
11648 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
11649 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
11650 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
11651 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
11652 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
11653 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
11654 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
11655 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
11656 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
11657 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
11658 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
11659 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
11660 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
11661 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
11662 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
11663 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
11664 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
11665 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
11666 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
11667 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11668 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
11669 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
11670 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
11671 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
11672 * testsuite/libgomp.fortran/pr25162.f: Likewise.
11673 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
11674 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
11675 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
11676 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
11677 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
11678 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
11679 * testsuite/libgomp.fortran/pr28390.f: Likewise.
11680 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
11681 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
11682 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
11683 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
11684 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
11685 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
11686 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
11687 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
11688 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
11689 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
11690 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
11691 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
11692 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
11693 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
11694 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
11695 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
11696 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
11697 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
11698 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
11699 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
11700 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
11701 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
11702 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
11703 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
11704 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
11705 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11706 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
11707 * testsuite/libgomp.fortran/reference1.f90: Likewise.
11708 * testsuite/libgomp.fortran/reference2.f90: Likewise.
11709 * testsuite/libgomp.fortran/retval1.f90: Likewise.
11710 * testsuite/libgomp.fortran/retval2.f90: Likewise.
11711 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
11712 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
11713 * testsuite/libgomp.fortran/simd1.f90: Likewise.
11714 * testsuite/libgomp.fortran/simd2.f90: Likewise.
11715 * testsuite/libgomp.fortran/simd3.f90: Likewise.
11716 * testsuite/libgomp.fortran/simd4.f90: Likewise.
11717 * testsuite/libgomp.fortran/simd5.f90: Likewise.
11718 * testsuite/libgomp.fortran/simd6.f90: Likewise.
11719 * testsuite/libgomp.fortran/simd7.f90: Likewise.
11720 * testsuite/libgomp.fortran/stack.f90: Likewise.
11721 * testsuite/libgomp.fortran/strassen.f90: Likewise.
11722 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
11723 * testsuite/libgomp.fortran/tabs2.f: Likewise.
11724 * testsuite/libgomp.fortran/target1.f90: Likewise.
11725 * testsuite/libgomp.fortran/target2.f90: Likewise.
11726 * testsuite/libgomp.fortran/target3.f90: Likewise.
11727 * testsuite/libgomp.fortran/target4.f90: Likewise.
11728 * testsuite/libgomp.fortran/target5.f90: Likewise.
11729 * testsuite/libgomp.fortran/target6.f90: Likewise.
11730 * testsuite/libgomp.fortran/target7.f90: Likewise.
11731 * testsuite/libgomp.fortran/target8.f90: Likewise.
11732 * testsuite/libgomp.fortran/task1.f90: Likewise.
11733 * testsuite/libgomp.fortran/task2.f90: Likewise.
11734 * testsuite/libgomp.fortran/task3.f90: Likewise.
11735 * testsuite/libgomp.fortran/task4.f90: Likewise.
11736 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
11737 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
11738 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
11739 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
11740 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
11741 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11742 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11743 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11744 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
11745 * testsuite/libgomp.fortran/udr1.f90: Likewise.
11746 * testsuite/libgomp.fortran/udr10.f90: Likewise.
11747 * testsuite/libgomp.fortran/udr11.f90: Likewise.
11748 * testsuite/libgomp.fortran/udr12.f90: Likewise.
11749 * testsuite/libgomp.fortran/udr13.f90: Likewise.
11750 * testsuite/libgomp.fortran/udr14.f90: Likewise.
11751 * testsuite/libgomp.fortran/udr15.f90: Likewise.
11752 * testsuite/libgomp.fortran/udr2.f90: Likewise.
11753 * testsuite/libgomp.fortran/udr3.f90: Likewise.
11754 * testsuite/libgomp.fortran/udr4.f90: Likewise.
11755 * testsuite/libgomp.fortran/udr5.f90: Likewise.
11756 * testsuite/libgomp.fortran/udr6.f90: Likewise.
11757 * testsuite/libgomp.fortran/udr7.f90: Likewise.
11758 * testsuite/libgomp.fortran/udr8.f90: Likewise.
11759 * testsuite/libgomp.fortran/udr9.f90: Likewise.
11760 * testsuite/libgomp.fortran/vla1.f90: Likewise.
11761 * testsuite/libgomp.fortran/vla2.f90: Likewise.
11762 * testsuite/libgomp.fortran/vla3.f90: Likewise.
11763 * testsuite/libgomp.fortran/vla4.f90: Likewise.
11764 * testsuite/libgomp.fortran/vla5.f90: Likewise.
11765 * testsuite/libgomp.fortran/vla6.f90: Likewise.
11766 * testsuite/libgomp.fortran/vla7.f90: Likewise.
11767 * testsuite/libgomp.fortran/vla8.f90: Likewise.
11768 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
11769 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
11770 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11771 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
11772 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11773 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11774 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11775 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
11776 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
11777 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
11778 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
11779 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
11780 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
11781 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
11782 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
11783 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
11784 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
11785 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
11786 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
11787 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
11788 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
11789 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
11790 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
11791 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
11792 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
11793 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
11794 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
11795 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
11796 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11797 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
11798 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
11799 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11800 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11801 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11802 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11803 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11804 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
11805 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
11806 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
11807 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
11808 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
11809 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11810 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
11811 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
11812 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
11813 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
11814 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
11815 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
11816 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
11817 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
11818 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
11819 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
11820 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
11821 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11822 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
11823 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
11824 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
11825 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
11826 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
11827 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
11828 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11829 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11830 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11831 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11832 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
11833 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
11834 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
11835 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11836 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
11837 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
11838 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
11839 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
11840 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
11841 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
11842 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
11843 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
11844 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
11845 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
11846 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
11847 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
11848 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
11849 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
11850 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
11851 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
11852 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
11853 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
11854 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
11855 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
11856 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
11857 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
11858 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
11859 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
11860 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
11861 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
11862
79cf14ae
RB
118632018-03-20 Richard Biener <rguenther@suse.de>
11864
11865 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
11866 parallelizable loop.
11867
14e335ed
IT
118682018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11869
11870 PR target/84148
11871 * configure: Regenerate.
11872
83d9be55
JJ
118732018-02-16 Jakub Jelinek <jakub@redhat.com>
11874
11875 PR fortran/84418
11876 * libgomp.fortran/pr84418-1.f90: New test.
11877 * libgomp.fortran/pr84418-2.f90: New test.
11878
d1fe6124
JJ
118792018-02-14 Jakub Jelinek <jakub@redhat.com>
11880
11881 PR fortran/84313
11882 * testsuite/libgomp.fortran/threadprivate4.f90: Add
11883 -std=f2003 -fall-intrinsics into dg-additional-options.
11884
3d224921
MJ
118852018-02-08 Martin Jambor <mjambor@suse.cz>
11886
11887 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
11888 clonable.
11889
c7c30edd
MJ
118902018-02-08 Martin Jambor <mjambor@suse.cz>
11891
11892 * testsuite/libgomp.hsa.c/staticvar.c: New test.
11893
f320fdfd
RO
118942018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11895
11896 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
11897 [__cplusplus]: Declare extern "C".
11898
c31bc4ac
TV
118992018-02-07 Tom de Vries <tom@codesourcery.com>
11900
11901 PR libgomp/84217
11902 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
11903
99ae7ce5
CS
119042018-01-29 Christoph Spiel <cspiel@freenet.de>
11905 Jakub Jelinek <jakub@redhat.com>
11906
11907 PR libgomp/84096
11908 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
11909 instead of omp_lock_t.
11910
e77a1236
TV
119112018-01-25 Tom de Vries <tom@codesourcery.com>
11912
11913 PR target/84028
11914 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
11915
3dede32b
TV
119162018-01-24 Tom de Vries <tom@codesourcery.com>
11917
11918 PR target/83589
11919 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
11920
be606483
TV
119212018-01-24 Tom de Vries <tom@codesourcery.com>
11922
11923 PR target/81352
11924 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
11925
8c8e9a6b
TV
119262018-01-19 Tom de Vries <tom@codesourcery.com>
11927 Cesar Philippidis <cesar@codesourcery.com>
11928
11929 PR target/83920
11930 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
11931 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
11932
65e6aea3
JJ
119332018-01-03 Jakub Jelinek <jakub@redhat.com>
11934
85ec4feb
JJ
11935 Update copyright years.
11936
65e6aea3
JJ
11937 * libgomp.texi: Bump @copying's copyright year.
11938
60bf575c
TV
119392017-12-30 Tom de Vries <tom@codesourcery.com>
11940
11941 PR libgomp/83046
11942 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
11943 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
11944
7ec16b79
TV
119452017-12-27 Tom de Vries <tom@codesourcery.com>
11946
11947 PR c++/83046
11948 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
11949 (test_nonstatic): Fix return type to workaround PR83046.
11950
ac550b9a
JJ
119512017-12-05 Jakub Jelinek <jakub@redhat.com>
11952
11953 PR testsuite/83281
11954 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
11955 j suffix instead of i.
11956 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
11957 Likewise.
11958
ebdc83f0
CP
119592017-12-01 Cesar Philippidis <cesar@codesourcery.com>
11960
11961 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
11962 call to acc_wait (1).
11963
3b3e6283
JJ
119642017-11-24 Jakub Jelinek <jakub@redhat.com>
11965
11966 PR fortran/81304
11967 * testsuite/libgomp.fortran/pr81304.f90: New test.
11968
3b575376
JJ
119692017-11-23 Jakub Jelinek <jakub@redhat.com>
11970
11971 PR fortran/81841
11972 * libgomp.fortran/pr81841.f90: New test.
11973
b13547d8
JJ
119742017-11-22 Jakub Jelinek <jakub@redhat.com>
11975
11976 PR libgomp/83106
11977 * target.c (gomp_target_init): Compute lengths just once and
11978 use them in both malloc size and subsequent copying.
11979
efe33ced
IT
119802017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11981
11982 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
11983 * acinclude.m4: Add cet.m4.
11984 * configure: Regenerate.
11985 * Makefile.in: Likewise.
11986 * testsuite/Makefile.in: Likewise.
11987
a7cf2612
TV
119882017-11-15 Tom de Vries <tom@codesourcery.com>
11989
11990 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
11991 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
11992 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
11993 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
11994 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
11995 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
11996
dde76623
TV
119972017-11-14 Tom de Vries <tom@codesourcery.com>
11998
11999 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
12000 non-nvidia devices.
12001
4dbeb716
JJ
120022017-11-07 Jakub Jelinek <jakub@redhat.com>
12003
12004 PR c++/82835
12005 * testsuite/libgomp.c++/pr82835.C: New test.
12006
454f8b2b
ML
120072017-11-06 Martin Liska <mliska@suse.cz>
12008
12009 * testsuite/libgomp.c++/loop-2.C: Return a value
12010 for functions with non-void return type, or change type to void,
12011 or add -Wno-return-type for test.
12012 * testsuite/libgomp.c++/loop-4.C: Likewise.
12013 * testsuite/libgomp.c++/parallel-1.C: Likewise.
12014 * testsuite/libgomp.c++/shared-1.C: Likewise.
12015 * testsuite/libgomp.c++/single-1.C: Likewise.
12016 * testsuite/libgomp.c++/single-2.C: Likewise.
12017
12e9c8ce
TV
120182017-10-31 Tom de Vries <tom@codesourcery.com>
12019
12020 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
12021 "do {} while (false)".
12022 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
12023 after HSA_DEBUG call.
12024
7324369a
JJ
120252017-10-28 Jakub Jelinek <jakub@redhat.com>
12026
12027 * target.c (struct gomp_coalesce_buf): New type.
12028 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
12029 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
12030 (gomp_copy_host2dev): Add CBUF argument, if copying into
12031 the cached ranges, memcpy into buffer instead of copying
12032 into device.
12033 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
12034 Add CBUF argument, pass it through to other calls.
12035 (gomp_map_vars): Aggregate copies from host to device if small enough
12036 and with small enough gaps in between into memcpy into a buffer and
12037 fewer host to device copies from the buffer.
12038 (gomp_update): Adjust gomp_copy_host2dev caller.
12039
933ab0e6
TS
120402017-10-17 Thomas Schwinge <thomas@codesourcery.com>
12041
12042 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
12043 run" directive.
12044 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12045 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12046 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12047 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12048
92d5d01a
TV
120492017-10-16 Tom de Vries <tom@codesourcery.com>
12050
12051 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
12052 openacc_nvidia_accel_selected.
12053 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
12054 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
12055 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
12056 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
12057 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
12058 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
12059 openacc_nvidia_accel_selected. Skip for shared memory device.
12060 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
12061 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
12062
191411e4
MJ
120632017-10-09 Martin Jambor <mjambor@suse.cz>
12064
12065 PR hsa/82416
12066 * testsuite/libgomp.hsa.c/pr82416.c: New test.
12067
e923330e
TV
120682017-10-07 Tom de Vries <tom@codesourcery.com>
12069
12070 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
12071 Remove acc_device_nvidia references.
12072 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
12073 Same.
12074
8fe3ed4c
TV
120752017-10-05 Tom de Vries <tom@codesourcery.com>
12076
12077 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
12078 vector_length(32) clause from acc parallel directive.
12079 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
12080
26596ee5
TV
120812017-10-04 Tom de Vries <tom@codesourcery.com>
12082
12083 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
12084 (main): Reduce sum of arr elements. Assert that hres is exactly
12085 representable in 32-bit floating point.
12086 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
12087 (main): Reduce sum of arr elements. Assert that hres and hmres are
12088 exactly representable in 32-bit floating point.
12089 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
12090
5c561fa9
TV
120912017-09-28 Tom de Vries <tom@codesourcery.com>
12092
12093 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
12094 setting.
12095 * testsuite/libgomp.c++/pr69393.C: Same.
12096 * testsuite/libgomp.c++/taskloop-1.C: Same.
12097 * testsuite/libgomp.c++/taskloop-3.C: Same.
12098 * testsuite/libgomp.c++/taskloop-4.C: Same.
12099 * testsuite/libgomp.c/for-4.c: Same.
12100 * testsuite/libgomp.c/pr66199-3.c: Same.
12101 * testsuite/libgomp.c/pr66199-4.c: Same.
12102 * testsuite/libgomp.c/pr66199-6.c: Same.
12103 * testsuite/libgomp.c/taskloop-1.c: Same.
12104 * testsuite/libgomp.c/taskloop-3.c: Same.
12105 * testsuite/libgomp.c/taskloop-4.c: Same.
12106 * testsuite/libgomp.fortran/aligned1.f03: Same.
12107 * testsuite/libgomp.fortran/condinc1.f: Same.
12108 * testsuite/libgomp.fortran/condinc3.f90: Same.
12109 * testsuite/libgomp.fortran/crayptr1.f90: Same.
12110 * testsuite/libgomp.fortran/crayptr2.f90: Same.
12111 * testsuite/libgomp.fortran/crayptr3.f90: Same.
12112 * testsuite/libgomp.fortran/omp_cond1.f: Same.
12113 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
12114 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
12115 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
12116 * testsuite/libgomp.fortran/recursion1.f90: Same.
12117 * testsuite/libgomp.fortran/target2.f90: Same.
12118 * testsuite/libgomp.fortran/target5.f90: Same.
12119 * testsuite/libgomp.fortran/task3.f90: Same.
12120
7d6206fe
TV
121212017-09-28 Tom de Vries <tom@codesourcery.com>
12122
12123 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
12124 vector_length(32) clause from acc parallel directive.
12125 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
12126
84c8627c
TV
121272017-09-27 Tom de Vries <tom@codesourcery.com>
12128
12129 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
12130 Remove acc_device_nvidia references.
12131
ebc6a85e
TV
121322017-09-16 Tom de Vries <tom@codesourcery.com>
12133
12134 PR c/81875
12135 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
12136
82419efb
TV
121372017-09-14 Tom de Vries <tom@codesourcery.com>
12138
12139 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
12140 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
12141 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
12142 * testsuite/libgomp.c/c.exp: Include test-cases from
12143 libgomp.c-c++-common.
12144 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
12145 files.
12146
8b586510
JJ
121472017-09-14 Jakub Jelinek <jakub@redhat.com>
12148
12149 PR c++/81314
12150 * testsuite/libgomp.c++/pr81314.C: New test.
12151
9651fbaf
GP
121522017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
12153
12154 * libgomp.texi (Top): www.openacc.org now uses https.
12155 (Enabling OpenACC): Ditto.
12156 (acc_get_num_devices): Ditto.
12157 (acc_set_device_type): Ditto.
12158 (acc_get_device_type): Ditto.
12159 (acc_set_device_num): Ditto.
12160 (acc_get_device_num): Ditto.
12161 (acc_async_test): Ditto.
12162 (acc_async_test_all): Ditto.
12163 (acc_wait): Ditto.
12164 (acc_wait_all): Ditto.
12165 (acc_wait_all_async): Ditto.
12166 (acc_wait_async): Ditto.
12167 (acc_init): Ditto.
12168 (acc_shutdown): Ditto.
12169 (acc_on_device): Ditto.
12170 (acc_malloc): Ditto.
12171 (acc_free): Ditto.
12172 (acc_copyin): Ditto.
12173 (acc_present_or_copyin): Ditto.
12174 (acc_create): Ditto.
12175 (acc_present_or_create): Ditto.
12176 (acc_copyout): Ditto.
12177 (acc_delete): Ditto.
12178 (acc_update_device): Ditto.
12179 (acc_update_self): Ditto.
12180 (acc_map_data): Ditto.
12181 (acc_unmap_data): Ditto.
12182 (acc_deviceptr): Ditto.
12183 (acc_hostptr): Ditto.
12184 (acc_is_present): Ditto.
12185 (acc_memcpy_to_device): Ditto.
12186 (acc_memcpy_from_device): Ditto.
12187 (acc_get_current_cuda_device): Ditto.
12188 (acc_get_current_cuda_context): Ditto.
12189 (acc_get_cuda_stream): Ditto.
12190 (acc_set_cuda_stream): Ditto.
12191 (ACC_DEVICE_TYPE): Ditto.
12192 (ACC_DEVICE_NUM): Ditto.
12193 (OpenACC Library Interoperability): Ditto.
12194
50aa16c3
JJ
121952017-08-09 Jakub Jelinek <jakub@redhat.com>
12196
12197 PR c/81687
12198 * testsuite/libgomp.c/pr81687-1.c: New test.
12199 * testsuite/libgomp.c/pr81687-2.c: New test.
12200
56b5041c
JJ
122012017-08-07 Jakub Jelinek <jakub@redhat.com>
12202
12203 PR c/69389
12204 * testsuite/libgomp.c/pr69389.c: New test.
12205 * testsuite/libgomp.c++/pr69389.C: New test.
12206
f4c222c0
TV
122072017-08-07 Tom de Vries <tom@codesourcery.com>
12208
12209 PR middle-end/78266
12210 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
12211 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
12212
a40ff0ae
JJ
122132017-07-27 Jakub Jelinek <jakub@redhat.com>
12214
12215 PR c/45784
12216 * testsuite/libgomp.c/pr45784.c: New test.
12217 * testsuite/libgomp.c++/pr45784.C: New test.
12218
3717fbe3
TV
122192017-07-19 Tom de Vries <tom@codesourcery.com>
12220
12221 * testsuite/libgomp.oacc-c/vec.c: New test.
12222
9607b014
TV
122232017-07-03 Tom de Vries <tom@codesourcery.com>
12224
12225 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
12226
dfb15f6b
TV
122272017-06-27 Tom de Vries <tom@codesourcery.com>
12228
12229 * plugin/plugin-nvptx.c (notify_var): New function.
12230 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
12231
22f1a037
TV
122322017-06-27 Tom de Vries <tom@codesourcery.com>
12233
12234 * env.c (parse_unsigned_long_1): Factor out of ...
12235 (parse_unsigned_long): ... here.
12236 (parse_int_1): Factor out of ...
12237 (parse_int): ... here.
12238 (parse_int_secure): New function.
12239 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
12240 * secure_getenv.h: Factor out of ...
12241 * plugin/plugin-hsa.c: ... here.
12242 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
12243
d54d1fc3
JJ
122442017-06-21 Jakub Jelinek <jakub@redhat.com>
12245
12246 PR c++/81130
12247 * testsuite/libgomp.c++/pr81130.C: New test.
12248
4f4b0ab8
RO
122492017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12250
12251 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
12252 default args.
12253 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
12254 dg-xfail-run-if default args.
12255
40ffd95f
BE
122562017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
12257
12258 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
12259 * testsuite/libgomp.c/pr39591-3.c: Likewise.
12260
01275e1e
JJ
122612017-05-30 Jakub Jelinek <jakub@redhat.com>
12262
12263 PR libgomp/80822
12264 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
12265 (gomp_affinity_init_level): Use it. Always analyze the core and thread
12266 sibling lists, depending on level just pick up what CPUs to put
12267 together into a place vs. whether add multiple ordered places.
12268
78672bd8
TS
122692017-05-24 Thomas Schwinge <thomas@codesourcery.com>
12270
7ce64403
TS
12271 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
12272 * libgomp.map (OACC_2.0.1): Add these.
12273 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
12274 for "acc_wait", and "acc_wait_all", respectively.
12275 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
12276 for "acc_wait", and "acc_wait_all", respectively.
12277 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
12278 * libgomp.texi (acc_wait, acc_wait_all): Update.
12279 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
12280 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
12281 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
12282
318686c2
TS
12283 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
12284 acc_present_or_copyin and acc_present_or_create procedures,
12285 respectively.
12286 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
12287 generally different variants of OpenACC Runtime Library functions.
12288 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12289
a6745534
TS
12290 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
12291 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
12292
9b94fbc7
TS
12293 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
12294 of preprocessor definitions.
12295 * libgomp.h (strong_alias): Guard by "#ifdef
12296 HAVE_ATTRIBUTE_ALIAS".
12297 * oacc-mem.c: Provide "acc_pcreate" as alias for
12298 "acc_present_or_create", and "acc_pcopyin" as alias for
12299 "acc_present_or_copyin".
12300 * libgomp.map: New version "OACC_2.0.1".
12301 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
12302 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
12303 its content into...
12304 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
12305 Extend testing.
12306
78672bd8
TS
12307 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
12308 when disabling nvptx offloading.
12309
0c36d0d5
TS
123102017-05-23 Thomas Schwinge <thomas@codesourcery.com>
12311
fd71a9a2
TS
12312 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
12313 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12314 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
12315
0c36d0d5
TS
12316 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
12317 * testsuite/lib/libgomp.exp
12318 (check_effective_target_openacc_nvidia_accel_configured): New
12319 proc.
12320 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
12321 (check_effective_target_c++): New procs.
12322 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
12323 (check_effective_target_c++): Likewise.
12324
c24783c4
JJ
123252017-05-22 Jakub Jelinek <jakub@redhat.com>
12326
655e5265
JJ
12327 PR middle-end/80809
12328 * testsuite/libgomp.c/pr80809-2.c: New test.
12329 * testsuite/libgomp.c/pr80809-3.c: New test.
12330
e9e2ef9f
JJ
12331 PR middle-end/80809
12332 * testsuite/libgomp.c/pr80809-1.c: New test.
12333
c24783c4
JJ
12334 PR middle-end/80853
12335 * testsuite/libgomp.c/pr80853.c: New test.
12336
0da2f96a
TS
123372017-05-19 Thomas Schwinge <thomas@codesourcery.com>
12338
7fd549d2
TS
12339 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
12340 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
12341 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12342 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12343 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
12344
0da2f96a
TS
12345 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
12346 Debug output for failure.
12347
62ffe920
RO
123482017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12349
12350 * testsuite/lib/libgomp.exp: Load scanlang.exp.
12351
f49215b1
JJ
123522017-04-27 Jakub Jelinek <jakub@redhat.com>
12353
12354 PR bootstrap/80531
12355 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
12356 bootstrap compare failures.
12357
2260d19d
AM
123582017-04-20 Alexander Monakov <amonakov@ispras.ru>
12359
12360 * testsuite/libgomp.c/target-36.c: New testcase.
12361
19929ba9
JJ
123622017-04-13 Jakub Jelinek <jakub@redhat.com>
12363
12364 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
12365 instead of char.
12366
fbc698e0
JJ
123672017-04-11 Jakub Jelinek <jakub@redhat.com>
12368
12369 PR libgomp/80394
12370 * testsuite/libgomp.c/pr80394.c: New test.
12371
c4060df4
JJ
123722017-04-04 Jakub Jelinek <jakub@redhat.com>
12373
12374 PR libgomp/79876
12375 * config/posix/thread-stacksize.h: New file.
12376 * config/darwin/thread-stacksize.h: New file.
12377 * config/nvptx/thread-stacksize.h: New file.
12378 * env.c: Include thread-stacksize.h.
12379 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
12380 instead of 0. Call pthread_attr_setstacksize even if
12381 GOMP_DEFAULT_STACKSIZE is non-zero.
12382
e02d868a
JJ
123832017-03-30 Jakub Jelinek <jakub@redhat.com>
12384
12385 * env.c (initialize_env): Initialize stacksize to 0.
12386
7ba8651e
CP
123872017-03-22 Cesar Philippidis <cesar@codesourcery.com>
12388
12389 PR c++/80029
12390 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
12391
eebc5e2d
JJ
123922017-03-08 Jakub Jelinek <jakub@redhat.com>
12393
12394 PR c/79940
12395 * testsuite/libgomp.c/pr79940.c: New test.
12396
1eb08f52
RO
123972017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
12398
12399 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
12400 targets.
12401 Add __float128 options.
12402
b0f78ff3
JDA
124032017-02-11 John David Anglin <danglin@gcc.gnu.org>
12404
12405 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
12406 hppa*-*-* dg-skip-if directive.
12407
1bbe0d8f
JJ
124082017-02-09 Jakub Jelinek <jakub@redhat.com>
12409
12410 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
12411 dg-skip-if directive into a comment.
12412
02889d23
CLT
124132017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12414 Chung-Lin Tang <cltang@codesourcery.com>
12415
12416 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
12417 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
12418 add additional case.
12419 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
12420 "openacc_nvidia_accel_selected".
12421 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
12422 Add num_workers(8) clause.
12423
5896a41d
JDA
124242017-02-08 John David Anglin <danglin@gcc.gnu.org>
12425
12426 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
12427 hppa*-*-*.
12428 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
12429 include complex.h on hppa*-*-hpux*.
12430 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12431
345a8c17
TS
124322017-02-02 Thomas Schwinge <thomas@codesourcery.com>
12433
e70ab10d
TS
12434 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
12435
345a8c17
TS
12436 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
12437 GOMP_OFFLOAD_openacc_exec. Adjust all users.
12438 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
12439 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
12440 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
12441 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
12442 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
12443 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
12444 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
12445 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
12446
dced339c
TS
124472017-01-31 Thomas Schwinge <thomas@codesourcery.com>
12448
12449 * libgomp-plugin.h: #include <stdbool.h>.
12450 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
12451 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
12452 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
12453 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
12454 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
12455 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
12456 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
12457 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
12458 (GOMP_OFFLOAD_openacc_register_async_cleanup)
12459 (GOMP_OFFLOAD_openacc_async_test)
12460 (GOMP_OFFLOAD_openacc_async_test_all)
12461 (GOMP_OFFLOAD_openacc_async_wait)
12462 (GOMP_OFFLOAD_openacc_async_wait_async)
12463 (GOMP_OFFLOAD_openacc_async_wait_all)
12464 (GOMP_OFFLOAD_openacc_async_wait_all_async)
12465 (GOMP_OFFLOAD_openacc_async_set_async)
12466 (GOMP_OFFLOAD_openacc_create_thread_data)
12467 (GOMP_OFFLOAD_openacc_destroy_thread_data)
12468 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
12469 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
12470 (GOMP_OFFLOAD_openacc_get_cuda_stream)
12471 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
12472 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
12473 these.
12474 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
12475 (GOMP_OFFLOAD_unload_image): Fix argument types.
12476
23749904
JJ
124772017-01-26 Jakub Jelinek <jakub@redhat.com>
12478
c1cadde1
JJ
12479 * testsuite/lib/libgomp.exp
12480 (check_effective_target_hsa_offloading_selected_nocache): Fix up
12481 check_compile invocation. Fix up removal of executable. Drop
12482 bogus "2>&1" argument.
12483
23749904
JJ
12484 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
12485 directive.
12486
124872017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
12488 Martin Jambor <mjambor@suse.cz>
12489
12490 * plugin/hsa.h: Moved to top level include.
12491 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
12492
73aa401e
JJ
124932017-01-21 Jakub Jelinek <jakub@redhat.com>
12494
12495 PR other/79046
12496 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
12497 of cat to get version from BASE-VER file.
12498 * testsuite/Makefile.in: Regenerated.
12499
b32e85fa
JJ
125002017-01-19 Jakub Jelinek <jakub@redhat.com>
12501
12502 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
12503 for _WIN64.
12504
3c36aa6b
JJ
125052017-01-17 Jakub Jelinek <jakub@redhat.com>
12506
d190d5c0
JJ
12507 * plugin/hsa.h: Add GCC runtime library exception.
12508 * plugin/hsa_ext_finalize.h: Likewise.
12509
2393d337
JJ
12510 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
12511 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
12512 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
12513 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
12514 plugin/include/cuda as include dir and -ldl instead of -lcuda as
12515 library to link ptx plugin against.
12516 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
12517 (CUDA_CALLS): Define.
12518 (cuda_lib, cuda_lib_inited): New variables.
12519 (init_cuda_lib): New function.
12520 (CUDA_CALL_PREFIX): Define.
12521 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
12522 (CUDA_CALL): Use FN instead of (FN).
12523 (CUDA_CALL_NOCHECK): Define.
12524 (cuda_error, fini_streams_for_device, select_stream_for_async,
12525 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
12526 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
12527 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
12528 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
12529 CUDA_CALL_NOCHECK.
12530 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
12531 CUDA_CALL_NOCHECK.
12532 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
12533 Use CUDA_CALL_NOCHECK.
12534 * plugin/cuda/cuda.h: New file.
12535 * config.h.in: Regenerated.
12536 * configure: Regenerated.
12537
3c36aa6b
JJ
12538 PR other/79046
12539 * configure.ac: Add GCC_BASE_VER.
12540 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
12541 get version from BASE-VER file.
12542 * testsuite/Makefile.in: Regenerated.
12543 * configure: Regenerated.
12544 * Makefile.in: Regenerated.
12545
c508bc2d
FXC
125462017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12547
12548 PR libgomp/60670
12549 * Makefile.am: Make fincludedir multilib-aware.
12550 * Makefile.in: Regenerate.
12551
c1a9c369
JJ
125522017-01-01 Jakub Jelinek <jakub@redhat.com>
12553
cbe34bb5
JJ
12554 Update copyright years.
12555
c1a9c369
JJ
12556 * libgomp.texi: Bump @copying's copyright year.
12557
e7a7f4be
SH
125582016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12559
12560 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
12561 pthread_spinlock_t instead of gomp_mutex_t lock.
12562 (gomp_get_thread_pool): Likewise.
12563 (gomp_release_thread_pool): Likewise.
12564 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
12565 Likewise.
12566
d313d52c
SH
125672016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
12568
12569 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
12570 thread pool in case nthreads == 1.
12571
630e3c3a
AM
125722016-11-30 Alexander Monakov <amonakov@ispras.ru>
12573
12574 * config/nvptx/env.c: Delete.
12575 * icv.c: Move definitions of ICV variables back ...
12576 * env.c: ...here. Do not compile environment-related functionality if
12577 LIBGOMP_OFFLOADED_ONLY is set.
12578
9e38af5c
AM
125792016-11-30 Alexander Monakov <amonakov@ispras.ru>
12580
12581 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
12582 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
12583 * configure: Regenerate.
12584 * config.h.in: Likewise.
12585
f96b7f1f
AM
125862016-11-30 Alexander Monakov <amonakov@ispras.ru>
12587
12588 * Makefile.in: Regenerate with automake-1.11.6.
12589 * aclocal.m4: Likewise.
12590 * configure: Likewise.
12591 * testsuite/Makefile.in: Likewise.
12592
6a6951b1
AM
125932016-11-28 Alexander Monakov <amonakov@ispras.ru>
12594
12595 * config/nvptx/critical.c: Delete to use generic implementation.
12596
c7ac071f
JH
125972016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
12598
12599 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
12600 ../../affinity.c as fallback.
12601 * config/nvptx/affinity.c: Delete to use fallback implementation.
12602
6103184e 126032016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 12604 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
12605 Dmitry Melnik <dm@ispras.ru>
12606
12607 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
12608 * Makefile.in. Regenerate.
12609 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
12610 (LIBGOMP_USE_PTHREADS): ...here; new define.
12611 * configure: Regenerate.
12612 * config.h.in: Likewise.
12613 * config/posix/affinity.c: Move to...
12614 * affinity.c: ...here (new file). Guard use of Pthreads-specific
12615 interface by LIBGOMP_USE_PTHREADS.
12616 * critical.c: Split out GOMP_atomic_{start,end} into...
12617 * atomic.c: ...here (new file).
12618 * env.c: Split out ICV definitions into...
12619 * icv.c: ...here (new file) and...
12620 * icv-device.c: ...here. New file.
12621 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
12622 (gomp_destroy_lock_30): Ditto.
12623 (gomp_set_lock_30): Ditto.
12624 (gomp_unset_lock_30): Ditto.
12625 (gomp_test_lock_30): Ditto.
12626 (gomp_init_nest_lock_30): Ditto.
12627 (gomp_destroy_nest_lock_30): Ditto.
12628 (gomp_set_nest_lock_30): Ditto.
12629 (gomp_unset_nest_lock_30): Ditto.
12630 (gomp_test_nest_lock_30): Ditto.
12631 * lock.c: New.
12632 * config/nvptx/lock.c: New.
12633 * config/nvptx/bar.c: New.
12634 * config/nvptx/bar.h: New.
12635 * config/nvptx/doacross.h: New.
12636 * config/nvptx/error.c: New.
12637 * config/nvptx/icv-device.c: New.
12638 * config/nvptx/mutex.h: New.
12639 * config/nvptx/pool.h: New.
12640 * config/nvptx/proc.c: New.
12641 * config/nvptx/ptrlock.h: New.
12642 * config/nvptx/sem.h: New.
12643 * config/nvptx/simple-bar.h: New.
12644 * config/nvptx/target.c: New.
12645 * config/nvptx/task.c: New.
12646 * config/nvptx/team.c: New.
12647 * config/nvptx/time.c: New.
12648 * config/posix/simple-bar.h: New.
12649 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
12650 (gomp_num_teams_var): Declare.
12651 (struct gomp_thread_pool): Change threads_dock member to
12652 gomp_simple_barrier_t.
12653 [__nvptx__] (gomp_thread): New implementation.
12654 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
12655 (gomp_thread_destructor): Ditto.
12656 (gomp_init_thread_affinity): Ditto.
12657 * team.c: Guard uses of Pthreads-specific interfaces by
12658 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
12659 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
12660 * config/nvptx/alloc.c: Delete.
12661 * config/nvptx/barrier.c: Ditto.
12662 * config/nvptx/fortran.c: Ditto.
12663 * config/nvptx/iter.c: Ditto.
12664 * config/nvptx/iter_ull.c: Ditto.
12665 * config/nvptx/loop.c: Ditto.
12666 * config/nvptx/loop_ull.c: Ditto.
12667 * config/nvptx/ordered.c: Ditto.
12668 * config/nvptx/parallel.c: Ditto.
12669 * config/nvptx/priority_queue.c: Ditto.
12670 * config/nvptx/sections.c: Ditto.
12671 * config/nvptx/single.c: Ditto.
12672 * config/nvptx/splay-tree.c: Ditto.
12673 * config/nvptx/work.c: Ditto.
12674 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
12675 -foffload=-lgfortran in addition to -lgfortran.
12676 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
12677 * plugin/plugin-nvptx.c: Include <limits.h>.
12678 (struct targ_fn_descriptor): Add new fields.
12679 (struct ptx_device): Ditto. Set them...
12680 (nvptx_open_device): ...here.
12681 (nvptx_adjust_launch_bounds): New.
12682 (nvptx_host2dev): Allow NULL 'nvthd'.
12683 (nvptx_dev2host): Ditto.
12684 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
12685 (link_ptx): Adjust log sizes.
12686 (nvptx_host2dev): Allow NULL 'nvthd'.
12687 (nvptx_dev2host): Ditto.
12688 (nvptx_set_clocktick): New. Use it...
12689 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
12690 fields.
12691 (GOMP_OFFLOAD_dev2dev): New.
12692 (nvptx_adjust_launch_bounds): New.
12693 (nvptx_stacks_size): New.
12694 (nvptx_stacks_alloc): New.
12695 (nvptx_stacks_free): New.
12696 (GOMP_OFFLOAD_run): New.
12697 (GOMP_OFFLOAD_async_run): New (stub).
12698
56b1c60e
MJ
126992016-11-23 Martin Jambor <mjambor@suse.cz>
12700
12701 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
12702 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
12703 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
12704
b8d89b03 127052016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 12706 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
12707
12708 * plugin/hsa.h: New file.
12709 * plugin/hsa_ext_finalize.h: New file.
12710 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
12711 header file unistd.h, and functions secure_getenv, __secure_getenv,
12712 getuid, geteuid, getgid and getegid.
12713 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
12714 -D_GNU_SOURCE.
12715 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
12716 Handle various cases of secure_getenv presence, add an implementation
12717 when we can test effective UID and GID.
12718 (struct hsa_runtime_fn_info): New structure.
12719 (hsa_runtime_fn_info hsa_fns): New variable.
12720 (hsa_runtime_lib): Likewise.
12721 (support_cpu_devices): Likewise.
12722 (init_enviroment_variables): Load newly introduced ENV
12723 variables.
12724 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
12725 (hsa_fatal): Likewise.
12726 (DLSYM_FN): New macro.
12727 (init_hsa_runtime_functions): New function.
12728 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
12729 structure. Depending on environment, also allow CPU devices.
12730 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
12731 (get_kernarg_memory_region): Likewise.
12732 (GOMP_OFFLOAD_init_device): Likewise.
12733 (destroy_hsa_program): Likewise.
12734 (init_basic_kernel_info): New function.
12735 (GOMP_OFFLOAD_load_image): Use it.
12736 (create_and_finalize_hsa_program): Call hsa run-time functions via
12737 hsa_fns structure.
12738 (create_single_kernel_dispatch): Likewise.
12739 (release_kernel_dispatch): Likewise.
12740 (init_single_kernel): Likewise.
12741 (parse_target_attributes): Allow up multiple HSA grid dimensions.
12742 (get_group_size): New function.
12743 (run_kernel): Likewise.
12744 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
12745 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
12746 structure.
12747 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
12748 * testsuite/libgomp-test-support.exp.in: Likewise.
12749 * Makefile.in: Regenerated.
12750 * aclocal.m4: Likewise.
12751 * config.h.in: Likewise.
12752 * configure: Likewise.
12753 * testsuite/Makefile.in: Likewise.
12754
18d2ada8 127552016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 12756 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
12757
12758 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
12759 mapping clauses to target constructs.
12760 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
12761
84c1b9d3
MK
127622016-11-15 Matthias Klose <doko@ubuntu.com>
12763
12764 * configure: Regenerate.
12765
b4c3a85b
JJ
127662016-11-10 Jakub Jelinek <jakub@redhat.com>
12767
8ebd1b31
JJ
12768 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
12769 * omp_lib.h.in (openmp_version): Likewise.
12770 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
12771 of 201307.
12772 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
12773
b4c3a85b
JJ
12774 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
12775 (fib_wrapper): Add map(from: x) clause.
12776 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
12777 (e_53_2): Likewise.
12778 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
12779 (accum): Add map(tmp) clause.
12780 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
12781 (accum): Add map(tofrom: tmp) clause.
12782 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
12783 (gramSchmidt): Likewise.
12784 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
12785 map(tofrom: sum) clause.
12786 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
12787 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
12788 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
12789 only allowed on the loop iterator.
12790 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
12791 * testsuite/libgomp.fortran/taskloop2.f90: New test.
12792 * testsuite/libgomp.fortran/taskloop4.f90: New test.
12793 * testsuite/libgomp.fortran/doacross1.f90: New test.
12794 * testsuite/libgomp.fortran/doacross3.f90: New test.
12795 * testsuite/libgomp.fortran/taskloop1.f90: New test.
12796 * testsuite/libgomp.fortran/taskloop3.f90: New test.
12797 * testsuite/libgomp.fortran/doacross2.f90: New test.
12798 * testsuite/libgomp.c/doacross-1.c (main): Add missing
12799 #pragma omp atomic read.
12800 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12801 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
12802
6668eb45
CP
128032016-11-02 Cesar Philippidis <cesar@codesourcery.com>
12804 Nathan Sidwell <nathan@acm.org>
12805
12806 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
12807 to determine default geometry.
12808 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
12809 dimension.
12810
f10e37a1
JJ
128112016-11-01 Jakub Jelinek <jakub@redhat.com>
12812
12813 * hashtab.h: Use standard GPLv3 with runtime exception
12814 boilerplate.
12815
015c7760
AH
128162016-10-27 Aldy Hernandez <aldyh@redhat.com>
12817
12818 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
12819 size when allocating new thread.
12820
20a1e5b8
MP
128212016-09-14 Marek Polacek <polacek@redhat.com>
12822
12823 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
12824
1cad9284
JJ
128252016-08-19 Jakub Jelinek <jakub@redhat.com>
12826
12827 PR fortran/71014
12828 * testsuite/libgomp.fortran/pr71014.f90: New test.
12829
2c71d454
CLT
128302016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
12831
12832 PR middle-end/70895
12833 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
12834 firstprivate clauses.
12835 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
12836 copy clauses.
12837 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12838 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
12839 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
12840 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12841 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12842 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12843 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12844 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12845 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12846 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12847 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12848 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
12849
7c713714
CLT
128502016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
12851
12852 PR fortran/70598
12853 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
12854
5c934396
JJ
128552016-08-08 Jakub Jelinek <jakub@redhat.com>
12856
12857 PR c++/58706
12858 * testsuite/libgomp.c++/pr58706.C: New test.
12859
9ef64248
TS
128602016-08-04 Thomas Schwinge <thomas@codesourcery.com>
12861
bbc79c0e
TS
12862 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
12863 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
12864 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
12865 Likewise.
12866 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
12867 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
12868 Likewise.
12869 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
12870
9ef64248
TS
12871 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
12872 test, and don't hardcode -O0.
12873
c1311c86
NS
128742016-08-03 Nathan Sidwell <nathan@codesourcery.com>
12875
12876 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
12877
b1c9c068
CP
128782016-07-15 Cesar Philippidis <cesar@codesourcery.com>
12879
12880 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
12881 test.
12882
b4410f63
L
128832016-07-03 H.J. Lu <hongjiu.lu@intel.com>
12884
12885 PR middle-end/71734
12886 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
12887 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
12888
a8dbab92
JJ
128892016-07-01 Jakub Jelinek <jakub@redhat.com>
12890
12891 PR fortran/71717
12892 * testsuite/libgomp.fortran/associate3.f90: New test.
12893
9b6a8d0f
JJ
128942016-06-17 Jakub Jelinek <jakub@redhat.com>
12895
12896 * testsuite/libgomp.c++/target-21.C: New test.
12897
283635f9
JJ
128982016-06-16 Jakub Jelinek <jakub@redhat.com>
12899
12900 * testsuite/libgomp.c++/target-20.C: New test.
12901
27d6ba88
TS
129022016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12903 Cesar Philippidis <cesar@codesourcery.com>
12904
12905 PR middle-end/71373
12906 * libgomp.oacc-c/nested-function-1.c: New file.
12907 * libgomp.oacc-c/nested-function-2.c: Likewise.
12908 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
12909 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
12910 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
12911
4b1ffdb1
TS
129122016-06-10 Thomas Schwinge <thomas@codesourcery.com>
12913
12914 PR c/71381
12915 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
12916 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
12917 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
12918
d821b794
CLT
129192016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
12920
12921 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
12922 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
12923
3616a8c5
CP
129242016-06-01 Cesar Philippidis <cesar@codesourcery.com>
12925
12926 PR c/70688
5eed9a88 12927 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 12928
7211a097
JJ
129292016-05-26 Jakub Jelinek <jakub@redhat.com>
12930
12931 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
12932 instead of invalid schedule(static, 0).
12933 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
12934
b4557008
CLT
129352016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12936
12937 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
12938 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
12939 parameter, use to set async stream around call to gomp_unmap_vars,
12940 call gomp_unmap_vars() with 'do_copyfrom' set to true.
12941 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
12942 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
12943 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
12944 (event_add): Add int parameter, initialize 'val' field when
12945 adding new ptx_event struct.
12946 (nvptx_evec): Adjust event_add() call arguments.
12947 (nvptx_host2dev): Likewise.
12948 (nvptx_dev2host): Likewise.
12949 (nvptx_wait_async): Likewise.
12950 (nvptx_wait_all_async): Likewise.
12951 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
12952 pass to event_add() call.
12953 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
12954 parameter.
12955 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
12956 call openacc.register_async_cleanup_func() hook.
12957 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
12958 * target.c (gomp_copy_from_async): Delete function.
12959 (gomp_map_vars): Remove async_refcount.
12960 (gomp_unmap_vars): Likewise.
12961 (gomp_load_image_to_device): Likewise.
12962 (omp_target_associate_ptr): Likewise.
12963 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
12964 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
12965 (gomp_copy_from_async): Remove.
12966
6ce13072
CLT
129672016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
12968
12969 * target.c (gomp_device_copy): New function.
12970 (gomp_copy_host2dev): Likewise.
12971 (gomp_copy_dev2host): Likewise.
12972 (gomp_free_device_memory): Likewise.
12973 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
12974 (gomp_map_pointer): Likewise.
12975 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
12976 NULL value from alloc_func plugin hook.
12977 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
12978 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
12979 (gomp_unmap_vars): Likewise.
12980 (gomp_update): Adjust to call gomp_copy_dev2host and
12981 gomp_copy_host2dev functions.
12982 (gomp_unload_image_from_device): Handle false value from
12983 unload_image_func plugin hook.
12984 (gomp_init_device): Handle false value from init_device_func
12985 plugin hook.
12986 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
12987 (omp_target_free): Adjust to call gomp_free_device_memory.
12988 (omp_target_memcpy): Handle return values from host2dev_func,
12989 dev2host_func, and dev2dev_func plugin hooks.
12990 (omp_target_memcpy_rect_worker): Likewise.
12991 (gomp_target_fini): Handle false value from fini_device_func
12992 plugin hook.
12993 * libgomp.h (struct gomp_device_descr): Adjust return type of
12994 init_device_func, fini_device_func, unload_image_func, free_func,
12995 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
12996 * oacc-init.c (acc_shutdown_1): Handle false value from
12997 fini_device_func plugin hook.
12998 * oacc-host.c (host_init_device): Change return type to bool.
12999 (host_fini_device): Likewise.
13000 (host_unload_image): Likewise.
13001 (host_free): Likewise.
13002 (host_dev2host): Likewise.
13003 (host_host2dev): Likewise.
13004 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
13005 (acc_memcpy_to_device): Likewise.
13006 (acc_memcpy_from_device): Likewise.
13007 (delete_copyout): Add libfnname parameter, handle free_func
13008 hook fatal error case.
13009 (acc_delete): Adjust delete_copyout call.
13010 (acc_copyout): Likewise.
13011 (update_dev_host): Move gomp_mutex_unlock to after
13012 host2dev/dev2host hook calls.
13013
13014 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
13015 to 'hsa_error_msg', for clarity.
13016 (hsa_fatal): Likewise.
13017 (hsa_error): New function.
13018 (init_hsa_context): Change return type to bool, adjust to return
13019 false on error.
13020 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
13021 return value.
13022 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
13023 return false on error.
13024 (get_agent_info): Adjust to return NULL on error.
13025 (destroy_hsa_program): Change return type to bool, adjust to
13026 return false on error.
13027 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
13028 (destroy_module): Change return type to bool, adjust to
13029 return false on error.
13030 (GOMP_OFFLOAD_unload_image): Likewise.
13031 (GOMP_OFFLOAD_fini_device): Likewise.
13032 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
13033 (GOMP_OFFLOAD_free): Change to return false when called.
13034 (GOMP_OFFLOAD_dev2host): Likewise.
13035 (GOMP_OFFLOAD_host2dev): Likewise.
13036 (GOMP_OFFLOAD_dev2dev): Likewise.
13037
13038 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
13039 (CUDA_CALL): Likewise.
13040 (CUDA_CALL_ASSERT): Likewise.
13041 (map_init): Change return type to bool, use CUDA_CALL* macros.
13042 (map_fini): Likewise.
13043 (init_streams_for_device): Change return type to bool, adjust
13044 call to map_init.
13045 (fini_streams_for_device): Change return type to bool, adjust
13046 call to map_fini.
13047 (select_stream_for_async): Release stream_lock before calls to
13048 GOMP_PLUGIN_fatal, adjust call to map_init.
13049 (nvptx_init): Use CUDA_CALL* macros.
13050 (nvptx_attach_host_thread_to_device): Change return type to bool,
13051 use CUDA_CALL* macros.
13052 (nvptx_open_device): Use CUDA_CALL* macros.
13053 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
13054 macros.
13055 (nvptx_get_num_devices): Use CUDA_CALL* macros.
13056 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
13057 (nvptx_exec): Use CUDA_CALL* macros.
13058 (nvptx_alloc): Use CUDA_CALL* macros.
13059 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
13060 (nvptx_host2dev): Likewise.
13061 (nvptx_dev2host): Likewise.
13062 (nvptx_wait): Use CUDA_CALL* macros.
13063 (nvptx_wait_async): Likewise.
13064 (nvptx_wait_all): Likewise.
13065 (nvptx_wait_all_async): Likewise.
13066 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
13067 use CUDA_CALL* macros, adjust call to map_fini.
13068 (GOMP_OFFLOAD_init_device): Change return type to bool,
13069 adjust code accordingly.
13070 (GOMP_OFFLOAD_fini_device): Likewise.
13071 (GOMP_OFFLOAD_load_image): Adjust calls to
13072 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
13073 use CUDA_CALL* macros.
13074 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
13075 return code.
13076 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
13077 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
13078 handle error return.
13079 (GOMP_OFFLOAD_dev2host): Likewise.
13080 (GOMP_OFFLOAD_host2dev): Likewise.
13081 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
13082 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
13083
e46c7770
CP
130842016-05-24 Cesar Philippidis <cesar@codesourcery.com>
13085
13086 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
13087 (acc_free): Likewise.
13088 (acc_memcpy_to_device): Likewise.
13089 (acc_memcpy_from_device): Likewise.
13090 (acc_deviceptr): Likewise.
13091 (acc_hostptr): Likewise.
13092 (acc_is_present): Likewise.
13093 (acc_map_data): Likewise.
13094 (acc_unmap_data): Likewise.
13095 (present_create_copy): Likewise.
13096 (delete_copyout): Likewise.
13097 (update_dev_host): Likewise.
13098 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
13099 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
13100 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
13101 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
13102 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
13103 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
13104 it only runs on nvptx targets.
13105 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
13106 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
13107 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13108 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13109 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13110 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13111 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13112 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13113 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13114 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
13115 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13116 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13117 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13118 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13119 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13120 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13121 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13122 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13123 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13124 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13125 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13126 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13127 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13128
a5057543
MJ
131292016-05-23 Martin Jambor <mjambor@suse.cz>
13130
13131 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
13132
e37288a6
CLT
131332016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
13134
13135 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
13136 to gomp_init_targets_once.
13137 (acc_set_device_type): Remove !cached_base_dev condition on call to
13138 gomp_init_targets_once, move call to before acc_device_lock acquire,
13139 to avoid deadlock.
13140 (acc_get_device_num): Remove !cached_base_dev condition on call to
13141 gomp_init_targets_once.
13142 (acc_set_device_num): Likewise.
13143
51d9ed48
MJ
131442016-05-16 Martin Jambor <mjambor@suse.cz>
13145
92a285c1 13146 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 13147
5b37e866
NS
131482016-05-02 Nathan Sidwell <nathan@codesourcery.com>
13149
13150 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
13151 expected partitioning.
13152
e7ff0319
CP
131532016-04-29 Cesar Philippidis <cesar@codesourcery.com>
13154
13155 PR middle-end/70626
13156 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
13157 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
13158 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
13159
c2bd3b69
AM
131602016-04-21 Alexander Monakov <amonakov@ispras.ru>
13161
13162 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
13163 non-fatal.
13164
84311083
JJ
131652016-04-19 Jakub Jelinek <jakub@redhat.com>
13166
13167 PR middle-end/70680
13168 * testsuite/libgomp.c/pr70680-1.c: New test.
13169 * testsuite/libgomp.c/pr70680-2.c: New test.
13170
aadc043f
CP
131712016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13172
13173 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
13174 pass parameter variables to subroutines.
13175
e387fc64
CP
131762016-04-14 Cesar Philippidis <cesar@codesourcery.com>
13177
13178 PR middle-end/70643
13179 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
13180
10c3c424
CP
131812016-04-13 Cesar Philippidis <cesar@codesourcery.com>
13182
13183 PR testsuite/68242
13184 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
13185 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13186
27f9add3
TS
131872016-04-12 Thomas Schwinge <thomas@codesourcery.com>
13188
58d32aeb
TS
13189 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
13190 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
13191 GOACC_declare prototype.
13192
d97633ef
TS
13193 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
13194 Merge this file, and...
13195 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
13196 ... this file, and...
13197 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
13198 ... this file, and...
13199 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
13200 ... this file, and...
13201 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
13202 ... this file, and...
13203 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
13204 ... this file, and...
13205 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
13206 ... this file, and...
13207 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
13208 ... this file, and...
13209 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
13210 ... this file, and...
13211 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
13212 ... this file, and...
13213 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
13214 ... this file, and...
13215 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
13216 ... this file, and...
13217 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
13218 ... this file into...
13219 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
13220 file.
13221
27f9add3
TS
13222 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
13223 Make failure observable.
13224
21f3a236
JJ
132252016-04-12 Jakub Jelinek <jakub@redhat.com>
13226
13227 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
13228 field.
13229 * target.c (gomp_target_fallback_firstprivate,
13230 gomp_target_unshare_firstprivate): Removed.
13231 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
13232 before waiting for dependencies.
13233 (gomp_target_task_fn): Don't copy firstprivate vars here.
13234 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
13235 firstprivate_copies here.
13236 (gomp_create_target_task): Don't initialize firstprivate_copies field.
13237 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
13238 explicit/implicit firstprivate.
13239
c42cfb5c
CP
132402016-04-08 Cesar Philippidis <cesar@codesourcery.com>
13241
13242 PR lto/70289
13243 PR ipa/70348
13244 PR tree-optimization/70373
13245 PR middle-end/70533
13246 PR middle-end/70534
13247 PR middle-end/70535
13248 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
13249 test.
13250 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
13251 test.
13252 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
13253 test.
13254 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
13255 test.
13256 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
13257 test.
13258 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
13259 test.
13260 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
13261 test.
13262 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
13263 test.
13264 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
13265 test.
13266 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
13267 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
13268 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
13269 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
13270 test.
13271 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
13272 test.
13273 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
13274 test.
13275 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
13276 test.
13277 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
13278 coverage.
13279 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13280 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
13281 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
13282 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
13283 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
13284 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
13285 coverage.
13286 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13287 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13288 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13289 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13290 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
13291 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
13292 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
13293 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
13294 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
13295 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13296 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13297 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13298 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
13299 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13300 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
13301
2620c80d
TS
133022016-03-30 Thomas Schwinge <thomas@codesourcery.com>
13303 James Norris <jnorris@codesourcery.com>
13304 Nathan Sidwell <nathan@codesourcery.com>
13305 Julian Brown <julian@codesourcery.com>
13306 Cesar Philippidis <cesar@codesourcery.com>
13307 Chung-Lin Tang <cltang@codesourcery.com>
13308 Tom de Vries <tom@codesourcery.com>
13309
13310 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
13311 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
13312 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
13313 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
13314 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
13315 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
13316 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
13317 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
13318 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
13319 XFAIL.
13320 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
13321 Incorporate...
13322 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
13323 file.
13324 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
13325 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
13326 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
13327 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
13328 Likewise.
13329 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
13330 Likewise.
13331 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
13332 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
13333 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
13334 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
13335 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
13336 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
13337 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
13338 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
13339 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
13340 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
13341 Likewise.
13342 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
13343 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
13344 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
13345 file...
13346 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
13347 file into...
13348 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
13349 file. Update.
13350 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
13351 file.
13352 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
13353 Likewise.
13354 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
13355 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
13356 ... this new file. Update.
13357 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
13358 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
13359 ... this new file. Update.
13360 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
13361 file. Incorporate...
13362 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
13363 file, and...
13364 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
13365 file, and...
13366 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
13367 file.
13368 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
13369
ce83104b
TS
133702016-03-29 Thomas Schwinge <thomas@codesourcery.com>
13371
13372 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
13373 set-torture-options.
13374
6e0df3b7
TS
133752016-03-24 Thomas Schwinge <thomas@codesourcery.com>
13376
13377 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
13378 gcc-dg-runtest.
13379 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13380 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
13381 -fno-builtin-acc_on_device instead of -O0.
13382 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
13383 -O0.
13384 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13385 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
13386 Likewise.
13387 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13388 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13389 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13390 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13391 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13392 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13393 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13394 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13395 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13396 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13397 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13398 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13399 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13400 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13401 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13402 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13403 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13404 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
13405 Don't specify -O2.
13406 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
13407 Likewise.
13408 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
13409 Likewise.
13410
f9c8babb
ML
134112016-03-24 Martin Liska <mliska@suse.cz>
13412
13413 * plugin/plugin-hsa.c (packet_store_release): New function
13414 that is taken from the HSA runtime manual.
13415 (GOMP_OFFLOAD_run): Use the function.
13416
04833609
JJ
134172016-03-23 Jakub Jelinek <jakub@redhat.com>
13418
13419 PR c++/70376
13420 * testsuite/libgomp.c++/pr70376.C: New test.
13421
d79ee524
TV
134222016-03-23 Tom de Vries <tom@codesourcery.com>
13423
13424 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
13425 initialization of lresult and lvresult.
13426 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
13427
b6d1f2b5
JN
134282016-03-23 James Norris <jnorris@codesourcery.com>
13429 Daichi Fukuoka <dc-fukuoka@sgi.com>
13430
13431 PR libgomp/69414
13432 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
13433 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
13434 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
13435 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
13436
7397fce2
ML
134372016-03-23 Martin Liska <mliska@suse.cz>
13438
13439 PR hsa/70337
13440 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
13441 argument just in case a dispatched kernel uses that argument.
13442
ee2e7d51
TS
134432016-03-16 Thomas Schwinge <thomas@codesourcery.com>
13444
13445 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
13446 -ftree-parallelize-loops/-fopenacc changes.
13447 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
13448 Likewise.
13449 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13450 Likewise.
13451 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
13452 Likewise.
13453 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
13454 Likewise.
13455 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
13456 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
13457
be9f7143
TS
134582016-03-13 Thomas Schwinge <thomas@codesourcery.com>
13459
13460 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
13461 always_ld_library_path the path to libgcc_s.
13462
f6c1032d
CP
134632016-03-10 Cesar Philippidis <cesar@codesourcery.com>
13464
13465 PR testsuite/70009
13466 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
13467
5a6452e6
TV
134682016-03-09 Tom de Vries <tom@codesourcery.com>
13469
13470 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
13471 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
13472 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
13473 Same.
13474 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
13475 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
13476 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
13477 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
13478
96a71bd5
MJ
134792016-03-07 Martin Jambor <mjambor@suse.cz>
13480
13481 * testsuite/lib/libgomp.exp
13482 (check_effective_target_hsa_offloading_selected_nocache): New.
13483 (check_effective_target_hsa_offloading_selected): Likewise.
13484 * testsuite/libgomp.hsa.c/c.exp: Likewise.
13485 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
13486 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
13487 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
13488 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
13489 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
13490 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
13491 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
13492 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
13493 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
13494 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
13495 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
13496 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
13497 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
13498 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
13499 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
13500 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
13501
02e0b5b2
MJ
135022016-03-07 Martin Jambor <mjambor@suse.cz>
13503
13504 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
13505 non-shared memory accelerators.
13506 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
13507 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
13508 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
13509 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
13510 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
13511 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
13512 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
13513 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
13514 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
13515
45548f30
MJ
135162016-03-07 Martin Jambor <mjambor@suse.cz>
13517
13518 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
13519 ALWAYS_CFLAGS.
13520
da3d46cb
JJ
135212016-03-02 Jakub Jelinek <jakub@redhat.com>
13522
13523 PR libgomp/69555
13524 * testsuite/libgomp.c++/pr69555-1.C: New test.
13525 * testsuite/libgomp.c++/pr69555-2.C: New test.
13526
622174b2
KM
135272016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
13528 Martin Jambor <mjambor@suse.cz>
13529
13530 * testsuite/lib/libgomp.exp
13531 (check_effective_target_offload_device_shared_as): New proc.
13532 * testsuite/libgomp.c++/declare_target-1.C: New test.
13533
e6861a99
IV
135342016-02-25 Ilya Verbin <ilya.verbin@intel.com>
13535
13536 PR driver/68463
13537 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
13538
f99c3557
TS
135392016-02-23 Thomas Schwinge <thomas@codesourcery.com>
13540
13541 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
13542 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
13543 dims.
13544 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
13545 -ftree-parallelize-loops/-fopenacc changes.
13546 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
13547 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
13548 Likewise.
13549 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
13550 Likewise.
13551 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
13552 Likewise.
13553 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
13554 Likewise.
13555 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
13556 Likewise.
13557 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
13558 Likewise.
13559 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
13560 Likewise.
13561 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
13562 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
13563 Likewise.
13564 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
13565 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
13566 Likewise.
13567 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
13568 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
13569 Likewise.
13570
d5ace3b5
CP
135712016-02-22 Cesar Philippidis <cesar@codesourcery.com>
13572
13573 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
13574
f3609a89
JJ
135752016-02-19 Jakub Jelinek <jakub@redhat.com>
13576
13577 PR driver/69805
13578 * testsuite/libgomp.c/pr69805.c: New test.
13579
2175df99
TV
135802016-02-16 Tom de Vries <tom@codesourcery.com>
13581
13582 PR lto/67709
13583 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
13584
17b6426c
TV
135852016-02-09 Tom de Vries <tom@codesourcery.com>
13586
13587 PR tree-optimization/69599
13588 * testsuite/libgomp.c/omp-nested-3.c: New test.
13589 * testsuite/libgomp.c/pr46032-2.c: New test.
13590 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
13591 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
13592
34df756c
TV
135932016-02-09 Tom de Vries <tom@codesourcery.com>
13594
13595 PR lto/69707
13596 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
13597
5854ee30
AM
135982016-02-02 Alexander Monakov <amonakov@ispras.ru>
13599
13600 * testsuite/libgomp.c/target-31.c: Fix testcase.
13601
e70b6ad7
AM
136022016-02-02 Alexander Monakov <amonakov@ispras.ru>
13603
13604 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
13605 clause.
13606 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
13607 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
13608 reduction and map clauses.
13609 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
13610
bd78a45f
JN
136112016-02-02 James Norris <jnorris@codesourcery.com>
13612
13613 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
13614
41d809d3
TS
136152016-02-02 Thomas Schwinge <thomas@codesourcery.com>
13616
18f60146
TS
13617 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
13618 * oacc-parallel.c (GOACC_host_data): Remove function definition.
13619
1a06f5e6
TS
13620 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
13621 cases.
13622
033ff3d1
TS
13623 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
13624 variables.
13625 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
13626 (hsa_kmt_lib): Set variables.
13627 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
13628 always_ld_library_path.
13629 * Makefile.in: Regenerate.
13630 * configure: Likewise.
13631 * testsuite/Makefile.in: Likewise.
13632
4a88d9b7
TS
13633 * plugin/configfrag.ac (offload_additional_options)
13634 (offload_additional_lib_paths): Don't amend for hsa offloading.
13635 * configure: Regenerate.
13636
41d809d3
TS
13637 * plugin/configfrag.ac: Don't configure for offloading target if
13638 we don't build the corresponding plugin.
13639 * configure: Regenerate.
13640
b6adbb9f
NS
136412016-02-01 Nathan Sidwell <nathan@codesourcery.com>
13642
13643 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
13644 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
13645
8dfdb419
TV
136462016-01-26 Tom de Vries <tom@codesourcery.com>
13647
13648 PR tree-optimization/69110
13649 * testsuite/libgomp.c/pr69110.c: New test.
13650
02ef53f2
RB
136512016-01-25 Richard Biener <rguenther@suse.de>
13652
13653 PR lto/69393
13654 * testsuite/libgomp.c++/pr69393.C: New testcase.
13655
eb4048f2
IV
136562016-01-22 Ilya Verbin <ilya.verbin@intel.com>
13657
13658 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
13659 function wasn't mapped to the device with non-shared memory.
13660
b235cdd5
IV
136612016-01-20 Ilya Verbin <ilya.verbin@intel.com>
13662
13663 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
13664
b2b40051
MJ
136652016-01-19 Martin Jambor <mjambor@suse.cz>
13666 Martin Liska <mliska@suse.cz>
13667
13668 * plugin/Makefrag.am: Add HSA plugin requirements.
13669 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
13670 (HSA_RUNTIME_LIB): Likewise.
13671 (HSA_RUNTIME_CPPFLAGS): Likewise.
13672 (HSA_RUNTIME_INCLUDE): New substitution.
13673 (HSA_RUNTIME_LIB): Likewise.
13674 (HSA_RUNTIME_LDFLAGS): Likewise.
13675 (hsa-runtime): New configure option.
13676 (hsa-runtime-include): Likewise.
13677 (hsa-runtime-lib): Likewise.
13678 (PLUGIN_HSA): New substitution variable.
13679 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
13680 configure options.
13681 (PLUGIN_HSA_CPPFLAGS): Likewise.
13682 (PLUGIN_HSA_LDFLAGS): Likewise.
13683 (PLUGIN_HSA_LIBS): Likewise.
13684 Check that we have access to HSA run-time.
13685 * libgomp-plugin.h (offload_target_type): New element
13686 OFFLOAD_TARGET_TYPE_HSA.
13687 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
13688 args.
13689 (bool gomp_create_target_task): Updated.
13690 (gomp_device_descr): Extra parameter of run_func and async_run_func,
13691 new field can_run_func.
13692 * libgomp_g.h (GOMP_target_ext): Update prototype.
13693 * oacc-host.c (host_run): Added a new parameter args.
13694 * target.c (calculate_firstprivate_requirements): New function.
13695 (copy_firstprivate_data): Likewise.
13696 (gomp_target_fallback_firstprivate): Use them.
13697 (gomp_target_unshare_firstprivate): New function.
13698 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
13699 devices.
13700 (GOMP_target): Do host fallback for all shared memory devices. Do not
13701 pass any args to plugins.
13702 (GOMP_target_ext): Introduce device-specific argument parameter args.
13703 Allow host fallback if device shares memory. Do not remap data if
13704 device has shared memory.
13705 (gomp_target_task_fn): Likewise. Also treat shared memory devices
13706 like host fallback for mappings.
13707 (GOMP_target_data): Treat shared memory devices like host fallback.
13708 (GOMP_target_data_ext): Likewise.
13709 (GOMP_target_update): Likewise.
13710 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
13711 gomp_create_target_task.
13712 (GOMP_target_enter_exit_data): Likewise.
13713 (omp_target_alloc): Treat shared memory devices like host fallback.
13714 (omp_target_free): Likewise.
13715 (omp_target_is_present): Likewise.
13716 (omp_target_memcpy): Likewise.
13717 (omp_target_memcpy_rect): Likewise.
13718 (omp_target_associate_ptr): Likewise.
13719 (gomp_load_plugin_for_device): Also load can_run.
13720 * task.c (GOMP_PLUGIN_target_task_completion): Free
13721 firstprivate_copies.
13722 (gomp_create_target_task): Accept new argument args and store it to
13723 ttask.
13724 * plugin/plugin-hsa.c: New file.
13725
5d7804a9
TV
137262016-01-18 Tom de Vries <tom@codesourcery.com>
13727
13728 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
13729 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
13730 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
13731 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
13732 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
13733 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
13734 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
13735 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
13736 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
13737 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
13738 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
13739 Same.
13740 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
13741 Same.
13742 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
13743 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
13744 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
13745 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
13746 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
13747 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
13748 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
13749 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
13750 Same.
13751 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
13752
cb11f3cf
JJ
137532016-01-15 Jakub Jelinek <jakub@redhat.com>
13754
13755 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
13756
33a126a6
CP
137572016-01-15 Cesar Philippidis <cesar@codesourcery.com>
13758
13759 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
13760
cdf6119d
JN
137612016-01-12 James Norris <jnorris@codesourcery.com>
13762
13763 * libgomp.texi: Updates for OpenACC.
13764
0d58938e
AM
137652016-01-11 Alexander Monakov <amonakov@ispras.ru>
13766
13767 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
13768
95918b49
L
137692016-01-07 H.J. Lu <hongjiu.lu@intel.com>
13770
13771 PR fortran/66680
13772 * testsuite/libgomp.fortran/pr66680.f90: New test.
13773
8fc708b7
JJ
137742016-01-07 Jakub Jelinek <jakub@redhat.com>
13775
13776 PR middle-end/68960
13777 * testsuite/libgomp.c/pr68960.c: New test.
13778
e9b596c1
NS
137792016-01-06 Nathan Sidwell <nathan@acm.org>
13780
1a14faf2 13781 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
13782 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
13783
21fa2a29
JJ
137842016-01-04 Jakub Jelinek <jakub@redhat.com>
13785
818ab71a
JJ
13786 Update copyright years.
13787
21fa2a29
JJ
13788 * libgomp.texi: Bump @copying's copyright year.
13789
9310efbc
NS
137902015-12-31 Nathan Sidwell <nathan@acm.org>
13791
13792 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
13793 dg-additional-options syntax.
13794 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
13795 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
13796 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
13797 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
13798 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
13799 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
13800 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
13801 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
13802 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
13803 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
13804 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
13805 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
13806 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
13807 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
13808 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
13809 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
13810 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
13811 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
13812
4a38b02b
IV
138132015-12-15 Ilya Verbin <ilya.verbin@intel.com>
13814
13815 * libgomp.h (REFCOUNT_LINK): Define.
13816 (struct splay_tree_key_s): Add link_key.
13817 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
13818 Replace target address of the pointer with target address of newly
13819 mapped object in the splay tree. Set link pointer on target to the
13820 device address of the mapped object.
13821 (gomp_unmap_vars): Restore target address of the pointer in the splay
13822 tree for REFCOUNT_LINK objects after unmapping.
13823 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
13824 declare target link" objects.
13825 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
13826 "omp declare target link" objects, which were mapped for the image.
13827 (gomp_exit_data): Restore target address of the pointer in the splay
13828 tree for REFCOUNT_LINK objects after unmapping.
13829 * testsuite/libgomp.c/target-link-1.c: New file.
13830
d84ffc0a
IV
138312015-12-14 Ilya Verbin <ilya.verbin@intel.com>
13832
13833 * libgomp.h (gomp_device_state): New enum.
13834 (struct gomp_device_descr): Replace is_initialized with state.
13835 (gomp_fini_device): Remove declaration.
13836 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
13837 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
13838 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
13839 (acc_set_device_type): Use state instead of is_initialized.
13840 (acc_set_device_num): Likewise.
13841 * target.c (resolve_device): Use state instead of is_initialized.
13842 Do not initialize finalized device.
13843 (gomp_map_vars): Do nothing if device is finalized.
13844 (gomp_unmap_vars): Likewise.
13845 (gomp_update): Likewise.
13846 (GOMP_offload_register_ver): Use state instead of is_initialized.
13847 (GOMP_offload_unregister_ver): Likewise.
13848 (gomp_init_device): Likewise.
13849 (gomp_unload_device): Likewise.
13850 (gomp_fini_device): Remove.
13851 (gomp_get_target_fn_addr): Do nothing if device is finalized.
13852 (GOMP_target): Go to host fallback if device is finalized.
13853 (GOMP_target_ext): Likewise.
13854 (gomp_exit_data): Do nothing if device is finalized.
13855 (gomp_target_task_fn): Go to host fallback if device is finalized.
13856 (gomp_target_fini): New static function.
13857 (gomp_target_init): Use state instead of is_initialized.
13858 Call gomp_target_fini at exit.
13859
76680678
TV
138602015-12-09 Tom de Vries <tom@codesourcery.com>
13861
13862 PR tree-optimization/68716
13863 * testsuite/libgomp.c/omp-nested-2.c: New test.
13864
ff7a55bf
TS
138652015-12-02 Thomas Schwinge <thomas@codesourcery.com>
13866
13867 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
13868 target openacc_nvidia_accel_selected.
13869 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
13870 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
13871 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
13872 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
13873
37d5ad46
JB
138742015-12-01 Julian Brown <julian@codesourcery.com>
13875 James Norris <James_Norris@mentor.com>
13876
13877 * oacc-parallel.c (GOACC_host_data): New function.
13878 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
13879 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
13880 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
13881 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
13882 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
13883 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
13884 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
13885
db941d7e
CP
138862015-11-30 James Norris <jnorris@codesourcery.com>
13887 Cesar Philippidis <cesar@codesourcery.com>
13888
13889 libgomp/
13890 * libgomp.oacc-fortran/routine-5.f90: New test.
13891 * libgomp.oacc-fortran/routine-7.f90: New test.
13892 * libgomp.oacc-fortran/routine-9.f90: New test.
13893
e0ca27c5
TV
138942015-11-30 Tom de Vries <tom@codesourcery.com>
13895
13896 PR tree-optimization/46032
13897 * testsuite/libgomp.c/pr46032.c: New test.
13898
aec17bfe
JJ
138992015-11-27 Jakub Jelinek <jakub@redhat.com>
13900
8e4e4719
JJ
13901 PR libgomp/68579
13902 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
13903 (gomp_create_target_task): Call it before freeing
13904 GOMP_TARGET_TASK_DATA tasks.
13905
aec17bfe
JJ
13906 PR c/63326
13907 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
13908 in between case label and OpenMP standalone directives.
13909 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
13910
6cfe90e6
DE
139112015-11-26 David Edelsohn <dje.gcc@gmail.com>
13912
13913 * configure: Regenerate.
13914
0e65fd7d
JJ
139152015-11-26 Jakub Jelinek <jakub@redhat.com>
13916
13917 * testsuite/libgomp.c/target-35.c: New test.
13918
dc7a8b4b
JN
139192015-11-22 James Norris <jnorris@codesourcery.com>
13920 Cesar Philippidis <cesar@codesourcery.com>
13921
13922 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
13923 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
13924 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
13925 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
13926 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
13927
48a78aee
JJ
139282015-11-20 Jakub Jelinek <jakub@redhat.com>
13929
13930 PR middle-end/68221
13931 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
13932 * testsuite/libgomp.c/reduction-12.c: Likewise.
13933 * testsuite/libgomp.c++/reduction-11.C: Likewise.
13934 * testsuite/libgomp.c++/reduction-12.C: Likewise.
13935
2d256816
NS
139362015-11-19 Nathan Sidwell <nathan@codesourcery.com>
13937
13938 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
13939 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
13940 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
13941 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
13942 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
13943 and fix.
13944 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13945 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13946
33f47f42
NS
139472015-11-18 Nathan Sidwell <nathan@codesourcery.com>
13948
13949 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
13950 worker & gang cases.
13951 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
13952
3d7bfee0
CP
139532015-11-17 Cesar Philippidis <cesar@codesourcery.com>
13954
13955 * config/nvptx/priority_queue.c: New file.
13956
00b9bd52
JJ
139572015-11-14 Jakub Jelinek <jakub@redhat.com>
13958
13959 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
13960 sections.
13961
e4606348
JJ
139622015-11-14 Jakub Jelinek <jakub@redhat.com>
13963 Aldy Hernandez <aldyh@redhat.com>
13964 Ilya Verbin <ilya.verbin@intel.com>
13965
13966 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
13967 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
13968 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
13969 iterators or IV by chunk size.
13970 * parallel.c (gomp_resolve_num_threads): Don't assume that
13971 if thr->ts.team is non-NULL, then pool must be non-NULL.
13972 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
13973 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
13974 GOMP_PLUGIN_target_task_completion.
13975 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
13976 * Makefile.in: Regenerate.
13977 * libgomp.h: Shuffle prototypes and forward definitions around so
13978 priority queues can be defined.
13979 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
13980 (enum gomp_target_task_state): New enum.
13981 (struct gomp_target_task): Add state, tgt, task and team fields.
13982 (gomp_create_target_task): Change return type to bool, add
13983 state argument.
13984 (gomp_target_task_fn): Change return type to bool.
13985 (struct gomp_device_descr): Add async_run_func.
13986 (struct gomp_task): Remove children, next_child, prev_child,
13987 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
13988 Add pnode field.
13989 (struct gomp_taskgroup): Remove children.
13990 Add taskgroup_queue.
13991 (struct gomp_team): Change task_queue type to a priority queue.
13992 (splay_compare): Define inline.
13993 (priority_queue_offset): New.
13994 (priority_node_to_task): New.
13995 (task_to_priority_node): New.
13996 * oacc-mem.c: Do not include splay-tree.h.
13997 * priority_queue.c: New file.
13998 * priority_queue.h: New file.
13999 * splay-tree.c: Do not include splay-tree.h.
14000 (splay_tree_foreach_internal): New.
14001 (splay_tree_foreach): New.
14002 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
14003 (splay_tree_callback): Define typedef.
14004 * target.c (splay_compare): Move to libgomp.h.
14005 (GOMP_target): Don't adjust *thr in any way around running offloaded
14006 task.
14007 (GOMP_target_ext): Likewise. Handle target nowait.
14008 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
14009 return value from gomp_create_target_task, if false, fallthrough
14010 as if no dependencies exist.
14011 (gomp_target_task_fn): Change return type to bool, return true
14012 if the task should have another part scheduled later. Handle
14013 target nowait.
14014 (gomp_load_plugin_for_device): Initialize async_run.
14015 * task.c (gomp_init_task): Initialize children_queue.
14016 (gomp_clear_parent_in_list): New.
14017 (gomp_clear_parent_in_tree): New.
14018 (gomp_clear_parent): Handle priorities.
14019 (GOMP_task): Likewise.
14020 (priority_queue_move_task_first,
14021 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
14022 New functions.
14023 (gomp_create_target_task): Use priority queues. Change return type
14024 to bool, add state argument, return false if for async
14025 {{enter,exit} data,update} constructs no dependencies need to be
14026 waited for, handle target nowait. Set task->fn to NULL instead of
14027 gomp_target_task_fn.
14028 (verify_children_queue): Remove.
14029 (priority_list_upgrade_task): New.
14030 (priority_queue_upgrade_task): New.
14031 (verify_task_queue): Remove.
14032 (priority_list_downgrade_task): New.
14033 (priority_queue_downgrade_task): New.
14034 (gomp_task_run_pre): Use priority queues.
14035 Abstract code out to priority_queue_downgrade_task.
14036 (gomp_task_run_post_handle_dependers): Use priority queues.
14037 (gomp_task_run_post_remove_parent): Likewise.
14038 (gomp_task_run_post_remove_taskgroup): Likewise.
14039 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
14040 tasks specially.
14041 (GOMP_taskwait): Likewise.
14042 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
14043 priority-queue_upgrade_task.
14044 (GOMP_taskgroup_start): Use priority queues.
14045 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
14046 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
14047 barrier.
14048 * taskloop.c (GOMP_taskloop): Handle priorities.
14049 * team.c (gomp_new_team): Call priority_queue_init.
14050 (free_team): Call priority_queue_free.
14051 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
14052 team created for target nowait in implicit parallel region.
14053 (gomp_team_start): For nested check, test thr->ts.level instead of
14054 thr->ts.team != NULL.
14055 * testsuite/libgomp.c/doacross-3.c: New test.
14056 * testsuite/libgomp.c/ordered-5.c: New test.
14057 * testsuite/libgomp.c/priority.c: New test.
14058 * testsuite/libgomp.c/target-31.c: New test.
14059 * testsuite/libgomp.c/target-32.c: New test.
14060 * testsuite/libgomp.c/target-33.c: New test.
14061 * testsuite/libgomp.c/target-34.c: New test.
14062
1d1ab74f
NS
140632015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14064
c5a64cfe
NS
14065 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
14066
1d1ab74f
NS
14067 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
14068 loop is sequential.
14069
dd3c1b14
NS
140702015-11-13 Nathan Sidwell <nathan@codesourcery.com>
14071
14072 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
14073 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
14074
6e232ba4
JN
140752015-11-12 James Norris <jnorris@codesourcery.com>
14076 Joseph Myers <joseph@codesourcery.com>
14077
14078 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
14079 * oacc-parallel.c (GOACC_declare): New function.
14080 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
14081 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
14082 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
14083 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
14084 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
14085
fffeedeb
NS
140862015-11-12 Nathan Sidwell <nathan@codesourcery.com>
14087
14088 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
14089
182190f2
NS
140902015-11-1 Nathan Sidwell <nathan@codesourcery.com>
14091
14092 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
14093 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
14094
36fa0f5f
NS
140952015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14096
d350c40c
NS
14097 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
14098 inadvertent commit.
14099
141002015-11-09 Nathan Sidwell <nathan@codesourcery.com>
14101
36fa0f5f
NS
14102 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
14103 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
14104 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
14105 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
14106 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
14107
66a5f0b4
TS
141082015-11-06 Thomas Schwinge <thomas@codesourcery.com>
14109
14110 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
14111 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
14112
e01d41e5
JJ
141132015-11-05 Jakub Jelinek <jakub@redhat.com>
14114 Ilya Verbin <ilya.verbin@intel.com>
14115
14116 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
14117 GOMP_loop_nonmonotonic_dynamic_start,
14118 GOMP_loop_nonmonotonic_guided_next,
14119 GOMP_loop_nonmonotonic_guided_start,
14120 GOMP_loop_ull_nonmonotonic_dynamic_next,
14121 GOMP_loop_ull_nonmonotonic_dynamic_start,
14122 GOMP_loop_ull_nonmonotonic_guided_next,
14123 GOMP_loop_ull_nonmonotonic_guided_start,
14124 GOMP_parallel_loop_nonmonotonic_dynamic,
14125 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
14126 (GOMP_target_41): Renamed to ...
14127 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14128 arguments.
14129 (GOMP_target_data_41): Renamed to ...
14130 (GOMP_target_data_ext): ... this.
14131 (GOMP_target_update_41): Renamed to ...
14132 (GOMP_target_update_ext): ... this.
14133 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
14134 GOMP_target_data_ext and GOMP_target_update_ext instead of
14135 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
14136 Export GOMP_loop_nonmonotonic_dynamic_next,
14137 GOMP_loop_nonmonotonic_dynamic_start,
14138 GOMP_loop_nonmonotonic_guided_next,
14139 GOMP_loop_nonmonotonic_guided_start,
14140 GOMP_loop_ull_nonmonotonic_dynamic_next,
14141 GOMP_loop_ull_nonmonotonic_dynamic_start,
14142 GOMP_loop_ull_nonmonotonic_guided_next,
14143 GOMP_loop_ull_nonmonotonic_guided_start,
14144 GOMP_parallel_loop_nonmonotonic_dynamic and
14145 GOMP_parallel_loop_nonmonotonic_guided.
14146 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
14147 GOMP_parallel_loop_nonmonotonic_guided,
14148 GOMP_loop_nonmonotonic_dynamic_start,
14149 GOMP_loop_nonmonotonic_guided_start,
14150 GOMP_loop_nonmonotonic_dynamic_next,
14151 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
14152 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
14153 GOMP_loop_ull_nonmonotonic_guided_start,
14154 GOMP_loop_ull_nonmonotonic_dynamic_next,
14155 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
14156 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
14157 functions.
14158 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
14159 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
14160 Use gomp_map_val function.
14161 (gomp_target_fallback_firstprivate): New static function.
14162 (GOMP_target_41): Renamed to ...
14163 (GOMP_target_ext): ... this. Add num_teams and thread_limit
14164 arguments. Move firstprivate fallback handling into a new
14165 function.
14166 (GOMP_target_data_41): Renamed to ...
14167 (GOMP_target_data_ext): ... this.
14168 (GOMP_target_update_41): Renamed to ...
14169 (GOMP_target_update_ext): ... this.
14170 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
14171 gomp_map_0len_lookup instead of gomp_map_lookup.
14172 (omp_target_is_present): Use gomp_map_0len_lookup instead of
14173 gomp_map_lookup.
14174 * testsuite/libgomp.c/target-28.c: Likewise.
14175 * testsuite/libgomp.c/monotonic-1.c: New test.
14176 * testsuite/libgomp.c/monotonic-2.c: New test.
14177 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
14178 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
14179 * testsuite/libgomp.c/pr66199-5.c: New test.
14180 * testsuite/libgomp.c/pr66199-6.c: New test.
14181 * testsuite/libgomp.c/pr66199-7.c: New test.
14182 * testsuite/libgomp.c/pr66199-8.c: New test.
14183 * testsuite/libgomp.c/pr66199-9.c: New test.
14184 * testsuite/libgomp.c/reduction-11.c: New test.
14185 * testsuite/libgomp.c/reduction-12.c: New test.
14186 * testsuite/libgomp.c/reduction-13.c: New test.
14187 * testsuite/libgomp.c/reduction-14.c: New test.
14188 * testsuite/libgomp.c/reduction-15.c: New test.
14189 * testsuite/libgomp.c/target-12.c (main): Adjust for
14190 omp_target_is_present change for one-past-last element.
14191 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
14192 the same var is both mapped and privatized.
14193 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
14194 handling of zero-length array sections.
14195 * testsuite/libgomp.c/target-28.c: New test.
14196 * testsuite/libgomp.c/target-29.c: New test.
14197 * testsuite/libgomp.c/target-30.c: New test.
14198 * testsuite/libgomp.c/target-teams-1.c: New test.
14199 * testsuite/libgomp.c++/member-6.C: New test.
14200 * testsuite/libgomp.c++/member-7.C: New test.
14201 * testsuite/libgomp.c++/monotonic-1.C: New test.
14202 * testsuite/libgomp.c++/monotonic-2.C: New test.
14203 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
14204 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
14205 * testsuite/libgomp.c++/pr66199-3.C: New test.
14206 * testsuite/libgomp.c++/pr66199-4.C: New test.
14207 * testsuite/libgomp.c++/pr66199-5.C: New test.
14208 * testsuite/libgomp.c++/pr66199-6.C: New test.
14209 * testsuite/libgomp.c++/pr66199-7.C: New test.
14210 * testsuite/libgomp.c++/pr66199-8.C: New test.
14211 * testsuite/libgomp.c++/pr66199-9.C: New test.
14212 * testsuite/libgomp.c++/reduction-11.C: New test.
14213 * testsuite/libgomp.c++/reduction-12.C: New test.
14214 * testsuite/libgomp.c++/target-13.C: New test.
14215 * testsuite/libgomp.c++/target-14.C: New test.
14216 * testsuite/libgomp.c++/target-15.C: New test.
14217 * testsuite/libgomp.c++/target-16.C: New test.
14218 * testsuite/libgomp.c++/target-17.C: New test.
14219 * testsuite/libgomp.c++/target-18.C: New test.
14220 * testsuite/libgomp.c++/target-19.C: New test.
14221
ccc8282b
NS
142222015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14223
14224 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
14225 and reduction copy.
14226 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
14227 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
14228 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
14229 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14230 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
14231 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
14232 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
14233 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14234 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
14235 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
14236 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
14237 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
14238 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
14239 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
14240
5d6823a2
NS
142412015-11-04 Nathan Sidwell <nathan@codesourcery.com>
14242
14243 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
14244 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
14245 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
14246 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
14247 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
14248 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
14249 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
14250 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
14251
5c06742f
NS
142522015-11-03 Nathan Sidwell <nathan@codesourcery.com>
14253
14254 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
14255 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
14256 (GOMP_OFFLOAD_openacc_parallel): Likewise.
14257 * oacc-host.c (host_openacc_exec): Likewise.
14258 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
14259
4bf9e5a8
TS
142602015-11-03 Julian Brown <julian@codesourcery.com>
14261 Thomas Schwinge <thomas@codesourcery.com>
14262
14263 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
14264 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
14265 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
14266 Likewise.
14267 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
14268 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
14269
142702015-11-03 James Norris <jnorris@codesourcery.com>
14271
14272 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
14273 file.
14274 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
14275 Likewise.
14276 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
14277 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
14278 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
14279 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
14280 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
14281
a0e701d8
NS
142822015-10-29 Nathan Sidwell <nathan@codesourcery.com>
14283
14284 * openacc.h (enum acc_device_t): Reformat. Ensure layout
14285 compatibility.
14286 (enum acc_async_t): Reformat.
14287 (acc_on_device): Declare compatible with builtin and provide C++
14288 wrapper.
14289 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
14290
41e977ac
TS
142912015-10-29 Thomas Schwinge <thomas@codesourcery.com>
14292 Cesar Philippidis <cesar@codesourcery.com>
14293
14294 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
14295 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
14296 ... this. Add a description of the test at the top of the file.
14297 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
14298 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
14299 ... this. Add a description of the test at the top of the file.
14300
e3091406
NS
143012015-10-28 Nathan Sidwell <nathan@codesourcery.com>
14302
14303 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
14304 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
14305 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
14306 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
14307 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
14308 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
14309
a1c1908b
NS
143102015-10-27 Nathan Sidwell <nathan@codesourcery.com>
14311
14312 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
14313 dimensions.
14314
b3962a4a
TS
143152015-10-27 Thomas Schwinge <thomas@codesourcery.com>
14316
14317 PR testsuite/68063
14318 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
14319
88bae6f4
TS
143202015-10-27 James Norris <jnorris@codesourcery.com>
14321
14322 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
14323 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
14324
8baa7864
TS
143252015-10-26 Thomas Schwinge <thomas@codesourcery.com>
14326
bdeb752c
TS
14327 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
14328 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14329
ecd4fd43
TS
14330 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
14331 acc_device_nvidia usage.
14332 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
14333 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14334 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
14335
aa8b7d30
TS
14336 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
14337 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
14338
7c8f138d
TS
14339 PR libgomp/66518
14340 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
14341
8baa7864
TS
14342 PR libgomp/65437
14343 PR libgomp/66518
14344 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
14345 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
14346
88ebcde5
TV
143472015-10-23 Tom de Vries <tom@codesourcery.com>
14348
14349 PR testsuite/68063
14350 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
14351
9ef83c04
NS
143522015-10-20 Nathan Sidwell <nathan@codesourcery.com>
14353
14354 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
14355 vector_length.
14356 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
14357
3837c6d6
IV
143582015-10-14 Ilya Verbin <ilya.verbin@intel.com>
14359 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
14360
14361 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
14362 to 0 when mapnum is 0.
14363
ac8a1965
SH
143642015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
14365
14366 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
14367 Cast to int from int32_t.
14368
d9a6bd32
JJ
143692015-10-13 Jakub Jelinek <jakub@redhat.com>
14370 Aldy Hernandez <aldyh@redhat.com>
14371 Ilya Verbin <ilya.verbin@intel.com>
14372
14373 * config/linux/affinity.c (omp_get_place_num_procs,
14374 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14375 * config/linux/doacross.h: New file.
14376 * config/posix/affinity.c (omp_get_place_num_procs,
14377 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
14378 * config/posix/doacross.h: New file.
14379 * env.c: Include gomp-constants.h.
14380 (struct gomp_task_icv): Rename run_sched_modifier to
14381 run_sched_chunk_size.
14382 (gomp_max_task_priority_var): New variable.
14383 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
14384 (handle_omp_display_env): Change _OPENMP value from 201307 to
14385 201511. Print OMP_MAX_TASK_PRIORITY.
14386 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
14387 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
14388 chunk_size and run_sched_modifier to run_sched_chunk_size.
14389 (omp_get_max_task_priority, omp_get_initial_device,
14390 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
14391 omp_get_partition_place_nums): New functions.
14392 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
14393 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
14394 to chunk_size.
14395 (omp_get_num_places_, omp_get_place_num_procs_,
14396 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
14397 omp_get_place_proc_ids_8_, omp_get_place_num_,
14398 omp_get_partition_num_places_, omp_get_partition_place_nums_,
14399 omp_get_partition_place_nums_8_, omp_get_initial_device_,
14400 omp_get_max_task_priority_): New functions.
14401 * libgomp_g.h (GOMP_loop_doacross_static_start,
14402 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
14403 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
14404 GOMP_loop_ull_doacross_dynamic_start,
14405 GOMP_loop_ull_doacross_guided_start,
14406 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
14407 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
14408 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
14409 GOMP_target_data_41, GOMP_target_update_41,
14410 GOMP_target_enter_exit_data): New prototypes.
14411 (GOMP_task): Add prototype argument.
14412 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
14413 (struct gomp_doacross_work_share): New type.
14414 (struct gomp_work_share): Add doacross field.
14415 (struct gomp_task_icv): Rename run_sched_modifier to
14416 run_sched_chunk_size.
14417 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
14418 GOMP_TASK_UNDEFERRED. Add comments.
14419 (struct gomp_task_depend_entry): Add comments.
14420 (struct gomp_task): Likewise.
14421 (struct gomp_taskgroup): Likewise.
14422 (struct gomp_target_task): New type.
14423 (struct gomp_team): Add comment.
14424 (gomp_get_place_proc_ids_8, gomp_doacross_init,
14425 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
14426 gomp_create_target_task, gomp_target_task_fn): New prototypes.
14427 (struct target_var_desc): New type.
14428 (struct target_mem_desc): Adjust comment. Use struct
14429 target_var_desc instead of splay_tree_key for list.
14430 (REFCOUNT_INFINITY): Define.
14431 (struct splay_tree_key_s): Remove copy_from field.
14432 (struct gomp_device_descr): Add dev2dev_func field.
14433 (enum gomp_map_vars_kind): New enum.
14434 (gomp_map_vars): Add one argument.
14435 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
14436 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
14437 omp_get_place_num_procs, omp_get_place_num_procs_,
14438 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
14439 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
14440 omp_get_place_num_, omp_get_partition_num_places,
14441 omp_get_partition_num_places_, omp_get_partition_place_nums,
14442 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
14443 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
14444 omp_target_free, omp_target_is_present, omp_target_memcpy,
14445 omp_target_memcpy_rect, omp_target_associate_ptr and
14446 omp_target_disassociate_ptr.
14447 (GOMP_4.0.2): Renamed to ...
14448 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
14449 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
14450 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
14451 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14452 GOMP_loop_doacross_static_start, GOMP_doacross_post,
14453 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
14454 GOMP_loop_ull_doacross_guided_start,
14455 GOMP_loop_ull_doacross_runtime_start,
14456 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
14457 GOMP_doacross_ull_wait.
14458 * libgomp.texi: Document omp_get_max_task_priority.
14459 Rename modifier argument to chunk_size for omp_set_schedule and
14460 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
14461 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
14462 to run_sched_chunk_size renaming.
14463 (GOMP_loop_ordered_runtime_start): Likewise.
14464 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
14465 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
14466 GOMP_parallel_loop_runtime_start): New functions.
14467 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
14468 to run_sched_chunk_size renaming.
14469 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
14470 GOMP_loop_doacross_guided_start): New functions or aliases.
14471 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
14472 run_sched_modifier to run_sched_chunk_size renaming.
14473 (GOMP_loop_ull_ordered_runtime_start): Likewise.
14474 (gomp_loop_ull_doacross_static_start,
14475 gomp_loop_ull_doacross_dynamic_start,
14476 gomp_loop_ull_doacross_guided_start,
14477 GOMP_loop_ull_doacross_runtime_start): New functions.
14478 (GOMP_loop_ull_doacross_static_start,
14479 GOMP_loop_ull_doacross_dynamic_start,
14480 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
14481 * oacc-mem.c (acc_map_data, present_create_copy,
14482 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
14483 to gomp_map_vars.
14484 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
14485 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
14486 instead of false to gomp_map_vars.
14487 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
14488 * omp.h.in (omp_lock_hint_t): New type.
14489 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14490 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14491 omp_get_place_num, omp_get_partition_num_places,
14492 omp_get_partition_place_nums, omp_get_initial_device,
14493 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
14494 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
14495 omp_target_associate_ptr, omp_target_disassociate_ptr): New
14496 prototypes.
14497 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
14498 (omp_lock_hint_none, omp_lock_hint_uncontended,
14499 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14500 omp_lock_hint_speculative): New parameters.
14501 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14502 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14503 omp_get_place_num, omp_get_partition_num_places,
14504 omp_get_partition_place_nums, omp_get_initial_device,
14505 omp_get_max_task_priority): New interfaces.
14506 (omp_set_schedule, omp_get_schedule): Rename modifier argument
14507 to chunk_size.
14508 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
14509 (omp_lock_hint_none, omp_lock_hint_uncontended,
14510 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
14511 omp_lock_hint_speculative): New parameters.
14512 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
14513 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
14514 omp_get_place_num, omp_get_partition_num_places,
14515 omp_get_partition_place_nums, omp_get_initial_device,
14516 omp_get_max_task_priority): New functions and subroutines.
14517 * ordered.c: Include stdarg.h and string.h.
14518 (MAX_COLLAPSED_BITS): Define.
14519 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
14520 gomp_doacross_ull_init, GOMP_doacross_ull_post,
14521 GOMP_doacross_ull_wait): New functions.
14522 * target.c: Include errno.h.
14523 (resolve_device): If device is not initialized, call
14524 gomp_init_device on it.
14525 (gomp_map_lookup): New function.
14526 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
14527 Don't bump refcount if REFCOUNT_INFINITY. Handle
14528 GOMP_MAP_ALWAYS_TO_P.
14529 (get_kind): Rename is_openacc argument to short_mapkind.
14530 (gomp_map_pointer): Use gomp_map_lookup.
14531 (gomp_map_fields_existing): New function.
14532 (gomp_map_vars): Rename is_openacc argument to short_mapkind
14533 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
14534 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
14535 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
14536 Adjust for tgt->list changed type and copy_from living in there.
14537 (gomp_copy_from_async): Adjust for tgt->list changed type and
14538 copy_from living in there.
14539 (gomp_unmap_vars): Likewise.
14540 (gomp_update): Likewise. Rename is_openacc argument to
14541 short_mapkind. Don't fail if object is not mapped.
14542 (gomp_load_image_to_device): Initialize refcount to
14543 REFCOUNT_INFINITY.
14544 (gomp_target_fallback): New function.
14545 (gomp_get_target_fn_addr): Likewise.
14546 (GOMP_target): Adjust gomp_map_vars caller, use
14547 gomp_get_target_fn_addr and gomp_target_fallback.
14548 (GOMP_target_41): New function.
14549 (gomp_target_data_fallback): New function.
14550 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
14551 (GOMP_target_data_41): New function.
14552 (GOMP_target_update): Adjust gomp_update caller.
14553 (GOMP_target_update_41): New function.
14554 (gomp_exit_data, GOMP_target_enter_exit_data,
14555 gomp_target_task_fn, omp_target_alloc, omp_target_free,
14556 omp_target_is_present, omp_target_memcpy,
14557 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
14558 omp_target_associate_ptr, omp_target_disassociate_ptr,
14559 gomp_load_plugin_for_device): New functions.
14560 * task.c: Include gomp-constants.h. Include taskloop.c
14561 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
14562 (gomp_task_handle_depend): New function.
14563 (GOMP_task): Use it. Add priority argument. Use
14564 gomp-constant.h constants instead of hardcoded numbers.
14565 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
14566 (gomp_create_target_task): New function.
14567 (verify_children_queue, verify_taskgroup_queue,
14568 verify_task_queue): New functions.
14569 (gomp_task_run_pre): Call verify_*_queue functions.
14570 If an upcoming tied task is about to leave the sibling or
14571 taskgroup queues in an invalid state, adjust appropriately.
14572 Remove taskgroup argument. Add comments.
14573 (gomp_task_run_post_handle_dependers): Add comments.
14574 (gomp_task_run_post_remove_parent): Likewise.
14575 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
14576 (GOMP_taskwait): Likewise. Add comments.
14577 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
14578 problem such that the first non parent_depends_on task does not
14579 end up at the end of the children queue.
14580 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
14581 GOMP_TASK_UNDEFERRED.
14582 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
14583 * taskloop.c: New file.
14584 * testsuite/lib/libgomp.exp
14585 (check_effective_target_offload_device_nonshared_as): New proc.
14586 * testsuite/libgomp.c/affinity-2.c: New test.
14587 * testsuite/libgomp.c/doacross-1.c: New test.
14588 * testsuite/libgomp.c/doacross-2.c: New test.
14589 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
14590 Add map clause to target.
14591 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
14592 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
14593 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
14594 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
14595 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
14596 Likewise.
14597 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
14598 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
14599 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
14600 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
14601 not defined. Use those where needed.
14602 * testsuite/libgomp.c/for-4.c: New test.
14603 * testsuite/libgomp.c/for-5.c: New test.
14604 * testsuite/libgomp.c/for-6.c: New test.
14605 * testsuite/libgomp.c/linear-1.c: New test.
14606 * testsuite/libgomp.c/ordered-4.c: New test.
14607 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
14608 only allowed on the loop iterator.
14609 * testsuite/libgomp.c/pr66199-3.c: New test.
14610 * testsuite/libgomp.c/pr66199-4.c: New test.
14611 * testsuite/libgomp.c/reduction-7.c: New test.
14612 * testsuite/libgomp.c/reduction-8.c: New test.
14613 * testsuite/libgomp.c/reduction-9.c: New test.
14614 * testsuite/libgomp.c/reduction-10.c: New test.
14615 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
14616 map(tofrom:s).
14617 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
14618 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
14619 * testsuite/libgomp.c/target-11.c: New test.
14620 * testsuite/libgomp.c/target-12.c: New test.
14621 * testsuite/libgomp.c/target-13.c: New test.
14622 * testsuite/libgomp.c/target-14.c: New test.
14623 * testsuite/libgomp.c/target-15.c: New test.
14624 * testsuite/libgomp.c/target-16.c: New test.
14625 * testsuite/libgomp.c/target-17.c: New test.
14626 * testsuite/libgomp.c/target-18.c: New test.
14627 * testsuite/libgomp.c/target-19.c: New test.
14628 * testsuite/libgomp.c/target-20.c: New test.
14629 * testsuite/libgomp.c/target-21.c: New test.
14630 * testsuite/libgomp.c/target-22.c: New test.
14631 * testsuite/libgomp.c/target-23.c: New test.
14632 * testsuite/libgomp.c/target-24.c: New test.
14633 * testsuite/libgomp.c/target-25.c: New test.
14634 * testsuite/libgomp.c/target-26.c: New test.
14635 * testsuite/libgomp.c/target-27.c: New test.
14636 * testsuite/libgomp.c/taskloop-1.c: New test.
14637 * testsuite/libgomp.c/taskloop-2.c: New test.
14638 * testsuite/libgomp.c/taskloop-3.c: New test.
14639 * testsuite/libgomp.c/taskloop-4.c: New test.
14640 * testsuite/libgomp.c++/ctor-13.C: New test.
14641 * testsuite/libgomp.c++/doacross-1.C: New test.
14642 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
14643 Replace offload_device with offload_device_nonshared_as.
14644 * testsuite/libgomp.c++/for-12.C: New test.
14645 * testsuite/libgomp.c++/for-13.C: New test.
14646 * testsuite/libgomp.c++/for-14.C: New test.
14647 * testsuite/libgomp.c++/linear-1.C: New test.
14648 * testsuite/libgomp.c++/member-1.C: New test.
14649 * testsuite/libgomp.c++/member-2.C: New test.
14650 * testsuite/libgomp.c++/member-3.C: New test.
14651 * testsuite/libgomp.c++/member-4.C: New test.
14652 * testsuite/libgomp.c++/member-5.C: New test.
14653 * testsuite/libgomp.c++/ordered-1.C: New test.
14654 * testsuite/libgomp.c++/reduction-5.C: New test.
14655 * testsuite/libgomp.c++/reduction-6.C: New test.
14656 * testsuite/libgomp.c++/reduction-7.C: New test.
14657 * testsuite/libgomp.c++/reduction-8.C: New test.
14658 * testsuite/libgomp.c++/reduction-9.C: New test.
14659 * testsuite/libgomp.c++/reduction-10.C: New test.
14660 * testsuite/libgomp.c++/reference-1.C: New test.
14661 * testsuite/libgomp.c++/simd14.C: New test.
14662 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
14663 * testsuite/libgomp.c++/target-5.C: New test.
14664 * testsuite/libgomp.c++/target-6.C: New test.
14665 * testsuite/libgomp.c++/target-7.C: New test.
14666 * testsuite/libgomp.c++/target-8.C: New test.
14667 * testsuite/libgomp.c++/target-9.C: New test.
14668 * testsuite/libgomp.c++/target-10.C: New test.
14669 * testsuite/libgomp.c++/target-11.C: New test.
14670 * testsuite/libgomp.c++/target-12.C: New test.
14671 * testsuite/libgomp.c++/taskloop-1.C: New test.
14672 * testsuite/libgomp.c++/taskloop-2.C: New test.
14673 * testsuite/libgomp.c++/taskloop-3.C: New test.
14674 * testsuite/libgomp.c++/taskloop-4.C: New test.
14675 * testsuite/libgomp.c++/taskloop-5.C: New test.
14676 * testsuite/libgomp.c++/taskloop-6.C: New test.
14677 * testsuite/libgomp.c++/taskloop-7.C: New test.
14678 * testsuite/libgomp.c++/taskloop-8.C: New test.
14679 * testsuite/libgomp.c++/taskloop-9.C: New test.
14680 * testsuite/libgomp.fortran/affinity1.f90: New test.
14681 * testsuite/libgomp.fortran/affinity2.f90: New test.
14682
1f600fea
TV
146832015-10-13 Tom de Vries <tom@codesourcery.com>
14684
14685 PR tree-optimization/67476
14686 * testsuite/libgomp.c/autopar-3.c: New test.
14687 * testsuite/libgomp.c/autopar-4.c: New test.
14688 * testsuite/libgomp.c/autopar-5.c: New test.
14689 * testsuite/libgomp.c/autopar-6.c: New test.
14690 * testsuite/libgomp.c/autopar-7.c: New test.
14691 * testsuite/libgomp.c/autopar-8.c: New test.
14692
058a654b
JN
146932015-10-12 James Norris <jnorris@codesourcery.com>
14694
14695 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
14696 initializer.
14697
9e531d37
DM
146982015-10-09 David Malcolm <dmalcolm@redhat.com>
14699
14700 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
14701 using load_gcc_lib.
14702
113020dc
TS
147032015-10-02 Thomas Schwinge <thomas@codesourcery.com>
14704
14705 * oacc-ptx.h: Remove file, moving its content into...
14706 * config/nvptx/fortran.c: ... here...
14707 * config/nvptx/oacc-init.c: ..., here...
14708 * config/nvptx/oacc-parallel.c: ..., and here.
14709 * config/nvptx/openacc.f90: New file.
14710 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
14711 (link_ptx): Don't link in predefined bits of PTX code.
14712
cc3cd79b
NS
147132015-09-30 Nathan Sidwell <nathan@codesourcery.com>
14714 Bernd Schmidt <bernds@codesourcery.com>
14715
14716 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
14717 (struct targ_ptx_obj): New.
14718 (nvptx_tdata): Move earlier, change data format.
14719 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
14720 objects.
14721 (GOMP_OFFLOAD_load_image): Adjust.
14722
4e2a5450
TS
147232015-09-30 Thomas Schwinge <thomas@codesourcery.com>
14724
14725 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
14726 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
14727 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
14728 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
14729 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14730 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
14731 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
14732 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
14733 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
14734 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
14735 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14736 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14737 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14738 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14739 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14740 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14741 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14742 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14743 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14744 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14745 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14746 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14747 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14748 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14749 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14750 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14751 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14752 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14753 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14754 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14755 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14756 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14757 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14758 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14759 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14760 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14761 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14762 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14763 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14764 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14765 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14766 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14767 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14768 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14769 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14770 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14771 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14772 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14773 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14774 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14775 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14776 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14777 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14778 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14779 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
14780 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14781 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14782 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
14783 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
14784 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
14785 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
14786 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
14787 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14788
164453bb
NS
147892015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14790
14791 * oacc-init.c (acc_on_device): Force optimization level.
14792
a12a0437
NS
147932015-09-29 Nathan Sidwell <nathan@codesourcery.com>
14794
14795 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
14796 (cuda_errlist): Delete.
14797 (cuda_error): Reimplement.
14798
3e32ee19
NS
147992015-09-28 Nathan Sidwell <nathan@codesourcery.com>
14800
14801 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
14802 array.
14803 * libgomp.map (GOACC_parallel_keyed): New.
14804 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
14805 all callers.
14806 (GOACC_parallel_keyed): New interface. Lose geometry arguments
14807 and take keyed varargs list. Adjust call to exec_func.
14808 (GOACC_parallel): Force host fallback.
14809 * libgomp_g.h (GOACC_parallel): Remove.
14810 (GOACC_parallel_keyed): Declare.
14811 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 14812 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
14813 (nvptx_exec): Lose separate geometry args, take array. Process
14814 dynamic dimensions and adjust.
14815 (struct nvptx_tdata): Replace fn_names field with fn_descs.
14816 (GOMP_OFFLOAD_load_image): Adjust for change in function table
14817 data.
14818 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
14819 passing.
14820 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
14821 passing.
14822
6bb4c3e2
CLT
148232015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
14824
14825 PR libgomp/67141
14826 * oacc-int.h (goacc_host_init): Add declaration.
14827 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
14828 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
14829
74032f47 148302015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 14831 Sebastian Pop <s.pop@samsung.com>
74032f47 14832
93d90219 14833 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
14834 match o/p.
14835 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
14836 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
14837 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
14838 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
14839 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
14840
97875f4a
JJ
148412015-09-03 Jakub Jelinek <jakub@redhat.com>
14842
14843 * configure.tgt: Add missing ;; in between nvptx and rtems
14844 snippets.
14845
06441dd5
SH
148462015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14847
14848 * config/posix/pool.h (gomp_adjust_thread_attr): New.
14849 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
14850 (gomp_thread_pool_reservoir): Add priority member.
14851 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
14852 priority.
14853 (parse_thread_pools): Likewise.
14854 * team.c (gomp_team_start): Call configuration provided
14855 gomp_adjust_thread_attr(). Destroy thread attributes if
14856 necessary.
14857 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
14858
66c59f92
SH
148592015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14860
14861 * config/posix/pool.h: New.
14862 * config/rtems/pool.h: Likewise.
14863 * config/rtems/proc.c: Likewise.
14864 * libgomp.h (gomp_thread_destructor): Declare.
14865 * team.c: Include configuration provided "pool.h".
14866 (gomp_get_thread_pool): Define in configuration.
14867 (gomp_team_end): Call configuration defined
14868 gomp_release_thread_pool().
14869
13c41b2e
SH
148702015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14871
14872 * config/rtems/bar.c: New.
14873 * config/rtems/bar.h: Likewise.
14874 * config/rtems/mutex.c: Likewise.
14875 * config/rtems/mutex.h: Likewise.
14876 * config/rtems/sem.c: Likewise.
14877 * config/rtems/sem.h: Likewise.
14878 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
14879 <sys/lock.h> header file.
14880 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
14881 supported by Newlib.
14882 * configure: Regenerate.
14883
7892ec67
SH
148842015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
14885
14886 * team.c (gomp_new_thread_pool): Delete and move content to ...
14887 (gomp_get_thread_pool): ... new function. Allocate and
14888 initialize thread pool on demand.
14889 (get_last_team): Use gomp_get_thread_pool().
14890 (gomp_team_start): Delete thread pool initialization.
14891
1b96e9a4
TV
148922015-09-03 Tom de Vries <tom@codesourcery.com>
14893
14894 PR tree-optimization/65637
14895 * testsuite/libgomp.c/autopar-2.c: New test.
14896
3ff2d74e
TV
148972015-08-29 Tom de Vries <tom@codesourcery.com>
14898
14899 PR tree-optimization/46193
14900 * testsuite/libgomp.c/pr46193.c: New test.
14901
2a21ff19
NS
149022015-08-24 Nathan Sidwell <nathan@codesourcery.com>
14903
14904 libgomp/
14905 * libgomp.map: Add 4.0.2 version.
14906 * target.c (offload_image_descr): Add version field.
14907 (gomp_load_image_to_device): Add version argument. Adjust plugin
14908 call. Improve load mismatch diagnostic.
14909 (gomp_unload_image_from_device): Add version argument. Adjust plugin
14910 call.
14911 (GOMP_offload_regster): Make stub function, move bulk to ...
14912 (GOMP_offload_register_ver): ... here. Process version argument.
14913 (GOMP_offload_unregister): Make stub function, move bulk to ...
14914 (GOMP_offload_unregister_ver): ... here. Process version argument.
14915 (gomp_init_device): Process version field.
14916 (gomp_unload_device): Process version field.
14917 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
14918 macros. Check plugin version.
14919 * libgomp.h (gomp_device_descr): Add version function field. Adjust
14920 loader and unloader types.
14921 * oacc-host.c: Include gomp-constants.h.
14922 (host_version): New.
14923 (host_load_image, host_unload_image): Adjust.
14924 (host_dispatch): Add host_version.
14925 * plugin/plugin-nvptx.c: Include gomp-constants.h.
14926 (GOMP_OFFLOAD_version): New.
14927 (GOMP_OFFLOAD_load_image): Add version arg and check it.
14928 (GOMP_OFFLOAD_unload_image): Likewise.
14929 * plugin/plugin-host.c: Include gomp-constants.h.
14930 (GOMP_OFFLOAD_version): New.
14931 (GOMP_OFFLOAD_load_image): Add version arg.
14932 (GOMP_OFFLOAD_unload_image): Likewise.
14933
1358a747
TV
149342015-08-24 Tom de Vries <tom@codesourcery.com>
14935
14936 PR tree-optimization/65468
14937 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
14938
6be5c241
TV
149392015-08-24 Tom de Vries <tom@codesourcery.com>
14940
14941 PR tree-optimization/65468
14942 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
14943
bfe7ac89
JV
149442015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
14945
14946 PR libgomp/66761
14947 PR libgomp/67303
14948 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
14949 (gomp_iter_guided_next): Idem.
14950 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
14951 (gomp_iter_ull_guided_next): Idem.
14952 * config/linux/wait.h (do_spin): Idem.
14953
b97e78b7
TS
149542015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14955
14956 * libgomp-plugin.h (enum offload_target_type): Remove
14957 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
14958 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
14959 * openacc.h (enum acc_device_t): Likewise.
14960 * openacc_lib.h: Likewise.
14961 * oacc-init.c (name_of_acc_device_t): Don't handle it.
14962 (acc_on_device): Just use __builtin_acc_on_device.
14963 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
14964 of acc_on_device builtin.
14965 * plugin/plugin-host.h: Remove file.
14966 * plugin/plugin-host.c: Likewise, but salvage some content into...
14967 * oacc-host.c: ... this file.
14968 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
14969 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
14970 * Makefile.in: Regenerate.
14971 * configure: Likewise.
14972 * testsuite/lib/libgomp.exp
14973 (check_effective_target_openacc_host_nonshm_selected): Remove.
14974 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
14975 ACC_DEVICE_TYPE=host_nonshm.
14976 * testsuite/libgomp.oacc-c/c.exp: Likewise.
14977 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14978 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
14979 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
14980 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
14981 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
14982
44a7d18d
TS
149832015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14984 Jakub Jelinek <jakub@redhat.com>
14985
14986 * config/nvptx/affinity.c: New file.
14987 * config/nvptx/alloc.c: Likewise.
14988 * config/nvptx/bar.c: Likewise.
14989 * config/nvptx/barrier.c: Likewise.
14990 * config/nvptx/critical.c: Likewise.
14991 * config/nvptx/env.c: Likewise.
14992 * config/nvptx/error.c: Likewise.
14993 * config/nvptx/fortran.c: Likewise.
14994 * config/nvptx/iter.c: Likewise.
14995 * config/nvptx/iter_ull.c: Likewise.
14996 * config/nvptx/libgomp-plugin.c: Likewise.
14997 * config/nvptx/lock.c: Likewise.
14998 * config/nvptx/loop.c: Likewise.
14999 * config/nvptx/loop_ull.c: Likewise.
15000 * config/nvptx/mutex.c: Likewise.
15001 * config/nvptx/oacc-async.c: Likewise.
15002 * config/nvptx/oacc-cuda.c: Likewise.
15003 * config/nvptx/oacc-host.c: Likewise.
15004 * config/nvptx/oacc-init.c: Likewise.
15005 * config/nvptx/oacc-mem.c: Likewise.
15006 * config/nvptx/oacc-parallel.c: Likewise.
15007 * config/nvptx/oacc-plugin.c: Likewise.
15008 * config/nvptx/omp-lock.h: Likewise.
15009 * config/nvptx/ordered.c: Likewise.
15010 * config/nvptx/parallel.c: Likewise.
15011 * config/nvptx/proc.c: Likewise.
15012 * config/nvptx/ptrlock.c: Likewise.
15013 * config/nvptx/sections.c: Likewise.
15014 * config/nvptx/sem.c: Likewise.
15015 * config/nvptx/single.c: Likewise.
15016 * config/nvptx/splay-tree.c: Likewise.
15017 * config/nvptx/target.c: Likewise.
15018 * config/nvptx/task.c: Likewise.
15019 * config/nvptx/team.c: Likewise.
15020 * config/nvptx/time.c: Likewise.
15021 * config/nvptx/work.c: Likewise.
15022 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
15023 * configure: Regenerate.
15024 * configure.tgt (config_path): Set to "nvptx" for target
15025 nvptx*-*-*.
15026
96a2d174
TS
150272015-08-10 Thomas Schwinge <thomas@codesourcery.com>
15028
15029 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
15030
9ebddeb0
NS
150312015-08-03 Nathan Sidwell <nathan@codesourcery.com>
15032
15033 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
15034 (cuda_errlist): Constify.
15035 (errmsg): Move into ...
15036 (cuda_error): ... here. Make smaller.
15037 (_XSTR, _STR): Delete.
15038 (cuda_synames): Delete.
15039 (verify_device_library): Delete.
15040 (nvptx_init): Don't call it.
15041
12efb1d7
TV
150422015-07-28 Tom de Vries <tom@codesourcery.com>
15043
15044 * testsuite/libgomp.c/uns-outer-4.c: New test.
15045
710ee218
CP
150462015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15047
15048 * testsuite/libgomp.c/pr66714.c: New test.
15049
27c4ac7d
MB
150502015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
15051
15052 PR libgomp/66950
15053 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
15054 (fib_ref): New function.
15055 (fib): Correct corner cases in the recursion.
15056 (main): Replace the non-simd loop with fib_ref call.
15057 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
15058 subroutine.
15059 (fibonacci): Lower the parameter N to 30. Correct accordingly check
15060 for the last array element value. Replace the non-simd loop with
15061 fib_ref call. Remove redundant b_ref array. Remove the comparison
15062 of the last array element with according Fibonacci sequence element.
15063 (fib): Correct corner cases in the recursion.
15064
22be2349
NS
150652015-07-21 Nathan Sidwell <nathan@codesourcery.com>
15066
15067 * target.c (gomp_offload_image_to_device): Rename to ...
15068 (gomp_load_image_to_device): ... here.
15069 (GOMP_offload_register): Adjust call.
15070 (gomp_init_device): Likewise.
15071 (gomp_unload_image_from_device): New. Broken out of ...
15072 (GOMP_offload_unregister): ... here. Call it.
15073 (gomp_unload_device): New.
15074 * libgomp.h (gomp_unload_device): Declare.
15075 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
15076 mem maps.
15077
f3e9a059
NS
150782015-07-20 Nathan Sidwell <nathan@codesourcery.com>
15079
a091118d
NS
15080 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
15081 wait=-specific if.
15082 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
15083 !=0 condition.
15084 (goacc_waits): Move !num_waits handling to ...
15085 (GOACC_wait): ... here, the only caller that might have zero waits.
15086
f3e9a059
NS
15087 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
15088 (struct ptx_image_data): Move earlier, add fns field.
15089 (struct ptx_device): Add images and image_lock fields.
15090 (ptx_images, ptx_image_lock): Delete.
15091 (nvptx_open_device): Initialize images and image_lock fields.
15092 (nvptx_close_device): Destroy image_lock.
15093 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
15094 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
15095 fields.
15096
afb2d80b
NS
150972015-07-17 Nathan Sidwell <nathan@codesourcery.com>
15098
896c28a7
NS
15099 * target.c (GOMP_offload_register): Use int for device type arg.
15100 (GOMP_offload_unregister): Likewise.
15101
ebe4a560
NS
15102 * target.c (struct_offload_image_descr): Constify host_table.
15103 (gomp_offload_image_to_device): Likewise.
15104 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
15105
afb2d80b
NS
15106 * libgomp.h (gomp_device_descr): Constify target data arguments.
15107 * target.c (struct offload_image_descr): Constify target_data.
15108 (gomp_offload_image_to_device): Likewise.
15109 (GOMP_offload_register): Likewise.
93d90219 15110 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
15111 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
15112 GOMP_OFFLOAD_unload_image): Constify target data.
15113 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
15114 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
15115
a4cb876d
NS
151162015-07-16 Nathan Sidwell <nathan@codesourcery.com>
15117
15118 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
15119 Workaround driver library const error.
15120 (struct nvptx_tdata, nvptx_tdata_t): New.
15121 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
15122 type.
15123
28ef6a27
MB
151242015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
15125
15126 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
15127 of EPS parameter from integer to real.
15128 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
15129 type of EPS parameter from integer to real.
15130
6dba0113
SH
151312015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
15132
15133 * team.c (get_last_team): New.
15134 (gomp_new_team): Recycle last non-nested team if possible.
15135 (gomp_team_end): Move team work share list free lock destruction
15136 to ...
15137 (free_team): ... here.
15138
4c1cb4da
MB
151392015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
15140
15141 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
15142 and ref from int to double. Replaced their comparison with
15143 an inequality of their difference and EPS.
15144 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
15145 comparison of pri and a reference number with an inequality of their
15146 difference and EPS.
15147 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
15148 the comparison of sum and sum_ref with an inequality of their
15149 difference and EPS.
15150 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
15151 the comparison of pri and a reference number with an inequality of
15152 their difference and EPS.
15153
343587dc
MB
151542015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
15155
15156 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
15157 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
15158 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
15159 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
15160 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
15161 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
15162 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
15163 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
15164 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
15165 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
15166 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
15167 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
15168 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
15169 variables.
15170 (vec_mult): Likewise. Add #pragma omp taskwait.
15171 (main): Adjust caller.
15172 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
15173 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
15174 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
15175 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
15176 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
15177 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
15178 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
15179 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
15180 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
15181 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
15182 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
15183 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
15184 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
15185 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
15186 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
15187 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
15188 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
15189 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
15190 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
15191 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
15192 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
15193 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
15194 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
15195 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
15196 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
15197 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
15198 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
15199 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
15200 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
15201 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
15202 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
15203 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
15204 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
15205 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
15206 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
15207 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
15208 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
15209 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
15210 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
15211 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
15212 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
15213 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
15214 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
15215 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
15216 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
15217 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
15218 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
15219 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
15220 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
15221 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
15222 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
15223 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
15224 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
15225 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
15226 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
15227 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
15228 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
15229 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
15230 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
15231 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
15232 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
15233 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
15234 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
15235 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
15236 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
15237 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
15238 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
15239 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
15240 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
15241 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
15242 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
15243 (vec_mult): Add !$omp taskwait.
15244 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
15245 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
15246 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
15247 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
15248 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
15249 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
15250 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
15251 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
15252 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
15253 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
15254 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
15255 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
15256 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
15257 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
15258 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
15259 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
15260 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
15261 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
15262 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
15263 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
15264 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
15265 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
15266 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
15267 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
15268 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
15269 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
15270 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
15271 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
15272 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
15273 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
15274 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
15275 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
15276 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
15277 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
15278 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
15279 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
15280 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
15281 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
15282 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
15283 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
15284 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
15285 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
15286 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
15287 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
15288 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
15289 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
15290 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
15291 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
15292 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
15293 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
15294 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
15295 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
15296 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
15297 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
15298 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
15299 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
15300 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
15301 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
15302 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
15303 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
15304 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
15305 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
15306 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
15307 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
15308 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
15309 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
15310 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
15311
9f620bf1
TV
153122015-07-10 Tom de Vries <tom@codesourcery.com>
15313
15314 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
15315 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
15316
a92defda
TS
153172015-07-08 Thomas Schwinge <thomas@codesourcery.com>
15318
15319 PR libgomp/65099
15320 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
15321 in a 64-bit configuration.
15322 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
15323 offloading testing if no such device is available.
15324 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15325 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15326
cadb53a5
TV
153272015-07-08 Tom de Vries <tom@codesourcery.com>
15328
15329 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
15330 second call to f.
15331 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15332
712cb0bb
TV
153332015-07-07 Tom de Vries <tom@codesourcery.com>
15334
15335 PR tree-optimization/66642
15336 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
15337 iteration count case.
15338 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
15339 function, factor out of ...
15340 (main): ... here. Test low iteration count case.
15341
e5210c77
SH
153422015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
15343
15344 * libgomp.h (gomp_thread_pool): Comment last_team field.
15345
f70360e7
UB
153462015-07-02 Uros Bizjak <ubizjak@gmail.com>
15347
15348 * testsuite/libgomp.c++/pr66702-1.C: Require
15349 vect_simd_clones effective target.
15350 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
15351
b451c271
TV
153522015-06-30 Tom de Vries <tom@codesourcery.com>
15353
15354 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15355 already set. Use DEFAULT_CFLAGS in dg-runtest.
15356 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
15357 "-O2".
15358
f8e89d9f
TV
153592015-06-30 Tom de Vries <tom@codesourcery.com>
15360
15361 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
15362 already set. Use DEFAULT_CFLAGS in dg-runtest.
15363 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
15364 * testsuite/libgomp.c++/pr64824.C: Same.
15365 * testsuite/libgomp.c++/pr64868.C: Same.
15366 * testsuite/libgomp.c++/pr66199-1.C: Same.
15367 * testsuite/libgomp.c++/pr66199-2.C: Same.
15368 * testsuite/libgomp.c++/target-2.C: Same.
15369 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
15370 -std=<standard> option.
15371 * testsuite/libgomp.c++/udr-11.C: Same.
15372 * testsuite/libgomp.c++/udr-12.C: Same.
15373 * testsuite/libgomp.c++/udr-13.C: Same.
15374 * testsuite/libgomp.c++/udr-14.C: Same.
15375 * testsuite/libgomp.c++/udr-15.C: Same.
15376 * testsuite/libgomp.c++/udr-16.C: Same.
15377 * testsuite/libgomp.c++/udr-17.C: Same.
15378 * testsuite/libgomp.c++/udr-18.C: Same.
15379 * testsuite/libgomp.c++/udr-19.C: Same.
15380 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
15381 * testsuite/libgomp.c++/simd-1.C: Same.
15382 * testsuite/libgomp.c++/simd-2.C: Same.
15383 * testsuite/libgomp.c++/simd-3.C: Same.
15384 * testsuite/libgomp.c++/simd-4.C: Same.
15385 * testsuite/libgomp.c++/simd-5.C: Same.
15386 * testsuite/libgomp.c++/simd-6.C: Same.
15387 * testsuite/libgomp.c++/simd-7.C: Same.
15388 * testsuite/libgomp.c++/simd-8.C: Same.
15389 * testsuite/libgomp.c++/simd-9.C: Same.
15390 * testsuite/libgomp.c++/simd10.C: Same.
15391 * testsuite/libgomp.c++/simd11.C: Same.
15392 * testsuite/libgomp.c++/simd12.C: Same.
15393 * testsuite/libgomp.c++/simd13.C: Same.
15394
3446fe48
JJ
153952015-06-30 Jakub Jelinek <jakub@redhat.com>
15396
15397 PR middle-end/66702
15398 * testsuite/libgomp.c++/pr66702-1.C: New test.
15399 * testsuite/libgomp.c++/pr66702-2.C: New test.
15400
8a36714a
TV
154012015-06-30 Tom de Vries <tom@codesourcery.com>
15402
15403 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
15404 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
15405 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
15406 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
15407
4f75d608
TV
154082015-06-30 Tom de Vries <tom@codesourcery.com>
15409
15410 PR tree-optimization/66652
15411 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
15412 using restrict pointers.
15413 (main): Add arguments to calls to f.
15414 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15415
6d9d1eeb
AT
154162015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
15417
15418 * configure.ac: Fix check for header <sys/sysctl.h>.
15419 * configure: Regenerate.
15420 * config.h.in: Likewise.
15421
1222f22b
TV
154222015-06-23 Tom de Vries <tom@codesourcery.com>
15423
15424 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
15425 abort.
15426 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
15427
d7efbbf6
TS
154282015-06-19 Thomas Schwinge <thomas@codesourcery.com>
15429
bfcd036f
TS
15430 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
15431 acc_device_nvidia.
15432
d7efbbf6
TS
15433 PR libgomp/66518
15434 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
15435 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15436
d7bfc710
TV
154372015-06-15 Tom de Vries <tom@codesourcery.com>
15438
15439 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
15440 dg-additional-options for any remaining options.
15441 * testsuite/libgomp.c/atomic-2.c: Same.
15442 * testsuite/libgomp.c/atomic-4.c: Same.
15443 * testsuite/libgomp.c/atomic-5.c: Same.
15444 * testsuite/libgomp.c/atomic-6.c: Same.
15445 * testsuite/libgomp.c/autopar-1.c: Same.
15446 * testsuite/libgomp.c/copyin-1.c: Same.
15447 * testsuite/libgomp.c/copyin-2.c: Same.
15448 * testsuite/libgomp.c/copyin-3.c: Same.
15449 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
15450 * testsuite/libgomp.c/nestedfn-5.c: Same.
15451 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
15452 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
15453 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
15454 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15455 * testsuite/libgomp.c/pr32362-1.c: Same.
15456 * testsuite/libgomp.c/pr32362-2.c: Same.
15457 * testsuite/libgomp.c/pr32362-3.c: Same.
15458 * testsuite/libgomp.c/pr39591-1.c: Same.
15459 * testsuite/libgomp.c/pr39591-2.c: Same.
15460 * testsuite/libgomp.c/pr39591-3.c: Same.
15461 * testsuite/libgomp.c/pr58392.c: Same.
15462 * testsuite/libgomp.c/pr58756.c: Same.
15463 * testsuite/libgomp.c/simd-1.c: Same.
15464 * testsuite/libgomp.c/simd-10.c: Same.
15465 * testsuite/libgomp.c/simd-11.c: Same.
15466 * testsuite/libgomp.c/simd-12.c: Same.
15467 * testsuite/libgomp.c/simd-13.c: Same.
15468 * testsuite/libgomp.c/simd-14.c: Same.
15469 * testsuite/libgomp.c/simd-15.c: Same.
15470 * testsuite/libgomp.c/simd-2.c: Same.
15471 * testsuite/libgomp.c/simd-3.c: Same.
15472 * testsuite/libgomp.c/simd-4.c: Same.
15473 * testsuite/libgomp.c/simd-5.c: Same.
15474 * testsuite/libgomp.c/simd-6.c: Same.
15475 * testsuite/libgomp.c/simd-7.c: Same.
15476 * testsuite/libgomp.c/simd-8.c: Same.
15477 * testsuite/libgomp.c/simd-9.c: Same.
15478
fb5b5352
TV
154792015-06-15 Tom de Vries <tom@codesourcery.com>
15480
15481 * testsuite/libgomp.c/pr35625.c: Fix typo.
15482
ca431bef
TV
154832015-06-15 Tom de Vries <tom@codesourcery.com>
15484
15485 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
15486 in dg-options.
15487 * testsuite/libgomp.c/atomic-3.c: Same.
15488 * testsuite/libgomp.c/debug-1.c: Same.
15489 * testsuite/libgomp.c/nqueens-1.c: Same.
15490 * testsuite/libgomp.c/pr26171.c: Same.
15491 * testsuite/libgomp.c/pr48591.c: Same.
15492 * testsuite/libgomp.c/pr64824.c: Same.
15493 * testsuite/libgomp.c/pr64868.c: Same.
15494 * testsuite/libgomp.c/pr66133.c: Same.
15495 * testsuite/libgomp.c/pr66199-1.c: Same.
15496 * testsuite/libgomp.c/pr66199-2.c: Same.
15497 * testsuite/libgomp.c/target-8.c: Same.
15498
0d8a9e20
TV
154992015-06-15 Tom de Vries <tom@codesourcery.com>
15500
15501 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
15502 -std={gnu99,c99}.
15503 * testsuite/libgomp.c/for-1.c: Same.
15504 * testsuite/libgomp.c/for-2.c: Same.
15505 * testsuite/libgomp.c/for-3.c: Same.
15506 * testsuite/libgomp.c/pr35625.c: Same.
15507 * testsuite/libgomp.c/pr39154.c: Same.
15508 * testsuite/libgomp.c/simd-16.c: Same.
15509 * testsuite/libgomp.c/simd-17.c: Same.
15510
a6860be9
TV
155112015-06-13 Tom de Vries <tom@codesourcery.com>
15512
15513 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
15514
ab3306d2
TV
155152015-06-13 Tom de Vries <tom@codesourcery.com>
15516
15517 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
15518 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
15519 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
15520 (N): Define.
15521 (main): Use N instead of hardcoded constants.
15522
7c82d827
TV
155232015-06-05 Tom de Vries <tom@codesourcery.com>
15524
15525 merge from gomp4 branch:
15526 2015-05-28 Tom de Vries <tom@codesourcery.com>
15527
15528 PR tree-optimization/65443
15529 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
15530 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
15531 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
15532
c469078d
BRF
155332015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
15534
15535 * testsuite/libgomp.graphite/bounds.c: Adjust for
15536 cleanup-tree-dump removal.
15537 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
15538 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15539 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15540 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15541 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15542 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15543 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15544 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15545 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15546 * testsuite/libgomp.graphite/pr41118.c: Likewise.
15547
bb3caa35
UB
155482015-05-28 Uros Bizjak <ubizjak@gmail.com>
15549
15550 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
15551 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
15552 (futex_wake) [!__x86_64__]: Ditto.
15553
9fb5fd44
JB
155542015-05-28 Julian Brown <julian@codesourcery.com>
15555
15556 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
15557 function comment. Only call gomp_fatal if new argument is true.
15558 (acc_dev_num_out_of_range): New function.
15559 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
15560 acc_dev_num_out_of_range as appropriate.
15561 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
15562 (acc_get_device_num, acc_set_device_num): Update calls to
15563 resolve_device.
9fb5fd44
JB
15564 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
15565 output.
15566
32eaed93
JB
155672015-05-28 Julian Brown <julian@codesourcery.com>
15568
15569 PR libgomp/65742
32eaed93
JB
15570 * oacc-init.c (plugin/plugin-host.h): Include.
15571 (acc_on_device): Check whether we're in an offloaded region for
15572 host_nonshm
15573 plugin. Don't use __builtin_acc_on_device.
15574 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
15575 nonshm_exec flag in thread-local data.
15576 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
15577 data for host_nonshm plugin.
15578 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
15579 for host_nonshm plugin.
15580 * plugin/plugin-host.h: New.
15581
ea023bcf
UB
155822015-05-27 Uros Bizjak <ubizjak@gmail.com>
15583
8ed501f1
UB
15584 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
15585
155862015-05-27 Uros Bizjak <ubizjak@gmail.com>
15587
15588 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
15589 Declare as int.
15590 (FUTEX_PRIVATE_FLAG): Remove L suffix.
15591 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
15592 Declare as int.
15593
155942015-05-27 Uros Bizjak <ubizjak@gmail.com>
15595
bb3caa35 15596 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 15597
1716efeb
CLT
155982015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
15599
15600 * target.c (gomp_map_pointer): New function abstracting out
15601 GOMP_MAP_POINTER handling.
15602 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
15603 gomp_map_pointer().
15604
41b37d5e
JJ
156052015-05-19 Jakub Jelinek <jakub@redhat.com>
15606
15607 PR middle-end/66199
15608 * testsuite/libgomp.c/pr66199-1.c: New test.
15609 * testsuite/libgomp.c/pr66199-2.c: New test.
15610 * testsuite/libgomp.c++/pr66199-1.C: New test.
15611 * testsuite/libgomp.c++/pr66199-2.C: New test.
15612 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
15613 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
15614
c8319826
JB
156152015-05-19 Julian Brown <julian@codesourcery.com>
15616
15617 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
15618 on cuInit failure.
15619
b37dddbc
JJ
156202015-05-13 Jakub Jelinek <jakub@redhat.com>
15621
15622 PR middle-end/66133
15623 * testsuite/libgomp.c/pr66133.c: New test.
15624
55fba601
MH
156252015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
15626
15627 * Makefile.in: Regenerated with automake-1.11.6.
15628 * aclocal.m4: Likewise.
15629 * config.h.in: Likewise.
15630 * configure: Likewise.
15631 * testsuite/Makefile.in: Likewise.
15632
1be0899d
JM
156332015-05-08 Jason Merrill <jason@redhat.com>
15634
15635 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
15636 _Complex.
15637
15638 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
15639
d2463960
JB
156402015-05-06 Julian Brown <julian@codesourcery.com>
15641
15642 * oacc-init.c (acc_device_lock): Add explanatory comment.
15643 (resolve_device): Add comment about locking requirement.
15644 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
15645 gomp_init_device and gomp_fini_device calls.
15646 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
15647 (acc_get_device_num, acc_set_device_num): Add locking around
15648 resolve_device and gomp_init_device calls.
15649
e38fdba4
JB
156502015-05-06 Julian Brown <julian@codesourcery.com>
15651
15652 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
15653 goacc_thread_lock on error paths.
15654 * oacc-mem.c (lookup_host): Remove locking from function. Note
15655 locking requirement for caller in function comment.
15656 (lookup_dev): Likewise.
15657 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
15658 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
15659 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
15660 Add locking.
15661
ae8ffbbb
TS
156622015-05-05 Thomas Schwinge <thomas@codesourcery.com>
15663
15664 PR testsuite/65205
15665 PR libgomp/65993
15666 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
15667 don't expect "0x" prefix for "%p" format specifier, don't expect
15668 "(nil)" for NULL pointer.
15669 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15670 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15671 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15672 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15673 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15674 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15675 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15676 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15677 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15678 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15679 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15680 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15681 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15682 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15683 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15684 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15685 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15686 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15687 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15688 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15689 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15690 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15691 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15692 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15693 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15694 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15695 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15696 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15697 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
15698 accurately specify what we're looking for.
15699 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15700 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15701 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15702 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15703 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15704
1309f1d2
JN
157052015-04-30 James Norris <jnorris@codesourcery.com>
15706
15707 PR testsuite/65205
15708 * testsuite/lib/libgomp.exp
15709 (check_effective_target_openacc_host_selected)
15710 (check_effective_target_openacc_host_nonshm_selected): New
15711 procedures.
15712 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
15713 dg-shouldfail.
15714 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15715 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15716 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15717 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15718 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15719 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15720 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15721 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15722 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15723 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15724 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15725 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15726 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15727 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15728 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15729 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15730 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15731 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15732 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15733 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15734 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15735 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15736 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15737 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15738 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15739 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15740 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15741 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15742 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15743 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15744 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15745 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15746 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15747 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15748 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15749 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15750 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15751 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15752 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15753 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15754 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15755 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15756 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15757
d93bdab5
JB
157582015-04-08 Julian Brown <julian@codesourcery.com>
15759
15760 * libgomp.h (target_mem_desc: Remove mem_map field.
15761 (acc_dispatch_t): Remove open_device_func, close_device_func,
15762 get_device_num_func, set_device_num_func, target_data members.
15763 Change create_thread_data_func argument to device number instead of
15764 generic pointer.
15765 * oacc-async.c (assert.h): Include.
15766 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
15767 (acc_wait_all, acc_wait_all_async): Use current host thread's
15768 active device, not base_dev.
15769 * oacc-cuda.c (acc_get_current_cuda_device)
15770 (acc_get_current_cuda_context, acc_get_cuda_stream)
15771 (acc_set_cuda_stream): Likewise.
15772 * oacc-host.c (host_dispatch): Don't set open_device_func,
15773 close_device_func, get_device_num_func or set_device_num_func.
15774 * oacc-init.c (base_dev, init_key): Remove.
15775 (cached_base_dev): New.
15776 (name_of_acc_device_t): New.
15777 (acc_init_1): Initialise default-numbered device, not zeroth.
15778 (acc_shutdown_1): Close all devices of a given type.
15779 (goacc_destroy_thread): Don't use base_dev.
15780 (lazy_open, lazy_init, lazy_init_and_open): Remove.
15781 (goacc_attach_host_thread_to_device): New.
15782 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
15783 (acc_get_num_devices): Don't use base_dev.
15784 (acc_set_device_type): Reimplement.
15785 (acc_get_device_type): Don't use base_dev.
15786 (acc_get_device_num): Tweak logic.
15787 (acc_set_device_num): Likewise.
15788 (acc_on_device): Use acc_get_device_type.
15789 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
15790 (goacc_lazy_initialize): Reimplement with acc_init and
15791 goacc_attach_host_thread_to_device.
15792 * oacc-int.h (goacc_thread): Add base_dev field.
15793 (base_dev): Remove extern declaration.
15794 (goacc_attach_host_thread_to_device): Add prototype.
15795 * oacc-mem.c (acc_malloc): Use current thread's device instead of
15796 base_dev.
15797 (acc_free): Likewise.
15798 (acc_memcpy_to_device): Likewise.
15799 (acc_memcpy_from_device): Likewise.
15800 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
15801 goacc_lazy_initialize (throughout).
15802 (GOACC_parallel): Use tgt_offset to locate target functions.
15803 * target.c (gomp_map_vars): Don't set tgt->mem_map.
15804 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
15805 (gomp_load_plugin_for_device): Remove open_device, close_device,
15806 get_device_num, set_device_num openacc hook initialisation. Don't set
15807 openacc.target_data.
15808 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
15809 (GOMP_OFFLOAD_openacc_close_device)
15810 (GOMP_OFFLOAD_openacc_get_device_num)
15811 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
15812 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
15813 to int.
15814 * plugin/plugin-nvptx.c (ptx_inited): Remove.
15815 (instantiated_devices, ptx_dev_lock): New.
15816 (struct ptx_image_data): New.
15817 (ptx_devices, ptx_images, ptx_image_lock): New.
15818 (fini_streams_for_device): Reorder cuStreamDestroy call.
15819 (nvptx_get_num_devices): Remove forward declaration.
15820 (nvptx_init): Change return type to bool.
15821 (nvptx_fini): Remove.
15822 (nvptx_attach_host_thread_to_device): New.
15823 (nvptx_open_device): Return struct ptx_device* instead of void*.
15824 (nvptx_close_device): Change argument type to struct ptx_device*,
15825 return type to void.
15826 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
15827 (kernel_target_data, kernel_host_table): Remove static globals.
15828 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
15829 (GOMP_OFFLOAD_init_device): Reimplement.
15830 (GOMP_OFFLOAD_fini_device): Likewise.
15831 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
15832 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
15833 (GOMP_OFFLOAD_host2dev): Use ORD argument.
15834 (GOMP_OFFLOAD_openacc_open_device)
15835 (GOMP_OFFLOAD_openacc_close_device)
15836 (GOMP_OFFLOAD_openacc_set_device_num)
15837 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
15838 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
15839 (device number).
15840
15841 testsuite/
15842 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
15843
a51df54e
IV
158442015-04-06 Ilya Verbin <ilya.verbin@intel.com>
15845
15846 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
15847 * libgomp.h (struct gomp_memory_mapping): Remove.
15848 (struct target_mem_desc): Change type of mem_map from
15849 gomp_memory_mapping * to splay_tree_s *.
15850 (struct gomp_device_descr): Remove register_image_func, get_table_func.
15851 Add load_image_func, unload_image_func.
15852 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
15853 Remove offload_regions_registered.
15854 (gomp_init_tables): Remove.
15855 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15856 to splay_tree_s *.
15857 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
15858 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
15859 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
15860 offload_regions_registered.
15861 Initialize load_image_func, unload_image_func, mem_map.root.
15862 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
15863 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
15864 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
15865 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
15866 gomp_memory_mapping *. Use dev's lock and splay_tree.
15867 (lookup_dev): Use dev's lock.
15868 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
15869 (acc_is_present): Likewise.
15870 (acc_map_data): Likewise.
15871 (acc_unmap_data): Likewise. Use dev's lock.
15872 (present_create_copy): Likewise.
15873 (delete_copyout): Pass dev to lookup_host instead of mem_map.
15874 (update_dev_host): Likewise.
15875 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
15876 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
15877 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
15878 (GOMP_OFFLOAD_get_table): Remove
15879 (GOMP_OFFLOAD_load_image): New function.
15880 (GOMP_OFFLOAD_unload_image): New function.
15881 * target.c (register_lock): New mutex for offload image registration.
15882 (num_devices): Do not guard with PLUGIN_SUPPORT.
15883 (gomp_realloc_unlock): New static function.
15884 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
15885 before gomp_fatal.
15886 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
15887 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
15888 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
15889 mem_map's.
15890 (gomp_unmap_vars): Likewise.
15891 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
15892 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
15893 (gomp_offload_image_to_device): New static function.
15894 (GOMP_offload_register): Add mutex lock.
15895 Call gomp_offload_image_to_device for all initialized devices.
15896 Replace gomp_realloc with gomp_realloc_unlock.
15897 (GOMP_offload_unregister): New function.
15898 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
15899 get_table_func from the plugin with calls to init_device_func and
15900 gomp_offload_image_to_device.
15901 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
15902 to splay_tree_s *.
15903 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
15904 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
15905 (GOMP_target_data): Do not call gomp_init_tables.
15906 (GOMP_target_update): Likewise. Remove argument from gomp_update.
15907 (gomp_load_plugin_for_device): Replace register_image and get_table
15908 with load_image and unload_image in DLSYM ().
15909 (gomp_register_images_for_device): Remove function.
15910 (gomp_target_init): Do not initialize current_device.mem_map.*,
15911 current_device.offload_regions_registered.
15912 Remove call to gomp_register_images_for_device.
15913 Do not free offload_images and num_offload_images.
15914
6c384511
JJ
159152015-03-30 Jakub Jelinek <jakub@redhat.com>
15916
15917 PR fortran/65597
15918 * testsuite/libgomp.fortran/pr65597.f90: New test.
15919
3e8165a5
TV
159202015-03-27 Tom de Vries <tom@codesourcery.com>
15921
15922 PR testsuite/65594
15923 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
15924 (init, check): New function.
15925 (foo): Change return type to void.
15926 (main): Call init and check.
15927
4d688c9a
TV
159282015-03-27 Tom de Vries <tom@codesourcery.com>
15929
15930 PR testsuite/65594
15931 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
15932 (foo): Use M for non-inner loops to scale down test-case.
15933
01c0b3b0
KT
159342015-03-25 Kai Tietz <ktietz@redhat.com>
15935
15936 PR libgomp/64972
15937 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
15938 (GOACC_data_start): Likewise.
15939 * target.c (gomp_map_vars): Likewise.
15940
844d9a76
JDA
159412015-03-21 John David Anglin <danglin@gcc.gnu.org>
15942
15943 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
15944 hppa*-*-hpux*.
15945
9b65e171
JJ
159462015-03-19 Jakub Jelinek <jakub@redhat.com>
15947
15948 * testsuite/libgomp.c/target-10.c: New test.
15949 * testsuite/libgomp.c++/target-4.C: New test.
15950
db397e2e
IV
159512015-03-13 Ilya Verbin <ilya.verbin@intel.com>
15952
15953 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
15954 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
15955
cd93945d
SH
159562015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
15957
15958 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
15959 * configure.ac (*-*-rtems*): Assume Pthread is supported.
15960 (pthread.h): Check for this header file.
15961 * configure: Regenerate.
15962
05deba9f
TV
159632015-02-25 Tom de Vries <tom@codesourcery.com>
15964
15965 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
15966 (check_reduction_op, check_reduction_macro, max, min):
15967 Declare.
15968 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
15969 function.
15970 (main): Use new functions.
15971
196904d8
IT
159722015-02-18 Ilya Tocar <ilya.tocar@intel.com>
15973
15974 * target.c (gomp_load_plugin_for_device): Use const char * instead of
15975 char * for variables holding dlerror return values.
15976 (DLSYM_OPT): Ditto.
15977
a2818955
TS
159782015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15979
15980 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
15981
26f93312
TS
159822015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15983 Cesar Philippidis <cesar@codesourcery.com>
15984
15985 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
15986 GOACC_ctaid, and GOACC_nctaid routines.
15987
fa01ffcc
JJ
159882015-02-11 Jakub Jelinek <jakub@redhat.com>
15989
15990 PR c/64824
15991 * testsuite/libgomp.c/atomic-18.c: New test.
15992 * testsuite/libgomp.c++/atomic-16.C: New test.
15993
4886ec8e
JJ
159942015-02-04 Jakub Jelinek <jakub@redhat.com>
15995
15996 PR c/64824
15997 PR c/64868
15998 * testsuite/libgomp.c/pr64824.c: New test.
15999 * testsuite/libgomp.c/pr64868.c: New test.
16000 * testsuite/libgomp.c++/pr64824.C: New test.
16001 * testsuite/libgomp.c++/pr64868.C: New test.
16002
02d3e45e
DE
160032015-02-01 David Edelsohn <dje.gcc@gmail.com>
16004
16005 PR libgomp/64635
16006 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
16007 Link with -lpthread.
16008 * config/aix/plugin-suffix.h: Delete.
16009
b5f7a6ca
JH
160102015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
16011
16012 PR libgomp/64635
16013 * configure.tgt (*-*-aix*): Use config_path "aix posix".
16014 (*-*-darwin*): Use config_path "bsd darwin posix".
16015 (*-*-hpux*): Use config_path "hpux posix".
16016 * target.c: Add include of plugin-suffix.h and use
16017 SONAME_SUFFIX macro.
16018 * config/aix/plugin-suffix.h: New file.
16019 * config/darwin/plugin-suffix.h: New file.
16020 * config/hpux/plugin-suffix.h: New file.
16021 * config/posix/plugin-suffix.h: New file.
16022
b8910447
JJ
160232015-01-23 Jakub Jelinek <jakub@redhat.com>
16024
16025 PR middle-end/64734
16026 * libgomp.c/pr64734.c: New test.
16027
a0c88d06
TV
160282015-01-23 Tom de Vries <tom@codesourcery.com>
16029
16030 PR libgomp/64672
16031 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
16032
1506ae0e
TV
160332015-01-23 Tom de Vries <tom@codesourcery.com>
16034
16035 PR libgomp/64707
16036 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
16037 dg-options.
16038
128b26dc
TS
160392015-01-19 Thomas Schwinge <thomas@codesourcery.com>
16040
bed62c21 16041 PR libgomp/64625
128b26dc
TS
16042 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
16043 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
16044 formal parameter. Update all users.
16045 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
16046 Document unused formal parameter.
16047
6e36114c
TS
160482015-01-16 Thomas Schwinge <thomas@codesourcery.com>
16049
16050 * oacc-parallel.c: Don't include <alloca.h>.
16051 (GOACC_parallel): Use gomp_alloca instead of alloca.
16052
973e9808
GP
160532015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
16054
16055 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
16056
41dbbb37
TS
160572015-01-15 Thomas Schwinge <thomas@codesourcery.com>
16058 James Norris <jnorris@codesourcery.com>
16059 Tom de Vries <tom@codesourcery.com>
16060 Julian Brown <julian@codesourcery.com>
16061 Cesar Philippidis <cesar@codesourcery.com>
16062 Nathan Sidwell <nathan@codesourcery.com>
16063 Tobias Burnus <burnus@net-b.de>
16064
16065 * Makefile.am (search_path): Add $(top_srcdir)/../include.
16066 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
16067 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
16068 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
16069 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
16070 Include $(top_srcdir)/plugin/Makefrag.am.
16071 (nodist_libsubinclude_HEADERS): Add openacc.h.
16072 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
16073 openacc.f90, openacc.mod, openacc_kinds.mod.
16074 (omp_lib.mod): Generalize into...
16075 (%.mod): ... this new rule.
16076 (openacc_kinds.mod, openacc.mod): New rules.
16077 * plugin/configfrag.ac: New file.
16078 * configure.ac: Move plugin/offloading support into it. Include
16079 it. Instantiate testsuite/libgomp-test-support.pt.exp.
16080 * plugin/Makefrag.am: New file.
16081 * testsuite/Makefile.am (OFFLOAD_TARGETS)
16082 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
16083 export.
16084 (libgomp-test-support.exp): New rule.
16085 (all-local): Depend on it.
16086 * Makefile.in: Regenerate.
16087 * testsuite/Makefile.in: Regenerate.
16088 * config.h.in: Likewise.
16089 * configure: Likewise.
16090 * configure.tgt: Harden shell syntax.
16091 * env.c: Include "oacc-int.h".
16092 (parse_acc_device_type): New function.
16093 (gomp_debug_var, goacc_device_type, goacc_device_num): New
16094 variables.
16095 (initialize_env): Initialize those. Call
16096 goacc_runtime_initialize.
16097 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
16098 (gomp_fatal): Call gomp_vfatal.
16099 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
16100 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
16101 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
16102 (splay_tree_node, splay_tree, splay_tree_key)
16103 (struct target_mem_desc, struct splay_tree_key_s)
16104 (struct gomp_memory_mapping, struct acc_dispatch_t)
16105 (struct gomp_device_descr, gomp_acc_insert_pointer)
16106 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
16107 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
16108 (gomp_free_memmap, gomp_fini_device): New declarations.
16109 (gomp_vdebug, gomp_debug): New macros.
16110 Include "splay-tree.h".
16111 * libgomp.map (OACC_2.0): New symbol version. Use for
16112 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
16113 acc_set_device_type_h_, acc_get_device_type,
16114 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
16115 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
16116 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
16117 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
16118 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
16119 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
16120 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
16121 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
16122 acc_copyin_array_h_, acc_present_or_copyin,
16123 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
16124 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
16125 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
16126 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
16127 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
16128 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
16129 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
16130 acc_update_device, acc_update_device_32_h_,
16131 acc_update_device_64_h_, acc_update_device_array_h_,
16132 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
16133 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
16134 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
16135 acc_is_present_64_h_, acc_is_present_array_h_,
16136 acc_memcpy_to_device, acc_memcpy_from_device,
16137 acc_get_current_cuda_device, acc_get_current_cuda_context,
16138 acc_get_cuda_stream, acc_set_cuda_stream.
16139 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
16140 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
16141 GOACC_update, GOACC_wait, GOACC_get_thread_num,
16142 GOACC_get_num_threads.
16143 (GOMP_PLUGIN_1.0): New symbol version. Use for
16144 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
16145 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
16146 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
16147 GOMP_PLUGIN_acc_thread.
16148 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
16149 environment variable.
16150 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
16151 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
16152 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
16153 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
16154 (splay_tree_remove): New declarations.
16155 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
16156 (splay_tree_remove, splay_tree_lookup): Move into...
16157 * splay-tree.c: ... this new file.
16158 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
16159 (splay_tree_node, splay_tree, splay_tree_key)
16160 (struct target_mem_desc, struct splay_tree_key_s)
16161 (struct gomp_device_descr): Don't declare.
16162 (num_devices_openmp): New variable.
16163 (gomp_get_num_devices ): Use it.
16164 (gomp_init_targets_once): New function.
16165 (gomp_get_num_devices ): Use it.
16166 (get_kind, gomp_copy_from_async, gomp_free_memmap)
16167 (gomp_fini_device, gomp_register_image_for_device): New functions.
16168 (gomp_map_vars): Add devaddrs parameter.
16169 (gomp_update): Add mm parameter.
16170 (gomp_init_device): Move most of it into...
16171 (gomp_init_tables): ... this new function.
16172 (gomp_register_images_for_device): Remove function.
16173 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
16174 Make them hidden instead of static.
16175 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
16176 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
16177 (GOMP_target_end_data, GOMP_target_update)
16178 (gomp_load_plugin_for_device, gomp_target_init): Update for
16179 OpenACC changes.
16180 * oacc-async.c: New file.
16181 * oacc-cuda.c: Likewise.
16182 * oacc-host.c: Likewise.
16183 * oacc-init.c: Likewise.
16184 * oacc-int.h: Likewise.
16185 * oacc-mem.c: Likewise.
16186 * oacc-parallel.c: Likewise.
16187 * oacc-plugin.c: Likewise.
16188 * oacc-plugin.h: Likewise.
16189 * oacc-ptx.h: Likewise.
16190 * openacc.f90: Likewise.
16191 * openacc.h: Likewise.
16192 * openacc_lib.h: Likewise.
16193 * plugin/plugin-host.c: Likewise.
16194 * plugin/plugin-nvptx.c: Likewise.
16195 * libgomp-plugin.c: Likewise.
16196 * libgomp-plugin.h: Likewise.
16197 * libgomp_target.h: Remove file after merging content into the
16198 former file. Update all users.
16199 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
16200 (offload_targets_s, offload_targets_s_openacc): New variables.
16201 (check_effective_target_openacc_nvidia_accel_present)
16202 (check_effective_target_openacc_nvidia_accel_selected): New
16203 procedures.
16204 (libgomp_init): Update for OpenACC changes.
16205 * testsuite/libgomp-test-support.exp.in: New file.
16206 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
16207 * testsuite/libgomp.oacc-c/c.exp: Likewise.
16208 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
16209 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
16210 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
16211 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
16212 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
16213 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
16214 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
16215 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
16216 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
16217 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
16218 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
16219 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
16220 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
16221 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
16222 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
16223 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
16224 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
16225 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
16226 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
16227 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
16228 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
16229 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
16230 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
16231 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
16232 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
16233 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
16234 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
16235 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
16236 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
16237 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
16238 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
16239 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
16240 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
16241 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
16242 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
16243 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
16244 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
16245 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
16246 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
16247 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
16248 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
16249 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
16250 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
16251 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
16252 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
16253 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
16254 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
16255 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
16256 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
16257 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
16258 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
16259 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
16260 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
16261 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
16262 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
16263 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
16264 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
16265 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
16266 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
16267 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
16268 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
16269 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
16270 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
16271 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
16272 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
16273 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
16274 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
16275 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
16276 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
16277 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
16278 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
16279 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
16280 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
16281 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
16282 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
16283 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
16284 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
16285 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
16286 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
16287 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
16288 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
16289 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
16290 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
16291 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
16292 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
16293 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
16294 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
16295 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
16296 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
16297 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
16298 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
16299 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
16300 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
16301 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
16302 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
16303 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
16304 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
16305 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
16306 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
16307 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
16308 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
16309 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
16310 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
16311 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
16312 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
16313 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
16314 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
16315 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
16316 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
16317 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
16318 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
16319 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
16320 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
16321 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
16322 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
16323 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
16324 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
16325 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
16326 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
16327 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
16328 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
16329 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
16330 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
16331 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
16332 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
16333 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
16334 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
16335 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
16336 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
16337 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
16338 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
16339 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
16340 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
16341 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
16342 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
16343 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
16344 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
16345 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
16346 Likewise.
16347 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
16348 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
16349 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
16350 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
16351 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
16352 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
16353 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
16354 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
16355 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
16356 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
16357 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
16358 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
16359 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
16360 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
16361 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
16362 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
16363 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
16364 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
16365 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
16366 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
16367 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
16368 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
16369 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
16370 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
16371 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
16372 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
16373 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
16374 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
16375 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
16376 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
16377 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
16378 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
16379 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
16380 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
16381 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
16382 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
16383 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
16384 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
16385 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
16386 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
16387 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
16388 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
16389 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
16390 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
16391 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
16392 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
16393 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
16394 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
16395 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
16396 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
16397 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
16398 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
16399 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
16400 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
16401 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
16402 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
16403 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
16404 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
16405 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
16406 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
16407
f1f3453e
TS
164082015-01-10 Thomas Schwinge <thomas@codesourcery.com>
16409 Julian Brown <julian@codesourcery.com>
16410 David Malcolm <dmalcolm@redhat.com>
16411
16412 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
16413 to "GNU Offloading and Multi Processing Runtime Library". Change
16414 all users.
16415 * configure: Regenerate.
16416 * libgomp.texi: Update.
16417
f9a0eca4
TS
164182015-01-08 Thomas Schwinge <thomas@codesourcery.com>
16419
b335ef4e
TS
16420 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
16421 "$tgt_dir/lib32".
16422 * configure: Regenerate.
16423
f9a0eca4
TS
16424 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
16425 "intelmic" in $offload_targets.
16426
b67cd4e3
JJ
164272015-01-05 Jakub Jelinek <jakub@redhat.com>
16428
5624e564
JJ
16429 Update copyright years.
16430
b67cd4e3
JJ
16431 * libgomp.texi: Bump @copying's copyright year.
16432
3b41b583
KT
164332014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16434
16435 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 16436 Move load of target-supports.exp earlier.
3b41b583 16437
2354caec
IV
164382014-12-10 Ilya Verbin <ilya.verbin@intel.com>
16439
16440 * testsuite/libgomp.c/target-9.c: New test.
16441
f50eecba
VR
164422014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
16443
16444 * config.h.in: Regenerate.
16445 * configure: Regenerate.
16446 * configure.ac: Add GCC_CHECK_EMUTLS.
16447 * libgomp.h: Add check for USE_EMUTLS: this case
16448 is equal to HAVE_TLS.
16449 * team.c: Likewise.
16450
68bc9270
UB
164512014-12-03 Uros Bizjak <ubizjak@gmail.com>
16452
16453 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
16454
476ff787
AT
164552014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
16456 Ilya Verbin <ilya.verbin@intel.com>
16457
16458 * testsuite/libgomp.c/target-critical-1.c: New test.
16459
31a30e62
JJ
164602014-11-26 Jakub Jelinek <jakub@redhat.com>
16461
16462 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 16463 to dg-options unless expensive testing is on.
31a30e62
JJ
16464 (TESTITERS): Define to N if not defined.
16465 (main): Use TESTITERS instead of N.
16466 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
16467 dg-additional-options depending on whether expensive testing is on.
16468 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
16469 Decrease N to 100000 and CHUNKSZ to 10000.
16470
3f9e8f13
JJ
164712014-11-24 Jakub Jelinek <jakub@redhat.com>
16472
16473 PR fortran/63938
31a30e62
JJ
16474 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
16475 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 16476
c8451a46
SE
164772014-11-21 Steve Ellcey <sellcey@imgtec.com>
16478
16479 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
16480
a699d672
L
164812014-11-21 H.J. Lu <hongjiu.lu@intel.com>
16482
16483 PR bootstrap/63784
16484 * configure: Regenerated.
16485
4a19f719
UB
164862014-11-19 Uros Bizjak <ubizjak@gmail.com>
16487
16488 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
16489 vect_simd_clones effective target.
16490 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16491
b1bf6c52
JJ
164922014-11-14 Jakub Jelinek <jakub@redhat.com>
16493
16494 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
16495 of 32 as block_size.
16496 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
16497 instead of 32 as block_size.
16498
d64ae614
AT
164992014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16500 Ilya Verbin <ilya.verbin@intel.com>
16501
16502 * Makefile.in: Regenerate.
16503 * configure: Regenerate.
16504 * configure.ac: Set up offload_additional_options,
16505 offload_additional_lib_paths and offload_targets.
16506 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
16507 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
16508 * testsuite/Makefile.in: Regenerate.
16509 * testsuite/lib/libgomp.exp (libgomp_init): Append
16510 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
16511 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
16512 build directory to LD_LIBRARY_PATH for intelmic offload targets.
16513
122d7303
AT
165142014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
16515 Ilya Verbin <ilya.verbin@intel.com>
16516 Kirill Yukhin <kirill.yukhin@intel.com>
16517 Ilya Tocar <ilya.tocar@intel.com>
16518
16519 * testsuite/lib/libgomp.exp
16520 (check_effective_target_offload_device): New.
16521 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
16522 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
16523 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
16524 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
16525 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
16526 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
16527 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
16528 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
16529 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
16530 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
16531 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
16532 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
16533 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
16534 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
16535 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
16536 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
16537 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
16538 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
16539 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
16540 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
16541 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
16542 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
16543 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
16544 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
16545 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
16546 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
16547 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
16548 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
16549 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
16550 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
16551 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
16552 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
16553 * testsuite/libgomp.c/target-7.c: Fix test.
16554 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
16555 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
16556 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
16557 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
16558 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
16559 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
16560 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
16561 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
16562 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
16563 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
16564 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
16565 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
16566 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
16567 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
16568 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
16569 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
16570 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
16571 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
16572 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
16573 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
16574 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
16575 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
16576 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
16577 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
16578 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
16579 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
16580 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
16581 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
16582 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
16583 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
16584 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
16585
1df3f842
JJ
165862014-11-13 Jakub Jelinek <jakub@redhat.com>
16587 Ilya Verbin <ilya.verbin@intel.com>
16588 Thomas Schwinge <thomas@codesourcery.com>
16589 Andrey Turetskiy <andrey.turetskiy@intel.com>
16590
16591 * libgomp.map (GOMP_4.0.1): New symbol version.
16592 Add GOMP_offload_register.
16593 * libgomp_target.h: New file.
16594 * splay-tree.h: New file.
16595 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
16596 (gomp_target_init): New forward declaration.
16597 (gomp_is_initialized): New static variable.
16598 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
16599 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
16600 New structures.
16601 (offload_images, num_offload_images, devices, num_devices): New static
16602 variables.
16603 (splay_compare): New static function.
16604 (struct gomp_device_descr): New structure.
16605 (gomp_get_num_devices): Call gomp_target_init.
16606 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
16607 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
16608 (GOMP_offload_register): New function.
16609 (GOMP_target): Arrange for host callback to be performed in a separate
16610 initial thread and contention group, inheriting ICVs from
16611 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
16612 Add device initialization and lookup for target function in splay tree.
16613 (GOMP_target_data): Add device initialization and call gomp_map_vars.
16614 (GOMP_target_end_data): Call gomp_unmap_vars.
16615 (GOMP_target_update): Add device initialization and call gomp_update.
16616 (gomp_load_plugin_for_device, gomp_register_images_for_device)
16617 (gomp_target_init): New static functions.
16618
85c64bbe
BS
166192014-11-13 Bernd Schmidt <bernds@codesourcery.com>
16620 Thomas Schwinge <thomas@codesourcery.com>
16621 Ilya Verbin <ilya.verbin@intel.com>
16622 Andrey Turetskiy <andrey.turetskiy@intel.com>
16623
16624 * config.h.in: Regenerate.
16625 * configure: Regenerate.
16626 * configure.ac: Check for libdl, required for plugin support.
16627 (PLUGIN_SUPPORT): Define if plugins are supported.
16628 (enable_offload_targets): Support Intel MIC targets.
16629 (OFFLOAD_TARGETS): List of target names suitable for offloading.
16630
ebf6d33b
FXC
166312014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16632
16633 PR target/63610
16634 * configure: Regenerate.
16635
8c768629
RO
166362014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16637
16638 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
16639
c1d62412
MP
166402014-10-06 Marek Polacek <polacek@redhat.com>
16641
16642 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
16643 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
16644 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
16645 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16646
44a0c6cb
MP
166472014-10-06 Marek Polacek <polacek@redhat.com>
16648
16649 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
16650 * testsuite/libgomp.c/nqueens-1.c: Likewise.
16651 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16652 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16653 * testsuite/libgomp.c/pr36802-2.c: Likewise.
16654 * testsuite/libgomp.c/pr36802-3.c: Likewise.
16655 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
16656 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
16657 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
16658 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
16659 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
16660 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
16661 * testsuite/libgomp.c/omp-single-1.c: Likewise.
16662 * testsuite/libgomp.c/omp-single-2.c: Likewise.
16663 * testsuite/libgomp.c/omp_matvec.c: Likewise.
16664 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
16665 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
16666 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
16667 declarations.
16668
5771c391
JJ
166692014-10-03 Jakub Jelinek <jakub@redhat.com>
16670
16671 PR libgomp/61200
16672 * testsuite/libgomp.c/pr61200.c: New test.
16673
bce16b88
JJ
166742014-09-18 Jakub Jelinek <jakub@redhat.com>
16675
16676 PR c++/63248
16677 * testsuite/libgomp.c++/pr63248.C: New test.
16678
3696163c
JJ
166792014-08-04 Jakub Jelinek <jakub@redhat.com>
16680
16681 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
16682 is not zero, but taskgroup->children is NULL and there are
16683 any task->children, schedule those instead of waiting.
16684 * testsuite/libgomp.c/depend-6.c: New test.
16685 * testsuite/libgomp.c/depend-7.c: New test.
16686 * testsuite/libgomp.c/depend-8.c: New test.
16687 * testsuite/libgomp.c/depend-9.c: New test.
16688 * testsuite/libgomp.c/depend-10.c: New test.
16689
0494285a
JJ
166902014-08-01 Jakub Jelinek <jakub@redhat.com>
16691
16692 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
16693 (struct gomp_taskwait): New type.
16694 (struct gomp_task): Add taskwait and parent_depends_on, remove
16695 in_taskwait and taskwait_sem fields.
16696 (gomp_finish_task): Don't destroy taskwait_sem.
16697 * task.c (gomp_init_task): Don't init in_taskwait, instead init
16698 taskwait and parent_depends_on.
16699 (GOMP_task): For if (0) tasks with depend clause that depend on
16700 earlier tasks don't defer them, instead call
16701 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
16702 Initialize redundant_out field, for redundant out entries just
16703 move them at the end of linked list instead of removing them
16704 completely, and set redundant_out flag instead of redundant.
16705 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
16706 that task.
16707 (gomp_task_run_post_handle_dependers): If parent is in
16708 gomp_task_maybe_wait_for_dependencies and newly runnable task
16709 is not parent_depends_on, queue it in parent->children linked
16710 list after all runnable tasks with parent_depends_on set.
16711 Adjust for addition of taskwait indirection.
16712 (gomp_task_run_post_remove_parent): If parent is in
16713 gomp_task_maybe_wait_for_dependencies and task to be removed
16714 is parent_depends_on, decrement n_depend and if needed awake
16715 parent. Adjust for addition of taskwait indirection.
16716 (GOMP_taskwait): Adjust for addition of taskwait indirection.
16717 (gomp_task_maybe_wait_for_dependencies): New function.
16718 * testsuite/libgomp.c/depend-5.c: New test.
16719
60ab4b44
TB
167202014-07-13 Tobias Burnus <burnus@net-b.de>
16721
16722 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 16723 with TS 18508/Fortran 2015.
60ab4b44 16724
773ec47f
MP
167252014-07-06 Marek Polacek <polacek@redhat.com>
16726
16727 PR c/6940
16728 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
16729
f707da16
JJ
167302014-07-03 Jakub Jelinek <jakub@redhat.com>
16731
16732 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
16733 matches regex $lang_source_re, add $lang_include_flags to options.
16734 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
16735 * testsuite/libgomp.c++/c++.exp: Likewise.
16736 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
16737 and lang_include_flags instead of adding -fintrinsic-modules-path= to
16738 ALWAYS_CFLAGS.
16739 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
16740
07b6c044
TS
167412014-07-03 Thomas Schwinge <thomas@codesourcery.com>
16742
16743 * testsuite/libgomp.fortran/fortran.exp: Explain
16744 gfortran-dg-runtest usage.
16745
da6f124d
JJ
167462014-06-25 Jakub Jelinek <jakub@redhat.com>
16747
16748 * testsuite/libgomp.fortran/simd5.f90: New test.
16749 * testsuite/libgomp.fortran/simd6.f90: New test.
16750 * testsuite/libgomp.fortran/simd7.f90: New test.
16751
b46ebd6c
JJ
167522014-06-24 Jakub Jelinek <jakub@redhat.com>
16753
56ad0e38
JJ
16754 * testsuite/libgomp.c/for-2.c: Define SC to static for
16755 #pragma omp for simd testing.
16756 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
16757 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
16758 SC macro.
16759 * testsuite/libgomp.c/simd-14.c: New test.
16760 * testsuite/libgomp.c/simd-15.c: New test.
16761 * testsuite/libgomp.c/simd-16.c: New test.
16762 * testsuite/libgomp.c/simd-17.c: New test.
16763 * testsuite/libgomp.c++/for-10.C: Define SC to static for
16764 #pragma omp for simd testing.
16765 * testsuite/libgomp.c++/simd10.C: New test.
16766 * testsuite/libgomp.c++/simd11.C: New test.
16767 * testsuite/libgomp.c++/simd12.C: New test.
16768 * testsuite/libgomp.c++/simd13.C: New test.
16769
b46ebd6c
JJ
16770 * testsuite/libgomp.fortran/aligned1.f03: New test.
16771 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
16772 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
16773 tasks with !$omp parallel !$omp single.
16774 * testsuite/libgomp.fortran/target8.f90: New test.
16775 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
16776 not to use trim in the combiner, instead call elemental function.
16777 (fn): New elemental function.
16778 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
16779 Make elemental.
16780 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
16781 omp_in): Likewise.
16782 * testsuite/libgomp.fortran/udr12.f90: New test.
16783 * testsuite/libgomp.fortran/udr13.f90: New test.
16784 * testsuite/libgomp.fortran/udr14.f90: New test.
16785 * testsuite/libgomp.fortran/udr15.f90: New test.
16786
f014c653
JJ
167872014-06-18 Jakub Jelinek <jakub@redhat.com>
16788
16789 * omp_lib.f90.in (openmp_version): Set to 201307.
16790 * omp_lib.h.in (openmp_version): Likewise.
16791 * testsuite/libgomp.c/target-8.c: New test.
16792 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
16793 and inbranch clauses.
16794 * testsuite/libgomp.fortran/depend-3.f90: New test.
16795 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
16796 openmp_version.
16797 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16798 * testsuite/libgomp.fortran/target1.f90: New test.
16799 * testsuite/libgomp.fortran/target2.f90: New test.
16800 * testsuite/libgomp.fortran/target3.f90: New test.
16801 * testsuite/libgomp.fortran/target4.f90: New test.
16802 * testsuite/libgomp.fortran/target5.f90: New test.
16803 * testsuite/libgomp.fortran/target6.f90: New test.
16804 * testsuite/libgomp.fortran/target7.f90: New test.
16805
92d28cbb
JJ
168062014-06-10 Jakub Jelinek <jakub@redhat.com>
16807
16808 PR fortran/60928
16809 * testsuite/libgomp.fortran/allocatable9.f90: New test.
16810 * testsuite/libgomp.fortran/allocatable10.f90: New test.
16811 * testsuite/libgomp.fortran/allocatable11.f90: New test.
16812 * testsuite/libgomp.fortran/allocatable12.f90: New test.
16813 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
16814 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
16815 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
16816 * testsuite/libgomp.fortran/associate1.f90: New test.
16817 * testsuite/libgomp.fortran/associate2.f90: New test.
16818 * testsuite/libgomp.fortran/procptr1.f90: New test.
16819
5f23671d
JJ
168202014-06-06 Jakub Jelinek <jakub@redhat.com>
16821
16822 * testsuite/libgomp.fortran/simd1.f90: New test.
16823 * testsuite/libgomp.fortran/udr1.f90: New test.
16824 * testsuite/libgomp.fortran/udr2.f90: New test.
16825 * testsuite/libgomp.fortran/udr3.f90: New test.
16826 * testsuite/libgomp.fortran/udr4.f90: New test.
16827 * testsuite/libgomp.fortran/udr5.f90: New test.
16828 * testsuite/libgomp.fortran/udr6.f90: New test.
16829 * testsuite/libgomp.fortran/udr7.f90: New test.
16830 * testsuite/libgomp.fortran/udr8.f90: New test.
16831 * testsuite/libgomp.fortran/udr9.f90: New test.
16832 * testsuite/libgomp.fortran/udr10.f90: New test.
16833 * testsuite/libgomp.fortran/udr11.f90: New test.
16834
0389fbb5
UB
168352014-05-27 Uros Bizjak <ubizjak@gmail.com>
16836
16837 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
16838 vect_simd_clones effective target.
16839 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
16840
decaaec8
JJ
168412014-05-21 Jakub Jelinek <jakub@redhat.com>
16842
16843 PR middle-end/61252
16844 * testsuite/libgomp.c++/simd-9.C: New test.
16845
72832460
UB
168462014-05-18 Uros Bizjak <ubizjak@gmail.com>
16847
16848 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
16849 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
16850 texts according to their @menu entry positions.
16851
dd2fc525
JJ
168522014-05-11 Jakub Jelinek <jakub@redhat.com>
16853
16854 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
16855 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
16856 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
16857 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
16858 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
16859 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
16860 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
16861 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
16862 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
16863 * testsuite/libgomp.fortran/depend-1.f90: New test.
16864 * testsuite/libgomp.fortran/depend-2.f90: New test.
16865 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
16866 * testsuite/libgomp.fortran/simd1.f90: New test.
16867 * testsuite/libgomp.fortran/simd2.f90: New test.
16868 * testsuite/libgomp.fortran/simd3.f90: New test.
16869 * testsuite/libgomp.fortran/simd4.f90: New test.
16870 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
16871
95782571
JJ
168722014-05-02 Jakub Jelinek <jakub@redhat.com>
16873
16874 * testsuite/libgomp.c/simd-10.c: New test.
16875 * testsuite/libgomp.c/simd-11.c: New test.
16876 * testsuite/libgomp.c/simd-12.c: New test.
16877 * testsuite/libgomp.c/simd-13.c: New test.
16878
f7468577
JJ
168792014-04-24 Jakub Jelinek <jakub@redhat.com>
16880
42056eac
JJ
16881 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
16882 atomic type clauses in any order and optional comma in between.
16883 * testsuite/libgomp.c++/atomic-15.C: Likewise.
16884 * testsuite/libgomp.c/atomic-17.c: Likewise.
16885
f7468577
JJ
16886 * testsuite/libgomp.c/simd-7.c: New test.
16887 * testsuite/libgomp.c/simd-8.c: New test.
16888 * testsuite/libgomp.c/simd-9.c: New test.
16889 * testsuite/libgomp.c/loop-16.c: New test.
16890
ab18f2f5
RH
168912014-04-02 Richard Henderson <rth@redhat.com>
16892
16893 * config/linux/futex.h (futex_wait): Get error value from errno.
16894 (futex_wake): Likewise.
16895
8bcc90b0
JJ
168962014-03-25 Jakub Jelinek <jakub@redhat.com>
16897
16898 PR c++/60331
16899 * testsuite/libgomp.c++/udr-11.C: New test.
16900 * testsuite/libgomp.c++/udr-12.C: New test.
16901 * testsuite/libgomp.c++/udr-13.C: New test.
16902 * testsuite/libgomp.c++/udr-14.C: New test.
16903 * testsuite/libgomp.c++/udr-15.C: New test.
16904 * testsuite/libgomp.c++/udr-16.C: New test.
16905 * testsuite/libgomp.c++/udr-17.C: New test.
16906 * testsuite/libgomp.c++/udr-18.C: New test.
16907 * testsuite/libgomp.c++/udr-19.C: New test.
16908
18d73c7f
RS
169092014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16910
16911 Update copyright years
16912
f9030485
RS
169132014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
16914
16915 * hashtab.h: Use the standard form for the copyright notice.
16916
98db73df
TB
169172014-01-02 Tobias Burnus <burnus@net-b.de>
16918
16919 * libgomp.texi: Bump @copying's copyright year.
16920
ae246f7f
AT
169212013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
16922
93d90219 16923 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
16924 alloca () with __builtin_alloca ().
16925 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
16926 * testsuite/libgomp.c/lock-3.c: Likewise.
16927 * testsuite/libgomp.c/pr48591.c: Likewise.
16928
fa00a5fe
JJ
169292013-12-17 Jakub Jelinek <jakub@redhat.com>
16930
16931 PR testsuite/59534
16932 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
16933 comparisons.
16934
e9792e1d
JJ
169352013-12-16 Jakub Jelinek <jakub@redhat.com>
16936
16937 PR libgomp/58756
16938 * testsuite/libgomp.c/pr58756.c: New test.
16939
cab37c89
JJ
169402013-12-12 Jakub Jelinek <jakub@redhat.com>
16941
16942 PR libgomp/59467
16943 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
16944 !$omp parallel.
16945
de14871c
TS
169462013-11-07 Thomas Schwinge <thomas@codesourcery.com>
16947
1707a5de
TS
16948 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
16949 ALWAYS_CFLAGS.
16950 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
16951 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
16952 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
16953 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
16954 Likewise.
16955
70f05c43
TS
16956 * libgomp_g.h: Include <stddef.h> for size_t.
16957
de14871c
TS
16958 * libgomp.spec.in: Update comment about libgomp's dependencies.
16959 * configure.ac: Likewise.
16960 * configure: Regenerate.
16961
83fd6c5b
TB
169622013-10-16 Tobias Burnus <burnus@net-b.de>
16963
16964 * libgomp.texi: (Runtime Library Routines): Update references for
16965 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
16966 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
16967 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
16968 (Environment Variables): Update references for OpenMP 4.0. Add
16969 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
16970 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
16971 order.
16972
c8673881
JJ
169732013-10-14 Jakub Jelinek <jakub@redhat.com>
16974
16975 * env.c (parse_bind_var): Initialize value to avoid
16976 (false positive) warning.
16977
f89163fd
JJ
169782013-10-12 Jakub Jelinek <jakub@redhat.com>
16979
16980 PR libgomp/58691
16981 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
16982 to check variable.
16983 (gomp_init_num_threads): Move i variable declaration into
16984 #ifdef CPU_ALLOC_SIZE block.
16985 * config/linux/affinity.c (gomp_affinity_init_level): Test
16986 gomp_places_list_len == 0 rather than gomp_places_list == 0
16987 when checking for topology reading error.
16988 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
16989 * env.c (parse_affinity): Add ignore argument, if true, don't populate
16990 gomp_places_list, only parse env var and always return false.
16991 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
16992 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
16993 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
16994 and either of these variables were parsed correctly into a places
16995 list.
16996
1d340638
TS
169972013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16998 Jakub Jelinek <jakub@redhat.com>
16999
17000 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
17001 of 5 loopfn matches.
17002 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17003 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17004 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
17005 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17006 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17007 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17008 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17009 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17010
71a81c21
TS
170112013-10-11 Thomas Schwinge <thomas@codesourcery.com>
17012
bd87f731
TS
17013 * Makefile.am (omp_lib.mod): Streamline rule.
17014 * Makefile.in: Regenerate.
17015
f5745bed
TS
17016 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
17017 exceptions.
17018
b5512c66
TS
17019 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
17020 * testsuite/libgomp.fortran/lib1.f90: Likewise.
17021 * testsuite/libgomp.fortran/lib2.f: Likewise.
17022 * testsuite/libgomp.fortran/lib3.f: Likewise.
17023
451c19c4
TS
17024 * configure.ac: Typo fix.
17025 * configure: Regenerate.
17026
86a6016d
TS
17027 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
17028 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
17029
71a81c21
TS
17030 * omp.h.in: Don't touch the user's namespace.
17031
acf0174b
JJ
170322013-10-11 Jakub Jelinek <jakub@redhat.com>
17033 Tobias Burnus <burnus@net-b.de>
17034 Richard Henderson <rth@redhat.com>
17035
17036 * target.c: New file.
17037 * Makefile.am (libgomp_la_SOURCES): Add target.c.
17038 * Makefile.in: Regenerated.
17039 * libgomp_g.h (GOMP_task): Add depend argument.
17040 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17041 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17042 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
17043 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17044 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17045 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
17046 GOMP_taskgroup_start, GOMP_taskgroup_end,
17047 GOMP_parallel_sections): New prototypes.
17048 * fortran.c (omp_is_initial_device): Add ialias_redirect.
17049 (omp_is_initial_device_): New function.
17050 (ULP, STR1, STR2, ialias_redirect): Removed.
17051 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
17052 omp_set_default_device_8_, omp_get_default_device_,
17053 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
17054 functions.
17055 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
17056 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
17057 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
17058 @@GOMP_4.0.
17059 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
17060 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
17061 omp_set_default_device, omp_set_default_device_,
17062 omp_set_default_device_8_, omp_get_default_device,
17063 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
17064 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
17065 omp_get_team_num_): Export @@OMP_4.0.
17066 * team.c (struct gomp_thread_start_data): Add place field.
17067 (gomp_thread_start): Clear thr->thread_pool and
17068 thr->task before returning. Use gomp_team_barrier_wait_final
17069 instead of gomp_team_barrier_wait. Initialize thr->place.
17070 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
17071 team_cancelled and task_queued_count fields.
17072 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
17073 before calling pthread_exit.
17074 (gomp_free_thread): No longer static. Use
17075 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
17076 (gomp_team_start): Add flags argument. Set
17077 thr->thread_pool->threads_busy to nthreads immediately after creating
17078 new pool. Use gomp_managed_threads_lock instead of
17079 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
17080 (gomp_team_end): Use gomp_managed_threads_lock instead of
17081 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
17082 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 17083 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
17084 rather than thr->ts.work_share.
17085 (initialize_team): Don't call gomp_sem_init here.
17086 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
17087 caller.
17088 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
17089 * env.c (gomp_global_icv): Add default_device_var, target_data and
17090 bind_var initializers.
17091 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17092 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17093 gomp_places_list_len): New variables.
17094 (parse_bind_var, parse_one_place, parse_places_var): New functions.
17095 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
17096 sized places.
17097 (gomp_cancel_var): New global variable.
17098 (parse_int): New function.
17099 (handle_omp_display_env): New function.
17100 (initialize_env): Use it. Initialize default_device_var.
17101 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
17102 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
17103 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
17104 been successfully parsed (and call gomp_init_affinity in that case).
17105 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17106 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17107 omp_get_team_num, omp_is_initial_device): New functions.
17108 * libgomp.h: Include stdlib.h.
17109 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
17110 Define.
17111 (struct target_mem_desc): Forward declare.
17112 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
17113 and thread_limit_var fields.
17114 (gomp_get_num_devices): New prototype.
17115 (gomp_cancel_var): New extern decl.
17116 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
17117 team_cancelled and task_queued_count fields. Add comments about
17118 task_{,queued_,running_}count.
17119 (gomp_cancel_kind): New enum.
17120 (gomp_work_share_end_cancel): New prototype.
17121 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
17122 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
17123 and depend fields.
17124 (struct gomp_taskgroup): New type.
17125 (struct gomp_task_depend_entry,
17126 struct gomp_dependers_vec): New types.
17127 (gomp_finish_task): Free depend_hash if non-NULL.
17128 (struct gomp_team_state): Add place_partition_off
17129 and place_partition_len fields.
17130 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
17131 gomp_places_list_len): New extern decls.
17132 (struct gomp_thread): Add place field.
17133 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
17134 (gomp_init_thread_affinity): Add place argument.
17135 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17136 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17137 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17138 gomp_affinity_init_level, gomp_affinity_print_place): New
17139 prototypes.
17140 (gomp_team_start): Add flags argument.
17141 (gomp_thread_limit_var, gomp_remaining_threads_count,
17142 gomp_remaining_threads_lock): Remove.
17143 (gomp_managed_threads_lock): New variable.
17144 (struct gomp_thread_pool): Add threads_busy field.
17145 (gomp_free_thread): New prototype.
17146 * task.c: Include hashtab.h.
17147 (hash_entry_type): New typedef.
17148 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
17149 (gomp_init_task): Clear dependers, depend_hash, depend_count,
17150 copy_ctors_done and taskgroup fields.
17151 (GOMP_task): Add depend argument, handle depend clauses. If
17152 gomp_team_barrier_cancelled or if it's taskgroup has been
17153 cancelled, don't queue or start new tasks. Set copy_ctors_done
17154 field if needed. Initialize taskgroup field. If copy_ctors_done
17155 and already cancelled, don't discard the task. If taskgroup is
17156 non-NULL, enqueue the task into taskgroup queue. Increment
17157 num_children field in taskgroup. Increment task_queued_count.
17158 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
17159 gomp_task_run_post_remove_taskgroup): New inline functions.
17160 (gomp_task_run_post_handle_depend_hash,
17161 gomp_task_run_post_handle_dependers,
17162 gomp_task_run_post_handle_depend): New functions.
17163 (GOMP_taskwait): Use them. If more than one new tasks
17164 have been queued, wake other threads if needed.
17165 (gomp_barrier_handle_tasks): Likewise. If
17166 gomp_team_barrier_cancelled, don't start any new tasks, just free
17167 all tasks.
17168 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
17169 * omp_lib.f90.in
17170 (omp_proc_bind_kind, omp_proc_bind_false,
17171 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17172 omp_proc_bind_spread): New params.
17173 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17174 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17175 omp_get_team_num, omp_is_initial_device): New interfaces.
17176 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
17177 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
17178 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
17179 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
17180 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
17181 useless use omp_lib_kinds.
17182 * omp.h.in (omp_proc_bind_t): New typedef.
17183 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17184 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17185 omp_get_team_num, omp_is_initial_device): New prototypes.
17186 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
17187 through to gomp_team_start.
17188 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
17189 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
17190 Adjust gomp_parallel_loop_start callers.
17191 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
17192 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
17193 GOMP_loop_end_cancel): New functions.
17194 (GOMP_parallel_end): Add ialias_redirect.
17195 * hashtab.h: New file.
17196 * libgomp.texi (Environment Variables): Minor cleanup,
17197 update section refs to OpenMP 4.0rc2.
17198 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
17199 environment variables.
17200 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
17201 team->work_shares_to_free to thr->ts.work_share before calling
17202 free_work_share.
17203 (gomp_work_share_end_cancel): New function.
17204 * config/linux/proc.c: Include errno.h.
17205 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
17206 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
17207 sizeof (cpu_set_t) to determine number of iterations. Fix up check
17208 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
17209 gomp_cpuset_size is sizeof (cpu_set_t).
17210 (gomp_init_num_threads): Initialize gomp_cpuset_size,
17211 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
17212 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
17213 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
17214 contain any logical CPUs.
17215 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
17216 is NULL. Use gomp_cpusetp instead of &cpuset and pass
17217 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
17218 pthread_getaffinity_np. Check gomp_places_list instead of
17219 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
17220 * config/linux/bar.c (gomp_barrier_wait_end,
17221 gomp_barrier_wait_last): Use BAR_* defines.
17222 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
17223 from state where needed. Set work_share_cancelled to 0 on last
17224 thread.
17225 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
17226 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
17227 functions.
17228 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
17229 Add cpusetsize argument.
17230 (gomp_cpuset_size, gomp_cpusetp): Declare.
17231 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
17232 (affinity_counter): Remove.
17233 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
17234 if CPU_ALLOC_SIZE isn't defined.
17235 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
17236 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
17237 bind current thread to the first place.
17238 (gomp_init_thread_affinity): Rewritten. Add place argument, just
17239 pthread_setaffinity_np to gomp_places_list[place].
17240 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17241 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17242 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17243 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
17244 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17245 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17246 (gomp_barrier_t): Add awaited_final field.
17247 (gomp_barrier_init): Initialize awaited_final field.
17248 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
17249 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
17250 prototypes.
17251 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
17252 defines.
17253 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
17254 gomp_team_barrier_cancelled): New inline functions.
17255 (gomp_barrier_last_thread,
17256 gomp_team_barrier_set_task_pending,
17257 gomp_team_barrier_clear_task_pending,
17258 gomp_team_barrier_set_waiting_for_tasks,
17259 gomp_team_barrier_waiting_for_tasks,
17260 gomp_team_barrier_done): Use BAR_* defines.
17261 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
17262 (gomp_barrier_wait_end): Use BAR_* defines.
17263 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
17264 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
17265 Use BAR_* defines.
17266 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
17267 gomp_team_barrier_cancel): New functions.
17268 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
17269 argument.
17270 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
17271 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
17272 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
17273 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
17274 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
17275 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
17276 (gomp_barrier_t): Add cancellable field.
17277 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
17278 gomp_team_barrier_cancel): New prototypes.
17279 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
17280 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
17281 gomp_team_barrier_cancelled): New inline functions.
17282 (gomp_barrier_wait_start, gomp_barrier_last_thread,
17283 gomp_team_barrier_set_task_pending,
17284 gomp_team_barrier_clear_task_pending,
17285 gomp_team_barrier_set_waiting_for_tasks,
17286 gomp_team_barrier_waiting_for_tasks,
17287 gomp_team_barrier_done): Use BAR_* defines.
17288 * barrier.c (GOMP_barrier_cancel): New function.
17289 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
17290 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
17291 omp_proc_bind_spread): New params.
17292 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
17293 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
17294 omp_get_team_num, omp_is_initial_device): New externals.
17295 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
17296 New functions.
17297 (gomp_resolve_num_threads): Adjust for thread_limit now being in
17298 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17299 infinity. If not nested, just return minimum of max_num_threads
17300 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
17301 to the returned value. Otherwise, don't update atomically
17302 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
17303 (GOMP_parallel_end): Adjust for thread_limit now being in
17304 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
17305 infinity. Adjust threads_busy in the pool rather than
17306 gomp_remaining_threads_count. Remember team->nthreads and call
17307 gomp_team_end before adjusting threads_busy, if not nested
17308 afterwards, just set it to 1 non-atomically. Add ialias.
17309 (GOMP_parallel_start): Adjust gomp_team_start caller.
17310 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
17311 * testsuite/libgomp.c/affinity-1.c: New test.
17312 * testsuite/libgomp.c/atomic-15.c: New test.
17313 * testsuite/libgomp.c/atomic-16.c: New test.
17314 * testsuite/libgomp.c/atomic-17.c: New test.
17315 * testsuite/libgomp.c/cancel-for-1.c: New test.
17316 * testsuite/libgomp.c/cancel-for-2.c: New test.
17317 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
17318 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
17319 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
17320 * testsuite/libgomp.c/cancel-sections-1.c: New test.
17321 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
17322 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
17323 * testsuite/libgomp.c/depend-1.c: New test.
17324 * testsuite/libgomp.c/depend-2.c: New test.
17325 * testsuite/libgomp.c/depend-3.c: New test.
17326 * testsuite/libgomp.c/depend-4.c: New test.
17327 * testsuite/libgomp.c/for-1.c: New test.
17328 * testsuite/libgomp.c/for-1.h: New file.
17329 * testsuite/libgomp.c/for-2.c: New test.
17330 * testsuite/libgomp.c/for-2.h: New file.
17331 * testsuite/libgomp.c/for-3.c: New test.
17332 * testsuite/libgomp.c/pr58392.c: New test.
17333 * testsuite/libgomp.c/simd-1.c: New test.
17334 * testsuite/libgomp.c/simd-2.c: New test.
17335 * testsuite/libgomp.c/simd-3.c: New test.
17336 * testsuite/libgomp.c/simd-4.c: New test.
17337 * testsuite/libgomp.c/simd-5.c: New test.
17338 * testsuite/libgomp.c/simd-6.c: New test.
17339 * testsuite/libgomp.c/target-1.c: New test.
17340 * testsuite/libgomp.c/target-2.c: New test.
17341 * testsuite/libgomp.c/target-3.c: New test.
17342 * testsuite/libgomp.c/target-4.c: New test.
17343 * testsuite/libgomp.c/target-5.c: New test.
17344 * testsuite/libgomp.c/target-6.c: New test.
17345 * testsuite/libgomp.c/target-7.c: New test.
17346 * testsuite/libgomp.c/taskgroup-1.c: New test.
17347 * testsuite/libgomp.c/thread-limit-1.c: New test.
17348 * testsuite/libgomp.c/thread-limit-2.c: New test.
17349 * testsuite/libgomp.c/thread-limit-3.c: New test.
17350 * testsuite/libgomp.c/udr-1.c: New test.
17351 * testsuite/libgomp.c/udr-2.c: New test.
17352 * testsuite/libgomp.c/udr-3.c: New test.
17353 * testsuite/libgomp.c++/affinity-1.C: New test.
17354 * testsuite/libgomp.c++/atomic-10.C: New test.
17355 * testsuite/libgomp.c++/atomic-11.C: New test.
17356 * testsuite/libgomp.c++/atomic-12.C: New test.
17357 * testsuite/libgomp.c++/atomic-13.C: New test.
17358 * testsuite/libgomp.c++/atomic-14.C: New test.
17359 * testsuite/libgomp.c++/atomic-15.C: New test.
17360 * testsuite/libgomp.c++/cancel-for-1.C: New test.
17361 * testsuite/libgomp.c++/cancel-for-2.C: New test.
17362 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
17363 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
17364 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
17365 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
17366 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
17367 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
17368 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
17369 * testsuite/libgomp.c++/cancel-test.h: New file.
17370 * testsuite/libgomp.c++/for-9.C: New test.
17371 * testsuite/libgomp.c++/for-10.C: New test.
17372 * testsuite/libgomp.c++/for-11.C: New test.
17373 * testsuite/libgomp.c++/simd-1.C: New test.
17374 * testsuite/libgomp.c++/simd-2.C: New test.
17375 * testsuite/libgomp.c++/simd-3.C: New test.
17376 * testsuite/libgomp.c++/simd-4.C: New test.
17377 * testsuite/libgomp.c++/simd-5.C: New test.
17378 * testsuite/libgomp.c++/simd-6.C: New test.
17379 * testsuite/libgomp.c++/simd-7.C: New test.
17380 * testsuite/libgomp.c++/simd-8.C: New test.
17381 * testsuite/libgomp.c++/target-1.C: New test.
17382 * testsuite/libgomp.c++/target-2.C: New test.
17383 * testsuite/libgomp.c++/target-2-aux.cc: New file.
17384 * testsuite/libgomp.c++/target-3.C: New test.
17385 * testsuite/libgomp.c++/taskgroup-1.C: New test.
17386 * testsuite/libgomp.c++/udr-1.C: New test.
17387 * testsuite/libgomp.c++/udr-2.C: New test.
17388 * testsuite/libgomp.c++/udr-3.C: New test.
17389 * testsuite/libgomp.c++/udr-4.C: New test.
17390 * testsuite/libgomp.c++/udr-5.C: New test.
17391 * testsuite/libgomp.c++/udr-6.C: New test.
17392 * testsuite/libgomp.c++/udr-7.C: New test.
17393 * testsuite/libgomp.c++/udr-8.C: New test.
17394 * testsuite/libgomp.c++/udr-9.C: New test.
17395
bd599dea
JJ
173962013-09-20 Jakub Jelinek <jakub@redhat.com>
17397
17398 PR testsuite/57605
17399 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
17400 ALWAYS_CFLAGS.
17401
3cbe17f7
AM
174022013-09-20 Alan Modra <amodra@gmail.com>
17403
17404 * configure: Regenerate.
17405
4befd127
JJ
174062013-09-19 Jakub Jelinek <jakub@redhat.com>
17407
17408 * testsuite/libgomp.c/sections-2.c: New test.
17409
946c8f7b
MS
174102013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
17411
17412 * testsuite/libgomp.fortran/strassen.f90:
17413 Add dg-skip-if aarch64_tiny.
17414
1ef3b58e
IS
174152013-06-20 Iain Sandoe <iain@codesourcery.com>
17416 Cesar Philippidis <cesar@codesourcery.com>
17417
17418 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
17419 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
17420 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
17421 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17422 * testsuite/libgomp.graphite/graphite.exp: Likewise.
17423 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
17424 Use dg-runtest rather than gfortran-dg-runtest.
17425
9275f73a
TS
174262013-06-10 Thomas Schwinge <thomas@codesourcery.com>
17427
17428 * testsuite/libgomp.c/icv-2.c: Extend current handling of
17429 Linux-based x86 systems to cover all GNU systems.
17430 * testsuite/libgomp.c/lock-3.c: Likewise.
17431 * testsuite/libgomp.c/pr48591.c: Likewise.
17432
492992e2
TS
174332013-06-06 Thomas Schwinge <thomas@codesourcery.com>
17434
48df3acb
TS
17435 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
17436 GNU/Hurd, as done for Linux-based systems.
17437
492992e2
TS
17438 * config/posix/ptrlock.h: Fix comment.
17439
4fed6b25
TB
174402013-05-27 Tobias Burnus <burnus@net-b.de>
17441
17442 PR fortran/57423
17443 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
17444 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
17445 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
17446 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
17447 omp_destroy_nest_lock): Correct arguments to match the one in
17448 the OpenMP spec.
17449 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
17450 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
17451 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
17452 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
17453
5a0f4dd3
JJ
174542013-05-16 Jakub Jelinek <jakub@redhat.com>
17455
17456 * testsuite/libgomp.c/loop-13.c: New test.
17457 * testsuite/libgomp.c/loop-14.c: New test.
17458 * testsuite/libgomp.c/loop-15.c: New test.
17459 * testsuite/libgomp.c++/loop-13.C: New test.
17460 * testsuite/libgomp.c++/loop-14.C: New test.
17461 * testsuite/libgomp.c++/loop-15.C: New test.
17462
6d840d99
JJ
174632013-02-06 Jakub Jelinek <jakub@redhat.com>
17464
17465 PR middle-end/56217
17466 * testsuite/libgomp.c++/pr56217.C: New test.
17467
bed8d8a6
AM
174682013-02-01 Alan Modra <amodra@gmail.com>
17469
17470 * task.c (GOMP_task, GOMP_taskwait): Comment.
17471
3b35cd04
DV
174722013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
17473 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
17474
17475 PR libgomp/55561
17476 * config/linux/wait.h (do_spin): Use atomic load for addr.
17477 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
17478 for intptr and ptrlock.
17479 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
17480 for ptrlock.
17481
9a647288
AM
174822013-01-22 Alan Modra <amodra@gmail.com>
17483
17484 PR libgomp/51376
17485 PR libgomp/56073
17486 * task.c (GOMP_task): Revert 2011-12-09 change.
17487 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
17488 barrier to read task->children..
17489 (gomp_barrier_handle_tasks): ..and matching atomic store with
17490 release barrier here when setting parent->children to NULL.
17491
f34dea03
JJ
174922013-01-16 Jakub Jelinek <jakub@redhat.com>
17493 Tobias Burnus <burnus@net-b.de>
17494
17495 PR driver/55884
17496 * testsuite/libgomp.fortran/fortran.exp: Use
17497 -fintrinsic-modules-path= instead of
17498 -fintrinsic-modules-path.
17499
8129609c
RS
175002013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
17501
17502 Update copyright years.
17503
aa86bf1e
TB
175042012-12-19 Tobias Burnus <burnus@net-b.de>
17505
17506 * testsuite/libgomp.fortran/fortran.exp: Set
17507 -fintrinsic-modules-path.
17508
2865ea66
TB
175092012-12-19 Tobias Burnus <burnus@net-b.de>
17510
17511 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
17512 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
17513
4c5ba8d0
JJ
175142012-11-21 Jakub Jelinek <jakub@redhat.com>
17515
17516 PR libgomp/55411
17517 * team.c (gomp_free_thread): Decrease gomp_managed_threads
17518 if pool had any threads_used.
17519
e9f958c2
JH
175202012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
17521
17522 * testsuite/libgomp.c++/pr24455.C: Use
17523 -Wl,-undefined,dynamic_lookup on darwin.
17524
a57d75dc
DE
175252012-11-07 David Edelsohn <dje.gcc@gmail.com>
17526
17527 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
17528
c6c08485
DH
175292012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
17530
17531 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
17532
c1f37c00
IB
175332012-10-23 Ian Bolton <ian.bolton@arm.com>
17534 Jim MacArthur <jim.macarthur@arm.com>
17535 Marcus Shawcroft <marcus.shawcroft@arm.com>
17536 Nigel Stephens <nigel.stephens@arm.com>
17537 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17538 Richard Earnshaw <rearnsha@arm.com>
17539 Sofiane Naci <sofiane.naci@arm.com>
17540 Stephen Thomas <stephen.thomas@arm.com>
17541 Tejas Belagod <tejas.belagod@arm.com>
17542 Yufeng Zhang <yufeng.zhang@arm.com>
17543
17544 * configure.tgt: Add AArch64.
17545
7c424acd
JM
175462012-10-04 Jason Merrill <jason@redhat.com>
17547
17548 * testsuite/libgomp.c++/tls-init1.C: New.
17549
6608378b
DE
175502012-09-14 David Edelsohn <dje.gcc@gmail.com>
17551
17552 * configure: Regenerated.
17553
c24dbebb
CLT
175542012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
17555
17556 * config/linux/mips/futex.h (sys_futex0): Change to static
17557 function with noinline, nomips16 attributes under MIPS16. Adjust
17558 asm statement to place 'li v0,SYS_futex' immediately before
17559 syscall insn.
17560
3d3949df
SL
175612012-07-04 Sandra Loosemore <sandra@codesourcery.com>
17562
17563 * libgomp.texi (Library Index): Renamed from "Index" to prevent
17564 conflict with index.html on case-insensitive file systems.
17565
68a12ef3
UB
175662012-07-03 Uros Bizjak <ubizjak@gmail.com>
17567
17568 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
17569 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
17570
33ad93b9 175712012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
17572 Michael Matz <matz@suse.de>
17573 Tobias Grosser <tobias@grosser.es>
17574 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
17575
17576 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
17577 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
17578 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17579 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17580
e6fdc918
AS
175812012-06-28 Andreas Schwab <schwab@linux-m68k.org>
17582
17583 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
17584
62e0a1ed
RG
175852012-06-22 Richard Guenther <rguenther@suse.de>
17586
17587 Merge from graphite branch
17588 2012-01-13 Tobias Grosser <tobias@grosser.es>
17589
17590 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17591 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
17592
26127932
JJ
175932012-06-07 Jakub Jelinek <jakub@redhat.com>
17594
17595 PR middle-end/53580
17596 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
17597 use GOMP_barrier () call instead.
17598 * testsuite/libgomp.c/pr26943-3.c: Likewise.
17599 * testsuite/libgomp.c/pr26943-4.c: Likewise.
17600 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
17601 call GOMP_barrier instead.
17602 * testsuite/libgomp.fortran/vla5.f90: Likewise.
17603
43fa5db5
JJ
176042012-06-06 Jakub Jelinek <jakub@redhat.com>
17605
17606 PR libgomp/52993
17607 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
17608 argument to memset call.
17609
e6d5f8c9
L
176102012-05-16 H.J. Lu <hongjiu.lu@intel.com>
17611
17612 * configure: Regenerated.
17613
559d990c
MLI
176142012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
17615
17616 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
17617
b9c23a61
L
176182012-03-31 H.J. Lu <hongjiu.lu@intel.com>
17619
17620 PR bootstrap/52812
17621 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
17622
c140ddf3
JJ
176232012-03-22 Jakub Jelinek <jakub@redhat.com>
17624
17625 PR middle-end/52547
17626 * testsuite/libgomp.c/pr52547.c: New test.
17627
6a26a74d
BRF
176282012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17629
17630 * testsuite/lib/libgomp.exp: load fortran-modules.exp
17631
b24513a1
RO
176322012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17633
17634 * configure.tgt (mips-sgi-irix6*): Remove.
17635
5c30094f
RO
176362012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17637
17638 * configure.tgt (alpha*-dec-osf*): Remove.
17639
17640 * config/osf/sem.h: Remove.
17641 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
17642
a339c9d6
EB
176432012-02-29 Eric Botcazou <ebotcazou@adacore.com>
17644
17645 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
17646
cc2de92d
RO
176472012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17648
17649 PR libstdc++/52188
17650 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
17651 Remove ENABLE_SYMVERS_SOL2.
17652 * configure: Regenerate.
17653 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
17654 (PREPROCESS): New variable.
17655 (libgomp.ver): New target.
17656 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
17657 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
17658 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
17659 Use libgomp.ver.
17660 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
17661 * Makefile.in: Regenerate.
17662
dd552284
WL
176632012-02-14 Walter Lee <walt@tilera.com>
17664
17665 * configure.tgt: Handle tilegx and tilepro.
17666 * config/linux/tile/futex.h: New file.
17667
31432e21
RG
176682012-02-08 Richard Guenther <rguenther@suse.de>
17669
17670 PR tree-optimization/46886
17671 * testsuite/libgomp.c/pr46886.c: New testcase.
17672
b9264b5f
MK
176732012-01-25 Matthias Klose <doko@ubuntu.com>
17674
17675 * config/linux/arm: Remove empty directory.
17676 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
17677
fbf7be80
AM
176782011-12-09 Alan Modra <amodra@gmail.com>
17679
17680 PR libgomp/51376
17681 * task.c (GOMP_taskwait): Don't access task->children outside of
17682 task_lock mutex region.
17683 (GOMP_task): Likewise.
17684
5de62d00
JJ
176852011-12-06 Jakub Jelinek <jakub@redhat.com>
17686
17687 PR libgomp/51132
17688 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
17689 to file scope.
17690 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
17691 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
17692 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
17693 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
17694 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
17695
45608a43
AM
176962011-12-02 Alan Modra <amodra@gmail.com>
17697
17698 * config/linux/affinity.c: Use atomic rather than sync builtin.
17699 * config/linux/lock.c: Likewise.
17700 * config/linux/ptrlock.h: Likewise.
17701 * config/linux/ptrlock.c: Likewise.
17702 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
17703 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
17704 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
17705 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
17706 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
17707 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
17708 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
17709 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
17710 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
17711 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
17712
ab6dd406
AM
177132011-11-30 Alan Modra <amodra@gmail.com>
17714
17715 PR libgomp/51298
17716 * config/linux/bar.h: Use atomic rather than sync builtins.
17717 * config/linux/bar.c: Likewise. Add missing acquire
17718 synchronisation on generation field.
17719 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
17720 double unlock.
17721
b40c885f
AM
177222011-11-30 Alan Modra <amodra@gmail.com>
17723
17724 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
17725 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
17726 * config/linux/mutex.h: Use atomic rather than sync builtins.
17727 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
17728 * config/linux/omp-lock.h: Comment fix.
17729 * config/linux/arm/mutex.h: Delete.
17730 * config/linux/powerpc/mutex.h: Delete.
17731 * config/linux/ia64/mutex.h: Delete.
17732 * config/linux/mips/mutex.h: Delete.
17733
3e348fcc
AM
177342011-11-30 Alan Modra <amodra@gmail.com>
17735
17736 PR libgomp/51249
17737 * config/linux/sem.h: Rewrite.
17738 * config/linux/sem.c: Rewrite.
17739
cef86eb2
RH
177402011-11-28 Richard Henderson <rth@redhat.com>
17741
17742 * libgomp.h (enum memmodel): New.
17743
c6084f68
AT
177442011-11-21 Andreas Tobler <andreast@fgznet.ch>
17745
17746 * configure: Regenerate.
17747
06fe026c
MK
177482011-10-10 Matthias Klose <doko@ubuntu.com>
17749
17750 * config/posix95: Remove empty directory.
17751
a6c975bd
JJ
177522011-08-26 Jakub Jelinek <jakub@redhat.com>
17753
17754 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
17755
c26dffff
JJ
177562011-08-19 Jakub Jelinek <jakub@redhat.com>
17757
17758 PR fortran/49792
17759 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
17760 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
17761
ddaad3c8
RO
177622011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17763
17764 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
17765
98d03683
RO
177662011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17767
17768 PR libgomp/49965
17769 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
17770
e0b23d9f
UB
177712011-08-03 Uros Bizjak <ubizjak@gmail.com>
17772
17773 * config/linux/proc.h: New.
17774 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
17775 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
17776 (gomp_init_num_threads): Update call to cpuset_popcount.
17777 (get_num_procs): Ditto.
17778 * config/linux/affinity.c (gomp_init_affinity): Call
17779 gomp_cpuset_popcount.
17780
20906c66
JJ
177812011-08-02 Jakub Jelinek <jakub@redhat.com>
17782
17783 PR fortran/42041
17784 PR fortran/46752
17785 * omp.h.in (omp_in_final): New prototype.
17786 * omp_lib.f90.in (omp_in_final): New interface.
17787 (omp_integer_kind, omp_logical_kind): Remove
17788 and replace all its uses in the module with 4.
17789 (openmp_version): Change to 201107.
17790 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
17791 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
17792 kind for the parameters.
17793 (omp_in_final): New external.
17794 (openmp_version): Change to 201107.
17795 * task.c (omp_in_final): New function.
17796 (gomp_init_task): Initialize final_task.
17797 (GOMP_task): Remove unused attribute from flags. Handle final
17798 tasks.
17799 (GOMP_taskyield): New function.
17800 (omp_in_final): Return true if if (false) or final (true) task
17801 or descendant of final (true).
17802 * fortran.c (omp_in_final_): New function.
17803 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
17804 (GOMP_3.0): Export GOMP_taskyield.
17805 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
17806 variables.
17807 (parse_unsigned_long_list): New function.
17808 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
17809 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
17810 even if parse_affinity returned false.
17811 * config/linux/affinity.c (gomp_init_affinity): Handle
17812 gomp_cpu_affinity_len == 0.
17813 * libgomp_g.h (GOMP_taskyield): New prototype.
17814 * libgomp.h (struct gomp_task): Add final_task field.
17815 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
17816 * team.c (gomp_team_start): Override new task's nthreads_var icv
17817 if list form OMP_NUM_THREADS has been used and it has value for
17818 the new nesting level.
17819
17820 * testsuite/libgomp.c/atomic-11.c: New test.
17821 * testsuite/libgomp.c/atomic-12.c: New test.
17822 * testsuite/libgomp.c/atomic-13.c: New test.
17823 * testsuite/libgomp.c/atomic-14.c: New test.
17824 * testsuite/libgomp.c/reduction-6.c: New test.
17825 * testsuite/libgomp.c/task-5.c: New test.
17826 * testsuite/libgomp.c++/atomic-2.C: New test.
17827 * testsuite/libgomp.c++/atomic-3.C: New test.
17828 * testsuite/libgomp.c++/atomic-4.C: New test.
17829 * testsuite/libgomp.c++/atomic-5.C: New test.
17830 * testsuite/libgomp.c++/atomic-6.C: New test.
17831 * testsuite/libgomp.c++/atomic-7.C: New test.
17832 * testsuite/libgomp.c++/atomic-8.C: New test.
17833 * testsuite/libgomp.c++/atomic-9.C: New test.
17834 * testsuite/libgomp.c++/task-8.C: New test.
17835 * testsuite/libgomp.c++/reduction-4.C: New test.
17836 * testsuite/libgomp.fortran/allocatable7.f90: New test.
17837 * testsuite/libgomp.fortran/allocatable8.f90: New test.
17838 * testsuite/libgomp.fortran/crayptr3.f90: New test.
17839 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
17840 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
17841 * testsuite/libgomp.fortran/pointer1.f90: New test.
17842 * testsuite/libgomp.fortran/pointer2.f90: New test.
17843 * testsuite/libgomp.fortran/task4.f90: New test.
17844
178452011-08-02 Tobias Burnus <burnus@net-b.de>
17846
17847 * libgomp.texi: Update OpenMP spec references to 3.1.
17848 (omp_in_final,OMP_PROC_BIND): New sections.
17849 (OMP_NUM_THREADS): Document that the value can be now a list.
17850 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
17851
c01ecafc
L
178522011-08-02 H.J. Lu <hongjiu.lu@intel.com>
17853
17854 * config/linux/x86/futex.h: Check __x86_64__ instead of
17855 __LP64__.
17856
25142650
JJ
178572011-07-29 Jakub Jelinek <jakub@redhat.com>
17858
17859 PR middle-end/49897
17860 PR middle-end/49898
17861 * testsuite/libgomp.c/pr49897-1.c: New test.
17862 * testsuite/libgomp.c/pr49897-2.c: New test.
17863 * testsuite/libgomp.c/pr49898-1.c: New test.
17864 * testsuite/libgomp.c/pr49898-2.c: New test.
17865
f53d712f
L
178662011-07-28 H.J. Lu <hongjiu.lu@intel.com>
17867
17868 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
17869 for ia32 instead of ilp32.
17870
17871 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
17872 * testsuite/libgomp.c/atomic-6.c: Likewise.
17873
3689198d
SP
178742011-07-23 Sebastian Pop <sebastian.pop@amd.com>
17875
17876 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
17877 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
17878
1a79cb73
RO
178792011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17880
17881 PR libgomp/45351
17882 * config/osf/sem.h: New file.
17883 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
17884
c1f51484
RO
178852011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17886
17887 PR target/49541
17888 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
17889 ldflags.
17890
bfee0724
JJ
178912011-07-15 Jakub Jelinek <jakub@redhat.com>
17892
17893 * config/linux/wait.h (do_spin): New inline, largely copied
17894 from do_wait, just don't do futex_wait here, instead return true if
17895 it should be done.
17896 (do_wait): Implement using do_spin.
17897 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
17898 to prototype.
17899 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17900 __sync_bool_compare_and_swap, pass the oldval to
17901 gomp_mutex_lock_slow.
17902 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
17903 If all mutex contenders are just spinning and not sleeping, don't
17904 change state to 2 unnecessarily. Optimize the loop when state has
17905 already become 2 to use just one atomic operation per loop instead
17906 of two.
17907 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
17908 to prototype.
17909 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
17910 __sync_bool_compare_and_swap, pass the oldval to
17911 gomp_mutex_lock_slow.
17912
fb79f500
JJ
179132011-06-22 Jakub Jelinek <jakub@redhat.com>
17914
17915 PR libgomp/49490
17916 * iter.c (gomp_iter_static_next): For chunk size 0
17917 only use n ceil/ nthreads size for the first
17918 n % nthreads threads in the team instead of
17919 all threads except for the last few ones which
17920 get less work or none at all.
17921 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
17922 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
17923 chunk argument, set run_sched_modifier to 0 for static
17924 resp. 1 for other kinds. If chunk argument is 0
17925 and not static, set value to 1.
17926
4577f730
JJ
179272011-05-19 Jakub Jelinek <jakub@redhat.com>
17928
ea93a47b
JJ
17929 PR c++/49043
17930 * testsuite/libgomp.c++/pr49043.C: New test.
17931
4577f730
JJ
17932 PR c++/48869
17933 * testsuite/libgomp.c++/pr48869.C: New test.
17934
e7385332
JJ
179352011-05-06 Jakub Jelinek <jakub@redhat.com>
17936
17937 PR fortran/48894
17938 * fortran.c: Include limits.h.
17939 (TO_INT): Define.
17940 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
17941 *set.
17942 (omp_set_num_threads_8_, omp_set_schedule_8_,
17943 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
17944 omp_get_team_size_8_): Use TO_INT macro.
17945 * testsuite/libgomp.fortran/pr48894.f90: New test.
17946
20790697
JJ
179472011-04-13 Jakub Jelinek <jakub@redhat.com>
17948
17949 PR middle-end/48591
17950 * testsuite/libgomp.c/pr48591.c: New test.
17951
bf382f5f
RO
179522011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17953
17954 PR bootstrap/48135
17955 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
17956 * configure: Regenerate.
17957
113a53c1
JJ
179582011-02-27 Jakub Jelinek <jakub@redhat.com>
17959
17960 PR fortran/47886
17961 * testsuite/libgomp.fortran/task3.f90: New test.
17962
0024f1af
TB
179632011-02-24 Tobias Burnus <burnus@net-b.de>
17964
17965 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
17966
21e1e594
JJ
179672011-02-23 Jakub Jelinek <jakub@redhat.com>
17968
17969 PR libgomp/47854
17970 * libgomp.texi (omp_get_wtime): Don't say time in the past
17971 must be Unix Epoch.
17972
67962076
JJ
179732011-02-18 Jakub Jelinek <jakub@redhat.com>
17974
17975 PR libgomp/47804
17976 * testsuite/libgomp.fortran/fortran.exp: Check for both
17977 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
17978 but $blddir != "", still append ${blddir}/${lang_library_path}
17979 to ld_library_path.
17980
3808007c
TB
179812011-02-16 Tobias Burnus <burnus@net-b.de>
17982
17983 PR libgomp/47758
17984 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
17985 of libquadmath.a before adding its libpath to ldflags.
17986
53b4d41d
JJ
179872011-02-14 Jakub Jelinek <jakub@redhat.com>
17988
17989 PR libgomp/47731
17990 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
17991 to FUTEX_WAIT futex syscall.
17992 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
17993
029c8f3e
RW
179942011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17995
17996 * configure: Regenerate.
17997
bddd6626
BK
179982011-01-20 Benjamin Kosnik <bkoz@redhat.com>
17999
18000 PR libstdc++/36104
18001 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
18002
f1d4ab26
GP
180032011-01-16 Gerald Pfeifer
18004
18005 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
18006
2b503136
JJ
180072010-12-14 Jakub Jelinek <jakub@redhat.com>
18008
18009 PR fortran/46874
18010 * libgomp.fortran/allocatable6.f90: New test.
18011
c0f9d583
RO
180122010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18013
18014 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
18015 * configure: Regenerate.
18016
7de6ba7a
DK
180172010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
18018
18019 PR target/40125
18020 PR lto/46695
18021 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
18022 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
18023 * aclocal.m4: Regenerate.
18024 * configure: Regenerate.
18025 * Makefile.in: Regenerate.
18026 * testsuite/Makefile.in: Regenerate.
18027
b7516041
JJ
180282010-12-02 Jakub Jelinek <jakub@redhat.com>
18029
edaadf74
JJ
18030 PR fortran/46753
18031 * libgomp.fortran/pr46753.f90: New test.
18032
4c698cf8
JJ
18033 PR libgomp/43706
18034 * env.c (initialize_env): Default to spin count 300000
18035 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
18036 is specified.
18037
b7516041
JJ
18038 PR libgomp/45240
18039 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
18040 at the end if sync builtins aren't supported.
18041
6b43a34c
RO
180422010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18043
18044 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
18045
950691fa
RO
180462010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18047
18048 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
18049
fb9041ea
IS
180502010-11-24 Iain Sandoe <iains@gcc.gnu.org>
18051
18052 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
18053
1ec601bf
FXC
180542010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18055 Tobias Burnus <burnus@net-b.de>
18056
18057 PR fortran/32049
3e348fcc 18058 * configure.ac:
1ec601bf
FXC
18059 * configure: Regenerate.
18060
d213e92e
MS
180612010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
18062
18063 * config/linux/futex.h: New.
18064 * config/linux/arm/mutex.h: New.
18065 * configure.tgt (arm*-*-linux*): Add config path.
18066
89d5c66f
SP
180672010-09-30 Sebastian Pop <sebastian.pop@amd.com>
18068
18069 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18070
87350d4a
TB
180712010-09-23 Tobias Burnus <burnus@net-b.de>
18072
18073 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
18074 Change Fortran datatype to LOGICAL.
18075 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
18076 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
18077
75bc9e5e
RW
180782010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18079
18080 * configure: Regenerate.
18081
acb5c916
JJ
180822010-07-26 Jakub Jelinek <jakub@redhat.com>
18083
18084 * libgomp.texi: Add function keyword to a couple of Fortran
18085 interfaces, use integer instead of int for Fortran.
18086
6a2ba183
AH
180872010-07-26 Aldy Hernandez <aldyh@redhat.com>
18088
18089 * libgomp.texi: Fix spelling and pasto problems throughout.
18090 Adjust prototypes to match code.
18091
df161b69
TB
180922010-07-24 Tobias Burnus <burnus@net-b.de>
18093
18094 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
18095 silence -fwhole-file warning.
18096
16c9d3b1
RO
180972010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18098
18099 * configure.tgt (*-*-solaris2.[56]*): Removed.
18100
6d28b933
RO
181012010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18102
18103 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
18104 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
18105 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
18106 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
18107 targetting solaris2*.
18108 * configure: Regenerate.
18109 * config.h.in: Regenerate.
18110
18111 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
18112 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
18113 Add libgomp_version_dep.
18114 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
18115 versioning.
18116 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
18117 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
18118 * Makefile.in: Regenerate.
18119
18120 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
18121 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18122 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
18123 to common block, protected by
18124 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
18125
07a67d6a
GP
181262010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
18127
18128 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
18129
dbd34b89
IS
181302010-06-09 Iain Sandoe <iains@gcc.gnu.org>
18131
18132 PR bootstrap/43170
18133 * configure: Regenerate.
18134
13917ae3
RW
181352010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18136
18137 PR other/43620
18138 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
18139 * configure: Regenerate.
18140 * Makefile.in: Regenerate.
18141 * testsuite/Makefile.in: Regenerate.
18142
b83a701b
JJ
181432010-04-26 Jakub Jelinek <jakub@redhat.com>
18144
18145 PR c/43893
18146 * testsuite/libgomp.c/pr43893.c: New test.
18147 * testsuite/libgomp.c++/pr43893.C: New test.
18148
78db7d92
JJ
181492010-04-21 Jakub Jelinek <jakub@redhat.com>
18150
18151 PR middle-end/43570
18152 * testsuite/libgomp.fortran/vla8.f90: New test.
18153
5221d7a9
JJ
181542010-04-20 Jakub Jelinek <jakub@redhat.com>
18155
e4ba7a60
JJ
18156 PR libgomp/43706
18157 * config/linux/affinity.c (gomp_init_affinity): Decrease
18158 gomp_available_cpus if affinity mask confines the process to fewer
18159 CPUs.
18160 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
18161 non-NULL, just return gomp_available_cpus.
18162
5221d7a9
JJ
18163 PR libgomp/43569
18164 * sections.c (gomp_sections_init): Initialize ws->mode.
18165
289a9f86
UB
181662010-04-14 Uros Bizjak <ubizjak@gmail.com>
18167
18168 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
18169 not unused bar variable.
18170 * configure: Regenerate.
18171
4d9e8446
RW
181722010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18173
18174 * Makefile.in: Regenerate.
18175 * aclocal.m4: Regenerate.
18176 * testsuite/Makefile.in: Regenerate.
18177
80f046cc
JJ
181782010-03-22 Jakub Jelinek <jakub@redhat.com>
18179
18180 PR libgomp/42942
18181 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
18182 (initialize_env): Adjust callers.
18183 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
18184 when the argument is 0.
18185
18186 * testsuite/libgomp.c/pr42942.c: New test.
18187
b58543c3
SP
181882010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
18189
18190 PR middle-end/42644
18191 PR middle-end/42130
18192 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
18193 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
18194
41d1138f
RO
181952010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18196
18197 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
18198 * testsuite/libgomp.c++/task-6.C: Likewise.
18199
6684eb28
SE
182002010-01-28 Steve Ellcey <sje@cup.hp.com>
18201
18202 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
18203
2122aa97
PB
182042010-01-26 Paolo Bonzini <bonzini@gnu.org>
18205
18206 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
18207 * configure: Regenerate.
18208
057dd91d
JJ
182092010-01-26 Jakub Jelinek <jakub@redhat.com>
18210
18211 PR fortran/42866
18212 * testsuite/libgomp.fortran/allocatable5.f90: New test.
18213
d0709b6a
PB
182142010-01-20 Paolo Bonzini <bonzini@gnu.org>
18215
18216 * configure.ac: Test for executability of GFORTRAN.
18217 * configure: Regenerate.
18218
b9497ab5
RO
182192010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18220
18221 * configure: Regenerate.
18222
45de5648
L
182232010-01-04 H.J. Lu <hongjiu.lu@intel.com>
18224
18225 PR libgomp/42602
18226 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
18227
e74003a1
RG
182282010-01-03 Richard Guenther <rguenther@suse.de>
18229
18230 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
18231
1b3abda8
SP
182322009-12-23 Sebastian Pop <sebpop@gmail.com>
18233
18234 * testsuite/libgomp.graphite/pr4118.c: New.
18235
e19977d3
IS
182362009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18237
18238 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
18239 for darwin, protect the test with require-effective-target tls_runtime.
18240 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
18241
1d32a772
IS
182422009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18243
18244 PR target/41605
18245 * testsuite/lib/libgomp.exp: Provide -B options to allow for
18246 link spec %s substitutions for static libraries.
18247
deb109b2
JH
182482009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
18249
18250 PR testsuite/42135
18251 * libgomp.graphite/force-parallel-2.c: Reduce array size.
18252
43e02a8a
RW
182532009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18254
18255 * Makefile.in: Regenerate.
18256 * configure: Regenerate.
18257 * testsuite/Makefile.in: Regenerate.
18258
17f35e23
DK
182592009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
18260
18261 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
18262 settings for LC_ALL and LANG.
18263
281e33e1
JJ
182642009-11-25 Jakub Jelinek <jakub@redhat.com>
18265
18266 PR fortran/42162
18267 * testsuite/libgomp.fortran/pr42162.f90: New test.
18268
2b32c27d
JJ
182692009-11-13 Jakub Jelinek <jakub@redhat.com>
18270
18271 PR middle-end/42029
281e33e1 18272 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 18273
89c74f4a
JJ
182742009-10-26 Jakub Jelinek <jakub@redhat.com>
18275
18276 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
18277 *s. Accept ld version without text in ()s.
18278 * configure: Regenerated.
18279
7e06c3d6
EB
182802009-10-22 Razya Ladelsky <razya@il.ibm.com>
18281
18282 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
18283
0046b1a7
RW
182842009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18285
18286 PR libgomp/41418
18287 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
18288 or a hyphen (happens with fortran language disabled).
18289 * configure: Regenerate.
18290
c82852f7
RW
182912009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18292
18293 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
18294 use sed script portable to Solaris /bin/sed for extracting ld
18295 version.
18296 * configure: Regenerate.
18297
98f3eb1f
AM
182982009-09-17 Alexander Monakov <amonakov@ispras.ru>
18299
18300 * testsuite/libgomp.graphite/bounds.c: New test.
18301
878f62e5
RW
183022009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18303
18304 * Makefile.am (libgomp_la_LINK): New.
18305 * Makefile.in: Regenerate.
18306
df58e648
RW
183072009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18308
18309 * configure.ac (AC_PREREQ): Bump to 2.64.
18310
5213506e
RW
183112009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18312
70fa0efa
RW
18313 * Makefile.am (install-html, install-pdf): Remove.
18314 * Makefile.in: Regenerate.
18315
5213506e
RW
18316 * Makefile.in: Regenerate.
18317 * aclocal.m4: Regenerate.
18318 * config.h.in: Regenerate.
18319 * configure: Regenerate.
18320 * testsuite/Makefile.in: Regenerate.
18321
84fec8a5
RW
183222009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18323
18324 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
18325 * Makefile.in: Regenerate.
18326
197c68cc
DK
183272009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
18328
18329 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
18330 * Makefile.in: Regenerate.
18331
693d54f2
TB
183322009-08-19 Tobias Burnus <burnus@net-b.de>
18333
18334 PR fortran/41102
18335 omp_lib.h.in: Fix -std=f95 errors.
18336
8cac884c
DE
183372009-08-14 David Edelsohn <edelsohn@gnu.org>
18338
18339 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
18340 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
18341 * testsuite/libgomp.graphite/graphite.exp: New.
18342
78729ee2
AT
183432009-08-05 Andreas Tobler <a.tobler@schweiz.org>
18344
18345 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
18346 only build.
18347
b13b7f39
DD
183482009-08-04 David Daney <ddaney@caviumnetworks.com>
18349
18350 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
18351 needed memory barrier semantics.
18352 * config/linux/mips/mutex.h: New file.
18353
1b3b24c2
RW
183542009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18355
18356 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
18357
396b7fa4
JM
183582009-07-16 Joseph Myers <joseph@codesourcery.com>
18359
18360 * configure: Regenerate.
18361
33cde516
RS
183622009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
18363
18364 PR testsuite/40699
18365 PR testsuite/40707
18366 PR testsuite/40709
18367 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
18368 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
18369 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
18370
bc21bfa5
RS
183712009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
18372
18373 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
18374 options when choosing a multilib.
18375
b30bfd40
RS
183762009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
18377
18378 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
18379 ld_library_path. Use add_path. Add just find_libgcc_s to
18380 ld_library_path, not every libgcc multilib directory.
18381 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
18382 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
18383 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
18384 Use add_path.
18385 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
18386
479c15c2
NF
183872009-06-09 Nathan Froyd <froydnj@codesourcery.com>
18388
18389 * Makefile.am (LTLDFLAGS): Define.
18390 (LINK): Define.
18391 * Makefile.in: Regenerate.
18392
667e6f89
JB
183932009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
18394
18395 PR fortran/39718
18396 * testsuite/libgomp.fortran/fortran.exp: Don't link with
18397 libgfortranbegin, check existence of libgfortran.a instead of
18398 libgfortranbegin.a.
18399
6dea8e99
JJ
184002009-05-20 Jakub Jelinek <jakub@redhat.com>
18401
18402 PR libgomp/40174
18403 * team.c (gomp_thread_start): Destroy thr->release semaphore.
18404 (gomp_free_pool_helper): Likewise.
18405
34d01e1d
VL
184062009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
18407 Jakub Jelinek <jakub@redhat.com>
18408
18409 PR fortran/35423
18410 * testsuite/libgomp.fortran/workshare2.f90: New test.
18411
748086b7
JJ
184122009-04-09 Nick Clifton <nickc@redhat.com>
18413
18414 * iter.c: Change copyright header to refer to version 3 of the
18415 GNU General Public License with version 3.1 of the GCC Runtime
18416 Library Exception and to point readers at the COPYING3 and
18417 COPYING3.RUNTIME files and the FSF's license web page.
18418 * alloc.c: Likewise.
18419 * barrier.c: Likewise.
18420 * config/bsd/proc.c: Likewise.
18421 * config/linux/affinity.c: Likewise.
18422 * config/linux/alpha/futex.h: Likewise.
18423 * config/linux/bar.c: Likewise.
18424 * config/linux/bar.h: Likewise.
18425 * config/linux/ia64/futex.h: Likewise.
18426 * config/linux/ia64/mutex.h: Likewise.
18427 * config/linux/lock.c: Likewise.
18428 * config/linux/mips/futex.h: Likewise.
18429 * config/linux/mutex.c: Likewise.
18430 * config/linux/mutex.h: Likewise.
18431 * config/linux/powerpc/futex.h: Likewise.
18432 * config/linux/proc.c: Likewise.
18433 * config/linux/ptrlock.c: Likewise.
18434 * config/linux/ptrlock.h: Likewise.
18435 * config/linux/s390/futex.h: Likewise.
18436 * config/linux/sem.c: Likewise.
18437 * config/linux/sem.h: Likewise.
18438 * config/linux/sparc/futex.h: Likewise.
18439 * config/linux/wait.h: Likewise.
18440 * config/linux/x86/futex.h: Likewise.
18441 * config/mingw32/proc.c: Likewise.
18442 * config/mingw32/time.c: Likewise.
18443 * config/posix/affinity.c: Likewise.
18444 * config/posix/bar.c: Likewise.
18445 * config/posix/bar.h: Likewise.
18446 * config/posix/lock.c: Likewise.
18447 * config/posix/mutex.h: Likewise.
18448 * config/posix/proc.c: Likewise.
18449 * config/posix/ptrlock.h: Likewise.
18450 * config/posix/sem.c: Likewise.
18451 * config/posix/sem.h: Likewise.
18452 * config/posix/time.c: Likewise.
18453 * config/posix95/lock.c: Likewise.
18454 * critical.c: Likewise.
18455 * env.c: Likewise.
18456 * error.c: Likewise.
18457 * fortran.c: Likewise.
18458 * iter_ull.c: Likewise.
18459 * libgomp.h: Likewise.
18460 * libgomp_f.h.in: Likewise.
18461 * libgomp_g.h: Likewise.
18462 * loop.c: Likewise.
18463 * loop_ull.c: Likewise.
18464 * omp.h.in: Likewise.
18465 * omp_lib.f90.in: Likewise.
18466 * omp_lib.h.in: Likewise.
18467 * ordered.c: Likewise.
18468 * parallel.c: Likewise.
18469 * sections.c: Likewise.
18470 * single.c: Likewise.
18471 * task.c: Likewise.
18472 * team.c: Likewise.
18473 * work.c: Likewise.
18474
184752009-04-09 Jakub Jelinek <jakub@redhat.com>
18476
18477 * testsuite/config/default.exp: Change copyright header to refer to
18478 version 3 of the GNU General Public License and to point readers
18479 at the COPYING3 file and the FSF's license web page.
18480
4f0ae266
JJ
184812009-04-08 Jakub Jelinek <jakub@redhat.com>
18482
18483 PR middle-end/39573
18484 * libgomp.c++/pr39573.C: New test.
18485
03742a9b
JJ
184862009-04-01 Jakub Jelinek <jakub@redhat.com>
18487
18488 PR other/39591
18489 * testsuite/libgomp.c/pr39591-1.c: New test.
18490 * testsuite/libgomp.c/pr39591-2.c: New test.
18491 * testsuite/libgomp.c/pr39591-3.c: New test.
18492
e50ea10b
UB
184932009-03-25 Uros Bizjak <ubizjak@gmail.com>
18494
18495 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
18496 * testsuite/libgomp.c/atomic-6.c: Ditto.
18497
c5cdb03f
JJ
184982009-03-23 Jakub Jelinek <jakub@redhat.com>
18499
18500 PR c/39495
18501 * testsuite/libgomp.c/loop-12.c: New test.
18502 * testsuite/libgomp.c/loop-11.c: New test.
18503 * testsuite/libgomp.c++/loop-11.C: New test.
18504 * testsuite/libgomp.c++/loop-12.C: New test.
18505 * testsuite/libgomp.c++/for-8.C: New test.
18506
7a9d3fe8
RW
185072009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18508
18509 * configure: Regenerate.
18510
3ad6b266
JJ
185112009-02-11 Jakub Jelinek <jakub@redhat.com>
18512
18513 PR middle-end/39154
18514 * testsuite/libgomp.c/pr39154.c: New test.
18515
b39dea08
ILT
185162009-01-30 Ian Lance Taylor <iant@google.com>
18517
18518 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
18519 libgomp_ld_is_gold. Get gold version number.
18520 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
18521 * configure: Rebuild.
18522
72c66596
IS
185232009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
18524
e50ea10b 18525 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
18526 use libgfortran.a%s in their specs.
18527
876080ff
JJ
185282009-01-07 Jakub Jelinek <jakub@redhat.com>
18529
18530 PR libgomp/38086
18531 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
18532 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
18533 HAVE_AS_SYMVER_DIRECTIVE is not defined.
18534 * configure: Regenerated.
18535 * config.h.in: Likewise.
18536
e4ebaef3
JJ
185372008-12-28 Jakub Jelinek <jakub@redhat.com>
18538
18539 PR c++/38650
18540 * testsuite/libgomp.c/pr38650.c: New test.
18541 * testsuite/libgomp.c++/pr38650.C: New test.
18542
382017a6
JJ
185432008-12-27 Jakub Jelinek <jakub@redhat.com>
18544
18545 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
18546
79644b27
UB
185472008-12-26 Uros Bizjak <ubizjak@gmail.com>
18548
18549 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
18550
baafc534
RW
185512008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18552
18553 * configure: Regenerate.
18554
d9c194cb
JJ
185552008-12-08 Jakub Jelinek <jakub@redhat.com>
18556
18557 PR middle-end/36802
18558 * testsuite/libgomp.c/pr36802-1.c: New test.
18559 * testsuite/libgomp.c/pr36802-2.c: New test.
18560 * testsuite/libgomp.c/pr36802-3.c: New test.
18561
86a182bf
JJ
185622008-12-01 Janis Johnson <janis187@us.ibm.com>
18563
18564 PR libgomp/38270
18565 * config/linux/powerpc/mutex.h: New.
18566
956adfaf
JJ
185672008-12-01 Jakub Jelinek <jakub@redhat.com>
18568
a2d4cdc9
JJ
18569 PR c++/38257
18570 * testsuite/libgomp.c++/for-7.C: New test.
18571
956adfaf
JJ
18572 PR c++/38348
18573 * testsuite/libgomp.c++/for-6.C: New test.
18574
d4038ca2
JJ
185752008-11-26 Janis Johnson <janis187@us.ibm.com>
18576
18577 PR testsuite/28870
18578 * testsuite/lib/libgomp.exp: Include new timeout library files.
18579 (libgomp_target_compile): Set timeout value from new proc.
18580
8b159eea
SE
185812008-11-13 Steve Ellcey <sje@cup.hp.com>
18582
18583 PR libgomp/37938
18584 * config/linux/ia64/mutex.h: New.
18585
5c6ed53a
TB
185862008-11-04 Tobias Burnus <burnus@net-b.de>
18587
18588 PR libgomp/37935
18589 * libgomp.texi (Runtime library routines, environment variables):
18590 Update for OpenMP version 3.0.
18591
6b4a97ed
PG
185922008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
18593 Steve Ellcey <sje@cup.hp.com>
18594
18595 * configure: Regenerate for new libtool.
18596 * Makefile.in: Ditto.
18597 * testsuite/Makefile.in: Ditto.
18598
e2b34106
JJ
185992008-09-19 Jakub Jelinek <jakub@redhat.com>
18600 Andreas Tobler <a.tobler@schweiz.org>
18601
18602 * config/bsd/proc.c: New file.
8c3b3600 18603 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
18604 * configure.ac: Check for header <sys/sysctl.h>
18605 * configure: Regenerate.
18606 * config.h.in: Likewise.
18607
3606b8bf
JJ
186082008-09-05 Janis Johnson <janis187@us.ibm.com>
18609
18610 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
18611
6528b88d
AL
186122008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
18613
18614 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
18615 * Makefile.in: Regenerated.
18616 * testsuite/Makefile.in: Regenerated.
18617
d9b14b12 186182008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 18619
a16b68bb 18620 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
18621 depend on blddir if blddir exists.
18622 (libgomp_target_compile): Likewise.
18623 * testsuite/libgomp.c++/c++.exp: Likewise.
18624 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18625
70b1e376
RW
186262008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18627
18628 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
18629 Do not list GPL as Invariant Section.
18630
318e8c3f
IG
186312008-07-28 Ilie Garbacea <ilie@mips.com>
18632 Chao-ying Fu <fu@mips.com>
18633
18634 * configure.tgt: Enable futex for MIPS.
18635 * config/linux/mips/futex.h: New file.
18636
4db72361
JJ
186372008-07-16 Jakub Jelinek <jakub@redhat.com>
18638
18639 * team.c (gomp_team_end): Free team immediately if it has
18640 just one thread.
18641
87bd23b8
DE
186422008-07-08 David Edelsohn <edelsohn@gnu.org>
18643
18644 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
18645 * testsuite/libgomp.fortran/fortran.exp: Same.
18646 * testsuite/libgomp.c/c.exp: Same.
18647 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
18648 directory to library path first.
18649
323ff903
KW
186502008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
18651
18652 * env.c (parse_stacksize): Add cast to avoid warning.
18653 (parse_spincount): Likewise.
18654
b357f682
JJ
186552008-06-27 Jakub Jelinek <jakub@redhat.com>
18656
ca2b1311
JJ
18657 * testsuite/libgomp.c/loop-10.c: New test.
18658 * libgomp.c/loop-3.c (main): Add lastprivate clause.
18659 * libgomp.c++/loop-6.C (main): Likewise.
18660
b357f682
JJ
18661 PR debug/36617
18662 * testsuite/libgomp.c/debug-1.c: New test.
18663
09a46078
JJ
186642008-06-19 Jakub Jelinek <jakub@redhat.com>
18665
18666 * testsuite/libgomp.c/nqueens-1.c: New test.
18667
2368a460
JJ
18668 PR c++/36523
18669 * testsuite/libgomp.c++/task-7.C: New function.
18670
18c04407
RW
186712008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18672
18673 * configure: Regenerate.
18674
9c4e59e0
JDA
186752008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18676
18677 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
18678 mutex when HAVE_SYNC_BUILTINS isn't defined.
18679
6ccde948
RW
186802008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18681
18682 * libgomp.texi (omp_test_lock): Fix typo.
18683
b896f9fd
TB
186842008-06-12 Tobias Burnus <burnus@net-b.de>
18685
18686 * omp_lib.f90.in: Add "implicit none".
18687
c34938a8
JJ
186882008-06-12 Jakub Jelinek <jakub@redhat.com>
18689
18690 PR middle-end/36506
18691 * testsuite/libgomp.c/reduction-5.c: New test.
18692
976e44e3
JJ
186932008-06-11 Jakub Jelinek <jakub@redhat.com>
18694
5f836cbb
JJ
18695 * libgomp.h (struct gomp_task): Add in_tied_task field.
18696 * task.c (gomp_init_task): Initialize it.
18697 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
18698 unconditionally. Don't call gomp_team_barrier_wake if
18699 current task is implicit or if(0) from implicit and number of
18700 running tasks is equal to nthreads - 1.
18701
01501fc8
JJ
18702 PR libgomp/36471
18703 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
18704 omp_get_team_size_8): Fix pastos.
18705
976e44e3
JJ
18706 PR libgomp/36469
18707 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
18708 * configure: Regenerated.
18709 * config.h.in: Regenerated.
18710 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
18711 defined.
18712
e919209b
AT
187132008-06-06 Andreas Tobler <a.tobler@schweiz.org>
18714
18715 PR bootstrap/36452
18716 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
18717 (GOMP_loop_ull_dynamic_start): Likewise.
18718 (GOMP_loop_ull_guided_start): Likewise.
18719 (GOMP_loop_ull_ordered_static_start): Likewise.
18720 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
18721 (GOMP_loop_ull_ordered_guided_start): Likewise.
18722
a68ab351
JJ
187232008-06-06 Jakub Jelinek <jakub@redhat.com>
18724 Richard Henderson <rth@redhat.com>
18725 Ulrich Drepper <drepper@redhat.com>
18726 Jakob Blomer <jakob.blomer@ira.uka.de>
18727
18728 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
18729 Substitute also OMP_*LOCK_25*.
18730 * configure: Regenerated.
18731 * config.h.in: Regenerated.
18732 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
18733 ptrlock.c and task.c.
18734 * Makefile.in: Regenerated.
18735 * testsuite/Makefile.in: Regenerated.
18736 * task.c: New file.
18737 * loop_ull.c: New file.
18738 * iter_ull.c: New file.
18739 * libgomp.h: Include ptrlock.h.
18740 (enum gomp_task_kind): New type.
18741 (struct gomp_team): Add task_lock, task_queue, task_count,
18742 task_running_count, single_count fields. Add
18743 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
18744 Remove work_share_lock, generation_mask,
18745 oldest_live_gen, num_live_gen and init_work_shares fields, add
18746 work work_share_list_alloc, work_share_list_free and work_share_chunk
18747 fields. Change work_shares from pointer to pointers into an array.
18748 Change ordered_release field into gomp_sem_t ** from flexible array
18749 member. Add implicit_task and initial_work_shares fields.
18750 Move close to the end of the struct.
18751 (struct gomp_team_state): Add single_count, last_work_share,
18752 active_level and level fields, remove work_share_generation.
18753 (gomp_barrier_handle_tasks): New prototype.
18754 (gomp_finish_task): New inline function.
18755 (struct gomp_work_share): Move chunk_size, end, incr into
18756 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
18757 next_ll fields. Reshuffle fields. Add next_alloc,
18758 next_ws, next_free and inline_ordered_team_ids fields, change
18759 ordered_team_ids into pointer from flexible array member.
18760 Add mode field. Put lock and next into a different cache line
18761 from most of the write-once fields.
18762 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
18763 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
18764 gomp_iter_ull_guided_next): New prototypes.
18765 (gomp_new_icv): New prototype.
18766 (struct gomp_thread): Add thread_pool and task fields.
18767 (struct gomp_thread_pool): New type.
18768 (gomp_new_team): New prototype.
18769 (gomp_team_start): Change type of last argument.
18770 (gomp_new_work_share): Removed.
18771 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
18772 (gomp_work_share_init_done): New static inline.
18773 (gomp_throttled_spin_count_var, gomp_available_cpus,
18774 gomp_managed_threads): New extern decls.
18775 (gomp_init_task): New prototype.
18776 (gomp_spin_count_var): New extern var decl.
18777 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
18778 or no alias support, or if not PIC.
18779 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
18780 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
18781 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
18782 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
18783 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
18784 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
18785 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
18786 gomp_test_nest_lock_25): New prototypes.
18787 (omp_lock_symver, strong_alias): Define.
18788 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
18789 decls.
18790 (gomp_end_task): New.
18791 (struct gomp_task_icv, gomp_global_icv): New.
18792 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
18793 (struct gomp_task): New.
18794 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18795 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18796 (gomp_icv): New.
18797 (gomp_schedule_type): Reorder enum to match
18798 omp_sched_t.
18799 * team.c (struct gomp_thread_start_data): Add thread_pool and task
18800 fields.
18801 (gomp_thread_start): Add gomp_team_barrier_wait call.
18802 For non-nested case remove clearing of docked thread thr fields.
18803 Use pool fields instead of global gomp_* variables. Use
18804 gomp_barrier_wait_last when needed. Initialize ts.active_level.
18805 Create tasks for each member thread.
18806 (free_team): Only destroy team barrier, task_lock here and free it.
18807 (gomp_free_thread): Free last_team if non-NULL.
18808 (gomp_team_end): Call gomp_team_barrier_wait instead of
18809 gomp_barrier_wait. For nested case call one extra
18810 gomp_barrier_wait. Move here some destruction from free_team.
18811 Call free_team on pool->last_team if any, rather than freeing
18812 current team. Destroy work_share_list_free_lock ifndef
18813 HAVE_SYNC_BUILTINS.
18814 (gomp_new_icv): New function.
18815 (gomp_threads, gomp_threads_size, gomp_threads_used,
18816 gomp_threads_dock): Removed.
18817 (gomp_thread_destructor): New variable.
18818 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
18819 functions.
18820 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 18821 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
18822 Initialize thread_pool field for new threads. Clear single_count.
18823 Change last argument from ws to team, don't create
18824 new team, set ts.work_share to &team->work_shares[0] and clear
18825 ts.last_work_share. Don't clear ts.work_share_generation.
18826 If number of threads changed, adjust atomically gomp_managed_threads.
18827 Use gomp_init_task instead of gomp_new_task,
18828 set thr->task to the corresponding implicit_task array entry.
18829 Create tasks for each member thread. Initialize ts.level.
18830 (initialize_team): Call pthread_key_create on
18831 gomp_thread_destructor.
18832 (team_destructor): New function.
18833 (new_team): Removed.
18834 (gomp_new_team): New function.
18835 (free_team): Free gomp_work_share blocks chained through next_alloc,
18836 instead of freeing work_shares and destroying work_share_lock.
18837 (gomp_team_end): Call gomp_fini_work_share. If number of threads
18838 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
18839 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
18840 of gomp_barrier_wait.
18841 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
18842 instead of gomp_barrier_wait. Call gomp_work_share_init_done
18843 if gomp_work_share_start returned true. Don't unlock ws->lock.
18844 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
18845 of gomp_barrier_wait.
18846 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
18847 gomp_work_share_init_done if gomp_work_share_start returned true.
18848 Don't unlock ws->lock.
18849 * work.c: Include stddef.h.
18850 (free_work_share): Use work_share_list_free_lock instead
18851 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
18852 Call gomp_fini_work_share and then either free ws if orphaned, or
18853 put it into work_share_list_free list of the current team.
18854 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
18855 functions.
18856 (gomp_work_share_start, gomp_work_share_end,
18857 gomp_work_share_end_nowait): Rewritten.
18858 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
18859 (openmp_version): Set to 200805.
18860 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18861 omp_sched_guided, omp_sched_auto): New parameters.
18862 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18863 omp_set_max_active_levels, omp_get_max_active_levels,
18864 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18865 omp_get_active_level): New interfaces.
18866 * omp_lib.h.in (openmp_version): Set to 200805.
18867 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
18868 omp_sched_guided, omp_sched_auto): New parameters.
18869 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18870 omp_set_max_active_levels, omp_get_max_active_levels,
18871 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18872 omp_get_active_level): New externals.
18873 * loop.c: Include limits.h.
18874 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
18875 GFS_AUTO.
18876 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
18877 Likewise. Use gomp_icv.
18878 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
18879 ts.static_trip here.
18880 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
18881 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
18882 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
18883 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
18884 don't unlock ws->lock, otherwise lock it.
18885 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
18886 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
18887 (gomp_parallel_loop_start): Call gomp_new_team instead of
18888 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
18889 Adjust gomp_team_start caller. Pass 0 as second argument to
18890 gomp_resolve_num_threads.
18891 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
18892 If adding ws->chunk_size nthreads + 1 times after end won't
18893 overflow, set ws->mode to 1.
18894 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
18895 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
18896 GOMP_loop_ull_ordered_static_start,
18897 GOMP_loop_ull_ordered_dynamic_start,
18898 GOMP_loop_ull_ordered_guided_start,
18899 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
18900 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
18901 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
18902 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
18903 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
18904 prototypes.
18905 * libgomp.map: Export lock routines also @@OMP_2.0.
18906 (GOMP_loop_ordered_dynamic_first,
18907 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
18908 GOMP_loop_ordered_static_first): Remove.
18909 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
18910 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
18911 GOMP_loop_ull_ordered_dynamic_next,
18912 GOMP_loop_ull_ordered_dynamic_start,
18913 GOMP_loop_ull_ordered_guided_next,
18914 GOMP_loop_ull_ordered_guided_start,
18915 GOMP_loop_ull_ordered_runtime_next,
18916 GOMP_loop_ull_ordered_runtime_start,
18917 GOMP_loop_ull_ordered_static_next,
18918 GOMP_loop_ull_ordered_static_start,
18919 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
18920 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
18921 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
18922 (omp_set_schedule, omp_get_schedule,
18923 omp_get_thread_limit, omp_set_max_active_levels,
18924 omp_get_max_active_levels, omp_get_level,
18925 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
18926 omp_set_schedule_, omp_set_schedule_8_,
18927 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18928 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18929 omp_get_max_active_levels_, omp_get_level_,
18930 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18931 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18932 New exports @@OMP_3.0.
18933 * omp.h.in (omp_sched_t): New type.
18934 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18935 omp_set_max_active_levels, omp_get_max_active_levels,
18936 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
18937 omp_get_active_level): New prototypes.
18938 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
18939 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
18940 gomp_thread_limit_var, gomp_remaining_threads_count,
18941 gomp_remaining_threads_lock): New variables.
18942 (parse_spincount): New function.
18943 (initialize_env): Call gomp_init_num_threads unconditionally.
18944 Initialize gomp_available_cpus. Call parse_spincount,
18945 initialize gomp_{,throttled_}spin_count_var
18946 depending on presence and value of OMP_WAIT_POLICY and
18947 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
18948 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
18949 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
18950 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
18951 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
18952 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
18953 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
18954 (gomp_global_icv): New.
18955 (parse_schedule): Use it. Parse "auto".
18956 (omp_set_num_threads): Use gomp_icv.
18957 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
18958 Likewise.
18959 (omp_get_max_threads): Move from parallel.c.
18960 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
18961 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
18962 add ialias.
18963 (parse_stacksize, parse_wait_policy): New functions.
18964 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
18965 both wrappers for compatibility and new locks.
18966 (omp_set_schedule, omp_get_schedule,
18967 omp_get_thread_limit, omp_set_max_active_levels,
18968 omp_get_max_active_levels, omp_get_level,
18969 omp_get_ancestor_thread_num, omp_get_team_size,
18970 omp_get_active_level): New ialias_redirect.
18971 (omp_set_schedule_, omp_set_schedule_8_,
18972 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
18973 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
18974 omp_get_max_active_levels_, omp_get_level_,
18975 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
18976 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
18977 New functions.
18978 * parallel.c: Include limits.h.
18979 (gomp_resolve_num_threads): Add count argument. Rewritten.
18980 (GOMP_parallel_start): Call gomp_new_team and pass that as last
18981 argument to gomp_team_start. Pass 0 as second argument to
18982 gomp_resolve_num_threads.
18983 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
18984 if gomp_thread_limit_var != ULONG_MAX.
18985 (omp_in_parallel): Implement using ts.active_level.
18986 (omp_get_max_threads): Move to env.c.
18987 (omp_get_level, omp_get_ancestor_thread_num,
18988 omp_get_team_size, omp_get_active_level): New functions,
18989 add ialias.
18990 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
18991 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
18992 gomp_iter_dynamic_next instead of the _locked variant and don't take
18993 lock around it, otherwise acquire it before calling
18994 gomp_iter_dynamic_next_locked.
18995 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
18996 gomp_iter_dynamic_next instead of the _locked variant and don't take
18997 lock around it.
18998 (GOMP_parallel_sections_start): Call gomp_new_team instead of
18999 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
19000 Adjust gomp_team_start caller. Pass count as second argument to
19001 gomp_resolve_num_threads, don't adjust num_threads after the call.
19002 Use gomp_icv.
19003 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
19004 ws->chunk_size by incr.
19005 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
19006 code.
19007 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
19008 types.
19009 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
19010 (omp_check_defines): Check even the compat defines.
19011 * config/linux/ptrlock.c: New file.
19012 * config/linux/ptrlock.h: New file.
19013 * config/linux/wait.h: New file.
19014 * config/posix/ptrlock.c: New file.
19015 * config/posix/ptrlock.h: New file.
19016 * config/linux/bar.h (gomp_team_barrier_wait,
19017 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19018 (gomp_team_barrier_set_task_pending,
19019 gomp_team_barrier_clear_task_pending,
19020 gomp_team_barrier_set_waiting_for_tasks,
19021 gomp_team_barrier_waiting_for_tasks,
19022 gomp_team_barrier_done): New inlines.
19023 (gomp_barrier_t): Rewritten.
19024 (gomp_barrier_state_t): New typedef.
19025 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
19026 gomp_barrier_wait_start): Rewritten.
19027 (gomp_barrier_wait_end): Change second argument to
19028 gomp_barrier_state_t.
19029 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19030 inlines.
19031 * config/linux/bar.c: Include wait.h instead of libgomp.h and
19032 futex.h.
19033 (gomp_barrier_wait_end): Rewritten.
19034 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19035 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
19036 * config/posix/bar.h (gomp_barrier_t): Add generation field.
19037 (gomp_barrier_state_t): New typedef.
19038 (gomp_team_barrier_wait,
19039 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
19040 (gomp_barrier_wait_start): Or all but low 2 bits from generation
19041 into the return value. Return gomp_barrier_state_t.
19042 (gomp_team_barrier_set_task_pending,
19043 gomp_team_barrier_clear_task_pending,
19044 gomp_team_barrier_set_waiting_for_tasks,
19045 gomp_team_barrier_waiting_for_tasks,
19046 gomp_team_barrier_done): New inlines.
19047 (gomp_barrier_wait_end): Change second argument to
19048 gomp_barrier_state_t.
19049 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
19050 inlines.
19051 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
19052 (gomp_barrier_wait_end): Change second argument to
3e348fcc 19053 gomp_barrier_state_t.
a68ab351
JJ
19054 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
19055 gomp_team_barrier_wake): New functions.
19056 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
19057 futex.h.
19058 (gomp_futex_wake, gomp_futex_wait): New variables.
19059 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
19060 * config/linux/lock.c: Rewrite to make locks task owned,
19061 for backwards compatibility provide the old entrypoints
19062 if symbol versioning. Include wait.h instead of libgomp.h and
19063 futex.h.
19064 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
19065 * config/posix95/lock.c: Rewrite to make locks task owned,
19066 for backwards compatibility provide the old entrypoints
19067 if symbol versioning.
19068 * config/posix/lock.c: Rewrite to make locks task owned,
19069 for backwards compatibility provide the old entrypoints
19070 if symbol versioning.
19071 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
19072 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
19073 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
19074 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19075 (sys_futex0): Return error code.
19076 (futex_wake, futex_wait): If ENOSYS was returned, clear
19077 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19078 (cpu_relax, atomic_write_barrier): New static inlines.
19079 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19080 (futex_wake, futex_wait): If ENOSYS was returned, clear
19081 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19082 (cpu_relax, atomic_write_barrier): New static inlines.
19083 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19084 (sys_futex0): Return error code.
19085 (futex_wake, futex_wait): If ENOSYS was returned, clear
19086 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19087 (cpu_relax, atomic_write_barrier): New static inlines.
19088 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19089 (sys_futex0): Return error code.
19090 (futex_wake, futex_wait): If ENOSYS was returned, clear
19091 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19092 (cpu_relax, atomic_write_barrier): New static inlines.
19093 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19094 (sys_futex0): Return error code.
19095 (futex_wake, futex_wait): If ENOSYS was returned, clear
19096 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19097 (cpu_relax, atomic_write_barrier): New static inlines.
19098 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
19099 (sys_futex0): Return error code.
19100 (futex_wake, futex_wait): If ENOSYS was returned, clear
19101 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
19102 (cpu_relax, atomic_write_barrier): New static inlines.
19103 * config/linux/sem.c: Include wait.h instead of libgomp.h and
19104 futex.h.
19105 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
19106 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
19107 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
19108 types.
19109 (omp_nest_lock_t): Change owner into void *, add lock field.
19110 * config/posix95/omp-lock.h: Include semaphore.h.
19111 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19112 (omp_lock_t): Use sem_t instead of mutex if semaphores
19113 aren't broken.
19114 (omp_nest_lock_t): Likewise. Change owner to void *.
19115 * config/posix/omp-lock.h: Include semaphore.h.
19116 (omp_lock_25_t, omp_nest_lock_25_t): New types.
19117 (omp_lock_t): Use sem_t instead of mutex if semaphores
19118 aren't broken.
19119 (omp_nest_lock_t): Likewise. Add owner field.
19120
191212008-06-06 Jakub Jelinek <jakub@redhat.com>
19122
19123 * testsuite/libgomp.c/collapse-1.c: New test.
19124 * testsuite/libgomp.c/collapse-2.c: New test.
19125 * testsuite/libgomp.c/collapse-3.c: New test.
19126 * testsuite/libgomp.c/icv-1.c: New test.
19127 * testsuite/libgomp.c/icv-2.c: New test.
19128 * testsuite/libgomp.c/lib-2.c: New test.
19129 * testsuite/libgomp.c/lock-1.c: New test.
19130 * testsuite/libgomp.c/lock-2.c: New test.
19131 * testsuite/libgomp.c/lock-3.c: New test.
19132 * testsuite/libgomp.c/loop-4.c: New test.
19133 * testsuite/libgomp.c/loop-5.c: New test.
19134 * testsuite/libgomp.c/loop-6.c: New test.
19135 * testsuite/libgomp.c/loop-7.c: New test.
19136 * testsuite/libgomp.c/loop-8.c: New test.
19137 * testsuite/libgomp.c/loop-9.c: New test.
19138 * testsuite/libgomp.c/nested-3.c: New test.
19139 * testsuite/libgomp.c/nestedfn-6.c: New test.
19140 * testsuite/libgomp.c/sort-1.c: New test.
19141 * testsuite/libgomp.c/task-1.c: New test.
19142 * testsuite/libgomp.c/task-2.c: New test.
19143 * testsuite/libgomp.c/task-3.c: New test.
19144 * testsuite/libgomp.c/task-4.c: New test.
19145 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
19146 to C++ testsuite default compiler options.
19147 * testsuite/libgomp.c++/collapse-1.C: New test.
19148 * testsuite/libgomp.c++/collapse-2.C: New test.
19149 * testsuite/libgomp.c++/ctor-10.C: New test.
19150 * testsuite/libgomp.c++/for-1.C: New test.
19151 * testsuite/libgomp.c++/for-2.C: New test.
19152 * testsuite/libgomp.c++/for-3.C: New test.
19153 * testsuite/libgomp.c++/for-4.C: New test.
19154 * testsuite/libgomp.c++/for-5.C: New test.
19155 * testsuite/libgomp.c++/loop-8.C: New test.
19156 * testsuite/libgomp.c++/loop-9.C: New test.
19157 * testsuite/libgomp.c++/loop-10.C: New test.
19158 * testsuite/libgomp.c++/task-1.C: New test.
19159 * testsuite/libgomp.c++/task-2.C: New test.
19160 * testsuite/libgomp.c++/task-3.C: New test.
19161 * testsuite/libgomp.c++/task-4.C: New test.
19162 * testsuite/libgomp.c++/task-5.C: New test.
19163 * testsuite/libgomp.c++/task-6.C: New test.
19164 * testsuite/libgomp.fortran/allocatable1.f90: New test.
19165 * testsuite/libgomp.fortran/allocatable2.f90: New test.
19166 * testsuite/libgomp.fortran/allocatable3.f90: New test.
19167 * testsuite/libgomp.fortran/allocatable4.f90: New test.
19168 * testsuite/libgomp.fortran/collapse1.f90: New test.
19169 * testsuite/libgomp.fortran/collapse2.f90: New test.
19170 * testsuite/libgomp.fortran/collapse3.f90: New test.
19171 * testsuite/libgomp.fortran/collapse4.f90: New test.
19172 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
19173 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
19174 * testsuite/libgomp.fortran/lib4.f90: New test.
19175 * testsuite/libgomp.fortran/lock-1.f90: New test.
19176 * testsuite/libgomp.fortran/lock-2.f90: New test.
19177 * testsuite/libgomp.fortran/nested1.f90: New test.
19178 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
19179 * testsuite/libgomp.fortran/strassen.f90: New test.
19180 * testsuite/libgomp.fortran/tabs1.f90: New test.
19181 * testsuite/libgomp.fortran/tabs2.f: New test.
19182 * testsuite/libgomp.fortran/task1.f90: New test.
19183 * testsuite/libgomp.fortran/task2.f90: New test.
19184 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
19185 * testsuite/libgomp.fortran/vla5.f90: Likewise.
19186 * testsuite/libgomp.c/pr26943-2.c: Likewise.
19187 * testsuite/libgomp.c/pr26943-3.c: Likewise.
19188 * testsuite/libgomp.c/pr26943-4.c: Likewise.
19189
7a0112e7
JJ
191902008-05-23 Jakub Jelinek <jakub@redhat.com>
19191
19192 PR c++/36308
19193 * testsuite/libgomp.c++/ctor-11.C: New test.
19194 * testsuite/libgomp.c++/ctor-12.C: New test.
19195
91a5b394
JJ
191962008-05-15 Janis Johnson <janis187@us.ibm.com>
19197
19198 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
19199
c18c98c0
JJ
192002008-05-07 Jakub Jelinek <jakub@redhat.com>
19201
19202 PR middle-end/36106
19203 * testsuite/libgomp.c/atomic-5.c: New test.
19204 * testsuite/libgomp.c/atomic-6.c: New test.
19205 * testsuite/libgomp.c/autopar-1.c: New test.
19206
6d26724a
RW
192072008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19208
19209 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
19210 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
19211 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
19212 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
19213 * configure: Regenerate.
19214 * Makefile.in, testsuite/Makefile.in: Likewise.
19215
deb984e6
PB
192162008-04-18 Paolo Bonzini <bonzini@gnu.org>
19217
19218 PR bootstrap/35457
19219 * aclocal.m4: Regenerate.
19220 * configure: Regenerate.
19221
9e775963
JJ
192222008-03-18 Jakub Jelinek <jakub@redhat.com>
19223
8119fc93
JJ
19224 PR middle-end/35611
19225 * testsuite/libgomp.c/atomic-4.c: New test.
19226
9e775963
JJ
19227 PR libgomp/35625
19228 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
19229 (gomp_iter_guided_next): Likewise.
19230 * testsuite/libgomp.c/pr35625.c: New test.
19231
38d24731
RW
192322008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19233
19234 * aclocal.m4: Regenerate.
19235 * configure: Likewise.
19236 * Makefile.in: Likewise.
19237 * testsuite/Makefile.in: Likewise.
19238
d0fb20be
JJ
192392008-03-13 Jakub Jelinek <jakub@redhat.com>
19240
19241 PR middle-end/35185
19242 * testsuite/libgomp.c++/pr35185.C: New test.
19243
7c8f7639
JJ
192442008-03-12 Jakub Jelinek <jakub@redhat.com>
19245
19246 PR middle-end/35549
19247 * testsuite/libgomp.c/pr35549.c: New test.
19248
251923f5
JJ
192492008-03-06 Jakub Jelinek <jakub@redhat.com>
19250
19251 * testsuite/libgomp.c/atomic-3.c: New test.
19252
f489fba1
FXC
192532008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
19254
19255 PR fortran/33197
251923f5 19256 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
19257 .F08 file suffixes.
19258
a1b25e49
PG
192592008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
19260
19261 PR libgomp/33131
19262 * configure.ac: Add ACX_HEADER_STRING.
19263 * env.c: Include strings.h.
19264 * aclocal.m4: Regenerate.
19265 * config.h.in: Regenerate.
19266 * configure: Regenerate.
19267 * Makefile.in: Regenerate.
19268 * testsuite/Makefile.in: Regenerate.
19269
6837b3b8
JJ
192702008-02-15 Jakub Jelinek <jakub@redhat.com>
19271
ac84c062
JJ
19272 PR middle-end/35196
19273 * testsuite/libgomp.c/pr35196.c: New test.
19274
6837b3b8
JJ
19275 PR middle-end/35130
19276 * testsuite/libgomp.fortran/pr35130.f90: New test.
19277 * testsuite/libgomp.c/pr35130.c: New test.
19278
c256730c
JJ
192792008-01-25 Jakub Jelinek <jakub@redhat.com>
19280
19281 PR middle-end/33880
19282 * testsuite/libgomp.c/pr33880.c: New test.
19283 * testsuite/libgomp.fortran/pr33880.f90: New test.
19284
c8e95542 192852008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
19286
19287 * configure: Regenerate.
19288
0f3e711e
JJ
192892008-01-08 Jakub Jelinek <jakub@redhat.com>
19290
19291 * configure.ac: Move futex checking into ../config/futex.m4.
19292 * configure: Rebuilt.
19293 * aclocal.m4: Rebuilt.
19294 * Makefile.in: Rebuilt.
19295
19296 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
19297 2007-10-15 ../config/tls.m4 change.
19298
5259c813
JJ
192992007-12-19 Jakub Jelinek <jakub@redhat.com>
19300
19301 PR c++/34513
19302 * testsuite/libgomp.c/pr34513.c: New test.
19303 * testsuite/libgomp.c++/pr34513.C: New test.
19304
ae8d8879
JH
193052007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
19306
19307 PR target/32765
19308 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
19309
2b4cf991
JJ
193102007-12-04 Jakub Jelinek <jakub@redhat.com>
19311
19312 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
19313
d2dda7fe
JJ
193142007-12-03 Jakub Jelinek <jakub@redhat.com>
19315
19316 * testsuite/libgomp.c/private-1.c: New test.
19317
d683ec81
PB
193182007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
19319 Paolo Bonzini <bonzini@gnu.org>
19320
19321 * Makefile.am: Use space as vpath separator. Use 'vpath %'
19322 instead of 'VPATH ='.
19323 * Makefile.in: Regenerate.
19324
a7415017
MK
193252007-11-23 Matthias Klose <doko@ubuntu.com>
19326
19327 * configure.ac: Adjust makeinfo version check.
19328 * configure: Regenerate.
19329
78e47463
JJ
193302007-11-10 Jakub Jelinek <jakub@redhat.com>
19331
19332 PR fortran/34020
19333 * testsuite/libgomp.fortran/pr34020.f90: New test.
19334
239371f9
JJ
193352007-11-06 Jakub Jelinek <jakub@redhat.com>
19336
19337 PR c++/33894
19338 * testsuite/libgomp.c++/atomic-1.C: New test.
19339
98a5fa94
JJ
193402007-10-25 Jakub Jelinek <jakub@redhat.com>
19341
19342 PR libgomp/33275
19343 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
19344 Make x and y integers rather than (implicit) reals. Add private (j)
19345 clause to the last omp parallel.
19346
3afcaaf4
MR
193472007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
19348
19349 * configure: Regenerate following changes to ../config/tls.m4.
19350
bd69daef
JJ
193512007-09-28 Jakub Jelinek <jakub@redhat.com>
19352
19353 * testsuite/libgomp.fortran/stack.f90: New test.
19354
1d0bd356
DS
193552007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
19356
19357 * config/mingw32/proc.c: New file.
19358
b3172cab
UB
193592007-09-05 Uros Bizjak <ubizjak@gmail.com>
19360
19361 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
19362 (main): Use __get_cpuid to get i386 target fetaures.
19363 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
19364 (main): Use __get_cpuid to get x86_64 target fetaures.
19365
6da17392
JH
193662007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
19367
19368 PR target/32765
19369 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
19370 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
19371
e1c82219
JJ
193722007-07-12 Jakub Jelinek <jakub@redhat.com>
19373
19374 PR fortran/32550
19375 * testsuite/libgomp.fortran/pr32550.f90: New test.
19376 * testsuite/libgomp.fortran/crayptr2.f90: New test.
19377
12a27363
L
193782007-07-05 H.J. Lu <hongjiu.lu@intel.com>
19379
19380 * aclocal.m4: Regenerated.
19381
5349080d
TB
193822007-07-05 Tobias Burnus <burnus@net-b.de>
19383
19384 PR fortran/32359
19385 * testsuite/libgomp.fortran/pr32359.f90: New.
19386
4f9c450c
JJ
193872007-07-02 Jakub Jelinek <jakub@redhat.com>
19388
19389 PR libgomp/32468
19390 * sections.c (GOMP_parallel_sections_start): Only decrease
19391 number of threads to COUNT if dyn_var is true.
19392 * testsuite/libgomp.c/pr32468.c: New test.
19393
28c67ed7
RO
193942007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
19395
19396 PR libgomp/26308
19397 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
19398
64964499
JJ
193992007-06-21 Jakub Jelinek <jakub@redhat.com>
19400
19401 PR middle-end/32362
19402 * testsuite/libgomp.c/pr32362-1.c: New test.
19403 * testsuite/libgomp.c/pr32362-2.c: New test.
19404 * testsuite/libgomp.c/pr32362-3.c: New test.
19405
46d8fbd1
JJ
194062007-06-07 Jakub Jelinek <jakub@redhat.com>
19407
19408 * team.c (gomp_team_start): Fix setting up thread_attr
19409 stack size.
19410
82a6cadf
PB
194112007-06-02 Paolo Bonzini <bonzini@gnu.org>
19412
19413 * configure: Regenerate.
19414
1cf3d07d
SE
194152007-05-23 Steve Ellcey <sje@cup.hp.com>
19416
19417 * Makefile.in: Regenerate.
19418 * configure: Regenerate.
19419 * aclocal.m4: Regenerate.
19420 * testsuite/Makefile.in: Regenerate.
19421
12aac30b
JJ
194222007-05-04 Jakub Jelinek <jakub@redhat.com>
19423
19424 * config/linux/proc.c: New file.
19425
f1028b02
JJ
19426 PR libgomp/28482
19427 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
19428
06785a48
DF
194292007-04-19 Daniel Franke <franke.daniel@gmail.com>
19430
19431 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
19432
b3b08ba0
MK
194332007-04-16 Matthias Klose <doko@debian.org>
19434
19435 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
19436 flags if not building with -m64.
19437 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
19438 flag for i?86-*-* targets, if current target matches -m64.
19439
6b2c5ce0
SE
194402007-04-14 Steve Ellcey <sje@cup.hp.com>
19441
19442 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
19443 * Makefile.in: Regenerate.
19444
dd56fe7c
JDA
194452007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19446
19447 PR testsuite/31369
19448 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
19449 ld_library_path.
19450 * testsuite/libgomp.fortran/fortran.exp: Likewise.
19451
a0884cf0
JJ
194522007-04-04 Jakub Jelinek <jakub@redhat.com>
19453
19454 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
19455 decls.
19456 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
19457 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
19458 (parse_affinity): New function.
19459 (initialize_env): Call it and gomp_init_affinity.
19460 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
19461 create new pthread_attr_t and call gomp_init_thread_affinity
19462 on it for each thread before passing the attribute to pthread_create.
19463 * config/linux/affinity.c: New file.
19464 * config/posix/affinity.c: New file.
19465 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
19466 * configure: Rebuilt.
19467 * config.h.in: Rebuilt.
19468 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
19469 * Makefile.in: Rebuilt.
19470
1850744b
AT
194712007-03-23 Andreas Tobler <a.tobler@schweiz.org>
19472
19473 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
19474 *-*-darwin*.
19475 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
19476 and use it if found.
19477
516f1ed8
UB
194782007-03-18 Uros Bizjak <ubizjak@gmail.com>
19479
19480 * testsuite/config/default.exp: New file.
19481 * testsuite/lib/libgomp.exp: New file.
19482 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
19483 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
19484 load_lib *, load_gcc_lib *): Move to libgomp.exp.
19485 (libgomp_load): Remove.
19486 * testsuite/lib/libgomp.exp (libgomp_init): Compute
19487 always_ld_library_path, not ld_library_path. Set additional_flags
19488 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
19489 (target_compile): Do not call libgomp_init. Append lang_library_path
19490 and lang_link_flags to options.
19491 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
19492 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
19493 here.
19494 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
19495 always_ld_library_path. Set LD_LIBRARY_PATH here.
19496 * testsuite/libgomp.fortran/fortran.exp: Ditto.
19497 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
19498 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
19499 CX8 flag.
19500 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
19501 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
19502 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
19503 * testsuite/libgomp.c/pr29947-1.c: Ditto.
19504 * testsuite/libgomp.c/atomic-10.c: Ditto.
19505
2ada56f5
JJ
195062007-03-21 Jakub Jelinek <jakub@redhat.com>
19507
19508 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
19509 dg-final cleanup-modules line.
19510 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
19511 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
19512 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
19513 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
19514 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
19515 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
19516 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
19517
f210f1cd
AS
195182007-03-18 Andreas Schwab <schwab@suse.de>
19519
19520 * acinclude.m4: Adjust regular expression for ld version
19521 extraction.
19522 * configure: Regenerate.
19523
c4dc950d
BM
195242007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
19525
19526 * Makefile.am: Add install-pdf target as copied from
19527 automake v1.10 rules.
19528 * Makefile.in: Regenerate
19529
e02a048f
JJ
195302007-02-07 Jakub Jelinek <jakub@redhat.com>
19531
78e075d4
JJ
19532 PR libgomp/28486
19533 * configure: Regenerate.
19534
e02a048f
JJ
19535 PR c++/30703
19536 * testsuite/libgomp.c++/pr30703.C: New test.
19537
60def7ed
JJ
195382007-02-02 Jakub Jelinek <jakub@redhat.com>
19539
19540 Revert:
19541 2006-07-05 Eric Christopher <echristo@apple.com>
19542 * configure.ac: Depend addition of -pthread on host OS.
19543 * configure: Regenerate.
19544
f1b0882e
RW
195452007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
19546
19547 * libgomp.texi: Fix spacing after abbreviations.
19548
748b9d7c
DF
195492007-01-31 Daniel Franke <franke.daniel@gmail.com>
19550
19551 PR libgomp/30546
19552 * configure.ac: Add check for makeinfo
19553 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 19554 if an appropriate version of makeinfo is found.
748b9d7c
DF
19555 * aclocal.m4: Regenerated.
19556 * configure: Regenerated.
19557 * Makefile.in: Regenerated.
19558 * testsuite/Makefile.in: Regenerated.
19559
14734fc7
DF
195602007-01-29 Daniel Franke <franke.daniel@gmail.com>
19561
19562 PR libgomp/30540
19563 * libgomp.texi: More about implementation-dependent settings.
19564
7befd5d2
TB
195652007-01-26 Tobias Burnus <burnus@net-b.de>
19566
19567 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
19568
4288fea2
JJ
195692007-01-24 Jakub Jelinek <jakub@redhat.com>
19570
19571 PR middle-end/30494
19572 * testsuite/libgomp.c/pr30494.c: New test.
19573
627ab4b8
TT
195742007-01-15 Tom Tromey <tromey@redhat.com>
19575
19576 * configure: Rebuilt.
19577 * configure.ac: Fixed comment.
19578
7c2b7f45
DF
195792007-01-14 Daniel Franke <franke.daniel@gmail.com>
19580
19581 * libgomp.texi: Document implementation specific default values of
19582 environment variables.
19583
3721b9e1
DF
195842006-12-21 Daniel Franke <franke.daniel@gmail.com>
19585
19586 PR libgomp/28209
19587 * libgomp.texi: New file.
19588 * configure.ac: Add --enable-generated-files-in-srcdir option.
19589 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
19590 files to srcdir.
19591 * Makefile.in: Regenerated.
19592 * config.h.in: Regenerated.
19593 * testsuite/Makefile.in: Regenerated.
19594 * NOTES: Removed.
19595
62bd6216
DF
195962006-12-04 Daniel Franke <franke.daniel@gmail.com>
19597
19598 PR libgomp/29949
19599 * env.c (omp_set_num_threads): Set illegal thread count to 1.
19600
aad741f4
EB
196012006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
19602
19603 * configure: Regenerate.
19604
22568cc6
JJ
196052006-12-04 Jakub Jelinek <jakub@redhat.com>
19606
19607 PR libgomp/29947
19608 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
19609 start if there shouldn't be any loop iterations.
19610 (gomp_loop_ordered_static_start): Remove start == end test.
19611 * testsuite/libgomp.c/pr29947-1.c: New test.
19612 * testsuite/libgomp.c/pr29947-2.c: New test.
19613
a9690009
EB
196142006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
19615
19616 * configure.tgt: Force initial-exec TLS model on Linux only.
19617
597c25e6
DJ
196182006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
19619
19620 * configure: Regenerated.
19621
6acf0b38
UB
196222006-11-09 Uros Bizjak <ubizjak@gmail.com>
19623
19624 * env.c (parse_schedule): Reject out of range values.
19625 (parse_unsigned_long): Reject out of range, negative or zero values.
19626
a7a53ca5
JJ
196272006-10-29 Jakub Jelinek <jakub@redhat.com>
19628
19629 PR fortran/29629
19630 * testsuite/libgomp.fortran/pr29629.f90: New test.
19631
6d4d216a
EB
196322006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
19633
19634 PR libgomp/29494
19635 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
19636 * config/posix95: New directory.
19637 * config/posix95/omp-lock.h: New file.
19638 * config/posix95/lock.c: Likewise.
19639
5b043f08
GK
196402006-10-14 Geoffrey Keating <geoffk@apple.com>
19641
19642 * aclocal.m4: Regenerate.
19643 * configure: Regenerate.
19644
b50019f0
DS
196452006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19646
19647 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
19648 '<' to '<='.
19649
8887708e
DS
196502006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
19651
19652 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
19653 test.
19654 * configure: Regenerate.
19655 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
19656
9b9e4cd6
JJ
196572006-09-26 Jakub Jelinek <jakub@redhat.com>
19658
a70ad3bb
JJ
19659 PR middle-end/25261
19660 PR middle-end/28790
19661 * testsuite/libgomp.c/nestedfn-4.c: New test.
19662 * testsuite/libgomp.c/nestedfn-5.c: New test.
19663 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
19664
9b9e4cd6
JJ
19665 PR fortran/29097
19666 * testsuite/libgomp.fortran/condinc1.f: New test.
19667 * testsuite/libgomp.fortran/condinc2.f: New test.
19668 * testsuite/libgomp.fortran/condinc3.f90: New test.
19669 * testsuite/libgomp.fortran/condinc4.f90: New test.
19670 * testsuite/libgomp.fortran/condinc1.inc: New file.
19671
2fb31455
TT
196722006-09-18 Tom Tromey <tromey@redhat.com>
19673
19674 * configure: Rebuilt.
19675
c663e301
JM
196762006-09-13 Joseph S. Myers <joseph@codesourcery.com>
19677
19678 PR c/28768
19679 PR preprocessor/14634
19680 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
19681 to AC_DEFINE.
19682 * configure: Regenerate.
19683
38371be9
SK
196842006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
19685
19686 * testsuite/libgomp.fortran/reduction3.f90: Change
19687 -2147483648 to -huge(i)-1 to avoid overflow.
19688 * testsuite/libgomp.fortran/reduction4.f90: Change
19689 Z'ffffffff' to not(0) to avoid overflow.
19690
571d5ac5
JM
196912006-08-26 Joseph S. Myers <joseph@codesourcery.com>
19692
19693 PR libgomp/25938
19694 * Makefile.am (libsubincludedir): New.
19695 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
19696 * Makefile.in: Regenerate.
19697
89b3e3cd
JJ
196982006-08-17 Jakub Jelinek <jakub@redhat.com>
19699
19700 PR libgomp/28725
19701 * env.c: Include ctype.h.
19702 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
19703 leading and/or trailing whitespace and compare strings case
19704 insensitively.
19705
742fae05
JJ
197062006-07-16 Jakub Jelinek <jakub@redhat.com>
19707
19708 PR fortran/28390
19709 * testsuite/libgomp.fortran/pr28390.f: New test.
19710
a1daed2d
EC
197112006-07-05 Eric Christopher <echristo@apple.com>
19712
19713 * configure.ac: Depend addition of -pthread on host OS.
19714 * configure: Regenerate.
19715
5d7b5199
JJ
197162006-06-21 Jakub Jelinek <jakub@redhat.com>
19717
19718 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
19719 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
19720 defined.
19721
fe5568e9
JJ
197222006-06-20 Jakub Jelinek <jakub@redhat.com>
19723
19724 PR libgomp/26175
19725 PR libgomp/26477
19726 * configure.ac: If neither --enable-linux-futex nor
19727 --disable-linux-futex is passed, determine the default by checking
19728 for compiling and/or running against NPTL. With --enable-linux-futex,
19729 check if SYS_gettid and SYS_futex are defined.
19730 * configure: Rebuilt.
19731
c3b11a40
RH
197322006-06-14 Richard Henderson <rth@redhat.com>
19733
19734 PR libgomp/28008
19735 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
19736 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
19737
d0d1b24d
RH
197382006-06-09 Richard Henderson <rth@redhat.com>
19739
19740 * env.c (gomp_nthreads_var): Change to unsigned long.
19741 (gomp_run_sched_chunk): Likewise.
19742 (parse_unsigned_long): Rename from parse_num_threads and generalize.
19743 (initialize_env): Initialize gomp_thread_attr.
19744 * libgomp.h (gomp_nthreads_var): Update decl.
19745 (gomp_run_sched_chunk): Likewise.
19746 (gomp_thread_attr): Declare.
19747 * team.c (gomp_thread_attr): Export.
19748 (initialize_team): Don't initialize it.
19749
cd75853e
JJ
197502006-06-09 Jakub Jelinek <jakub@redhat.com>
19751
19752 PR fortran/27916
19753 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
19754 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
19755
33815e0c
FXC
197562006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19757
19758 * config/mingw32/time.c: New file.
19759 * configure.tgt: Use it.
19760
6667de0d
CD
197612006-05-23 Carlos O'Donell <carlos@codesourcery.com>
19762
19763 * Makefile.am: Add install-html target. Add install-html to .PHONY
19764 * Makefile.in: Regenerate.
19765
e962c46b
JDA
197662006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
19767
19768 PR libgomp/27612
19769 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
19770 * testsuite/libgomp.c/critical-1.c: Likewise.
19771 * testsuite/libgomp.c/loop-1.c: Likewise.
19772 * testsuite/libgomp.c/loop-2.c: Likewise.
19773 * testsuite/libgomp.c/single-1.c: Likewise.
19774 * testsuite/libgomp.c/ordered-1.c: Likewise.
19775 * testsuite/libgomp.c/ordered-2.c: Likewise.
19776
eeb1d9e0
JJ
197772006-05-15 Jakub Jelinek <jakub@redhat.com>
19778
19779 PR middle-end/27416
19780 * libgomp.fortran/pr27416-1.f90: New test.
19781
693d710f
JJ
197822006-05-03 Jakub Jelinek <jakub@redhat.com>
19783
19784 PR fortran/27395
19785 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
19786 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
19787
8ca5b2a2
JJ
197882006-05-02 Jakub Jelinek <jakub@redhat.com>
19789
19790 PR c++/26943
19791 * testsuite/libgomp.c/pr26943-1.c: New test.
19792 * testsuite/libgomp.c/pr26943-2.c: New test.
19793 * testsuite/libgomp.c/pr26943-3.c: New test.
19794 * testsuite/libgomp.c/pr26943-4.c: New test.
19795 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
19796 * testsuite/libgomp.c++/pr26943.C: New test.
19797
077b0dfb
JJ
197982006-05-02 Jakub Jelinek <jakub@redhat.com>
19799
19800 PR middle-end/27337
19801 * testsuite/libgomp.c++/pr27337.C: New test.
19802
91b6c26d
JJ
198032006-04-26 Jakub Jelinek <jakub@redhat.com>
19804
19805 PR c/26171
19806 * testsuite/libgomp.c/pr26171.c: New test.
19807
60e1758f
RH
198082006-04-25 Richard Henderson <rth@redhat.com>
19809
19810 PR libgomp/25865
19811 * configure.ac: Use GCC_CHECK_TLS.
19812 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
19813 * Makefile.in, aclocal.m4, configure: Regenerate.
19814
615baed7
MK
198152006-04-10 Matthias Klose <doko@debian.org>
19816
19817 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
19818 directory names containing underscores.
19819
fae2b46b
JJ
198202006-03-21 Jakub Jelinek <jakub@redhat.com>
19821
19822 PR c++/26691
19823 * testsuite/libgomp.c++/pr26691.C: New test.
19824
11a5f608
JJ
198252006-03-13 Jakub Jelinek <jakub@redhat.com>
19826
19827 * testsuite/libgomp.fortran/retval2.f90: New test.
19828
1799e5d5
RH
198292006-03-09 Diego Novillo <dnovillo@redhat.com>
19830
19831 * testsuite/libgomp.c++: New directory.
19832
d349482e
AT
198332006-02-25 Shantonu Sen <ssen@opendarwin.org>
19834
19835 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
19836 * config/posix/sem.c: Implement the above.
19837
198382006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
19839
19840 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
19841 define HAVE_BROKEN_POSIX_SEMAPHORES.
19842 * configure: Rebuilt.
19843 * config.h.in: Rebuilt.
19844
124452c9
FXC
198452006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
19846
19847 PR bootstrap/26161
19848 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
19849 for the other pthread check.
19850 * configure: Regenerate.
19851 * config.h.in: Regenerate.
19852
dd8d6dfe
JJ
198532006-02-15 Jakub Jelinek <jakub@redhat.com>
19854
19855 PR libgomp/25938
19856 PR libgomp/25984
19857 * Makefile.am (fincludedir): New variable.
19858 (nodist_include_HEADERS): Remove Fortran files.
19859 (nodist_finclude_HEADERS): New variable.
19860 * Makefile.in: Regenerated.
19861
6c7a4dfd
JJ
198622006-02-13 Jakub Jelinek <jakub@redhat.com>
19863
19864 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
19865 Remove tests for returning assumed character length arrays.
19866
5142e08b
RS
198672006-02-12 Roger Sayle <roger@eyesopen.com>
19868 John David Anglin <dave@hiauly1.hia.nrc.ca>
19869
19870 PR libgomp/25936
19871 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 19872
5821fba8
UW
198732006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
19874
19875 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
19876
cb2bbc67
EB
198772006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
19878
19879 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
19880 part of LD_LIBRARY_PATH manually.
19881
f05ee80c
L
198822006-02-03 H.J. Lu <hongjiu.lu@intel.com>
19883
19884 PR libgomp/25852
19885 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
19886 libgomp_init.
19887
03b8fe49
PB
198882005-01-25 Paolo Bonzini <bonzini@gnu.org>
19889
19890 PR libgomp/25884
f05ee80c
L
19891 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
19892 * configure.ac (PERL): Don't set.
19893 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
19894 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
19895 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
19896 * omp.h.in: Wrap the new configure substitutions with @ characters.
19897 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
19898 * aclocal.m4, configure, Makefile.in: Regenerate.
19899 * mkomp_h.pl: Delete.
03b8fe49 19900
18cbfd85
PB
199012005-01-24 Paolo Bonzini <bonzini@gnu.org>
19902
19903 PR libgomp/25259
19904 * configure.ac: Use GCC_HEADER_STDINT.
19905 * libgomp.h: Include gstdint.h.
19906 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
19907 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
19908
c41303c6
RH
199092006-01-24 Richard Henderson <rth@redhat.com>
19910
19911 PR libgomp/25942
19912 * configure.ac: Add AM_MAINTAINER_MODE.
19913 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
19914
149b9553
DN
199152006-01-24 Diego Novillo <dnovillo@redhat.com>
19916
19917 * Makefile.in: Regenerate.
19918 * testsuite/Makefile.in: Regenerate.
19919 * aclocal.m4: Regenerate.
19920
192a50ad
AT
199212006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
19922
19923 * config/posix/proc.c: Conditional include of sys/loadavg.h for
19924 Solaris.
19925 * configure.ac: Add check for loadavg.h.
19926 (link_gomp): Adjust comment.
19927 * configure: Regenerate.
19928 * config.h.in: Regenerate.
19929
a55b8e18
SE
199302006-01-21 Steve Ellcey <sje@cup.hp.com>
19931
19932 PR libgomp/25877
19933 * configure.ac: Remove check for alloca.h.
19934 * configure: Regenerate.
19935 * config.h.in: Regenerate.
19936 * libgomp.h: define gomp_alloca to be __builtin_alloca.
19937 * team.c: Remove use of alloca.h.
19938 Call gomp_alloca instead of alloca.
19939
692eeb34
SE
199402006-01-20 Steve Ellcey <sje@cup.hp.com>
19941
19942 PR libgomp/25877
19943 * team.c: Add include of alloca.h.
19944 * configure.ac: Add check for alloca.h.
19945 * configure: Regenerate.
19946 * config.h.in: Regenerate.
19947
953ff289
DN
199482006-01-17 Jakub Jelinek <jakub@redhat.com>
19949
19950 PR fortran/25219
19951 * testsuite/libgomp.fortran/pr25219.f90: New test.
19952
199532005-12-05 Uros Bizjak <uros@kss-loka.si>
19954
19955 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
19956 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
19957 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19958 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
19959 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
19960 testsuite/libgomp.fortran/threadprivate1.f90,
19961 testsuite/libgomp.fortran/threadprivate2.f90,
19962 testsuite/libgomp.fortran/threadprivate3.f90,
19963 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
19964 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
19965 testsuite/libgomp.fortran/omp_parse3.f90: Change required
19966 effective-target to TLS runtime.
19967
19968 * testsuite/libgomp.fortran/pr25162.f: Require
19969 effective-target TLS runtime.
19970
199712005-12-01 Jakub Jelinek <jakub@redhat.com>
19972
19973 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
19974 * testsuite/libgomp.c/nestedfn-3.c: New test.
19975
199762005-11-30 Jakub Jelinek <jakub@redhat.com>
19977
19978 PR fortran/25162
19979 * testsuite/libgomp.fortran/pr25162.f: New test.
19980
199812005-11-28 Jakub Jelinek <jakub@redhat.com>
19982
19983 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
19984 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
19985
199862005-11-25 Jakub Jelinek <jakub@redhat.com>
19987
19988 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
19989 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
19990 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
19991 single.c, team.c, work.c, config/linux/alpha/futex.h,
19992 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
19993 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
19994 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
19995 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
19996 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
19997 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
19998 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
19999 FSF address.
20000
200012005-11-18 Jakub Jelinek <jakub@redhat.com>
20002
20003 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
20004 to nodist_noinst_HEADERS.
20005 * Makefile.in: Rebuilt.
20006
20007 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
20008 add integer count field.
20009 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
20010 omp_nest_lock_t type change.
20011 (omp_init_nest_lock): Likewise. Initialize count to 0.
20012 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
20013 Increment count.
20014 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
20015 Decrement count.
20016 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
20017 Increment count if successful and return the new nesting level.
20018 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
20019 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
20020 * testsuite/libgomp.c/lib-1.c: New test.
20021 * testsuite/libgomp.fortran/lib1.f90: New test.
20022 * testsuite/libgomp.fortran/lib2.f: New test.
20023 * testsuite/libgomp.fortran/lib3.f: New test.
20024
200252005-11-17 Richard Henderson <rth@redhat.com>
20026
20027 PR 24845
20028 * Makefile.am (nodist_toolexeclib_HEADERS): New.
20029 * configure.ac (link_gomp): New. Substitute it.
20030 (AC_CONFIG_FILES): Add libgomp.spec.
20031 * libgomp.spec.in: New file.
20032 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
20033 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
20034
200352005-11-18 Jakub Jelinek <jakub@redhat.com>
20036
20037 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
20038 reduction(-:var) behaving the same as reduction(+:var).
20039 * testsuite/libgomp.c/reduction-4.c: New test.
20040
200412005-11-15 Uros Bizjak <uros@kss-loka.si>
20042
20043 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
20044 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
20045 testsuite/libgomp.c/copyin-3.c,
20046 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
20047 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
20048 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
20049 testsuite/libgomp.c++/pr24455.C,
20050 testsuite/libgomp.fortran/threadprivate1.f90,
20051 testsuite/libgomp.fortran/threadprivate2.f90,
20052 testsuite/libgomp.fortran/threadprivate3.f90,
20053 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
20054 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
20055 testsuite/libgomp.fortran/omp_parse3.f90: Require
20056 effective-target TLS.
20057
200582005-11-14 Diego Novillo <dnovillo@redhat.com>
20059
20060 * HEADER: Remove.
20061
200622005-11-13 Jakub Jelinek <jakub@redhat.com>
20063
20064 PR libgomp/24797
20065 * team.c (initialize_team): Pass NULL rather than free as
20066 pthread_key_create destructor. Initialize thread specific data
20067 pointer in initial thread to a static local variable rather than
20068 malloced memory.
20069
200702005-11-11 Uros Bizjak <uros@kss-loka.si>
20071
20072 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
20073 its location to ld_library_path.
20074
200752005-11-10 Diego Novillo <dnovillo@redhat.com>
20076
20077 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
20078
200792005-11-10 Diego Novillo <dnovillo@redhat.com>
20080
20081 * testsuite/libgomp.c: Rename from libgomp.dg.
20082
200832005-11-09 Diego Novillo <dnovillo@redhat.com>
20084
20085 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
20086 threadprivate variable 'i'.
20087
200882005-11-09 Jakub Jelinek <jakub@redhat.com>
20089
20090 * config/linux/s390/futex.h: New file.
20091 * configure.tgt: Use it.
20092
20093 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
20094 before the parallel.
20095
200962005-11-08 Jakub Jelinek <jakub@redhat.com>
20097
20098 PR c++/24734
20099 * testsuite/libgomp.c++/master-1.C: New test.
20100
201012005-11-07 Jakub Jelinek <jakub@redhat.com>
20102
20103 * testsuite/libgomp.dg/copyin-3.c: New test.
20104
201052005-11-07 Jakub Jelinek <jakub@redhat.com>
20106
20107 * testsuite/libgomp.fortran/retval1.f90: New test.
20108 * testsuite/libgomp.fortran/vla7.f90: New test.
20109
201102005-11-06 Jakub Jelinek <jakub@redhat.com>
20111
20112 * testsuite/libgomp.fortran/vla2.f90: New test.
20113 * testsuite/libgomp.fortran/vla3.f90: New test.
20114 * testsuite/libgomp.fortran/vla4.f90: New test.
20115 * testsuite/libgomp.fortran/vla5.f90: New test.
20116 * testsuite/libgomp.fortran/vla6.f90: New test.
20117
201182005-11-01 Jakub Jelinek <jakub@redhat.com>
20119
20120 * config/linux/sparc/futex.h: New file.
20121 * configure.tgt: Use it.
20122 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
20123
20124 * critical.c: Include stdlib.h.
20125 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
20126 ignoring return value.
20127 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
20128 LIBGOMP_CHECK_SYNC_BUILTINS check.
20129 * configure: Rebuilt.
20130
201312005-10-31 Jakub Jelinek <jakub@redhat.com>
20132
20133 * testsuite/libgomp.fortran/vla1.f90: New test.
20134
201352005-10-31 Richard Henderson <rth@redhat.com>
20136
20137 * testsuite/libgomp.fortran/character2.f90: Fix race condition
20138 setting 's' in different threads.
20139
201402005-10-31 Jakub Jelinek <jakub@redhat.com>
20141
20142 * libgomp.h (attribute_hidden, ialias): Define.
20143 * config/posix/proc.c (omp_get_num_procs): Add ialias.
20144 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
20145 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
20146 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20147 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20148 omp_test_lock, omp_test_nest_lock): Likewise.
20149 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
20150 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
20151 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
20152 omp_test_lock, omp_test_nest_lock): Likewise.
20153 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
20154 omp_get_dynamic, omp_get_nested): Likewise.
20155 * parallel.c (omp_get_num_threads, omp_get_max_threads,
20156 omp_get_thread_num, omp_in_parallel): Likewise.
20157 * fortran.c (ialias_redirect): Define.
20158 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
20159 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
20160 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
20161 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
20162 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
20163 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
20164 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
20165 omp_get_wtime): Add ialias_redirect.
20166
201672005-10-30 Jakub Jelinek <jakub@redhat.com>
20168
20169 * fortran.c: Include stdlib.h.
20170
201712005-10-29 Jakub Jelinek <jakub@redhat.com>
20172
20173 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
20174 * Makefile.in: Regenerated.
20175
201762005-10-28 Jakub Jelinek <jakub@redhat.com>
20177
20178 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
20179 * libgomp_f.h.in (omp_check_defines): New function.
20180 * env.c: Include libgomp_f.h.
20181 (initialize_env): Call omp_check_defines.
20182
20183 * testsuite/libgomp.dg/copyin-2.c: New test.
20184 * testsuite/libgomp.c++/copyin-2.C: New test.
20185 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
20186
20187 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
20188 * testsuite/libgomp.fortran/sharing2.f90: New test.
20189
20190 * testsuite/libgomp.dg/copyin-1.c: New test.
20191 * testsuite/libgomp.c++/copyin-1.C: New test.
20192
201932005-10-26 Jakub Jelinek <jakub@redhat.com>
20194
20195 * testsuite/libgomp.fortran/crayptr1.f90: New test.
20196
20197 * testsuite/libgomp.fortran/workshare1.f90: New test.
20198
20199 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
20200 only test.
20201 * libgomp.fortran/sharing1.f90: New test.
20202
202032005-10-24 Jakub Jelinek <jakub@redhat.com>
20204
20205 PR c++/24502
20206 * testsuite/libgomp.c++/loop-7.C: New test.
20207
20208 * testsuite/libgomp.dg/nestedfn-2.c: New test.
20209
20210 * testsuite/libgomp.dg/nestedfn-1.c: New test.
20211 * testsuite/libgomp.fortran/reduction6.f90: New test.
20212 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
20213
202142005-10-23 Richard Henderson <rth@redhat.com>
20215
20216 * testsuite/libgomp.c++/ctor-1.C: New.
20217 * testsuite/libgomp.c++/ctor-2.C: New.
20218 * testsuite/libgomp.c++/ctor-3.C: New.
20219 * testsuite/libgomp.c++/ctor-4.C: New.
20220 * testsuite/libgomp.c++/ctor-5.C: New.
20221 * testsuite/libgomp.c++/ctor-6.C: New.
20222 * testsuite/libgomp.c++/ctor-7.C: New.
20223 * testsuite/libgomp.c++/ctor-8.C: New.
20224 * testsuite/libgomp.c++/ctor-9.C: New.
20225
202262005-10-21 Diego Novillo <dnovillo@redhat.com>
20227
20228 PR 24455
20229 * testsuite/libgomp.c++/pr24455-1.C: New test.
20230 * testsuite/libgomp.c++/pr24455.C: New test.
20231 * testsuite/libgomp.dg/pr24455-1.c: New test.
20232 * testsuite/libgomp.dg/pr24455.c: New test.
20233
202342005-10-20 Richard Henderson <rth@redhat.com>
20235
20236 * testsuite/libgomp.c++/loop-6.C: New.
20237 * testsuite/libgomp.dg/loop-3.c: New.
20238
202392005-10-20 Jakub Jelinek <jakub@redhat.com>
20240
20241 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
20242 explicitly private.
20243 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
20244 explicitly shared.
20245
202462005-10-19 Diego Novillo <dnovillo@redhat.com>
20247
20248 * testsuite/libgomp.fortran/jacobi.f: New test.
20249
202502005-10-19 Richard Henderson <rth@redhat.com>
20251
20252 * configure.tgt (i?86-linux): Default to with_arch instead of
20253 CFLAGS. Add -mtune to match target_cpu.
20254 (x86_64-linux): Tune to i686.
20255
20256 * fortran.c (omp_test_nest_lock_): Fix typo.
20257
202582005-10-19 Jakub Jelinek <jakub@redhat.com>
20259
20260 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20261 gomp_ordered_sync): Do nothing if team->nthreads == 1.
20262 * testsuite/libgomp.dg/ordered-3.c: New test.
20263
20264 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
20265 Remove volatile keyword.
20266
20267 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
20268 in COMMON block to avoid warnings on 64-bit targets.
20269
202702005-10-18 Diego Novillo <dnovillo@redhat.com>
20271
20272 * testsuite/libgomp.dg/shared-3.c: New test.
20273
202742005-10-18 Jakub Jelinek <jakub@redhat.com>
20275
20276 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
20277 * testsuite/libgomp.fortran/reduction5.f90: New test.
20278
202792005-10-18 Jakub Jelinek <jakub@redhat.com>
20280
20281 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
20282 dg-options.
20283 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
20284 flush loop now that __sync_synchronize has proper memory barrier.
20285 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
20286 Add -ffixed-form to dg-options.
20287
202882005-10-17 Diego Novillo <dnovillo@redhat.com>
20289
20290 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
20291 from subdirectories.
20292 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
20293 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
20294 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
20295 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
20296 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
20297 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
20298 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
20299 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
20300 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
20301 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
20302 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
20303 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
20304 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
20305 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
20306 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
20307 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
20308 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
20309 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
20310 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
20311 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
20312 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
20313 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
20314 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
20315 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
20316 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
20317
203182005-10-17 Jakub Jelinek <jakub@redhat.com>
20319
20320 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
20321 lang_library_path exists. Use find instead of glob to gather tests.
20322 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
20323
203242005-10-17 Diego Novillo <dnovillo@redhat.com>
20325
20326 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
20327 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
20328 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
20329 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
20330 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
20331 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
20332 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
20333 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
20334 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
20335 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
20336 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
20337 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
20338 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
20339
203402005-10-15 Jakub Jelinek <jakub@redhat.com>
20341
20342 * testsuite/libgomp.dg/vla-1.c: New test.
20343
20344 * testsuite/libgomp.fortran/reference2.f90: New test.
20345
20346 * testsuite/libgomp.fortran/character2.f90: Remove explicit
20347 declaration of omp_get_thread_num.
20348 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
20349 use omp_lib.
20350
20351 * testsuite/libgomp.fortran/reduction1.f90: New test.
20352 * testsuite/libgomp.fortran/reduction2.f90: New test.
20353 * testsuite/libgomp.fortran/reduction3.f90: New test.
20354 * testsuite/libgomp.fortran/reduction4.f90: New test.
20355
203562005-10-13 Richard Henderson <rth@redhat.com>
20357
20358 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
20359 * Makefile.in: Regenerate.
20360 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
20361 * libgomp.h: Include bar.h.
20362 (struct gomp_barrier): Remove.
20363 (struct gomp_team): Add barrier. Replace master_barrier with
20364 master_release. Replace threads with ordered_release.
20365 (struct gomp_thread): Replace barrier with release.
20366 * ordered.c (gomp_ordered_first): Update for ordered_release change.
20367 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
20368 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
20369 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
20370 (GOMP_single_copy_end): Likewise.
20371 * team.c (gomp_threads_dock): New.
20372 (gomp_barrier_init, gomp_barrier_destroy): Remove.
20373 (gomp_thread_start): Use gomp_barrier_wait.
20374 (new_team, free_team): Update for gomp_team changes.
20375 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
20376 (gomp_team_end): Use gomp_barrier_wait.
20377 (initialize_team): Update for gomp_thread changes.
20378 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
20379 (gomp_work_share_end_nowait): Use atomic ops when available.
20380 * config/linux/bar.c, config/linux/bar.h: New files.
20381 * config/posix/bar.c, config/posix/bar.h: New files.
20382
203832005-10-13 Jakub Jelinek <jakub@redhat.com>
20384
20385 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
20386 * testsuite/libgomp.dg/single-2.c: New test.
20387
20388 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
20389 lang_link_flags): Unset, so that they aren't inherited from previously
20390 sourced *.exp.
20391
20392 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
20393
203942005-10-12 Richard Henderson <rth@redhat.com>
20395
20396 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
20397 (libgomp_init): Use lang_test_file, lang_library_path, and
20398 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
20399
20400 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
20401 (lang_test_file, lang_link_flags): New.
20402 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
20403
20404 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
20405 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
20406 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
20407 testsuite/libgomp.c++/parallel-1.C,
20408 testsuite/libgomp.c++/reduction-1.C,
20409 testsuite/libgomp.c++/reduction-2.C,
20410 testsuite/libgomp.c++/reduction-3.C,
20411 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
20412 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
20413 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
20414 New files, largely cribbed from the C testsuite.
20415
204162005-10-12 Jakub Jelinek <jakub@redhat.com>
20417
20418 * testsuite/libgomp.fortran/character1.f90: New test.
20419 * testsuite/libgomp.fortran/character2.f90: New test.
20420
20421 * testsuite/libgomp.dg/nested-1.c: New test.
20422 * testsuite/libgomp.dg/nested-2.c: New test.
20423 * testsuite/libgomp.fortran/do1.f90: New test.
20424 * testsuite/libgomp.fortran/do2.f90: New test.
20425
20426 * testsuite/libgomp.fortran/reference1.f90: New test.
20427
204282005-10-11 Jakub Jelinek <jakub@redhat.com>
20429
20430 * testsuite/libgomp.dg/reduction-1.c: New test.
20431 * testsuite/libgomp.dg/reduction-2.c: New test.
20432 * testsuite/libgomp.dg/reduction-3.c: New test.
20433
204342005-10-10 Jakub Jelinek <jakub@redhat.com>
20435
20436 * testsuite/libgomp.dg/atomic-1.c: New test.
20437 * testsuite/libgomp.dg/atomic-2.c: New test.
20438
204392005-10-09 Richard Henderson <rth@redhat.com>
20440
20441 * critical.c (atomic_lock): New.
20442 (initialize_critical): Initialize it.
20443 (GOMP_atomic_start, GOMP_atomic_end): New.
20444 * libgomp.map: Export them.
20445 * libgomp_g.h: Declare them.
20446
20447 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
20448
204492005-10-02 Richard Henderson <rth@redhat.com>
20450
20451 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
20452 to XCFLAGS instead of CFLAGS.
20453
204542005-09-30 Richard Henderson <rth@redhat.com>
20455
20456 * configure.ac: Determine whether -pthread or -lpthread is needed.
20457 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 20458 * Makefile.in, configure: Rebuild.
953ff289
DN
20459
204602005-09-28 Richard Henderson <rth@redhat.com>
20461
20462 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
20463 * testsuite/libgomp.dg/omp-single-3.c: New test.
20464
204652005-09-28 Diego Novillo <dnovillo@redhat.com>
20466
20467 * testsuite/libgomp.dg/omp-single-2.c: New test.
20468 * testsuite/libgomp.dg/shared-2.c: Fix return code.
20469
204702005-09-27 Richard Henderson <rth@redhat.com>
20471
20472 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
20473 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
20474
204752005-09-27 Jakub Jelinek <jakub@redhat.com>
20476
20477 * testsuite/libgomp.dg/omp-loop03.c: New test.
20478
204792005-09-27 Diego Novillo <dnovillo@redhat.com>
20480
20481 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
20482
204832005-09-27 Diego Novillo <dnovillo@redhat.com>
20484
20485 * testsuite/libgomp.dg/omp-single-1.c: New test.
20486 * testsuite/libgomp.dg/shared-1.c: Return 0.
20487 Add prototype for abort.
20488 * testsuite/libgomp.dg/shared-2.c: Likewise.
20489
204902005-09-26 Jakub Jelinek <jakub@redhat.com>
20491
20492 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
20493 constructs.
20494
204952005-09-26 Diego Novillo <dnovillo@redhat.com>
20496
20497 * testsuite/libgomp.dg/shared-1.c: New test.
20498 * testsuite/libgomp.dg/shared-2.c: New test.
20499
205002005-09-24 Richard Henderson <rth@redhat.com>
20501
20502 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
20503
205042005-09-24 Richard Henderson <rth@redhat.com>
20505
20506 * iter.c (gomp_iter_static_next): Round up when computing number
20507 of iterations. Don't bother distributing a remainder equally.
20508
20509 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
20510 Don't call srand. Zero b before testing.
20511 (main): New.
20512
205132005-09-24 Jakub Jelinek <jakub@redhat.com>
20514
20515 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
20516 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
20517
205182005-09-23 Jakub Jelinek <jakub@redhat.com>
20519
20520 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
20521 without !$omp end do, followed immediately by subroutine end.
20522
205232005-09-23 Diego Novillo <dnovillo@redhat.com>
20524
20525 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
20526
205272005-09-22 Richard Henderson <rth@redhat.com>
20528
20529 * critical.c (GOMP_critical_name_start): Change argument to void**.
20530 Reuse the pointer space if the mutex fits.
20531 (GOMP_critical_name_end): Likewise.
20532 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
20533 * libgomp_g.h (GOMP_critical_name_start): Update decl.
20534 (GOMP_critical_name_end): Likewise.
20535 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
20536 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
20537
205382005-09-20 Richard Henderson <rth@redhat.com>
20539
20540 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
20541 (create_lock_lock): New.
20542 (initialize_critical): Initialize it.
20543 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
20544 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
20545
205462005-09-20 Diego Novillo <dnovillo@redhat.com>
20547
20548 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
20549
205502005-09-20 Diego Novillo <dnovillo@redhat.com>
20551
20552 * testsuite/libgomp.dg/omp-loop01.c: New test.
20553 * testsuite/libgomp.dg/omp-loop02.c: New test.
20554
205552005-09-20 Jakub Jelinek <jakub@redhat.com>
20556
20557 * configure.ac (AC_PROG_FC): Add.
20558 (USE_FORTRAN): New automake conditional.
20559 * configure: Rebuilt.
20560 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
20561 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
20562 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
20563 Add rules to build them.
20564 * Makefile.in: Rebuilt.
20565 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
20566 OMP_NEST_LOCK_KIND.
20567 * libgomp.map: Add Fortran wrappers.
20568 * libgomp_f.h.in: New file.
20569 * omp_lib.h.in: New file.
20570 * omp_lib.f90.in: New file.
20571 * fortran.c: New file.
20572 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
20573 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
20574 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
20575 libgfortran has been built.
20576 * testsuite/libgomp.fortran/fortran.exp: New file.
20577 * testsuite/libgomp.fortran/omp_cond1.f: New test.
20578 * testsuite/libgomp.fortran/omp_cond2.f: New test.
20579 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
20580 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
20581 * testsuite/libgomp.fortran/omp_hello.f: New test.
20582 * testsuite/libgomp.fortran/omp_orphan.f: New test.
20583 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
20584 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
20585 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
20586 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
20587 * testsuite/libgomp.fortran/omp_reduction.f: New test.
20588 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
20589 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
20590
205912005-08-30 Richard Henderson <rth@redhat.com>
20592
20593 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
20594 function for when aliases are not usable.
20595 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
20596 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20597 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
20598 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
20599 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
20600 GOMP_loop_ordered_guided_next): Likewise.
20601 * ordered.c (GOMP_ordered_start): Likewise.
20602
206032005-08-01 Diego Novillo <dnovillo@redhat.com>
20604
20605 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
20606 * testsuite/libgomp.dg/omp_hello.c: Fix return code
20607 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
20608 * testsuite/libgomp.dg/omp_orphan.c: Likewise
20609 * testsuite/libgomp.dg/omp_reduction.c: Likewise
20610 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
20611 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
20612 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
20613 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
20614
206152005-07-07 Eric Christopher <echristo@redhat.com>
20616 Diego Novillo <dnovillo@redhat.com>
20617
20618 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
20619 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
20620 up code.
20621 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
20622 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
20623 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
20624 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
20625 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
20626 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
20627 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
20628
206292005-06-13 Diego Novillo <dnovillo@redhat.com>
20630
20631 * TOPLEVEL.patch: Remove.
20632
206332005-05-16 Richard Henderson <rth@redhat.com>
20634
20635 * configure.ac: Test for clock_gettime.
20636 * config.h.in, configure: Rebuild.
20637 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
20638 (omp_get_wtime): Use clock_gettime if available.
20639 (omp_get_wtick): Use clock_getres if available.
20640
206412005-05-11 Richard Henderson <rth@redhat.com>
20642
20643 * config/linux/ia64/futex.h: New file.
20644 * configure.tgt: Use it.
20645
20646 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
20647
206482005-05-07 Richard Henderson <rth@redhat.com>
20649
20650 * config/linux/powerpc/futex.h: New file.
20651 * configure.tgt: Use it.
20652
20653 * config/linux/i486/futex.h: Merge ...
20654 * config/linux/x86_64/futex.h: ... into ...
20655 * config/linux/x86/futex.h: ... here.
20656 * configure.tgt: Update to match.
20657
206582005-05-06 Richard Henderson <rth@redhat.com>
20659
20660 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
20661 * config/linux/i486/futex.h: Likewise.
20662 * config/linux/x86_64/futex.h: Likewise.
20663
20664 * config/linux/lock.c: New file.
20665 * config/linux/omp-lock.h: New file.
20666
20667 * critical.c, env.h: Don't include omp.h
20668 * config/posix/lock.c: Include libgomp.h instead of omp.h.
20669 * config/posix/time.c: Likewise.
20670 * config/posix/omp-lock.h: New file.
20671 * libgomp.h: Include omp-lock.h and omp.h.
20672 * Makefile.am (nodist_include_HEADERS): New.
20673 (omp.h): New rule.
20674 * configure.ac (PERL): New.
20675 * mkomp_h.pl: New file.
20676 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
20677 with templates.
20678 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
20679
20680 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
20681 build directory. Re-add -march=i486 hack.
20682
20683 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
20684 (libgomp_link_flags): Remove.
20685 (libgomp_initialized): Remove.
20686 (libgomp_init): Don't protect from reinitialization. Copy code
20687 from libstdc++ for getting the multilib set correctly.
20688
206892005-05-05 Richard Henderson <rth@redhat.com>
20690
20691 * config/linux/alpha/futex.h: New file.
20692 * configure.tgt (alpha*-*-linux*): Use it.
20693
20694 * config/posix/mutex.c: New file.
20695 * config/posix/sem.c: Use libgomp.h.
20696
20697 * configure.tgt (x86_64-linux): Also test CC for -m32.
20698 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
20699
a1daed2d 20700 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
20701 after $gccpath.
20702
20703 * Makefile.am (SUBDIRS): New.
20704 (libgomp_la_LDFLAGS): Add -lpthread.
20705 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
20706 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
20707
20708 * libgomp_g.h: New file.
20709 * libgomp.h: Split out all public declarations to libgomp_g.h.
20710 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
20711 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
20712 * config/linux/sem.h: Likewise.
20713 * config/posix/sem.h: Likewise.
20714
20715 * Makefile.am (AM_LDFLAGS): New.
20716 (libgomp_version_script): Split out from ...
20717 (libgomp_la_LDFLAGS): ... here.
20718 (libgomp_version_info): New.
20719 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
20720 (LIBGOMP_ENABLE): New.
20721 (LIBGOMP_CHECK_LINKER_FEATURES): New.
20722 (LIBGOMP_ENABLE_SYMVERS): New.
20723 * configure.ac (AC_INIT): Version 1.0.
20724 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
20725 (enable-linux-futex): Likewise. Rename from enable-futex.
20726 (libtool_VERSION): New.
20727 (LIBGOMP_ENABLE_SYMVERS): Use it.
20728 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
20729 * Makefile.in, aclocal.m4, configure: Rebuild.
20730
20731 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
20732 (gomp_mutex_unlock_slow): Fix typo.
20733 * config/linux/sem.c: Similarly.
20734 (gomp_sem_post_slow): Fix typo.
20735 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
20736 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
20737 [__PIC__] (sys_futex0): Don't use tmp output in asm.
20738
20739 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
20740 (libgomp_la_LDFLAGS): Add top_srcdir to path.
20741 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
20742 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
20743 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
20744 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
20745 LDFLAGS. Pull enable_futex check to top-level.
20746 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
20747 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
20748
20749 First attempt at real configury.
20750 * Makefile, config.h: Remove file.
20751 * Makefile.am, Makefile.in: New file.
20752 * acinclude.m4 aclocal.m4: New file.
20753 * configure.ac, configure.tgt, configure: New file.
20754
20755 * config/posix/lock.c: Rename from sys-lock.c.
20756 * config/posix/mutex.h: Rename from sys-mutex.h.
20757 * config/posix/sem.c: Rename from sys-sem.c.
20758 * config/posix/sem.h: Rename from sys-sem.h.
20759 * config/posix/proc.c: Rename from sys-proc.c.
20760 * config/posix/time.c: Rename from sys-proc.c.
20761
20762 * config/linux/mutex.c: New file.
20763 * config/linux/mutex.h: New file.
20764 * config/linux/sem.c: New file.
20765 * config/linux/sem.h: New file.
20766 * config/linux/i486/futex.h: New file.
20767 * config/linux/x86_64/futex.h: New file.
20768
207692005-05-04 Richard Henderson <rth@redhat.com>
20770
20771 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
20772 * libgomp.h: Declare them.
20773 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
20774 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
20775
207762005-05-04 Richard Henderson <rth@redhat.com>
20777
20778 * libgomp-1 code drop
20779
207802005-05-04 Richard Henderson <rth@redhat.com>
20781
20782 * iter.c (gomp_iter_static_next): Return tri-state on 0.
20783 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
20784 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
20785 (gomp_iter_static_next): Update.
20786 (gomp_ordered_static_next): Update.
20787 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
20788 (gomp_loop_ordered_static_start): Likewise. Exit early for a
20789 totally empty range.
20790 (gomp_loop_ordered_static_next): Refine test for calling
20791 gomp_ordered_static_next.
20792 * testsuite/ordered-1.c: Add case for more threads than iterations.
20793
20794 * iter.c (gomp_iter_runtime_next_locked): Remove.
20795 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 20796 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
20797 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
20798 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
20799 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
20800 gomp_loop_ordered_guided_next): Downcase name, make static, add
20801 an external alias with the old name.
20802 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
20803 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
20804 switch and call one of the above static functions.
20805 * libgomp.h: Update.
20806
20807 * work.c (gomp_work_share_start): Lock the mutex for !first too.
20808 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
20809 GOMP_loop_guided_start, GOMP_loop_runtime_start,
20810 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
20811 GOMP_loop_ordered_guided_start): Update to match.
20812 * sections.c (GOMP_sections_start): Likewise.
20813 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
20814
20815 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
20816 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
20817 Use bounds check instead of modulus.
20818 (gomp_ordered_sync): Split out of GOMP_ordered_start.
20819 (gomp_ordered_last): Don't sync with ordered_owner here.
20820 (gomp_ordered_next): Likewise.
20821 (gomp_ordered_static_loop_next): Likewise.
20822 * loop.c, libgomp.h: Update to match.
20823
20824 * libgomp.h (GOMP_barrier): Declare.
20825
20826 * testsuite/barrier-1.c: New file.
20827 * testsuite/critical-1.c: New file.
20828 * testsuite/ordered-2.c: New file.
20829 * testsuite/ordered-1.c: New file.
20830 * testsuite/sections-1.c: New file.
20831 * testsuite/single-1.c: New file.
20832 * testsuite/Makefile (TESTS): Add them.
20833
208342005-05-04 Richard Henderson <rth@redhat.com>
20835
20836 * libgomp.h (struct gomp_work_share): Add ordered_owner.
20837 * loop.c (GOMP_loop_static_start): If not the startup thread,
20838 acquire the mutex to wait for initialization complete.
20839 (GOMP_loop_ordered_static_start): Likewise.
20840 (GOMP_loop_ordered_runtime_start): Likewise.
20841 (GOMP_loop_ordered_static_first): Remove.
20842 (GOMP_loop_ordered_dynamic_first): Remove.
20843 (GOMP_loop_ordered_guided_first): Remove.
20844 (GOMP_loop_ordered_runtime_first): Remove.
20845 * ordered.c (gomp_ordered_loop_first): Post to own release when
20846 we're the first thread.
20847 (gomp_ordered_loop_last): Wait on release if not owner.
20848 (gomp_ordered_loop_next): Likewise.
20849 (gomp_ordered_static_loop_init): New.
20850 (gomp_ordered_static_loop_next): Use ordered_owner.
20851 (GOMP_ordered_start): Likewise.
20852 * work.c (gomp_new_work_share): Initialize ordered_owner.
20853
208542005-05-03 Richard Henderson <rth@redhat.com>
20855
20856 * Makefile (OPT): New.
20857 (CFLAGS): Use it.
20858
20859 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
20860 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
20861 * libgomp.h, libgomp.map, NOTES: Update to match.
20862
20863 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
20864 Add initialized and thr members.
20865 (gomp_thread_start): Pause when initially spawned to wait for
20866 the whole team to be created.
20867 (gomp_team_start): Release team members at the end.
20868
20869 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
20870 (f_foo_1): Use GOMP_loop_end.
20871 (f_foo_2): Use GOMP_loop_end_nowait.
20872
20873 * testsuite/loop-2.c: New file.
20874 * testsuite/Makefile (TESTS): Add it.
20875
208762005-05-03 Richard Henderson <rth@redhat.com>
20877
20878 * iter.c (gomp_iter_static_next): Fix overflow check typo.
20879 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
20880 * team.c (new_team): Initialize oldest_live_gen to 1 if no
20881 initial work_share.
20882
20883 * testsuite/Makefile: New file.
20884 * testsuite/loop-1.c: New file.
20885
208862005-05-03 Richard Henderson <rth@redhat.com>
20887
20888 Initial implementation and checkin.
21fa2a29 20889\f
6a720d41 20890Copyright (C) 2005-2024 Free Software Foundation, Inc.
21fa2a29
JJ
20891
20892Copying and distribution of this file, with or without modification,
20893are permitted in any medium without royalty provided the copyright
20894notice and this notice are preserved.