]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2023-05-04 Julian Brown <julian@codesourcery.com>
2
3 PR fortran/109622
4 * testsuite/libgomp.fortran/pr109622.f90: Move test...
5 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
6 vector length warning.
7 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
8 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
9 missing copyin/copyout variable. Ignore vector length warnings.
10 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
11 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
12 vector length warnings.
13 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
14
15 2023-04-28 Julian Brown <julian@codesourcery.com>
16
17 PR fortran/109622
18 * testsuite/libgomp.fortran/pr109622.f90: New test.
19 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
20 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
21
22 2023-04-25 Tobias Burnus <tobias@codesourcery.com>
23
24 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
25 * testsuite/libgomp.c/scan-23.c: New test.
26 * testsuite/libgomp.fortran/scan-2.f90: New test.
27
28 2023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29
30 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
31 weak_undefined options.
32
33 2023-03-24 Tobias Burnus <tobias@codesourcery.com>
34
35 * libgomp.texi (Offload-Target Specifics): Grammar fix.
36
37 2023-03-24 Thomas Schwinge <thomas@codesourcery.com>
38
39 PR fortran/104949
40 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
41 caveat/safeguard.
42
43 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
44
45 PR libgomp/90596
46 * target.c (gomp_map_vars_internal): Allow for
47 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
48 * oacc-parallel.c (GOACC_parallel_keyed): Pass
49 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
50 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
51 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
52 Adjust, simplify.
53 (gomp_offload_free): Remove.
54 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
55 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
56 (cuda_free_argmem): Remove.
57 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
58 Adjust.
59
60 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
61
62 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
63 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
64 data.
65
66 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
67
68 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
69 'GOMP_MAP_IF_PRESENT'.
70 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
71 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
72 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
73 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
74 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
75 testing.
76 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
77
78 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
79
80 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
81 shortcut.
82
83 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
84
85 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
86 another aspect of OpenACC 'async' semantics.
87
88 2023-03-10 Thomas Schwinge <thomas@codesourcery.com>
89
90 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
91 position.
92 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
93 Verify 'acc_ev_alloc', 'acc_ev_free'.
94
95 2023-03-09 Hongyu Wang <hongyu.wang@intel.com>
96
97 PR libgomp/109062
98 * env.c (wait_policy): Initialize to -1.
99 (initialize_icvs): Initialize icvs->wait_policy to -1.
100 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
101
102 2023-03-08 Tobias Burnus <tobias@codesourcery.com>
103
104 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
105
106 2023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
107 Paul-Antoine Arras <pa@codesourcery.com>
108
109 * testsuite/libgomp.c/simd-math-1.c: New testcase.
110
111 2023-03-01 Tobias Burnus <tobias@codesourcery.com>
112
113 PR middle-end/108546
114 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
115 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
116
117 2023-02-22 Thomas Schwinge <thomas@codesourcery.com>
118
119 * testsuite/libgomp.fortran/alloc-10.f90: Use
120 '-Wno-complain-wrong-lang'.
121 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
122 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
123 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
124 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
125 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
126 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
127 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
128 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
129 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
130 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
131 Likewise.
132 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
133 Likewise.
134 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
135 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
136 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
137 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
138 'dg-prune-output'.
139
140 2023-02-16 Jakub Jelinek <jakub@redhat.com>
141
142 * libgomp.texi: Fix typos - theads -> threads.
143
144 2023-02-16 Jakub Jelinek <jakub@redhat.com>
145
146 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
147 comment typo and improve its wording.
148
149 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
150
151 * target.c (gomp_target_rev): Dereference ptr
152 to get device address.
153 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
154 for unallocated allocatable.
155
156 2023-02-15 Tobias Burnus <tobias@codesourcery.com>
157
158 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
159 kind check.
160 (GOMP_target_enter_exit_data): If the next map item is
161 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
162 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
163
164 2023-02-09 Tobias Burnus <tobias@codesourcery.com>
165
166 PR fortran/107424
167 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
168 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
169 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
170 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
171 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
172 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
173
174 2023-02-07 Thomas Schwinge <thomas@codesourcery.com>
175
176 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
177 offloading compilation.
178
179 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
180
181 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
182 freeing not allocated memory.
183 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
184
185 2023-02-03 Tobias Burnus <tobias@codesourcery.com>
186
187 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
188 reverse offload.
189 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
190 reverse-offload requirement.
191
192 2023-02-02 Andrew Stubbs <ams@codesourcery.com>
193
194 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
195 (DEFAULT_TEAM_ARENA_SIZE): New define.
196 (struct heap): Move to this file.
197 (struct kernargs_abi): Likewise.
198 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
199 the kernargs.
200 * libgomp.h: Include libgomp-gcn.h.
201 (TEAM_ARENA_SIZE): Remove.
202 (team_malloc): Update the error message.
203 * plugin/plugin-gcn.c (struct kernargs): Move common content to
204 struct kernargs_abi.
205 (struct agent_info): Rename team arenas to ephemeral memories.
206 (struct team_arena_list): Rename ....
207 (struct ephemeral_memories_list): to this.
208 (struct heap): Delete.
209 (team_arena_size): New variable.
210 (stack_size): New variable.
211 (print_kernel_dispatch): Update debug messages.
212 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
213 Read GCN_STACK_SIZE.
214 (get_team_arena): Rename ...
215 (configure_ephemeral_memories): ... to this, and set up stacks.
216 (release_team_arena): Rename ...
217 (release_ephemeral_memories): ... to this.
218 (destroy_team_arenas): Rename ...
219 (destroy_ephemeral_memories): ... to this.
220 (create_kernel_dispatch): Add num_threads parameter.
221 Adjust for kernargs_abi refactor and ephemeral memories.
222 (release_kernel_dispatch): Adjust for ephemeral memories.
223 (run_kernel): Pass thread-count to create_kernel_dispatch.
224 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
225 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
226
227 2023-02-02 Tobias Burnus <tobias@codesourcery.com>
228
229 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
230
231 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
232
233 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
234 usage, remove unused -fdump-tree-original.
235 * testsuite/libgomp.fortran/allocate-4.f90: New.
236
237 2023-02-01 Tobias Burnus <tobias@codesourcery.com>
238
239 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
240 (GCN): Add item about 'omp requires'.
241 (nvptx): Likewise; add item about reverse offload.
242
243 2023-01-27 Tobias Burnus <tobias@codesourcery.com>
244
245 PR fortran/108558
246 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
247
248 2023-01-23 Tobias Burnus <tobias@codesourcery.com>
249
250 * libgomp.texi (OpenMP 5.0): Set non-rectangular
251 loop nest back to 'P' as Fortran support is incomplete.
252
253 2023-01-19 Jakub Jelinek <jakub@redhat.com>
254
255 PR middle-end/108459
256 * testsuite/libgomp.c/pr108459.c: New test.
257
258 2023-01-17 Martin Liska <mliska@suse.cz>
259
260 * Makefile.in: Regenerate.
261 * configure: Regenerate.
262
263 2023-01-07 LIU Hao <lh_mouse@126.com>
264
265 PR middle-end/108300
266 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
267 <windows.h>.
268
269 2023-01-05 Jakub Jelinek <jakub@redhat.com>
270
271 PR c++/108286
272 * testsuite/libgomp.c++/pr108286.C: New test.
273
274 2023-01-02 Jakub Jelinek <jakub@redhat.com>
275
276 * libgomp.texi: Bump @copying's copyright year.
277
278 2022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
279
280 PR target/99555
281 * config/nvptx/bar.c (generation_to_barrier): Remove.
282 (futex_wait,futex_wake,do_spin,do_wait): Remove.
283 (GOMP_WAIT_H): Remove.
284 (#include "../linux/bar.c"): Remove.
285 (gomp_barrier_wait_end): New function.
286 (gomp_barrier_wait): Likewise.
287 (gomp_barrier_wait_last): Likewise.
288 (gomp_team_barrier_wait_end): Likewise.
289 (gomp_team_barrier_wait): Likewise.
290 (gomp_team_barrier_wait_final): Likewise.
291 (gomp_team_barrier_wait_cancel_end): Likewise.
292 (gomp_team_barrier_wait_cancel): Likewise.
293 (gomp_team_barrier_cancel): Likewise.
294 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
295 (gomp_barrier_init): Remove init of waiters, lock fields.
296 (gomp_team_barrier_wake): Remove prototype, add new static inline
297 function.
298
299 2022-12-21 Jakub Jelinek <jakub@redhat.com>
300
301 PR c++/108180
302 * testsuite/libgomp.c++/pr108180.C: New test.
303
304 2022-12-16 Tobias Burnus <tobias@codesourcery.com>
305
306 PR libfortran/108056
307 * testsuite/libgomp.fortran/allocate-4.f90: Remove
308 accidentally added file.
309
310 2022-12-15 Tobias Burnus <tobias@codesourcery.com>
311
312 PR libfortran/108056
313 * testsuite/libgomp.fortran/allocate-4.f90: New file.
314
315 2022-12-14 Julian Brown <julian@codesourcery.com>
316
317 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
318 test.
319
320 2022-12-10 Tobias Burnus <tobias@codesourcery.com>
321
322 * libgomp.h (struct target_mem_desc): Predeclare; move
323 below after 'reverse_splay_tree_node' and add rev_array
324 member.
325 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
326 (reverse_splay_tree_node, reverse_splay_tree,
327 reverse_splay_tree_key): New typedef.
328 (struct gomp_device_descr): Add mem_map_rev member.
329 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
330 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
331 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
332 * splay-tree.h (splay_tree_callback_stop): New typedef; like
333 splay_tree_callback but returning int not void.
334 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
335 taking splay_tree_callback_stop as argument.
336 * splay-tree.c (splay_tree_foreach_internal_lazy,
337 splay_tree_foreach_lazy): New; but early exit if callback returns
338 nonzero.
339 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
340 (gomp_map_lookup_rev): New.
341 (gomp_load_image_to_device): Handle reverse-offload function
342 lookup table.
343 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
344 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
345 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
346 gomp_map_cdata_lookup): New auxiliary structs and functions for
347 gomp_target_rev.
348 (gomp_target_rev): Implement reverse offloading and its mapping.
349 (gomp_target_init): Init current_device.mem_map_rev.root.
350 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
351 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
352 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
353 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
354 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
355 mapping of on-device allocated variables.
356
357 2022-12-09 Tobias Burnus <tobias@codesourcery.com>
358
359 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
360 item about 'align'; mark clause as 'Y' and directive as 'N'.
361 * testsuite/libgomp.fortran/allocate-2.f90: New test.
362 * testsuite/libgomp.fortran/allocate-3.f90: New test.
363
364 2022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
365
366 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
367 allow processing of device-specific values.
368 (omp_set_teams_thread_limit): Likewise.
369 (ialias): Likewise.
370 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
371 (omp_set_teams_thread_limit): Likewise.
372 (ialias): Likewise.
373 * icv-device.c (omp_get_teams_thread_limit): Likewise.
374 (ialias): Likewise.
375 (omp_set_teams_thread_limit): Likewise.
376 * icv.c (omp_set_teams_thread_limit): Removed.
377 (omp_get_teams_thread_limit): Likewise.
378 (ialias): Likewise.
379 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
380 to the limitation of the number of teams.
381 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
382 the number of teams by twice the number of compute units.
383 (parse_target_attributes): Limit the number of teams on gcn offload
384 devices.
385 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
386 handling.
387 (gomp_load_image_to_device): Added a size check for the ICVs struct
388 variable.
389 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
390 copy back the ICV values from device to host.
391 (GOMP_target_ext): Update the number of teams and threads in the kernel
392 args also considering device-specific values.
393 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
394 of OMP_TEAMS_THREAD_LIMIT from the environment.
395 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
396 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
397 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
398 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
399 * testsuite/libgomp.fortran/icv-5.f90: New test.
400 * testsuite/libgomp.fortran/icv-6.f90: New test.
401
402 2022-12-06 Tobias Burnus <tobias@codesourcery.com>
403
404 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
405 (TR11): Add missing '@tab N @tab'.
406
407 2022-11-30 Tobias Burnus <tobias@codesourcery.com>
408
409 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
410
411 2022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
412
413 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
414 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
415 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
416 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
417 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
418 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
419 * testsuite/libgomp.c/declare-variant-4.h: New header file.
420
421 2022-11-28 Tobias Burnus <tobias@codesourcery.com>
422
423 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
424
425 2022-11-25 Sandra Loosemore <sandra@codesourcery.com>
426
427 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
428 * testsuite/libgomp.c/target-simd-clone-1.c: New.
429 * testsuite/libgomp.c/target-simd-clone-2.c: New.
430 * testsuite/libgomp.c/target-simd-clone-3.c: New.
431
432 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
433
434 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
435 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
436 as valid and the code having no reverse-offload code.
437 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
438
439 2022-11-25 Tobias Burnus <tobias@codesourcery.com>
440
441 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
442 and status for Technical Report (TR) 11.
443
444 2022-11-21 Tobias Burnus <tobias@codesourcery.com>
445
446 * config/gcn/libgomp-gcn.h (struct output):
447 Remove 'msg_u64' from the union, change
448 value_u64[2] to value_u64[6].
449 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
450 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
451 Likewise.
452
453 2022-11-19 Tobias Burnus <tobias@codesourcery.com>
454
455 * config/gcn/libgomp-gcn.h: New file; contains
456 struct output, declared previously in plugin-gcn.c.
457 * config/gcn/target.c: Include it.
458 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
459 (GOMP_target_ext): Handle reverse offload.
460 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
461 (struct kernargs): Replace struct def by the one
462 from libgomp-gcn.h for output_data.
463 (process_reverse_offload): New.
464 (console_output): Call it.
465
466 2022-11-16 Tobias Burnus <tobias@codesourcery.com>
467 Andrew Stubbs <ams@codesourcery.com>
468
469 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
470 __builtin_gcn_kernarg_ptr instead of asm ("s8").
471
472 2022-11-14 Martin Liska <mliska@suse.cz>
473
474 Revert:
475 2022-11-14 Martin Liska <mliska@suse.cz>
476
477 * doc/amd-radeon-gcn.rst: New file.
478 * doc/conf.py: New file.
479 * doc/copyright.rst: New file.
480 * doc/cuda-streams-usage.rst: New file.
481 * doc/enabling-openacc.rst: New file.
482 * doc/enabling-openmp.rst: New file.
483 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
484 * doc/first-invocation-openacc-library-api.rst: New file.
485 * doc/funding.rst: New file.
486 * doc/general-public-license-3.rst: New file.
487 * doc/gnu-free-documentation-license.rst: New file.
488 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
489 * doc/index.rst: New file.
490 * doc/indices-and-tables.rst: New file.
491 * doc/introduction.rst: New file.
492 * doc/memory-allocation-with-libmemkind.rst: New file.
493 * doc/nvptx.rst: New file.
494 * doc/offload-target-specifics.rst: New file.
495 * doc/openacc-environment-variables.rst: New file.
496 * doc/openacc-environment-variables/accdevicenum.rst: New file.
497 * doc/openacc-environment-variables/accdevicetype.rst: New file.
498 * doc/openacc-environment-variables/accproflib.rst: New file.
499 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
500 * doc/openacc-introduction.rst: New file.
501 * doc/openacc-library-and-environment-variables.rst: New file.
502 * doc/openacc-library-interoperability.rst: New file.
503 * doc/openacc-profiling-interface.rst: New file.
504 * doc/openacc-runtime-library-routines.rst: New file.
505 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
506 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
507 * doc/openacc-runtime-library-routines/accattach.rst: New file.
508 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
509 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
510 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
511 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
512 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
513 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
514 * doc/openacc-runtime-library-routines/accfree.rst: New file.
515 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
516 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
517 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
518 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
519 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
520 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
521 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
522 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
523 * doc/openacc-runtime-library-routines/accinit.rst: New file.
524 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
525 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
526 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
527 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
528 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
529 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
530 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
531 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
532 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
533 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
534 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
535 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
536 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
537 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
538 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
539 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
540 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
541 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
542 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
543 * doc/openacc-runtime-library-routines/accwait.rst: New file.
544 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
545 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
546 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
547 * doc/openmp-context-selectors.rst: New file.
548 * doc/openmp-environment-variables.rst: New file.
549 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
550 * doc/openmp-environment-variables/gompdebug.rst: New file.
551 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
552 * doc/openmp-environment-variables/gompspincount.rst: New file.
553 * doc/openmp-environment-variables/gompstacksize.rst: New file.
554 * doc/openmp-environment-variables/ompcancellation.rst: New file.
555 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
556 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
557 * doc/openmp-environment-variables/ompdynamic.rst: New file.
558 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
559 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
560 * doc/openmp-environment-variables/ompnested.rst: New file.
561 * doc/openmp-environment-variables/ompnumteams.rst: New file.
562 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
563 * doc/openmp-environment-variables/ompplaces.rst: New file.
564 * doc/openmp-environment-variables/ompprocbind.rst: New file.
565 * doc/openmp-environment-variables/ompschedule.rst: New file.
566 * doc/openmp-environment-variables/ompstacksize.rst: New file.
567 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
568 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
569 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
570 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
571 * doc/openmp-implementation-specifics.rst: New file.
572 * doc/openmp-implementation-status.rst: New file.
573 * doc/openmp-implementation-status/openmp-45.rst: New file.
574 * doc/openmp-implementation-status/openmp-50.rst: New file.
575 * doc/openmp-implementation-status/openmp-51.rst: New file.
576 * doc/openmp-implementation-status/openmp-52.rst: New file.
577 * doc/openmp-runtime-library-routines.rst: New file.
578 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
579 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
580 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
581 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
582 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
583 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
584 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
585 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
586 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
587 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
588 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
589 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
590 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
591 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
592 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
593 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
594 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
595 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
596 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
597 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
598 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
599 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
600 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
601 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
602 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
603 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
604 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
605 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
606 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
607 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
608 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
609 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
610 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
611 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
612 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
613 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
614 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
615 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
616 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
617 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
618 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
619 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
620 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
621 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
622 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
623 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
624 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
625 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
626 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
627 * doc/reporting-bugs.rst: New file.
628 * doc/the-libgomp-abi.rst: New file.
629 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
630 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
631 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
632 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
633 New file.
634 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
635 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
636 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
637 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
638 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
639 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
640 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
641 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
642 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
643 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
644 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
645
646 2022-11-14 Martin Liska <mliska@suse.cz>
647
648 Revert:
649 2022-11-14 Martin Liska <mliska@suse.cz>
650
651 * Makefile.in: Support Sphinx based documentation.
652
653 2022-11-14 Martin Liska <mliska@suse.cz>
654
655 Revert:
656 2022-11-14 Martin Liska <mliska@suse.cz>
657
658 * libgomp.texi: Removed.
659
660 2022-11-14 Martin Liska <mliska@suse.cz>
661
662 Revert:
663 2022-11-14 Martin Liska <mliska@suse.cz>
664
665 * Makefile.in: Support --with-sphinx-build.
666 * configure.ac: Likewise..
667 * configure: Regenerate.
668
669 2022-11-14 Martin Liska <mliska@suse.cz>
670
671 Revert:
672 2022-11-09 Martin Liska <mliska@suse.cz>
673
674 * Makefile.in: Build info pages conditionally.
675
676 2022-11-14 Martin Liska <mliska@suse.cz>
677
678 Revert:
679 2022-11-14 Martin Liska <mliska@suse.cz>
680
681 * doc/amd-radeon-gcn.rst:
682 Add trailing newline.
683 * doc/copyright.rst:
684 Add trailing newline.
685 * doc/cuda-streams-usage.rst:
686 Add trailing newline.
687 * doc/enabling-openacc.rst:
688 Add trailing newline.
689 * doc/enabling-openmp.rst:
690 Add trailing newline.
691 * doc/first-invocation-nvidia-cublas-library-api.rst:
692 Add trailing newline.
693 * doc/first-invocation-openacc-library-api.rst:
694 Add trailing newline.
695 * doc/funding.rst:
696 Add trailing newline.
697 * doc/general-public-license-3.rst:
698 Add trailing newline.
699 * doc/gnu-free-documentation-license.rst:
700 Add trailing newline.
701 * doc/implementation-status-and-implementation-defined-behavior.rst:
702 Add trailing newline.
703 * doc/index.rst:
704 Add trailing newline.
705 * doc/indices-and-tables.rst:
706 Add trailing newline.
707 * doc/introduction.rst:
708 Add trailing newline.
709 * doc/memory-allocation-with-libmemkind.rst:
710 Add trailing newline.
711 * doc/nvptx.rst:
712 Add trailing newline.
713 * doc/offload-target-specifics.rst:
714 Add trailing newline.
715 * doc/openacc-environment-variables.rst:
716 Add trailing newline.
717 * doc/openacc-environment-variables/accdevicenum.rst:
718 Add trailing newline.
719 * doc/openacc-environment-variables/accdevicetype.rst:
720 Add trailing newline.
721 * doc/openacc-environment-variables/accproflib.rst:
722 Add trailing newline.
723 * doc/openacc-environment-variables/gccaccnotify.rst:
724 Add trailing newline.
725 * doc/openacc-introduction.rst:
726 Add trailing newline.
727 * doc/openacc-library-and-environment-variables.rst:
728 Add trailing newline.
729 * doc/openacc-library-interoperability.rst:
730 Add trailing newline.
731 * doc/openacc-profiling-interface.rst:
732 Add trailing newline.
733 * doc/openacc-runtime-library-routines.rst:
734 Add trailing newline.
735 * doc/openacc-runtime-library-routines/accasynctest.rst:
736 Add trailing newline.
737 * doc/openacc-runtime-library-routines/accasynctestall.rst:
738 Add trailing newline.
739 * doc/openacc-runtime-library-routines/accattach.rst:
740 Add trailing newline.
741 * doc/openacc-runtime-library-routines/acccopyin.rst:
742 Add trailing newline.
743 * doc/openacc-runtime-library-routines/acccopyout.rst:
744 Add trailing newline.
745 * doc/openacc-runtime-library-routines/acccreate.rst:
746 Add trailing newline.
747 * doc/openacc-runtime-library-routines/accdelete.rst:
748 Add trailing newline.
749 * doc/openacc-runtime-library-routines/accdetach.rst:
750 Add trailing newline.
751 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
752 Add trailing newline.
753 * doc/openacc-runtime-library-routines/accfree.rst:
754 Add trailing newline.
755 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
756 Add trailing newline.
757 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
758 Add trailing newline.
759 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
760 Add trailing newline.
761 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
762 Add trailing newline.
763 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
764 Add trailing newline.
765 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
766 Add trailing newline.
767 * doc/openacc-runtime-library-routines/accgetproperty.rst:
768 Add trailing newline.
769 * doc/openacc-runtime-library-routines/acchostptr.rst:
770 Add trailing newline.
771 * doc/openacc-runtime-library-routines/accinit.rst:
772 Add trailing newline.
773 * doc/openacc-runtime-library-routines/accispresent.rst:
774 Add trailing newline.
775 * doc/openacc-runtime-library-routines/accmalloc.rst:
776 Add trailing newline.
777 * doc/openacc-runtime-library-routines/accmapdata.rst:
778 Add trailing newline.
779 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
780 Add trailing newline.
781 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
782 Add trailing newline.
783 * doc/openacc-runtime-library-routines/accondevice.rst:
784 Add trailing newline.
785 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
786 Add trailing newline.
787 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
788 Add trailing newline.
789 * doc/openacc-runtime-library-routines/accproflookup.rst:
790 Add trailing newline.
791 * doc/openacc-runtime-library-routines/accprofregister.rst:
792 Add trailing newline.
793 * doc/openacc-runtime-library-routines/accprofunregister.rst:
794 Add trailing newline.
795 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
796 Add trailing newline.
797 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
798 Add trailing newline.
799 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
800 Add trailing newline.
801 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
802 Add trailing newline.
803 * doc/openacc-runtime-library-routines/accshutdown.rst:
804 Add trailing newline.
805 * doc/openacc-runtime-library-routines/accunmapdata.rst:
806 Add trailing newline.
807 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
808 Add trailing newline.
809 * doc/openacc-runtime-library-routines/accupdateself.rst:
810 Add trailing newline.
811 * doc/openacc-runtime-library-routines/accwait.rst:
812 Add trailing newline.
813 * doc/openacc-runtime-library-routines/accwaitall.rst:
814 Add trailing newline.
815 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
816 Add trailing newline.
817 * doc/openacc-runtime-library-routines/accwaitasync.rst:
818 Add trailing newline.
819 * doc/openmp-context-selectors.rst:
820 Add trailing newline.
821 * doc/openmp-environment-variables.rst:
822 Add trailing newline.
823 * doc/openmp-environment-variables/gompcpuaffinity.rst:
824 Add trailing newline.
825 * doc/openmp-environment-variables/gompdebug.rst:
826 Add trailing newline.
827 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
828 Add trailing newline.
829 * doc/openmp-environment-variables/gompspincount.rst:
830 Add trailing newline.
831 * doc/openmp-environment-variables/gompstacksize.rst:
832 Add trailing newline.
833 * doc/openmp-environment-variables/ompcancellation.rst:
834 Add trailing newline.
835 * doc/openmp-environment-variables/ompdefaultdevice.rst:
836 Add trailing newline.
837 * doc/openmp-environment-variables/ompdisplayenv.rst:
838 Add trailing newline.
839 * doc/openmp-environment-variables/ompdynamic.rst:
840 Add trailing newline.
841 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
842 Add trailing newline.
843 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
844 Add trailing newline.
845 * doc/openmp-environment-variables/ompnested.rst:
846 Add trailing newline.
847 * doc/openmp-environment-variables/ompnumteams.rst:
848 Add trailing newline.
849 * doc/openmp-environment-variables/ompnumthreads.rst:
850 Add trailing newline.
851 * doc/openmp-environment-variables/ompplaces.rst:
852 Add trailing newline.
853 * doc/openmp-environment-variables/ompprocbind.rst:
854 Add trailing newline.
855 * doc/openmp-environment-variables/ompschedule.rst:
856 Add trailing newline.
857 * doc/openmp-environment-variables/ompstacksize.rst:
858 Add trailing newline.
859 * doc/openmp-environment-variables/omptargetoffload.rst:
860 Add trailing newline.
861 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
862 Add trailing newline.
863 * doc/openmp-environment-variables/ompthreadlimit.rst:
864 Add trailing newline.
865 * doc/openmp-environment-variables/ompwaitpolicy.rst:
866 Add trailing newline.
867 * doc/openmp-implementation-specifics.rst:
868 Add trailing newline.
869 * doc/openmp-implementation-status.rst:
870 Add trailing newline.
871 * doc/openmp-implementation-status/openmp-45.rst:
872 Add trailing newline.
873 * doc/openmp-implementation-status/openmp-50.rst:
874 Add trailing newline.
875 * doc/openmp-implementation-status/openmp-51.rst:
876 Add trailing newline.
877 * doc/openmp-implementation-status/openmp-52.rst:
878 Add trailing newline.
879 * doc/openmp-runtime-library-routines.rst:
880 Add trailing newline.
881 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
882 Add trailing newline.
883 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
884 Add trailing newline.
885 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
886 Add trailing newline.
887 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
888 Add trailing newline.
889 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
890 Add trailing newline.
891 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
892 Add trailing newline.
893 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
894 Add trailing newline.
895 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
896 Add trailing newline.
897 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
898 Add trailing newline.
899 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
900 Add trailing newline.
901 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
902 Add trailing newline.
903 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
904 Add trailing newline.
905 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
906 Add trailing newline.
907 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
908 Add trailing newline.
909 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
910 Add trailing newline.
911 * doc/openmp-runtime-library-routines/ompgetnested.rst:
912 Add trailing newline.
913 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
914 Add trailing newline.
915 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
916 Add trailing newline.
917 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
918 Add trailing newline.
919 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
920 Add trailing newline.
921 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
922 Add trailing newline.
923 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
924 Add trailing newline.
925 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
926 Add trailing newline.
927 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
928 Add trailing newline.
929 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
930 Add trailing newline.
931 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
932 Add trailing newline.
933 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
934 Add trailing newline.
935 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
936 Add trailing newline.
937 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
938 Add trailing newline.
939 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
940 Add trailing newline.
941 * doc/openmp-runtime-library-routines/ompinfinal.rst:
942 Add trailing newline.
943 * doc/openmp-runtime-library-routines/ompinitlock.rst:
944 Add trailing newline.
945 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
946 Add trailing newline.
947 * doc/openmp-runtime-library-routines/ompinparallel.rst:
948 Add trailing newline.
949 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
950 Add trailing newline.
951 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
952 Add trailing newline.
953 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
954 Add trailing newline.
955 * doc/openmp-runtime-library-routines/ompsetlock.rst:
956 Add trailing newline.
957 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
958 Add trailing newline.
959 * doc/openmp-runtime-library-routines/ompsetnested.rst:
960 Add trailing newline.
961 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
962 Add trailing newline.
963 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
964 Add trailing newline.
965 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
966 Add trailing newline.
967 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
968 Add trailing newline.
969 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
970 Add trailing newline.
971 * doc/openmp-runtime-library-routines/omptestlock.rst:
972 Add trailing newline.
973 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
974 Add trailing newline.
975 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
976 Add trailing newline.
977 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
978 Add trailing newline.
979 * doc/reporting-bugs.rst:
980 Add trailing newline.
981 * doc/the-libgomp-abi.rst:
982 Add trailing newline.
983 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
984 Add trailing newline.
985 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
986 Add trailing newline.
987 * doc/the-libgomp-abi/implementing-critical-construct.rst:
988 Add trailing newline.
989 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
990 Add trailing newline.
991 * doc/the-libgomp-abi/implementing-flush-construct.rst:
992 Add trailing newline.
993 * doc/the-libgomp-abi/implementing-for-construct.rst:
994 Add trailing newline.
995 * doc/the-libgomp-abi/implementing-master-construct.rst:
996 Add trailing newline.
997 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
998 Add trailing newline.
999 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
1000 Add trailing newline.
1001 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
1002 Add trailing newline.
1003 * doc/the-libgomp-abi/implementing-private-clause.rst:
1004 Add trailing newline.
1005 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
1006 Add trailing newline.
1007 * doc/the-libgomp-abi/implementing-sections-construct.rst:
1008 Add trailing newline.
1009 * doc/the-libgomp-abi/implementing-single-construct.rst:
1010 Add trailing newline.
1011 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
1012 Add trailing newline.
1013
1014 2022-11-14 Martin Liska <mliska@suse.cz>
1015
1016 Revert:
1017 2022-11-09 Martin Liska <mliska@suse.cz>
1018
1019 * Makefile.in: Add missing HAS_SPHINX_BUILD.
1020
1021 2022-11-14 Martin Liska <mliska@suse.cz>
1022
1023 Revert:
1024 2022-11-14 Martin Liska <mliska@suse.cz>
1025
1026 * doc/conf.py: Add newline at last line.
1027
1028 2022-11-14 Martin Liska <mliska@suse.cz>
1029
1030 Revert:
1031 2022-11-14 Martin Liska <mliska@suse.cz>
1032
1033 PR other/107620
1034 * configure: Regenerate.
1035 * configure.ac: Always set sphinx-build.
1036
1037 2022-11-13 Martin Liska <mliska@suse.cz>
1038
1039 PR other/107620
1040 * configure: Regenerate.
1041 * configure.ac: Always set sphinx-build.
1042
1043 2022-11-12 Jakub Jelinek <jakub@redhat.com>
1044
1045 PR libgomp/107641
1046 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
1047 unsigned long. Change type of upper from unsigned to unsigned long.
1048
1049 2022-11-10 Martin Liska <mliska@suse.cz>
1050
1051 * doc/conf.py: Add newline at last line.
1052
1053 2022-11-09 Martin Liska <mliska@suse.cz>
1054
1055 * Makefile.in: Add missing HAS_SPHINX_BUILD.
1056
1057 2022-11-09 Martin Liska <mliska@suse.cz>
1058
1059 * doc/amd-radeon-gcn.rst:
1060 Add trailing newline.
1061 * doc/copyright.rst:
1062 Add trailing newline.
1063 * doc/cuda-streams-usage.rst:
1064 Add trailing newline.
1065 * doc/enabling-openacc.rst:
1066 Add trailing newline.
1067 * doc/enabling-openmp.rst:
1068 Add trailing newline.
1069 * doc/first-invocation-nvidia-cublas-library-api.rst:
1070 Add trailing newline.
1071 * doc/first-invocation-openacc-library-api.rst:
1072 Add trailing newline.
1073 * doc/funding.rst:
1074 Add trailing newline.
1075 * doc/general-public-license-3.rst:
1076 Add trailing newline.
1077 * doc/gnu-free-documentation-license.rst:
1078 Add trailing newline.
1079 * doc/implementation-status-and-implementation-defined-behavior.rst:
1080 Add trailing newline.
1081 * doc/index.rst:
1082 Add trailing newline.
1083 * doc/indices-and-tables.rst:
1084 Add trailing newline.
1085 * doc/introduction.rst:
1086 Add trailing newline.
1087 * doc/memory-allocation-with-libmemkind.rst:
1088 Add trailing newline.
1089 * doc/nvptx.rst:
1090 Add trailing newline.
1091 * doc/offload-target-specifics.rst:
1092 Add trailing newline.
1093 * doc/openacc-environment-variables.rst:
1094 Add trailing newline.
1095 * doc/openacc-environment-variables/accdevicenum.rst:
1096 Add trailing newline.
1097 * doc/openacc-environment-variables/accdevicetype.rst:
1098 Add trailing newline.
1099 * doc/openacc-environment-variables/accproflib.rst:
1100 Add trailing newline.
1101 * doc/openacc-environment-variables/gccaccnotify.rst:
1102 Add trailing newline.
1103 * doc/openacc-introduction.rst:
1104 Add trailing newline.
1105 * doc/openacc-library-and-environment-variables.rst:
1106 Add trailing newline.
1107 * doc/openacc-library-interoperability.rst:
1108 Add trailing newline.
1109 * doc/openacc-profiling-interface.rst:
1110 Add trailing newline.
1111 * doc/openacc-runtime-library-routines.rst:
1112 Add trailing newline.
1113 * doc/openacc-runtime-library-routines/accasynctest.rst:
1114 Add trailing newline.
1115 * doc/openacc-runtime-library-routines/accasynctestall.rst:
1116 Add trailing newline.
1117 * doc/openacc-runtime-library-routines/accattach.rst:
1118 Add trailing newline.
1119 * doc/openacc-runtime-library-routines/acccopyin.rst:
1120 Add trailing newline.
1121 * doc/openacc-runtime-library-routines/acccopyout.rst:
1122 Add trailing newline.
1123 * doc/openacc-runtime-library-routines/acccreate.rst:
1124 Add trailing newline.
1125 * doc/openacc-runtime-library-routines/accdelete.rst:
1126 Add trailing newline.
1127 * doc/openacc-runtime-library-routines/accdetach.rst:
1128 Add trailing newline.
1129 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
1130 Add trailing newline.
1131 * doc/openacc-runtime-library-routines/accfree.rst:
1132 Add trailing newline.
1133 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
1134 Add trailing newline.
1135 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
1136 Add trailing newline.
1137 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
1138 Add trailing newline.
1139 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
1140 Add trailing newline.
1141 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
1142 Add trailing newline.
1143 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
1144 Add trailing newline.
1145 * doc/openacc-runtime-library-routines/accgetproperty.rst:
1146 Add trailing newline.
1147 * doc/openacc-runtime-library-routines/acchostptr.rst:
1148 Add trailing newline.
1149 * doc/openacc-runtime-library-routines/accinit.rst:
1150 Add trailing newline.
1151 * doc/openacc-runtime-library-routines/accispresent.rst:
1152 Add trailing newline.
1153 * doc/openacc-runtime-library-routines/accmalloc.rst:
1154 Add trailing newline.
1155 * doc/openacc-runtime-library-routines/accmapdata.rst:
1156 Add trailing newline.
1157 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
1158 Add trailing newline.
1159 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
1160 Add trailing newline.
1161 * doc/openacc-runtime-library-routines/accondevice.rst:
1162 Add trailing newline.
1163 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
1164 Add trailing newline.
1165 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
1166 Add trailing newline.
1167 * doc/openacc-runtime-library-routines/accproflookup.rst:
1168 Add trailing newline.
1169 * doc/openacc-runtime-library-routines/accprofregister.rst:
1170 Add trailing newline.
1171 * doc/openacc-runtime-library-routines/accprofunregister.rst:
1172 Add trailing newline.
1173 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
1174 Add trailing newline.
1175 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
1176 Add trailing newline.
1177 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
1178 Add trailing newline.
1179 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
1180 Add trailing newline.
1181 * doc/openacc-runtime-library-routines/accshutdown.rst:
1182 Add trailing newline.
1183 * doc/openacc-runtime-library-routines/accunmapdata.rst:
1184 Add trailing newline.
1185 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
1186 Add trailing newline.
1187 * doc/openacc-runtime-library-routines/accupdateself.rst:
1188 Add trailing newline.
1189 * doc/openacc-runtime-library-routines/accwait.rst:
1190 Add trailing newline.
1191 * doc/openacc-runtime-library-routines/accwaitall.rst:
1192 Add trailing newline.
1193 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
1194 Add trailing newline.
1195 * doc/openacc-runtime-library-routines/accwaitasync.rst:
1196 Add trailing newline.
1197 * doc/openmp-context-selectors.rst:
1198 Add trailing newline.
1199 * doc/openmp-environment-variables.rst:
1200 Add trailing newline.
1201 * doc/openmp-environment-variables/gompcpuaffinity.rst:
1202 Add trailing newline.
1203 * doc/openmp-environment-variables/gompdebug.rst:
1204 Add trailing newline.
1205 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
1206 Add trailing newline.
1207 * doc/openmp-environment-variables/gompspincount.rst:
1208 Add trailing newline.
1209 * doc/openmp-environment-variables/gompstacksize.rst:
1210 Add trailing newline.
1211 * doc/openmp-environment-variables/ompcancellation.rst:
1212 Add trailing newline.
1213 * doc/openmp-environment-variables/ompdefaultdevice.rst:
1214 Add trailing newline.
1215 * doc/openmp-environment-variables/ompdisplayenv.rst:
1216 Add trailing newline.
1217 * doc/openmp-environment-variables/ompdynamic.rst:
1218 Add trailing newline.
1219 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
1220 Add trailing newline.
1221 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
1222 Add trailing newline.
1223 * doc/openmp-environment-variables/ompnested.rst:
1224 Add trailing newline.
1225 * doc/openmp-environment-variables/ompnumteams.rst:
1226 Add trailing newline.
1227 * doc/openmp-environment-variables/ompnumthreads.rst:
1228 Add trailing newline.
1229 * doc/openmp-environment-variables/ompplaces.rst:
1230 Add trailing newline.
1231 * doc/openmp-environment-variables/ompprocbind.rst:
1232 Add trailing newline.
1233 * doc/openmp-environment-variables/ompschedule.rst:
1234 Add trailing newline.
1235 * doc/openmp-environment-variables/ompstacksize.rst:
1236 Add trailing newline.
1237 * doc/openmp-environment-variables/omptargetoffload.rst:
1238 Add trailing newline.
1239 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
1240 Add trailing newline.
1241 * doc/openmp-environment-variables/ompthreadlimit.rst:
1242 Add trailing newline.
1243 * doc/openmp-environment-variables/ompwaitpolicy.rst:
1244 Add trailing newline.
1245 * doc/openmp-implementation-specifics.rst:
1246 Add trailing newline.
1247 * doc/openmp-implementation-status.rst:
1248 Add trailing newline.
1249 * doc/openmp-implementation-status/openmp-45.rst:
1250 Add trailing newline.
1251 * doc/openmp-implementation-status/openmp-50.rst:
1252 Add trailing newline.
1253 * doc/openmp-implementation-status/openmp-51.rst:
1254 Add trailing newline.
1255 * doc/openmp-implementation-status/openmp-52.rst:
1256 Add trailing newline.
1257 * doc/openmp-runtime-library-routines.rst:
1258 Add trailing newline.
1259 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
1260 Add trailing newline.
1261 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
1262 Add trailing newline.
1263 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
1264 Add trailing newline.
1265 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
1266 Add trailing newline.
1267 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
1268 Add trailing newline.
1269 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
1270 Add trailing newline.
1271 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
1272 Add trailing newline.
1273 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
1274 Add trailing newline.
1275 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
1276 Add trailing newline.
1277 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
1278 Add trailing newline.
1279 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
1280 Add trailing newline.
1281 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
1282 Add trailing newline.
1283 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
1284 Add trailing newline.
1285 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
1286 Add trailing newline.
1287 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
1288 Add trailing newline.
1289 * doc/openmp-runtime-library-routines/ompgetnested.rst:
1290 Add trailing newline.
1291 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
1292 Add trailing newline.
1293 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
1294 Add trailing newline.
1295 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
1296 Add trailing newline.
1297 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
1298 Add trailing newline.
1299 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
1300 Add trailing newline.
1301 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
1302 Add trailing newline.
1303 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
1304 Add trailing newline.
1305 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
1306 Add trailing newline.
1307 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
1308 Add trailing newline.
1309 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
1310 Add trailing newline.
1311 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
1312 Add trailing newline.
1313 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
1314 Add trailing newline.
1315 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
1316 Add trailing newline.
1317 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
1318 Add trailing newline.
1319 * doc/openmp-runtime-library-routines/ompinfinal.rst:
1320 Add trailing newline.
1321 * doc/openmp-runtime-library-routines/ompinitlock.rst:
1322 Add trailing newline.
1323 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
1324 Add trailing newline.
1325 * doc/openmp-runtime-library-routines/ompinparallel.rst:
1326 Add trailing newline.
1327 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
1328 Add trailing newline.
1329 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
1330 Add trailing newline.
1331 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
1332 Add trailing newline.
1333 * doc/openmp-runtime-library-routines/ompsetlock.rst:
1334 Add trailing newline.
1335 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
1336 Add trailing newline.
1337 * doc/openmp-runtime-library-routines/ompsetnested.rst:
1338 Add trailing newline.
1339 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
1340 Add trailing newline.
1341 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
1342 Add trailing newline.
1343 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
1344 Add trailing newline.
1345 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
1346 Add trailing newline.
1347 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
1348 Add trailing newline.
1349 * doc/openmp-runtime-library-routines/omptestlock.rst:
1350 Add trailing newline.
1351 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
1352 Add trailing newline.
1353 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
1354 Add trailing newline.
1355 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
1356 Add trailing newline.
1357 * doc/reporting-bugs.rst:
1358 Add trailing newline.
1359 * doc/the-libgomp-abi.rst:
1360 Add trailing newline.
1361 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
1362 Add trailing newline.
1363 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
1364 Add trailing newline.
1365 * doc/the-libgomp-abi/implementing-critical-construct.rst:
1366 Add trailing newline.
1367 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1368 Add trailing newline.
1369 * doc/the-libgomp-abi/implementing-flush-construct.rst:
1370 Add trailing newline.
1371 * doc/the-libgomp-abi/implementing-for-construct.rst:
1372 Add trailing newline.
1373 * doc/the-libgomp-abi/implementing-master-construct.rst:
1374 Add trailing newline.
1375 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
1376 Add trailing newline.
1377 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
1378 Add trailing newline.
1379 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
1380 Add trailing newline.
1381 * doc/the-libgomp-abi/implementing-private-clause.rst:
1382 Add trailing newline.
1383 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
1384 Add trailing newline.
1385 * doc/the-libgomp-abi/implementing-sections-construct.rst:
1386 Add trailing newline.
1387 * doc/the-libgomp-abi/implementing-single-construct.rst:
1388 Add trailing newline.
1389 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
1390 Add trailing newline.
1391
1392 2022-11-09 Martin Liska <mliska@suse.cz>
1393
1394 * Makefile.in: Build info pages conditionally.
1395
1396 2022-11-09 Martin Liska <mliska@suse.cz>
1397
1398 * Makefile.in: Support --with-sphinx-build.
1399 * configure.ac: Likewise..
1400 * configure: Regenerate.
1401
1402 2022-11-09 Martin Liska <mliska@suse.cz>
1403
1404 * libgomp.texi: Removed.
1405
1406 2022-11-09 Martin Liska <mliska@suse.cz>
1407
1408 * Makefile.in: Support Sphinx based documentation.
1409
1410 2022-11-09 Martin Liska <mliska@suse.cz>
1411
1412 * doc/amd-radeon-gcn.rst: New file.
1413 * doc/conf.py: New file.
1414 * doc/copyright.rst: New file.
1415 * doc/cuda-streams-usage.rst: New file.
1416 * doc/enabling-openacc.rst: New file.
1417 * doc/enabling-openmp.rst: New file.
1418 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1419 * doc/first-invocation-openacc-library-api.rst: New file.
1420 * doc/funding.rst: New file.
1421 * doc/general-public-license-3.rst: New file.
1422 * doc/gnu-free-documentation-license.rst: New file.
1423 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1424 * doc/index.rst: New file.
1425 * doc/indices-and-tables.rst: New file.
1426 * doc/introduction.rst: New file.
1427 * doc/memory-allocation-with-libmemkind.rst: New file.
1428 * doc/nvptx.rst: New file.
1429 * doc/offload-target-specifics.rst: New file.
1430 * doc/openacc-environment-variables.rst: New file.
1431 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1432 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1433 * doc/openacc-environment-variables/accproflib.rst: New file.
1434 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1435 * doc/openacc-introduction.rst: New file.
1436 * doc/openacc-library-and-environment-variables.rst: New file.
1437 * doc/openacc-library-interoperability.rst: New file.
1438 * doc/openacc-profiling-interface.rst: New file.
1439 * doc/openacc-runtime-library-routines.rst: New file.
1440 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1441 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1442 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1443 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1444 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1445 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1446 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1447 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1448 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1449 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1450 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1451 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1452 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1453 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1454 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1455 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1456 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1457 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1458 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1459 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1460 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1461 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1462 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1463 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1464 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1465 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1466 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1467 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1468 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1469 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1470 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1471 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1472 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1473 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1474 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1475 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1476 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1477 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1478 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1479 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1480 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1481 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1482 * doc/openmp-context-selectors.rst: New file.
1483 * doc/openmp-environment-variables.rst: New file.
1484 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1485 * doc/openmp-environment-variables/gompdebug.rst: New file.
1486 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1487 * doc/openmp-environment-variables/gompspincount.rst: New file.
1488 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1489 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1490 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1491 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1492 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1493 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1494 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1495 * doc/openmp-environment-variables/ompnested.rst: New file.
1496 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1497 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1498 * doc/openmp-environment-variables/ompplaces.rst: New file.
1499 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1500 * doc/openmp-environment-variables/ompschedule.rst: New file.
1501 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1502 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1503 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1504 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1505 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1506 * doc/openmp-implementation-specifics.rst: New file.
1507 * doc/openmp-implementation-status.rst: New file.
1508 * doc/openmp-implementation-status/openmp-45.rst: New file.
1509 * doc/openmp-implementation-status/openmp-50.rst: New file.
1510 * doc/openmp-implementation-status/openmp-51.rst: New file.
1511 * doc/openmp-implementation-status/openmp-52.rst: New file.
1512 * doc/openmp-runtime-library-routines.rst: New file.
1513 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1514 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1515 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1516 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1517 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1518 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1519 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1520 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1521 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1522 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1523 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1524 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1525 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1526 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1527 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1528 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1529 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1530 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1531 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1532 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1533 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1534 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1535 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1536 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1537 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1538 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1539 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1540 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1541 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1542 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1543 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1544 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1545 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1546 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1547 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1548 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1549 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1550 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1551 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1552 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1553 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1554 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1555 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1556 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1557 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1558 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1559 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1560 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1561 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1562 * doc/reporting-bugs.rst: New file.
1563 * doc/the-libgomp-abi.rst: New file.
1564 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1565 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1566 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1567 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1568 New file.
1569 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1570 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1571 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1572 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1573 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1574 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1575 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1576 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1577 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1578 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1579 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1580
1581 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
1582
1583 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
1584 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
1585 documentation.
1586 * plugin/configfrag.ac <enable_offload_targets>
1587 [*-intelmic-* | *-intelmicemul-*]: Remove.
1588 * configure: Regenerate.
1589 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
1590 handling.
1591 (offload_target_to_openacc_device_type)
1592 [$offload_target = *-intelmic*]: Remove.
1593 (check_effective_target_offload_device_intel_mic)
1594 (check_effective_target_offload_device_any_intel_mic): Remove.
1595 * testsuite/libgomp.c-c++-common/on_device_arch.h
1596 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
1597 (any_device_arch_intel_mic): Remove.
1598 * testsuite/libgomp.c-c++-common/target-45.c: Remove
1599 'offload_device_any_intel_mic' XFAIL.
1600 * testsuite/libgomp.fortran/target10.f90: Likewise.
1601
1602 2022-11-03 Tobias Burnus <tobias@codesourcery.com>
1603
1604 * testsuite/libgomp.fortran/target-11.f90: New test.
1605 * testsuite/libgomp.fortran/target-13.f90: New test.
1606
1607 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
1608
1609 PR libgomp/106643
1610 PR fortran/96668
1611 * oacc-mem.c (goacc_enter_data_internal): Support
1612 OpenACC 'declare create' with Fortran allocatable arrays, part II.
1613 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
1614 Adjust.
1615 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
1616
1617 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
1618
1619 PR libgomp/106643
1620 * oacc-mem.c (goacc_enter_data_internal): Support
1621 OpenACC 'declare create' with Fortran allocatable arrays, part I.
1622 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
1623 New.
1624 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
1625 New.
1626
1627 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
1628
1629 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
1630 New.
1631
1632 2022-11-02 Thomas Schwinge <thomas@codesourcery.com>
1633
1634 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
1635 New.
1636
1637 2022-11-02 Cesar Philippidis <cesar@codesourcery.com>
1638 Thomas Schwinge <thomas@codesourcery.com>
1639
1640 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
1641
1642 2022-10-28 Julian Brown <julian@codesourcery.com>
1643 Thomas Schwinge <thomas@codesourcery.com>
1644
1645 PR middle-end/90115
1646 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
1647 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1648 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1649 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1650 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1651
1652 2022-10-24 Thomas Schwinge <thomas@codesourcery.com>
1653
1654 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
1655 'ptx_dev->rev_data'.
1656
1657 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
1658
1659 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
1660 'static' for this variable.
1661 * config/nvptx/libgomp-nvptx.h: New file.
1662 * config/nvptx/target.c: Include it.
1663 (GOMP_ADDITIONAL_ICVS): Declare extern var.
1664 (GOMP_REV_OFFLOAD_VAR): Declare var.
1665 (GOMP_target_ext): Handle reverse offload.
1666 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
1667 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
1668 * target.c (gomp_target_rev): ... this new stub function.
1669 * libgomp.h (gomp_target_rev): Declare.
1670 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
1671 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
1672 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
1673 (struct ptx_device): Add rev_data member.
1674 (nvptx_open_device): Remove async_engines query, last used in
1675 r10-304-g1f4c5b9b; add unified-address assert check.
1676 (GOMP_OFFLOAD_get_num_devices): Claim unified address
1677 support.
1678 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
1679 offload functions exist. Make offload var available
1680 on host and device.
1681 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
1682 (GOMP_OFFLOAD_run): Handle reverse offload.
1683
1684 2022-10-21 Thomas Schwinge <thomas@codesourcery.com>
1685
1686 PR tree-optimization/107195
1687 PR target/107344
1688 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
1689 regions checking.
1690
1691 2022-10-20 Tobias Burnus <tobias@codesourcery.com>
1692
1693 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
1694 New.
1695 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
1696 on_device_arch_gcn): New.
1697 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
1698 requires-4.c but using heap-allocated memory.
1699
1700 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
1701
1702 PR target/105421
1703 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
1704
1705 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
1706
1707 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
1708 '-foffload-options' syntax.
1709
1710 2022-10-13 Tobias Burnus <tobias@codesourcery.com>
1711
1712 * testsuite/libgomp.fortran/task-7.f90: New test.
1713 * testsuite/libgomp.fortran/task-8.f90: New test.
1714 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
1715 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
1716 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
1717 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
1718 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
1719
1720 2022-10-12 Jakub Jelinek <jakub@redhat.com>
1721
1722 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
1723 in deprecation bullet.
1724
1725 2022-10-12 Jakub Jelinek <jakub@redhat.com>
1726
1727 * omp.h.in (omp_in_explicit_task): Declare.
1728 * omp_lib.h.in (omp_in_explicit_task): Likewise.
1729 * omp_lib.f90.in (omp_in_explicit_task): New interface.
1730 * libgomp.map (OMP_5.2): New symbol version, export
1731 omp_in_explicit_task and omp_in_explicit_task_.
1732 * task.c (omp_in_explicit_task): New function.
1733 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
1734 (omp_in_explicit_task_): New function.
1735 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
1736 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
1737 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
1738 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
1739
1740 2022-10-12 Jakub Jelinek <jakub@redhat.com>
1741
1742 * task.c (gomp_create_artificial_team): Fix up handling of invocations
1743 from within explicit task.
1744 * target.c (GOMP_target_ext): Likewise.
1745 * testsuite/libgomp.c/task-7.c: New test.
1746 * testsuite/libgomp.c/task-8.c: New test.
1747 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
1748 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
1749
1750 2022-10-12 Martin Liska <mliska@suse.cz>
1751
1752 * configure: Regenerate.
1753
1754 2022-10-11 Olivier Hainque <hainque@adacore.com>
1755 Olivier Hainque <hainque@adacore.com>
1756
1757 * configure: Regenerate.
1758
1759 2022-10-05 Tobias Burnus <tobias@codesourcery.com>
1760
1761 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
1762
1763 2022-10-04 Jakub Jelinek <jakub@redhat.com>
1764
1765 * libgomp.texi (Support begin/end declare target syntax in C/C++):
1766 Mark as implemented.
1767
1768 2022-09-30 Tobias Burnus <tobias@codesourcery.com>
1769
1770 PR fortran/105318
1771 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
1772
1773 2022-09-28 Tobias Burnus <tobias@codesourcery.com>
1774
1775 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
1776 for C/C++. Remove duplicated 'begin declare target' entry.
1777
1778 2022-09-24 Jakub Jelinek <jakub@redhat.com>
1779
1780 PR c/106981
1781 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
1782
1783 2022-09-14 Julian Brown <julian@codesourcery.com>
1784
1785 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
1786 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
1787 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
1788 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
1789 test to here, make "run" test.
1790
1791 2022-09-13 Jakub Jelinek <jakub@redhat.com>
1792
1793 PR libgomp/106906
1794 * env.c (get_icv_member_addr): Cast false to void * before assigning
1795 it to icv_addr[1], and comment the whole assignment out.
1796
1797 2022-09-13 Tobias Burnus <tobias@codesourcery.com>
1798
1799 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
1800 (nvptx): ... here.
1801
1802 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
1803
1804 * libgomp.texi (Offload-Target Specifics: nvptx): Document
1805 that reverse offload requires >= -march=sm_35.
1806 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
1807 with -misa=sm_35.
1808 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
1809 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
1810 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
1811 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
1812 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
1813
1814 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
1815
1816 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
1817 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
1818
1819 2022-09-12 Jakub Jelinek <jakub@redhat.com>
1820
1821 PR libgomp/106894
1822 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
1823 (main): Avoid tests for which corresponding non-_ALL suffixed variable
1824 is in the environment, or for OMP_NUM_TEAMS on the device
1825 OMP_NUM_TEAMS_DEV_?.
1826
1827 2022-09-10 Iain Sandoe <iain@sandoe.co.uk>
1828
1829 * env.c (initialize_env): Include libiberty environ.h.
1830
1831 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
1832
1833 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
1834 function address table '$offload_func_table' if rev_fn_table
1835 is not NULL.
1836
1837 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
1838
1839 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
1840 .offload_func_table to populate rev_fn_table when requested.
1841
1842 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
1843
1844 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
1845 'uint64_t **rev_fn_table' argument.
1846 * oacc-host.c (host_load_image): Likewise.
1847 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
1848 currently unused.
1849 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1850 * target.c (gomp_load_image_to_device): Update call but pass
1851 NULL for now.
1852
1853 2022-09-09 Jakub Jelinek <jakub@redhat.com>
1854
1855 PR libgomp/106894
1856 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
1857 char * for dest[1] initialization from params[1]. Formatting fixes.
1858
1859 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
1860
1861 PR fortran/106670
1862 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
1863
1864 2022-09-08 Tobias Burnus <tobias@codesourcery.com>
1865
1866 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
1867 section; move OpenMP Context Selectors from ...
1868 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
1869 'nvptx' sections.
1870
1871 2022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
1872
1873 * config/gcn/icv-device.c (omp_get_default_device): Return device-
1874 specific ICV.
1875 (omp_get_max_teams): Added for GCN devices.
1876 (omp_set_num_teams): Likewise.
1877 (ialias): Likewise.
1878 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
1879 specific ICV.
1880 (omp_get_max_teams): Added for NVPTX devices.
1881 (omp_set_num_teams): Likewise.
1882 (ialias): Likewise.
1883 * env.c (struct gomp_icv_list): New struct to store entries of initial
1884 ICV values.
1885 (struct gomp_offload_icv_list): New struct to store entries of device-
1886 specific ICV values that are copied to the device and back.
1887 (struct gomp_default_icv_values): New struct to store default values of
1888 ICVs according to the OpenMP standard.
1889 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
1890 (print_env_var_error): Function that prints an error for invalid values
1891 for ICVs.
1892 (parse_unsigned_long_1): Removed getenv. Generalized.
1893 (parse_unsigned_long): Likewise.
1894 (parse_int_1): Likewise.
1895 (parse_int): Likewise.
1896 (parse_int_secure): Likewise.
1897 (parse_unsigned_long_list): Likewise.
1898 (parse_target_offload): Likewise.
1899 (parse_bind_var): Likewise.
1900 (parse_stacksize): Likewise.
1901 (parse_boolean): Likewise.
1902 (parse_wait_policy): Likewise.
1903 (parse_allocator): Likewise.
1904 (omp_display_env): Extended to output different variants of environment
1905 variables.
1906 (print_schedule): New helper function for omp_display_env which prints
1907 the values of run_sched_var.
1908 (print_proc_bind): New helper function for omp_display_env which prints
1909 the values of proc_bind_var.
1910 (enum gomp_parse_type): Collection of types used for parsing environment
1911 variables.
1912 (ENTRY): Preprocess string lengths of environment variables.
1913 (OMP_VAR_CNT): Preprocess table size.
1914 (OMP_HOST_VAR_CNT): Likewise.
1915 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
1916 number.
1917 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
1918 (gomp_set_icv_flag): Sets a flag for a particular ICV.
1919 (print_device_specific_icvs): New helper function for omp_display_env to
1920 print device specific ICV values.
1921 (get_device_num): New helper function for parse_device_specific.
1922 Extracts the device number from an environment variable name.
1923 (get_icv_member_addr): Gets the memory address for a particular member
1924 of an ICV struct.
1925 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
1926 (initialize_icvs): New function to initialize a gomp_initial_icvs
1927 struct.
1928 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
1929 (startswith): Checks if a string starts with a given prefix.
1930 (initialize_env): Extended to parse the new syntax of environment
1931 variables.
1932 * icv-device.c (omp_get_max_teams): Added.
1933 (ialias): Likewise.
1934 (omp_set_num_teams): Likewise.
1935 * icv.c (omp_set_num_teams): Moved to icv-device.c.
1936 (omp_get_max_teams): Likewise.
1937 (ialias): Likewise.
1938 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
1939 (GOMP_ADDITIONAL_ICVS): New target-side struct that
1940 holds the designated ICVs of the target device.
1941 * libgomp.h (enum gomp_icvs): Collection of ICVs.
1942 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
1943 no suffix.
1944 (enum gomp_env_suffix): Collection of possible suffixes of environment
1945 variables.
1946 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
1947 initial values.
1948 (struct gomp_default_icv):New struct to hold ICVs for which we need
1949 to store initial values.
1950 (struct gomp_icv_list): Definition of a linked list that is used for
1951 storing ICVs for the devices and also for _DEV, _ALL, and without
1952 suffix.
1953 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
1954 a device.
1955 (struct gomp_offload_icv_list): Definition of a linked list that holds
1956 device-specific ICVs that are copied to devices.
1957 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
1958 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
1959 * libgomp.texi: Updated.
1960 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
1961 further ICVs from the offload image.
1962 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
1963 * target.c (gomp_get_offload_icv_item): Get a list item of
1964 gomp_offload_icv_list.
1965 (get_gomp_offload_icvs): New. Returns the ICV values
1966 depending on the device num and the variable hierarchy.
1967 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
1968 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
1969 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
1970 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
1971 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
1972 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
1973 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
1974
1975 2022-09-08 Jakub Jelinek <jakub@redhat.com>
1976
1977 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
1978 fully supported.
1979 * testsuite/libgomp.c/doacross-4.c: New test.
1980 * testsuite/libgomp.c/doacross-5.c: New test.
1981 * testsuite/libgomp.c/doacross-6.c: New test.
1982 * testsuite/libgomp.c/doacross-7.c: New test.
1983
1984 2022-09-05 Tobias Burnus <tobias@codesourcery.com>
1985
1986 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
1987
1988 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
1989
1990 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
1991 refer to 'requires'.
1992 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
1993 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
1994 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
1995 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
1996
1997 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
1998
1999 PR middle-end/106548
2000 * testsuite/libgomp.c/linear-2.c: New test.
2001
2002 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
2003
2004 * splay-tree.h: Fix splay_* macro unsetting if
2005 splay_tree_prefix is defined.
2006
2007 2022-07-29 Tobias Burnus <tobias@codesourcery.com>
2008
2009 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
2010
2011 2022-07-29 Jakub Jelinek <jakub@redhat.com>
2012
2013 PR middle-end/106449
2014 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
2015
2016 2022-07-12 Tobias Burnus <tobias@codesourcery.com>
2017
2018 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
2019
2020 2022-07-12 Thomas Schwinge <thomas@codesourcery.com>
2021
2022 PR middle-end/101551
2023 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
2024 'offloading_enabled' diagnostics issue.
2025
2026 2022-07-11 Thomas Schwinge <thomas@codesourcery.com>
2027
2028 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
2029 '_Pragma' diagnostics verification.
2030
2031 2022-07-10 Lewis Hyatt <lhyatt@gmail.com>
2032
2033 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
2034 improved warning locations.
2035 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
2036
2037 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
2038
2039 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
2040 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
2041 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2042 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2043 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2044
2045 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2046
2047 * target.c (GOMP_offload_register, GOMP_offload_unregister):
2048 Denote as legacy entry points.
2049 * testsuite/lib/libgomp.exp
2050 (check_effective_target_offload_target_any): New proc.
2051 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
2052 'offload_target_any'.
2053 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2054 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2055 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2056
2057 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2058
2059 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
2060 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2061
2062 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2063
2064 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
2065
2066 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
2067
2068 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
2069 'data'.
2070 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
2071
2072 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
2073 Jakub Jelinek <jakub@redhat.com>
2074
2075 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
2076
2077 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
2078 Chung-Lin Tang <cltang@codesourcery.com>
2079 Thomas Schwinge <thomas@codesourcery.com>
2080
2081 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
2082 omp_requires_mask arg.
2083 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
2084 return -1 when device available but omp_requires_mask != 0.
2085 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
2086 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
2087 Update call.
2088 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
2089 goacc_attach_host_thread_to_device, acc_get_num_devices,
2090 acc_set_device_num, get_property_any): Likewise.
2091 * target.c (omp_requires_mask): New global var.
2092 (gomp_requires_to_name): New.
2093 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
2094 (gomp_target_init): Handle omp_requires_mask.
2095 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
2096 (OpenMP 5.1): Add a missed item.
2097 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
2098 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
2099 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
2100 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
2101 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
2102 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
2103 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
2104 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
2105 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
2106 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
2107 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
2108 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
2109 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
2110 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
2111 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
2112 * testsuite/libgomp.fortran/requires-1.f90: New test.
2113
2114 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
2115
2116 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
2117 with fromto as implemented.
2118
2119 2022-06-28 Martin Liska <mliska@suse.cz>
2120
2121 * acinclude.m4: Fix typo in mold linker detection.
2122 * Makefile.in: Regenerate.
2123 * configure: Regenerate.
2124
2125 2022-06-21 Jakub Jelinek <jakub@redhat.com>
2126 Paul Iannetta <piannetta@kalrayinc.com>
2127
2128 PR libgomp/106045
2129 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
2130
2131 2022-06-17 Martin Liska <mliska@suse.cz>
2132
2133 * libgomp.texi: Add table header for new features of
2134 OpenMP 5.2.
2135
2136 2022-06-15 Jakub Jelinek <jakub@redhat.com>
2137
2138 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
2139 q to ddress of an automatic variable. Use -5 instead of -1 in
2140 omp_get_mapped_ptr call. Add test with omp_initial_device.
2141 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
2142 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
2143 Renumber stop arguments afterwards.
2144
2145 2022-06-13 Jakub Jelinek <jakub@redhat.com>
2146
2147 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
2148 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
2149 parameters.
2150 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
2151 * target.c (resolve_device): Add remapped argument, handle
2152 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
2153 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
2154 if remapped, otherwise treat omp_initial_device that way. For
2155 omp_invalid_device, always emit gomp_fatal, even when
2156 OMP_TARGET_OFFLOAD isn't mandatory.
2157 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
2158 GOMP_target_update, GOMP_target_update_ext,
2159 GOMP_target_enter_exit_data): Pass true as remapped argument to
2160 resolve_device.
2161 (omp_target_alloc, omp_target_free, omp_target_is_present,
2162 omp_target_memcpy_check, omp_target_associate_ptr,
2163 omp_target_disassociate_ptr, omp_get_mapped_ptr,
2164 omp_target_is_accessible): Pass false as remapped argument to
2165 resolve_device. Treat omp_initial_device the same as
2166 gomp_get_num_devices (). Don't bypass resolve_device calls if
2167 device_num is negative.
2168 (omp_pause_resource): Treat omp_initial_device the same as
2169 gomp_get_num_devices (). Call resolve_device.
2170 * icv-device.c (omp_set_default_device): Always set to device_num
2171 even when it is negative.
2172 * libgomp.texi: Document that Conforming device numbers,
2173 omp_initial_device and omp_invalid_device is implemented.
2174 * testsuite/libgomp.c/target-41.c (main): Add test with
2175 omp_initial_device.
2176 * testsuite/libgomp.c/target-45.c: New test.
2177 * testsuite/libgomp.c/target-46.c: New test.
2178 * testsuite/libgomp.c/target-47.c: New test.
2179 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
2180 test with omp_initial_device. Use -5 instead of -1 for negative value
2181 test.
2182 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
2183 Likewise. Reorder stop numbers.
2184
2185 2022-06-10 Jakub Jelinek <jakub@redhat.com>
2186
2187 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
2188 rather than "libmemkind.so".
2189
2190 2022-06-10 Thomas Schwinge <thomas@codesourcery.com>
2191
2192 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
2193 * plugin/configfrag.ac (--with-cuda-driver)
2194 (--with-cuda-driver-include, --with-cuda-driver-lib)
2195 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
2196 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
2197 Remove.
2198 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
2199 (cuda_driver_lib): Remove.
2200 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
2201 * Makefile.in: Regenerate.
2202 * configure: Likewise.
2203 * testsuite/Makefile.in: Likewise.
2204
2205 2022-06-09 Jakub Jelinek <jakub@redhat.com>
2206
2207 * config/linux/allocator.c: Fix up #include directive.
2208
2209 2022-06-09 Jakub Jelinek <jakub@redhat.com>
2210
2211 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
2212 (enum gomp_memkind_kind): New type.
2213 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
2214 is defined.
2215 (struct gomp_memkind_data): New type.
2216 (memkind_data, memkind_data_once): New variables.
2217 (gomp_init_memkind, gomp_get_memkind): New functions.
2218 (omp_init_allocator): Initialize data.memkind, don't fail for
2219 omp_high_bw_mem_space if libmemkind supports it.
2220 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
2221 memkind support of LIBGOMP_USE_MEMKIND is defined.
2222 * config/linux/allocator.c: New file.
2223
2224 2022-06-03 Tobias Burnus <tobias@codesourcery.com>
2225
2226 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
2227 * testsuite/libgomp.fortran/scope-2.f90: New test.
2228
2229 2022-06-02 David Malcolm <dmalcolm@redhat.com>
2230
2231 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
2232
2233 2022-05-31 Jakub Jelinek <jakub@redhat.com>
2234
2235 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
2236 scope construct with allocate clause.
2237 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
2238 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
2239
2240 2022-05-28 Tobias Burnus <tobias@codesourcery.com>
2241
2242 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
2243 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
2244 explicit 'to' and 'enter' clause.
2245 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
2246
2247 2022-05-28 Jakub Jelinek <jakub@redhat.com>
2248
2249 PR libgomp/105745
2250 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
2251 defined(HAVE__ALIGNED_MALLOC) case.
2252 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
2253 handling as last option before fallback instead of first.
2254 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
2255 _aligned_free.
2256
2257 2022-05-27 Jakub Jelinek <jakub@redhat.com>
2258
2259 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
2260 clauses to enter.
2261 * testsuite/libgomp.c/target-41.c: Likewise.
2262
2263 2022-05-27 Tobias Burnus <tobias@codesourcery.com>
2264
2265 * libgomp.texi (Other new OpenMP 5.1 features): Add
2266 'begin declare target'.
2267 (Other new OpenMP 5.2 features): New.
2268
2269 2022-05-25 Jakub Jelinek <jakub@redhat.com>
2270
2271 * task.c (gomp_task_run_post_handle_dependers): If empty_task
2272 is the last task taskwait depend depends on, wake it up.
2273 Similarly if it is the last child of a taskgroup, use atomic
2274 store instead of decrement and awak taskgroup wait if any.
2275 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
2276
2277 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
2278
2279 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2280 EF_AMDGPU_MACH_AMDGCN_GFX90a.
2281 (gcn_gfx90a_s): New.
2282 (isa_hsa_name): Support gfx90a.
2283 (isa_code): Likewise.
2284
2285 2022-05-24 Tobias Burnus <tobias@codesourcery.com>
2286
2287 PR c/105378
2288 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
2289 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
2290
2291 2022-05-24 Jakub Jelinek <jakub@redhat.com>
2292
2293 PR c/105378
2294 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
2295 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
2296 * task.c (empty_task): New function.
2297 (gomp_task_run_post_handle_depend_hash): Declare earlier.
2298 (gomp_task_run_post_handle_depend): Declare.
2299 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
2300 for.
2301 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
2302 (GOMP_taskwait_depend_nowait): New function.
2303 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
2304
2305 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
2306
2307 PR fortran/104949
2308 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
2309 Support attach for GOMP_MAP_FIRSTPRIVATE.
2310 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
2311 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
2312 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
2313
2314 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
2315
2316 * libgomp.map: Added omp_target_memcpy_async and
2317 omp_target_memcpy_rect_async.
2318 * libgomp.texi: Both functions are now supported.
2319 * omp.h.in: Added omp_target_memcpy_async and
2320 omp_target_memcpy_rect_async.
2321 * omp_lib.f90.in: Added interfaces for both new functions.
2322 * omp_lib.h.in: Likewise.
2323 * target.c (ialias_redirect): Added for GOMP_task.
2324 (omp_target_memcpy): Restructured into check and copy part.
2325 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
2326 omp_target_memcpy_async that checks requirements.
2327 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
2328 omp_target_memcpy_async that performs the memcpy.
2329 (omp_target_memcpy_async_helper): New helper function that is used in
2330 omp_target_memcpy_async for the asynchronous task.
2331 (omp_target_memcpy_async): Added.
2332 (omp_target_memcpy_rect): Restructured into check and copy part.
2333 (omp_target_memcpy_rect_check): New helper function for
2334 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
2335 requirements.
2336 (omp_target_memcpy_rect_copy): New helper function for
2337 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
2338 the memcpy.
2339 (omp_target_memcpy_rect_async_helper): New helper function that is used
2340 in omp_target_memcpy_rect_async for the asynchronous task.
2341 (omp_target_memcpy_rect_async): Added.
2342 * task.c (ialias): Added for GOMP_task.
2343 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
2344 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
2345 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
2346 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
2347 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
2348 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
2349 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
2350 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
2351
2352 2022-05-18 Tobias Burnus <tobias@codesourcery.com>
2353
2354 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
2355 (OpenMP Context Selectors): Add missing comma.
2356 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
2357 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
2358 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
2359 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
2360
2361 2022-05-17 Jakub Jelinek <jakub@redhat.com>
2362
2363 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
2364 comment for omp_display_env feature.
2365
2366 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2367
2368 * libgomp.texi (Offload-Target Specifics): New chapter; add section
2369 to document OpenMP context selectors.
2370
2371 2022-05-17 Jakub Jelinek <jakub@redhat.com>
2372
2373 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
2374 from bool to unsigned char.
2375 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
2376 Ignore dependencies where
2377 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
2378 rather than just task->depend[i].is_in && ent->is_in. Remember
2379 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
2380 conditional.
2381 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
2382 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
2383 rather than just elem.is_in && ent->is_in.
2384 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
2385 inoutset depend-kind.
2386 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
2387 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
2388 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
2389
2390 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2391
2392 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
2393
2394 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
2395
2396 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
2397 * testsuite/libgomp.fortran/depend-5.f90: New test.
2398 * testsuite/libgomp.fortran/depend-6.f90: New test.
2399 * testsuite/libgomp.fortran/depend-7.f90: New test.
2400
2401 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
2402
2403 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
2404 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
2405 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
2406
2407 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
2408
2409 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
2410
2411 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
2412
2413 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
2414
2415 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
2416
2417 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
2418 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
2419 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
2420 append '$(PLUGIN_NVPTX_LDFLAGS)'.
2421 * Makefile.in: Regenerate.
2422
2423 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
2424
2425 * Makefile.am (libgomp_la_LIBADD): Initialize.
2426 * plugin/configfrag.ac (DL_LIBS): New.
2427 (PLUGIN_GCN_LIBS): Remove.
2428 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
2429 * plugin/Makefrag.am (libgomp_la_LIBADD)
2430 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
2431 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
2432 * Makefile.in: Regenerate.
2433 * config.h.in: Likewise.
2434 * configure: Likewise.
2435 * testsuite/Makefile.in: Likewise.
2436
2437 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
2438
2439 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
2440 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
2441 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
2442 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
2443 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
2444 'PLUGIN_NVPTX_LINK_LIBCUDA'.
2445 * Makefile.in: Regenerate.
2446 * config.h.in: Likewise.
2447 * configure: Likewise.
2448
2449 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
2450
2451 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
2452 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
2453 * Makefile.in: Regenerate.
2454 * config.h.in: Likewise.
2455 * configure: Likewise.
2456 * testsuite/Makefile.in: Likewise.
2457
2458 2022-05-12 Jakub Jelinek <jakub@redhat.com>
2459
2460 * libgomp.h (struct gomp_task): Add depend_all_memory member.
2461 * task.c (gomp_init_task): Initialize depend_all_memory.
2462 (gomp_task_handle_depend): Handle omp_all_memory.
2463 (gomp_task_run_post_handle_depend_hash): Clear
2464 parent->depend_all_memory if equal to current task.
2465 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
2466 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
2467 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
2468 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
2469
2470 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
2471
2472 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
2473 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
2474 * Makefile.in: Regenerate.
2475 * configure: Likewise.
2476 * testsuite/Makefile.in: Likewise.
2477
2478 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
2479
2480 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
2481 consider 'PLUGIN_GCN_CPPFLAGS'.
2482 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
2483 'PLUGIN_GCN_LDFLAGS'.
2484 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
2485 Remove.
2486 * Makefile.in: Regenerate.
2487 * configure: Likewise.
2488 * testsuite/Makefile.in: Likewise.
2489
2490 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
2491
2492 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
2493 (HSA_RUNTIME_LDFLAGS): Remove.
2494 * configure: Regenerate.
2495
2496 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
2497
2498 * testsuite/lib/libgomp.exp (libgomp_init): Don't
2499 'append always_ld_library_path ":$hsa_runtime_lib"'.
2500 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
2501
2502 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
2503
2504 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
2505 multi-device testing.
2506
2507 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
2508
2509 * libgomp.map: Added omp_target_is_accessible.
2510 * libgomp.texi: Tagged omp_target_is_accessible as supported.
2511 * omp.h.in: Added omp_target_is_accessible.
2512 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
2513 * omp_lib.h.in: Likewise.
2514 * target.c (omp_target_is_accessible): Added implementation of
2515 omp_target_is_accessible.
2516 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
2517 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
2518
2519 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
2520
2521 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
2522
2523 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
2524
2525 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
2526
2527 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
2528
2529 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
2530
2531 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
2532
2533 * libgomp.map: Added omp_get_mapped_ptr.
2534 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
2535 * omp.h.in: Added omp_get_mapped_ptr.
2536 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
2537 * omp_lib.h.in: Likewise.
2538 * target.c (omp_get_mapped_ptr): Added implementation of
2539 omp_get_mapped_ptr.
2540 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
2541 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
2542 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
2543 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
2544 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
2545 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
2546 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
2547 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
2548
2549 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
2550
2551 PR fortran/104717
2552 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
2553 privatization scanning. For GCN offloading compilation, raise
2554 '-mgang-private-size'.
2555
2556 2022-04-26 Jakub Jelinek <jakub@redhat.com>
2557
2558 PR libgomp/105358
2559 * work.c (gomp_init_work_share): Don't mask of adjustment for
2560 dynamic long long realignment if struct gomp_work_share has smaller
2561 alignof than long long.
2562 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
2563 struct gomp_work_share has smaller alignof than long long or if
2564 sizeof (struct gomp_work_share) is smaller than
2565 INLINE_ORDERED_TEAM_IDS_OFF.
2566 * loop_ull.c (GOMP_loop_ull_start): Likewise.
2567 * sections.c (GOMP_sections2_start): Likewise.
2568
2569 2022-04-25 Jakub Jelinek <jakub@redhat.com>
2570 Thomas Schwinge <thomas@codesourcery.com>
2571
2572 PR fortran/104717
2573 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
2574
2575 2022-04-13 Jakub Jelinek <jakub@redhat.com>
2576
2577 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
2578
2579 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
2580
2581 * plugin/cuda/cuda.h: Remove file.
2582 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
2583 "cuda/cuda.h" instead of <cuda.h>.
2584 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
2585 'PLUGIN_NVPTX_CPPFLAGS'.
2586 * configure: Regenerate.
2587
2588 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
2589
2590 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
2591
2592 2022-04-04 Tom de Vries <tdevries@suse.de>
2593
2594 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
2595 on_device_arch_nvptx instead of offload_target_nvptx.
2596 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2597
2598 2022-04-01 Tom de Vries <tdevries@suse.de>
2599
2600 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
2601 and use REC_DEPTH.
2602 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2603
2604 2022-04-01 Tom de Vries <tdevries@suse.de>
2605
2606 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
2607 num_workers check.
2608
2609 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2610 Lulu Cheng <chenglulu@loongson.cn>
2611
2612 * configure.tgt: Add LoongArch triplet.
2613
2614 2022-03-28 Tom de Vries <tdevries@suse.de>
2615
2616 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
2617 instead of /libexec/.
2618 * configure: Regenerate.
2619
2620 2022-03-25 Tom de Vries <tdevries@suse.de>
2621
2622 PR libgomp/105042
2623 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
2624 execution time.
2625 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
2626 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
2627
2628 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
2629
2630 PR middle-end/104285
2631 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
2632 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
2633 * testsuite/libgomp.c++/target-same-name-2.C: New test.
2634 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
2635 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
2636 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
2637
2638 2022-03-22 Tom de Vries <tdevries@suse.de>
2639
2640 PR target/104916
2641 PR target/104783
2642 * testsuite/libgomp.c/pr104783-2.c: New test.
2643
2644 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
2645
2646 PR fortran/103039
2647 * testsuite/libgomp.fortran/associate4.f90: New test.
2648
2649 2022-03-18 Tom de Vries <tdevries@suse.de>
2650
2651 PR target/104952
2652 * testsuite/libgomp.c/pr104952-1.c: New test.
2653 * testsuite/libgomp.c/pr104952-2.c: New test.
2654
2655 2022-03-18 Jakub Jelinek <jakub@redhat.com>
2656
2657 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
2658 variable next to pl variable.
2659
2660 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
2661
2662 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2663 Enhance.
2664 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
2665 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2666
2667 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
2668
2669 PR middle-end/90115
2670 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
2671 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2672
2673 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
2674
2675 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
2676 omp_set_max_active_levels.
2677 * testsuite/libgomp.fortran/icv-8.f90: New test.
2678
2679 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
2680
2681 PR testsuite/102841
2682 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
2683
2684 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
2685
2686 * libgomp.texi: Fix typo.
2687
2688 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2689
2690 PR middle-end/100280
2691 PR middle-end/104892
2692 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2693 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
2694 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2695 Likewise.
2696 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2697 Likewise.
2698 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2699 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2700 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2701 Likewise.
2702
2703 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2704
2705 PR middle-end/104892
2706 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
2707 to PR104892.
2708 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
2709 enable '--param=openacc-kernels=decompose' and adjust.
2710 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2711 Likewise.
2712 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2713 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2714 Likewise.
2715
2716 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2717
2718 PR middle-end/90115
2719 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
2720 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
2721 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2722 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
2723
2724 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2725
2726 PR middle-end/100280
2727 PR middle-end/104086
2728 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2729 Merge this...
2730 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2731 ..., and this...
2732 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
2733 this, and adjust.
2734 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2735 Extend.
2736
2737 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
2738
2739 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
2740 trait. Test last index in w and v array. Remove redundant
2741 assignment to V(1). Move alignment checks at the end of
2742 parallel region.
2743
2744 2022-03-10 Tom de Vries <tdevries@suse.de>
2745
2746 * testsuite/libgomp.c/pr104783.c: New test.
2747
2748 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
2749
2750 PR middle-end/90115
2751 PR middle-end/102330
2752 PR middle-end/104774
2753 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2754 Enhance.
2755 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2756 Adjust.
2757 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2758 Likewise.
2759 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2760 Likewise.
2761 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2762 Likewise.
2763 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2764 Likewise.
2765 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2766 Likewise.
2767 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2768 Likewise.
2769 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2770 Likewise.
2771 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2772 Likewise.
2773 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2774 Likewise.
2775 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2776 Likewise.
2777 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2778 Likewise.
2779 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2780 Likewise.
2781 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2782 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
2783 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2784
2785 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
2786
2787 PR middle-end/90115
2788 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
2789 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2790 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2791 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2792
2793 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2794
2795 PR testsuite/104791
2796 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
2797 expected diagnostics.
2798
2799 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2800
2801 PR middle-end/104784
2802 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2803 Test with '--param=openacc-kernels=decompose'.
2804 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2805 Likewise.
2806 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2807 Likewise.
2808 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2809 Likewise.
2810 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2811 Likewise.
2812 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2813 Likewise.
2814 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2815 Likewise.
2816 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2817 Likewise.
2818 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2819 Likewise.
2820 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2821 Likewise.
2822 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2823 Likewise.
2824 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2825 Likewise.
2826 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2827 Likewise.
2828 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2829 Likewise.
2830 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2831 Likewise.
2832 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2833 Likewise.
2834 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2835 Likewise.
2836 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2837 Likewise.
2838 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2839 Likewise.
2840 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2841 Likewise.
2842 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2843 Likewise.
2844 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2845 Likewise.
2846 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2847 Likewise.
2848 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2849 Likewise.
2850 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2851 Likewise.
2852 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2853 Likewise.
2854 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2855 Likewise.
2856 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2857 Likewise.
2858 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2859 Likewise.
2860 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2861 Likewise.
2862 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2863 Likewise.
2864 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2865 Likewise.
2866 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2867 Likewise.
2868
2869 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2870
2871 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2872 Test '-fopt-info-omp-all'.
2873 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2874 Likewise.
2875 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2876 Likewise.
2877 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2878 Likewise.
2879 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2880 Likewise.
2881 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2882 Likewise.
2883 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2884 Likewise.
2885 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2886 Likewise.
2887 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2888 Likewise.
2889 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2890 Likewise.
2891 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2892 Likewise.
2893 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2894 Likewise.
2895 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2896 Likewise.
2897 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2898 Likewise.
2899 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2900 Likewise.
2901 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2902 Likewise.
2903 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2904 Likewise.
2905 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2906 Likewise.
2907 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2908 Likewise.
2909 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2910 Likewise.
2911 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2912 Likewise.
2913 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2914 Likewise.
2915 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2916 Likewise.
2917 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2918 Likewise.
2919 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2920 Likewise.
2921 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2922 Likewise.
2923 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2924 Likewise.
2925 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2926 Likewise.
2927 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2928 Likewise.
2929 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2930 Likewise.
2931 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2932 Likewise.
2933 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2934 Likewise.
2935 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2936 Likewise.
2937
2938 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2939
2940 PR middle-end/100280
2941 PR middle-end/104132
2942 PR middle-end/104133
2943 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2944 Extend.
2945
2946 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2947
2948 PR middle-end/100280
2949 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
2950 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2951 Likewise.
2952
2953 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2954
2955 PR middle-end/100280
2956 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
2957 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2958 Likewise.
2959
2960 2022-02-28 Tom de Vries <tdevries@suse.de>
2961
2962 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
2963 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
2964 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
2965 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
2966 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
2967 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
2968
2969 2022-02-24 Tom de Vries <tdevries@suse.de>
2970
2971 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
2972 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
2973 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
2974 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
2975 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
2976 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
2977 * testsuite/libgomp.c/declare-variant-3.h: New header file.
2978
2979 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
2980
2981 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
2982 gang-redundant execution.
2983
2984 2022-02-22 Tom de Vries <tdevries@suse.de>
2985
2986 PR target/99555
2987 * config/nvptx/bar.c (generation_to_barrier): New function, copied
2988 from config/rtems/bar.c.
2989 (futex_wait, futex_wake): New function.
2990 (do_spin, do_wait): New function, copied from config/linux/wait.h.
2991 (gomp_barrier_wait_end, gomp_barrier_wait_last)
2992 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
2993 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
2994 and replace with include of config/linux/bar.c.
2995 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
2996 (gomp_barrier_init): Init new fields.
2997 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
2998 workarounds.
2999 * testsuite/libgomp.c/pr99555-1.c: Same.
3000 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
3001
3002 2022-02-22 Tom de Vries <tdevries@suse.de>
3003
3004 PR testsuite/104146
3005 * testsuite/libgomp.c++/pr96390.C: Add additional-option
3006 -foffload=-Wa,--verify for nvptx.
3007 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
3008
3009 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
3010
3011 * testsuite/libgomp.fortran/depend-4.f90: New test.
3012
3013 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
3014
3015 PR c++/102204
3016 * testsuite/libgomp.c++/target-virtual-1.C: New test.
3017
3018 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
3019
3020 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
3021 * target.c (copy_firstprivate_data): Copy only if host address is not
3022 NULL.
3023 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
3024 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
3025 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
3026 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
3027 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
3028 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
3029 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
3030 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
3031 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
3032 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
3033
3034 2022-02-08 Jakub Jelinek <jakub@redhat.com>
3035
3036 PR libgomp/104385
3037 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
3038 clear task->parent.
3039 * testsuite/libgomp.c/pr104385.c: New test.
3040
3041 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
3042
3043 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
3044 STOP of previous commit.
3045
3046 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
3047
3048 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
3049 from is_64bit_aligned_.
3050 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
3051 and use it, more implicit none, remove unused argument.
3052
3053 2022-02-03 David Seifert <soap@gentoo.org>
3054 Jakub Jelinek <jakub@redhat.com>
3055
3056 * configure.ac: Support --disable-werror.
3057 * configure: Regenerate.
3058
3059 2022-02-01 Tom de Vries <tdevries@suse.de>
3060
3061 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
3062 PR83812 workaround.
3063 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
3064 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
3065
3066 2022-02-01 Tom de Vries <tdevries@suse.de>
3067
3068 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
3069 num_workers for nvidia accelerator to fix libgomp error 'insufficient
3070 resources'.
3071 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
3072 Same.
3073 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
3074
3075 2022-02-01 Tom de Vries <tdevries@suse.de>
3076
3077 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3078 recursion depth.
3079 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3080
3081 2022-01-31 Martin Liska <mliska@suse.cz>
3082
3083 * acinclude.m4: Detect *_ld_is_mold and use it.
3084 * configure: Regenerate.
3085
3086 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
3087
3088 * libgomp.texi (OpenMP 5.0): Update implementation status.
3089
3090 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
3091
3092 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
3093 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
3094 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3095 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3096 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3097 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3098 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3099 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3100 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3101 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3102 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3103 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3104 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3105 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3106 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3107
3108 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
3109
3110 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
3111 "static") to make the device num available in the offload image.
3112
3113 2022-01-19 Martin Liska <mliska@suse.cz>
3114 Thomas Schwinge <thomas@codesourcery.com>
3115
3116 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
3117 patterns.
3118 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3119 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3120 Likewise.
3121 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3122 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3123 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3124 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3125 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
3126 Likewise.
3127 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
3128 Likewise.
3129 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
3130 Likewise.
3131 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
3132 Likewise.
3133 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
3134 Likewise.
3135 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3136 Likewise.
3137 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3138 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3139 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3140
3141 2022-01-18 Martin Liska <mliska@suse.cz>
3142
3143 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
3144 in dg-warning.
3145 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3146 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3147 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3148 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3149 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3150 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3151 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
3152 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
3153 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
3154 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
3155 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
3156 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
3157 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3158 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3159 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3160
3161 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
3162
3163 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
3164 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3165 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3166
3167 2022-01-17 Julian Brown <julian@codesourcery.com>
3168 Thomas Schwinge <thomas@codesourcery.com>
3169
3170 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
3171 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
3172 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
3173
3174 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3175 Andrew Stubbs <ams@codesourcery.com>
3176
3177 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
3178 the number of teams and threads if necessary.
3179 (gcn_exec): Automatically set the number of gangs and workers if
3180 necessary.
3181
3182 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
3183
3184 * testsuite/libgomp.fortran/allocate-1.c: New test.
3185 * testsuite/libgomp.fortran/allocate-1.f90: New test.
3186 * libgomp.texi: Remove string that says that allocate clause
3187 support is for C/C++ only.
3188
3189 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3190
3191 * testsuite/libgomp.c-c++-common/on_device_arch.h
3192 (any_device_arch, any_device_arch_intel_mic): New.
3193 * testsuite/lib/libgomp.exp
3194 (check_effective_target_offload_device_any_intel_mic): New.
3195 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
3196 * testsuite/libgomp.fortran/target10.f90: Likewise.
3197
3198 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3199
3200 PR tree-optimization/102192
3201 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
3202 '-Wuninitialized' diagnostics.
3203
3204 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3205
3206 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
3207 current '-Wuninitialized' diagnostics.
3208 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
3209 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
3210 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
3211 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
3212 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3213 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3214 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
3215 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3216 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3217 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3218 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
3219 Likewise.
3220
3221 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3222
3223 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
3224 for 'offload_device_intel_mic'.
3225
3226 2022-01-13 Julian Brown <julian@codesourcery.com>
3227 Thomas Schwinge <thomas@codesourcery.com>
3228
3229 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
3230 offloading execution XFAIL.
3231
3232 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3233
3234 PR middle-end/100280
3235 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3236 Update.
3237 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3238 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3239 Likewise.
3240
3241 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3242
3243 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3244 Enhance.
3245 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3246 Likewise.
3247 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
3248 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3249 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
3250 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
3251 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3252 Likewise.
3253 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3254 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3255 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3256 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3257
3258 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
3259
3260 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
3261 * testsuite/libgomp.fortran/target10.f90: Likewise.
3262
3263 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
3264
3265 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
3266 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
3267 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3268
3269 2022-01-03 Jakub Jelinek <jakub@redhat.com>
3270
3271 * libgomp.texi: Bump @copying's copyright year.
3272
3273 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
3274
3275 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
3276 * testsuite/libgomp.fortran/atomic-19.f90: New test.
3277
3278 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
3279
3280 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
3281 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
3282 table, not individual symbols.
3283
3284 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
3285
3286 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
3287 "target offload_device_nonshared_as"
3288 * testsuite/libgomp.c++/target-this-3.C: Likewise.
3289 * testsuite/libgomp.c++/target-this-4.C: Likewise.
3290
3291 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
3292
3293 * target.c (gomp_map_vars_existing): Make sure attached pointer is
3294 not overwritten during cross-host/device copying.
3295 (gomp_update): Likewise.
3296 (gomp_exit_data): Likewise.
3297 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
3298 * testsuite/libgomp.c++/target-12.C: Likewise.
3299 * testsuite/libgomp.c++/target-15.C: Likewise.
3300 * testsuite/libgomp.c++/target-16.C: Likewise.
3301 * testsuite/libgomp.c++/target-17.C: Likewise.
3302 * testsuite/libgomp.c++/target-21.C: Likewise.
3303 * testsuite/libgomp.c++/target-23.C: Likewise.
3304 * testsuite/libgomp.c/target-23.c: Likewise.
3305 * testsuite/libgomp.c/target-29.c: Likewise.
3306 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
3307
3308 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
3309
3310 PR middle-end/92120
3311 * libgomp.h (gomp_attach_pointer): Add bool parameter.
3312 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
3313 (goacc_enter_data_internal): Likewise.
3314 * target.c (gomp_map_vars_existing): Update assert condition to
3315 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
3316 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
3317 parameter, add support for mapping a pointer with NULL target.
3318 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
3319 parameter, add support for attaching a pointer with NULL target.
3320 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
3321 gomp_attach_pointer, add handling for
3322 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
3323 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
3324 * testsuite/libgomp.c++/target-23.C: New testcase.
3325 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
3326 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
3327 * testsuite/libgomp.c++/target-this-1.C: New testcase.
3328 * testsuite/libgomp.c++/target-this-2.C: New testcase.
3329 * testsuite/libgomp.c++/target-this-3.C: New testcase.
3330 * testsuite/libgomp.c++/target-this-4.C: New testcase.
3331 * testsuite/libgomp.c++/target-this-5.C: New testcase.
3332
3333 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
3334
3335 * libgomp.texi (OpenMP 5.1): Update status.
3336
3337 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
3338
3339 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
3340
3341 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
3342
3343 PR fortran/90030
3344 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
3345 * testsuite/libgomp.fortran/pr90030.f90: New test.
3346
3347 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
3348 Thomas Schwinge <thomas@codesourcery.com>
3349
3350 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
3351 temporary skip.
3352
3353 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
3354 Thomas Schwinge <thomas@codesourcery.com>
3355
3356 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
3357 skip.
3358
3359 2021-11-29 Richard Biener <rguenther@suse.de>
3360
3361 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
3362 return.
3363
3364 2021-11-24 Jakub Jelinek <jakub@redhat.com>
3365
3366 PR middle-end/103384
3367 * testsuite/libgomp.c/declare-variant-2.c: New test.
3368
3369 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
3370
3371 * alloc.c (gomp_aligned_alloc): Fix typo.
3372
3373 2021-11-18 Jakub Jelinek <jakub@redhat.com>
3374
3375 PR libgomp/102838
3376 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
3377 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
3378 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
3379 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
3380 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
3381 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
3382 gomp_aligned_alloc instead of team_malloc.
3383
3384 2021-11-18 Jakub Jelinek <jakub@redhat.com>
3385
3386 PR libgomp/102838
3387 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
3388 memalign over posix_memalign over aligned_alloc over fallback
3389 with malloc instead of aligned_alloc over _aligned_alloc over
3390 posix_memalign over memalign over fallback with malloc. For
3391 aligned_alloc, round up size up to multiple of al.
3392
3393 2021-11-16 Jakub Jelinek <jakub@redhat.com>
3394
3395 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
3396 construct as implemented.
3397
3398 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
3399
3400 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
3401
3402 2021-11-15 Jakub Jelinek <jakub@redhat.com>
3403
3404 * task.c (gomp_create_target_task): Copy args array as well.
3405 * target.c (gomp_target_fallback): Add args argument.
3406 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
3407 (GOMP_target): Adjust gomp_target_fallback caller.
3408 (GOMP_target_ext): Likewise.
3409 (gomp_target_task_fn): Likewise.
3410 * config/nvptx/team.c (gomp_nvptx_main): Set
3411 gomp_global_icv.thread_limit_var.
3412 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
3413
3414 2021-11-15 Jakub Jelinek <jakub@redhat.com>
3415
3416 * config/nvptx/team.c (__gomp_team_num): Define as
3417 __attribute__((shared)) var.
3418 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
3419 * config/nvptx/target.c (__gomp_team_num): Declare as
3420 extern __attribute__((shared)) var.
3421 (GOMP_teams4): Use __gomp_team_num as the team number instead of
3422 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
3423 is bigger than num_blocks, use num_teams_lower teams and arrange for
3424 bumping of __gomp_team_num if !first and returning false once we run
3425 out of teams.
3426 * config/nvptx/teams.c (__gomp_team_num): Declare as
3427 extern __attribute__((shared)) var.
3428 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
3429
3430 2021-11-15 Jakub Jelinek <jakub@redhat.com>
3431
3432 * testsuite/libgomp.c/teams-5.c: New test.
3433
3434 2021-11-12 Jakub Jelinek <jakub@redhat.com>
3435
3436 PR target/103201
3437 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
3438 to ...
3439 * config/gcn/teams.c: ... here. New file.
3440
3441 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
3442
3443 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
3444 implicit map handling to allow a "superset" existing map as valid case.
3445 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
3446 (get_implicit): New function to extract implicit status.
3447 (gomp_map_fields_existing): Adjust arguments in calls to
3448 gomp_map_vars_existing, and add uses of get_implicit.
3449 (gomp_map_vars_internal): Likewise.
3450 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
3451
3452 2021-11-12 Jakub Jelinek <jakub@redhat.com>
3453
3454 * libgomp_g.h (GOMP_teams4): Declare.
3455 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
3456 * target.c (GOMP_teams4): New function.
3457 * config/nvptx/target.c (GOMP_teams): Remove.
3458 (GOMP_teams4): New function.
3459 * config/gcn/target.c (GOMP_teams): Remove.
3460 (GOMP_teams4): New function.
3461 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
3462 teams instead of <= 2.
3463 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
3464
3465 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
3466
3467 * testsuite/libgomp.fortran/teams-1.f90: New test.
3468
3469 2021-11-11 Jakub Jelinek <jakub@redhat.com>
3470
3471 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
3472 * team.c (struct gomp_thread_start_data): Likewise.
3473 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
3474 (gomp_team_start): Initialize start_data->num_teams and
3475 start_data->team_num. Update nthr->num_teams and nthr->team_num.
3476 * teams.c (gomp_num_teams, gomp_team_num): Remove.
3477 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
3478 instead of gomp_num_teams and gomp_team_num.
3479 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
3480 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
3481 * testsuite/libgomp.c/teams-4.c: New test.
3482
3483 2021-11-11 Jakub Jelinek <jakub@redhat.com>
3484
3485 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
3486
3487 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
3488
3489 * env.c (parse_gomp_openacc_dim): Restore parsing.
3490
3491 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
3492
3493 PR middle-end/102972
3494 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
3495 parallel construct.
3496 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
3497 * testsuite/libgomp.c/target-3.c: Likewise.
3498 * testsuite/libgomp.c/target-5.c: Likewise.
3499 * testsuite/libgomp.c/target-6.c: Likewise.
3500 * testsuite/libgomp.c/target-teams-1.c: Likewise.
3501 * testsuite/libgomp.c/teams-1.c: Likewise.
3502 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3503 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
3504 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3505 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
3506 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
3507 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
3508 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3509
3510 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
3511
3512 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
3513 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
3514
3515 2021-10-27 Jakub Jelinek <jakub@redhat.com>
3516
3517 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
3518 aren't implemented for Fortran yet.
3519
3520 2021-10-27 Jakub Jelinek <jakub@redhat.com>
3521
3522 * testsuite/libgomp.c/loop-26.c: New test.
3523 * testsuite/libgomp.c/loop-27.c: New test.
3524
3525 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
3526
3527 PR testsuite/102910
3528 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
3529 instead of #include <alloca.h> + alloca.
3530
3531 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
3532
3533 * libgomp.texi (Support of strictly structured blocks in Fortran):
3534 Adjust to 'Y'.
3535 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
3536
3537 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
3538
3539 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
3540 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
3541
3542 2021-10-20 Jakub Jelinek <jakub@redhat.com>
3543
3544 PR libgomp/102838
3545 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
3546 (struct gomp_work_share): Only use aligned(64) attribute if
3547 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
3548 add padding before lock to ensure lock is at offset 64 bytes
3549 into the structure.
3550 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
3551 New poor man's static assertions.
3552 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
3553 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
3554
3555 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
3556 Richard Biener <rguenther@suse.de>
3557
3558 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
3559
3560 2021-10-18 Jakub Jelinek <jakub@redhat.com>
3561
3562 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
3563 && gomp_places_list_len < count after nfirst <= nlast loop condition.
3564
3565 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
3566
3567 PR fortran/102086
3568 PR fortran/92189
3569 PR fortran/92621
3570 PR fortran/101308
3571 PR fortran/101309
3572 PR fortran/101635
3573 PR fortran/92482
3574 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
3575
3576 2021-10-15 Jakub Jelinek <jakub@redhat.com>
3577
3578 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
3579 type from char [50] to const char *.
3580 (places_array): Add a testcase for simplified syntax place followed
3581 by length or length and stride.
3582
3583 2021-10-15 Jakub Jelinek <jakub@redhat.com>
3584
3585 * env.c (parse_one_place): Handle non-negative-number the same
3586 as { non-negative-number }. Reject even !number:1 and
3587 !number:1:stride or !place:1 or !place:1:stride instead of just
3588 length other than 1.
3589 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
3590 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
3591 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
3592 as implemented.
3593 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
3594 simplified syntax.
3595
3596 2021-10-15 Jakub Jelinek <jakub@redhat.com>
3597
3598 * env.c (parse_schedule): For strtoul or strtoull calls which don't
3599 clearly reject return value 0 as invalid handle the case where end
3600 pointer is the same as first argument as invalid.
3601 (parse_unsigned_long_1): Likewise.
3602 (parse_one_place): Likewise.
3603 (parse_places_var): Likewise.
3604 (parse_stacksize): Likewise.
3605 (parse_spincount): Likewise.
3606 (parse_affinity): Likewise.
3607 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
3608 Make code valid C89.
3609 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
3610 For strtoul calls which don't clearly reject return value 0 as
3611 invalid handle the case where end pointer is the same as first
3612 argument as invalid.
3613 (gomp_affinity_init_level_1): Likewise.
3614 (gomp_affinity_init_numa_domains): Likewise.
3615 * config/rtems/proc.c (parse_thread_pools): Likewise.
3616
3617 2021-10-15 Jakub Jelinek <jakub@redhat.com>
3618
3619 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
3620 after creating count places clean up and return immediately.
3621 * testsuite/libgomp.c/places-6.c: New test.
3622 * testsuite/libgomp.c/places-7.c: New test.
3623 * testsuite/libgomp.c/places-8.c: New test.
3624 * testsuite/libgomp.c/places-9.c: New test.
3625 * testsuite/libgomp.c/places-10.c: New test.
3626
3627 2021-10-15 Jakub Jelinek <jakub@redhat.com>
3628
3629 * env.c (parse_places_var): Handle numa_domains as level 5.
3630 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
3631 function.
3632 (gomp_affinity_init_level): Use it instead of
3633 gomp_affinity_init_level_1 for level == 5.
3634 * testsuite/libgomp.c/places-5.c: New test.
3635
3636 2021-10-15 Jakub Jelinek <jakub@redhat.com>
3637
3638 * env.c (parse_places_var): Handle ll_caches as level 4.
3639 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
3640 function.
3641 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
3642 last level cache.
3643 (gomp_affinity_init_level): Likewise.
3644 * testsuite/libgomp.c/places-1.c: New test.
3645 * testsuite/libgomp.c/places-2.c: New test.
3646 * testsuite/libgomp.c/places-3.c: New test.
3647 * testsuite/libgomp.c/places-4.c: New test.
3648
3649 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
3650
3651 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
3652 directive.
3653
3654 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
3655
3656 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
3657
3658 2021-10-12 Julian Brown <julian@codesourcery.com>
3659
3660 * target.c (gomp_copy_host2dev): Release device lock on cbuf
3661 error path.
3662
3663 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
3664
3665 * testsuite/libgomp.fortran/icv-3.f90: New.
3666 * testsuite/libgomp.fortran/icv-4.f90: New.
3667
3668 2021-10-12 Jakub Jelinek <jakub@redhat.com>
3669
3670 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
3671 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
3672 OMP_TEAMS_THREAD_LIMIT): Document.
3673
3674 2021-10-12 Jakub Jelinek <jakub@redhat.com>
3675
3676 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
3677 to avoid makeinfo warnings.
3678
3679 2021-10-12 Jakub Jelinek <jakub@redhat.com>
3680
3681 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
3682 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
3683
3684 2021-10-12 Jakub Jelinek <jakub@redhat.com>
3685
3686 PR libgomp/102628
3687 PR libgomp/102668
3688 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
3689 allocation sizes from 420 to 320 and from 768 to 568.
3690 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
3691 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
3692 for cr from 16 to 4.
3693
3694 2021-10-12 Jakub Jelinek <jakub@redhat.com>
3695
3696 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
3697 * testsuite/libgomp.c/scan-12.c: Likewise.
3698 * testsuite/libgomp.c/scan-13.c: Likewise.
3699 * testsuite/libgomp.c/scan-14.c: Likewise.
3700 * testsuite/libgomp.c/scan-15.c: Likewise.
3701 * testsuite/libgomp.c/scan-16.c: Likewise.
3702 * testsuite/libgomp.c/scan-17.c: Likewise.
3703 * testsuite/libgomp.c/scan-18.c: Likewise.
3704 * testsuite/libgomp.c/scan-19.c: Likewise.
3705 * testsuite/libgomp.c/scan-20.c: Likewise.
3706 * testsuite/libgomp.c/scan-21.c: Likewise.
3707 * testsuite/libgomp.c/scan-22.c: Likewise.
3708 * testsuite/libgomp.c++/scan-9.C: Likewise.
3709 * testsuite/libgomp.c++/scan-10.C: Likewise.
3710 * testsuite/libgomp.c++/scan-11.C: Likewise.
3711 * testsuite/libgomp.c++/scan-12.C: Likewise.
3712 * testsuite/libgomp.c++/scan-13.C: Likewise.
3713 * testsuite/libgomp.c++/scan-14.C: Likewise.
3714 * testsuite/libgomp.c++/scan-15.C: Likewise.
3715 * testsuite/libgomp.c++/scan-16.C: Likewise.
3716
3717 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
3718
3719 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
3720
3721 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
3722
3723 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
3724 omp_atv_serialized.
3725 * omp.h.in: Add deprecated flag for omp_atv_sequential.
3726 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
3727 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
3728 * testsuite/libgomp.fortran/alloc-12.f90: New test.
3729
3730 2021-10-11 Jakub Jelinek <jakub@redhat.com>
3731
3732 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
3733 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3734 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
3735 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3736 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
3737 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3738 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
3739 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
3740 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
3741 omp_set_teams_thread_limit{,_,_8_}.
3742 * icv.c (omp_set_num_teams, omp_get_max_teams,
3743 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
3744 functions.
3745 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
3746 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
3747 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
3748 vars.
3749 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
3750 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
3751 is not specified, use gomp_nteams_var.
3752 * fortran.c (omp_set_num_teams, omp_get_max_teams,
3753 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
3754 ialias_redirect.
3755 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
3756 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
3757 omp_get_teams_thread_limit_): New functions.
3758
3759 2021-10-09 liuhongt <hongtao.liu@intel.com>
3760
3761 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
3762 * testsuite/libgomp.c++/scan-11.C: Ditto.
3763 * testsuite/libgomp.c++/scan-12.C: Ditto.
3764 * testsuite/libgomp.c++/scan-13.C: Ditto.
3765 * testsuite/libgomp.c++/scan-14.C: Ditto.
3766 * testsuite/libgomp.c++/scan-15.C: Ditto.
3767 * testsuite/libgomp.c++/scan-16.C: Ditto.
3768 * testsuite/libgomp.c++/scan-9.C: Ditto.
3769 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
3770 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
3771 * testsuite/libgomp.c/scan-11.c: Ditto.
3772 * testsuite/libgomp.c/scan-12.c: Ditto.
3773 * testsuite/libgomp.c/scan-13.c: Ditto.
3774 * testsuite/libgomp.c/scan-14.c: Ditto.
3775 * testsuite/libgomp.c/scan-15.c: Ditto.
3776 * testsuite/libgomp.c/scan-16.c: Ditto.
3777 * testsuite/libgomp.c/scan-17.c: Ditto.
3778 * testsuite/libgomp.c/scan-18.c: Ditto.
3779 * testsuite/libgomp.c/scan-19.c: Ditto.
3780 * testsuite/libgomp.c/scan-20.c: Ditto.
3781 * testsuite/libgomp.c/scan-21.c: Ditto.
3782 * testsuite/libgomp.c/scan-22.c: Ditto.
3783
3784 2021-10-09 Jakub Jelinek <jakub@redhat.com>
3785
3786 * libgomp.texi (OpenMP 5.1): Mention implemented support for
3787 structured block sequences in C/C++. Mention support for
3788 unconstrained/reproducible modifiers on order clause.
3789 Mention partial (C/C++ only) support of extentensions to atomics
3790 construct. Mention partial (C/C++ on clause only) support of
3791 align/allocator modifiers on allocate clause.
3792
3793 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
3794
3795 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
3796 based on libgomp.c-c++-common/order-reproducible-1.c.
3797 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
3798 * testsuite/libgomp.fortran/my-usleep.c: New test.
3799
3800 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
3801
3802 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
3803 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
3804 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
3805 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
3806 based on libgomp.c-c++-common/alloc-9.c.
3807
3808 2021-10-01 Jakub Jelinek <jakub@redhat.com>
3809
3810 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
3811 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
3812
3813 2021-10-01 Jakub Jelinek <jakub@redhat.com>
3814
3815 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
3816 ialias_redirect.
3817 * env.c (handle_omp_display_env): Use ialias_call.
3818 * icv-device.c: Move ialias right below each function.
3819 (omp_get_device_num): Use ialias_call.
3820 * fortran.c (omp_fulfill_event): Add ialias_redirect.
3821 * icv.c (omp_get_active_level): Add ialias_redirect.
3822
3823 2021-10-01 Jakub Jelinek <jakub@redhat.com>
3824
3825 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
3826 __alloc_align__ (1) attribute.
3827 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
3828
3829 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
3830
3831 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
3832 for -fintrinsic-modules-path= warning of the C compiler.
3833 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
3834 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
3835
3836 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
3837
3838 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
3839 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
3840 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
3841 omp_realloc): Add.
3842 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
3843 omp_realloc): Add.
3844 * testsuite/libgomp.fortran/alloc-10.f90: New test.
3845 * testsuite/libgomp.fortran/alloc-6.f90: New test.
3846 * testsuite/libgomp.fortran/alloc-7.c: New test.
3847 * testsuite/libgomp.fortran/alloc-7.f90: New test.
3848 * testsuite/libgomp.fortran/alloc-8.f90: New test.
3849 * testsuite/libgomp.fortran/alloc-9.f90: New test.
3850
3851 2021-09-30 Jakub Jelinek <jakub@redhat.com>
3852
3853 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
3854 omp_realloc): New prototypes.
3855 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
3856 attribute.
3857 * allocator.c: Include string.h.
3858 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
3859 variable and use it instead of alignment so that when retrying the old
3860 alignment is used again. Don't retry if new alignment is the same
3861 as old alignment, unless allocator had pool size.
3862 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
3863 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
3864 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
3865 omp_aligned_calloc and omp_realloc.
3866 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
3867 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
3868 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
3869 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
3870 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
3871 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
3872
3873 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
3874
3875 PR libgomp/96661
3876 * configure.ac: Only check for int-type = 2*size_t support when
3877 building with Fortran support.
3878 * configure: Regenerate.
3879
3880 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
3881
3882 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
3883 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3884
3885 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
3886
3887 * team.c: Initialize start_data.
3888 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
3889 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
3890
3891 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
3892
3893 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
3894 dg-message back to dg-note.
3895
3896 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
3897
3898 PR fortran/94070
3899 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
3900 expected dg-note output.
3901
3902 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
3903
3904 PR fortran/55534
3905 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
3906 r12-3722 by removing -Wno-missing-include-dirs.
3907 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
3908
3909 2021-09-22 Jakub Jelinek <jakub@redhat.com>
3910
3911 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
3912 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
3913
3914 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
3915
3916 PR fortran/55534
3917 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
3918 to ALWAYS_CFLAGS.
3919 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3920
3921 2021-09-18 Jakub Jelinek <jakub@redhat.com>
3922
3923 * testsuite/libgomp.c++/default-1.C: New test.
3924 * testsuite/libgomp.c-c++-common/default-1.c: New test.
3925 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
3926 to default clause in C and C++" as implemented.
3927
3928 2021-09-17 Julian Brown <julian@codesourcery.com>
3929
3930 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
3931
3932 2021-09-17 Julian Brown <julian@codesourcery.com>
3933
3934 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
3935
3936 2021-09-17 Jakub Jelinek <jakub@redhat.com>
3937
3938 * libgomp.texi (OpenMP 5.1): Spelling fix,
3939 declare variante -> declare variant.
3940
3941 2021-09-17 Jakub Jelinek <jakub@redhat.com>
3942
3943 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
3944 Use /* */ comments instead of //.
3945 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
3946 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
3947 * testsuite/libgomp.c++/atomic-16.C: New test.
3948 * testsuite/libgomp.c++/atomic-17.C: New test.
3949
3950 2021-09-10 Jakub Jelinek <jakub@redhat.com>
3951
3952 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
3953 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
3954 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
3955
3956 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
3957
3958 * libgomp.texi (OpenMP Implementation Status): Extend
3959 OpenMP 5.0 section.
3960 (OpenACC Profiling Interface): Fix typo.
3961
3962 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
3963
3964 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
3965 not to 4.5; link to new section.
3966 (OpenMP Implementation Status): New.
3967
3968 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
3969
3970 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
3971
3972 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
3973
3974 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
3975 dg-output.
3976 * testsuite/libgomp.fortran/error-1.f90: Likewise.
3977
3978 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
3979 Jakub Jelinek <jakub@redhat.com>
3980
3981 * testsuite/libgomp.c/address-space-1.c: New file.
3982
3983 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
3984
3985 * testsuite/lib/libgomp.exp
3986 (check_effective_target_offload_target_intelmic): Remove 'proc'.
3987 (check_effective_target_offload_device_intel_mic): New 'proc'.
3988 * testsuite/libgomp.c-c++-common/on_device_arch.h
3989 (device_arch_intel_mic, on_device_arch_intel_mic): New.
3990 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
3991 'dg-xfail-run-if'.
3992 * testsuite/libgomp.fortran/target10.f90: Likewise.
3993
3994 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
3995
3996 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
3997 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
3998 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
3999 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
4000
4001 2021-08-23 Jakub Jelinek <jakub@redhat.com>
4002
4003 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
4004 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
4005 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
4006
4007 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
4008
4009 * config/nvptx/error.c (fwrite, exit): Override, too.
4010 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
4011 of offloading testing.
4012 * testsuite/libgomp.fortran/error-1.f90: Likewise.
4013
4014 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
4015
4016 * testsuite/libgomp.fortran/error-1.f90: New test.
4017
4018 2021-08-20 Jakub Jelinek <jakub@redhat.com>
4019
4020 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
4021 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
4022 * error.c (GOMP_warning, GOMP_error): New functions.
4023 * testsuite/libgomp.c-c++-common/error-1.c: New test.
4024
4025 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
4026
4027 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
4028 omp_target_free. omp_target_is_present, omp_target_memcpy,
4029 omp_target_memcpy_rect, omp_target_associate_ptr,
4030 omp_target_disassociate_ptr): Add interface.
4031 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
4032 omp_target_free. omp_target_is_present, omp_target_memcpy,
4033 omp_target_memcpy_rect, omp_target_associate_ptr,
4034 omp_target_disassociate_ptr): Add interface.
4035 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
4036 interface block for omp_alloc + omp_free.
4037 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
4038 * testsuite/libgomp.fortran/refcount-1.f90: New test.
4039 * testsuite/libgomp.fortran/target-12.f90: New test.
4040
4041 2021-08-18 Jakub Jelinek <jakub@redhat.com>
4042
4043 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
4044
4045 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
4046
4047 * testsuite/libgomp.fortran/scope-1.f90: New test.
4048 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
4049
4050 2021-08-17 Jakub Jelinek <jakub@redhat.com>
4051
4052 * Makefile.am (libgomp_la_SOURCES): Add scope.c
4053 * Makefile.in: Regenerated.
4054 * libgomp_g.h (GOMP_scope_start): Declare.
4055 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
4056 * scope.c: New file.
4057 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
4058 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
4059
4060 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
4061
4062 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
4063 '?:' issues.
4064
4065 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
4066
4067 * testsuite/libgomp.fortran/masked-1.f90: New test.
4068
4069 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
4070
4071 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
4072
4073 2021-08-12 Jakub Jelinek <jakub@redhat.com>
4074
4075 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
4076
4077 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
4078
4079 * env.c (parse_bind_var): Accept 'primary' as alias for
4080 'master'.
4081 (omp_display_env): Add TODO comment to
4082 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
4083 * libgomp.texi: Change 'master thread' to 'primary thread'
4084 in line with OpenMP 5.1.
4085 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
4086 omp_proc_bind_master is an alias of it.
4087 (OMP_PROC_BIND): Mention 'PRIMARY'.
4088 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
4089 (omp_proc_bind_primary): Add.
4090 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4091 * omp_lib.f90.in (omp_proc_bind_primary): Add.
4092 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4093 * omp_lib.h.in (omp_proc_bind_primary): Add.
4094 * testsuite/libgomp.c/affinity-1.c: Check that
4095 'primary' works and is identical to 'master'.
4096
4097 2021-08-09 Julian Brown <julian@codesourcery.com>
4098 Kwok Cheung Yeung <kcy@codesourcery.com>
4099 Thomas Schwinge <thomas@codesourcery.com>
4100
4101 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
4102 16.
4103 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4104 [acc_device_radeon]: Update.
4105 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
4106 [ACC_DEVICE_TYPE_radeon]: Likewise.
4107 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4108 [acc_device_radeon]: Likewise.
4109 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
4110 [ACC_DEVICE_TYPE_radeon]: Likewise.
4111 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
4112 'openacc_radeon_accel_selected' and '-O0'.
4113 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4114
4115 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
4116
4117 * icv-device.c (omp_get_device_num): New API function, host side.
4118 * fortran.c (omp_get_device_num_): New interface function.
4119 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
4120 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
4121 omp_get_device_num_.
4122 * libgomp.texi (omp_get_device_num): Add documentation for new API
4123 function.
4124 * omp.h.in (omp_get_device_num): Add declaration.
4125 * omp_lib.f90.in (omp_get_device_num): Likewise.
4126 * omp_lib.h.in (omp_get_device_num): Likewise.
4127 * target.c (gomp_load_image_to_device): If additional entry for device
4128 number exists at end of returned entries from 'load_image_func' hook,
4129 copy the assigned device number over to the device variable.
4130 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4131 (omp_get_device_num): New API function, device side.
4132 * plugin/plugin-gcn.c ("symcat.h"): Add include.
4133 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4134 at end of returned 'target_table' entries.
4135 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4136 (omp_get_device_num): New API function, device side.
4137 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
4138 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4139 at end of returned 'target_table' entries.
4140 * testsuite/lib/libgomp.exp
4141 (check_effective_target_offload_target_intelmic): New function for
4142 testing for intelmic offloading.
4143 * testsuite/libgomp.c-c++-common/target-45.c: New test.
4144 * testsuite/libgomp.fortran/target10.f90: New test.
4145
4146 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
4147 Ulrich Drepper <drepper@redhat.com>
4148
4149 * fortran.c (omp_display_env_, omp_display_env_8_): Only
4150 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
4151
4152 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
4153 Julian Brown <julian@codesourcery.com>
4154 Kwok Cheung Yeung <kcy@codesourcery.com>
4155
4156 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
4157 's%oaccdevlow%oaccloops%g'.
4158 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
4159 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4160 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
4161 Likewise.
4162 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
4163 Likewise.
4164 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
4165 Likewise.
4166 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
4167 Likewise.
4168 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
4169 Likewise.
4170 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
4171 Likewise.
4172 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
4173 Likewise.
4174 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
4175 Likewise.
4176 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
4177
4178 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
4179
4180 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
4181 threader.
4182 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4183
4184 2021-07-27 Ulrich Drepper <drepper@gmail.com>
4185
4186 * env.c (wait_policy, stacksize): New static variables,
4187 move out of handle_omp_display_env.
4188 (omp_display_env): New function. The meat of the old
4189 handle_omp_display_env function.
4190 (handle_omp_display_env): Change to not take parameters
4191 and instead use the global variables. Only perform
4192 parsing, defer to omp_display_env for the implementation.
4193 (initialize_env): Remove local variables wait_policy and
4194 stacksize. Don't pass parameters to handle_omp_display_env.
4195 * fortran.c: Add ialias_redirect for omp_display_env.
4196 (omp_display_env_, omp_display_env_8_): New functions.
4197 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
4198 omp_display_env_, and omp_display_env_8_.
4199 * omp.h.in: Declare omp_display_env.
4200 * omp_lib.f90.in: Likewise.
4201 * omp_lib.h.in: Likewise.
4202
4203 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4204 Julian Brown <julian@codesourcery.com>
4205
4206 * target.c (gomp_coalesce_buf_add): Update comment.
4207 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
4208 'aq && cbuf'.
4209 (gomp_map_vars_internal): Only 'if (!aq)', do
4210 'gomp_coalesce_buf_add'.
4211 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
4212 XFAIL.
4213
4214 2021-07-27 Julian Brown <julian@codesourcery.com>
4215 Thomas Schwinge <thomas@codesourcery.com>
4216
4217 * libgomp.h (gomp_copy_host2dev): Update prototype.
4218 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
4219 argument to gomp_copy_host2dev (false).
4220 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
4221 (copy_data): Don't free src.
4222 (queue_push_copy): Remove free_src handling.
4223 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
4224 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
4225 snapshotting.
4226 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
4227 queue_push_copy.
4228 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
4229 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
4230 data when true, and set up deferred freeing of temporary buffer.
4231 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
4232 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
4233 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
4234 calls to gomp_copy_host2dev with appropriate ephemeral argument.
4235 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
4236 XFAIL.
4237
4238 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4239 Tom de Vries <tom@codesourcery.com>
4240
4241 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
4242 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
4243
4244 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4245
4246 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
4247 sequencing of 'async' data copying vs. profiling events.
4248 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
4249 Likewise.
4250
4251 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4252 Julian Brown <julian@codesourcery.com>
4253
4254 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
4255 'async'/'wait' issue.
4256 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
4257 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
4258 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
4259
4260 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
4261 Joseph Myers <joseph@codesourcery.com>
4262 Cesar Philippidis <cesar@codesourcery.com>
4263
4264 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
4265 file.
4266 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4267 Likewise.
4268 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
4269 Likewise.
4270 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
4271
4272 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
4273
4274 PR target/101484
4275 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
4276 '-Wno-error=array-bounds'.
4277 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
4278 * libgomp.h [__AMDGCN__]: Likewise.
4279
4280 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
4281
4282 PR target/101484
4283 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
4284 * libgomp.h [__AMDGCN__]: Likewise.
4285
4286 2021-07-13 Jakub Jelinek <jakub@redhat.com>
4287 Florian Weimer <fweimer@redhat.com>
4288
4289 * config/linux/sem.h: Don't include limits.h.
4290 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
4291 * config/linux/affinity.c: Include limits.h.
4292
4293 2021-07-01 Jakub Jelinek <jakub@redhat.com>
4294
4295 PR middle-end/94366
4296 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
4297
4298 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
4299
4300 PR other/67300
4301 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
4302 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
4303 avoid disabling other offload targets.
4304 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
4305 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
4306 * testsuite/libgomp.c/target-44.c: Likewise.
4307
4308 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
4309
4310 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
4311 target has shared memory and disable some scalar pointer/allocatable
4312 checks if not as firstprivate does not work.
4313
4314 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
4315
4316 PR testsuite/101114
4317 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
4318 Add "target offload_device_nonshared_as" condition for enabling test.
4319
4320 2021-06-24 Jakub Jelinek <jakub@redhat.com>
4321
4322 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
4323 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
4324 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
4325 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
4326
4327 2021-06-23 Jakub Jelinek <jakub@redhat.com>
4328
4329 PR middle-end/101167
4330 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
4331
4332 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
4333
4334 * hashtab.h (htab_clear): New function with initialization code
4335 factored out from...
4336 (htab_create): ...here, adjust to use htab_clear function.
4337 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
4338 special refcount values, add comments.
4339 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
4340 (REFCOUNT_LINK): Likewise.
4341 (REFCOUNT_STRUCTELEM): New special refcount range for structure
4342 element siblings.
4343 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
4344 sibling maps.
4345 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
4346 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
4347 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
4348 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
4349 (struct splay_tree_key_s): Add structelem_refcount and
4350 structelem_refcount_ptr fields into a union with dynamic_refcount.
4351 Add comments.
4352 (gomp_map_vars): Delete declaration.
4353 (gomp_map_vars_async): Likewise.
4354 (gomp_unmap_vars): Likewise.
4355 (gomp_unmap_vars_async): Likewise.
4356 (goacc_map_vars): New declaration.
4357 (goacc_unmap_vars): Likewise.
4358 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
4359 (goacc_enter_datum): Likewise.
4360 (goacc_enter_data_internal): Likewise.
4361 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
4362 and goacc_unmap_vars.
4363 (GOACC_data_start): Adjust to use goacc_map_vars.
4364 (GOACC_data_end): Adjust to use goacc_unmap_vars.
4365 * target.c (hash_entry_type): New typedef.
4366 (htab_alloc): New function hook for hashtab.h.
4367 (htab_free): Likewise.
4368 (htab_hash): Likewise.
4369 (htab_eq): Likewise.
4370 (hashtab.h): Add file include.
4371 (gomp_increment_refcount): New function.
4372 (gomp_decrement_refcount): Likewise.
4373 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
4374 gomp_increment_refcount.
4375 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
4376 to gomp_map_vars_existing.
4377 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
4378 variable to guard OpenMP specific paths, adjust calls to
4379 gomp_map_vars_existing, add structure element sibling splay_tree_key
4380 sequence creation code, adjust Fortran map case to avoid increment
4381 under OpenMP.
4382 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
4383 local refcount_set if caller passed in NULL, adjust call to
4384 gomp_map_vars_internal.
4385 (gomp_map_vars_async): Adjust and rename into...
4386 (goacc_map_vars): ...this new function, adjust call to
4387 gomp_map_vars_internal.
4388 (gomp_remove_splay_tree_key): New function with code factored out from
4389 gomp_remove_var_internal.
4390 (gomp_remove_var_internal): Add code to handle removing multiple
4391 splay_tree_key sequence for structure elements, adjust code to use
4392 gomp_remove_splay_tree_key for splay-tree key removal.
4393 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
4394 gomp_decrement_refcount.
4395 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
4396 local refcount_set if caller passed in NULL, adjust call to
4397 gomp_unmap_vars_internal.
4398 (gomp_unmap_vars_async): Adjust and rename into...
4399 (goacc_unmap_vars): ...this new function, adjust call to
4400 gomp_unmap_vars_internal.
4401 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
4402 gomp_unmap_vars.
4403 (GOMP_target_ext): Likewise.
4404 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
4405 (GOMP_target_data): Likewise.
4406 (GOMP_target_data_ext): Likewise.
4407 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
4408 (gomp_exit_data): Add refcount_set parameter, adjust to use
4409 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
4410 after main loop.
4411 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
4412 gomp_map_vars and gomp_exit_data.
4413 (gomp_target_task_fn): Likewise.
4414 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
4415 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
4416 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
4417 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
4418 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
4419 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
4420
4421 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
4422
4423 PR fortran/92568
4424 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
4425
4426 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
4427 Thomas Schwinge <thomas@codesourcery.com>
4428
4429 * libgomp.map (GOACC_2.0.2): New symbol version.
4430 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
4431 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
4432
4433 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
4434 Andrew Stubbs <ams@codesourcery.com>
4435
4436 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
4437 extracted from...
4438 (GOACC_enter_exit_data): ... here.
4439 (GOACC_declare): Use it.
4440
4441 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
4442
4443 * oacc-parallel.c (GOACC_declare): Move...
4444 * oacc-mem.c: ... here.
4445 * libgomp_g.h: Adjust.
4446
4447 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
4448 Thomas Schwinge <thomas@codesourcery.com>
4449
4450 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
4451 handling.
4452
4453 2021-06-10 Jakub Jelinek <jakub@redhat.com>
4454
4455 PR tree-optimization/100981
4456 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
4457 dsdotr and dsdoti to 0.
4458
4459 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
4460
4461 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
4462 if atomic compare-and-swap is supported on 'int'.
4463
4464 2021-06-09 Richard Biener <rguenther@suse.de>
4465
4466 PR tree-optimization/100981
4467 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
4468
4469 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4470
4471 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
4472 unconditionally.
4473 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4474 Update.
4475 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4476 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4477
4478 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4479
4480 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
4481 '-DACC_MEM_SHARED=0'.
4482 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4483 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4484 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4485 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4486 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4487 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4488 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4489 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4490 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4491 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4492 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4493 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4494 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4495 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4496 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
4497 'acc_device_radeon' testing.
4498 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4499 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4500 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4501 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
4502 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4503 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4504 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4505 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4506 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4507 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4508 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
4509 for non-'openacc_nvidia_accel_selected'.
4510 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4511 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
4512 all implement this checking".
4513 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4514 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4515 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4516 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4517 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4518
4519 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4520
4521 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
4522 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
4523
4524 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4525
4526 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
4527 for 'acc_device_radeon'.
4528
4529 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4530
4531 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
4532 for non-'acc_device_nvidia'.
4533
4534 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4535
4536 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
4537 'acc_device_radeon' testing.
4538 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4539 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4540 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4541
4542 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4543
4544 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
4545 require 'openacc_nvidia_accel_selected'. Fix up for
4546 'ACC_DEVICE_TYPE_radeon'.
4547
4548 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4549
4550 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
4551 'openacc_nvidia_accel_selected'.
4552 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4553
4554 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4555
4556 * testsuite/lib/libgomp.exp
4557 (check_effective_target_openacc_radeon_accel_selected):
4558 Streamline.
4559
4560 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4561
4562 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
4563 PR80547 workaround.
4564
4565 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4566
4567 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4568 <acc_device_nvidia>: Update comment.
4569
4570 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
4571
4572 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
4573
4574 2021-05-27 Jakub Jelinek <jakub@redhat.com>
4575
4576 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
4577 check_effective_target_openacc_cublas,
4578 check_effective_target_openacc_cudart): New.
4579 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
4580 target openacc_cublas.
4581 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4582 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4583 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
4584 target openacc_cuda.
4585 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4586 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4587 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4588 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4589 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4590 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4591 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4592 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4593 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
4594 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4595 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4596 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4597 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4598 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4599 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4600 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4601 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
4602 targets openacc_cublas and openacc_cudart.
4603 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4604 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4605 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4606 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4607 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
4608 Require effective target openacc_cudart.
4609 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
4610 for effective target openacc_cuda and add && defined USE_CUDA_H to
4611 preprocessor conditionals. Guard -lcuda also on openacc_cuda
4612 effective target.
4613
4614 2021-05-26 Jakub Jelinek <jakub@redhat.com>
4615
4616 PR libgomp/100573
4617 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
4618 GOMP_target_end_data, GOMP_target_update_ext,
4619 GOMP_target_enter_exit_data): New dummy entrypoints.
4620 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
4621 GOMP_target_end_data, GOMP_target_update_ext,
4622 GOMP_target_enter_exit_data): Likewise.
4623 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
4624 OMPFROM, OMPTO): Define.
4625 (main): Remove #pragma omp target teams around all the tests.
4626 * testsuite/libgomp.c-c++-common/target-41.c: New test.
4627 * testsuite/libgomp.c-c++-common/target-42.c: New test.
4628
4629 2021-05-25 Jakub Jelinek <jakub@redhat.com>
4630
4631 PR middle-end/99928
4632 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
4633
4634 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
4635
4636 PR fortran/86470
4637 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
4638 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
4639 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
4640
4641 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
4642
4643 PR testsuite/90115
4644 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
4645 uninteresting/varying diagnostics.
4646
4647 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
4648
4649 PR middle-end/90115
4650 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
4651 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4652
4653 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
4654
4655 PR middle-end/90115
4656 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
4657 file.
4658 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4659 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
4660 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4661 Likewise.
4662 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4663 Likewise.
4664 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4665 Likewise.
4666 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4667 Likewise.
4668 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4669 Likewise.
4670 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4671 Likewise.
4672 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4673 Likewise.
4674 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4675 Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4677 Likewise.
4678 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4679 Likewise.
4680 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4681 Likewise.
4682 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4683 Likewise.
4684 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4685 Likewise.
4686 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4687 Likewise.
4688 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4689 Likewise.
4690 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4691 Likewise.
4692 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4693 Likewise.
4694 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4695 Likewise.
4696 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4697 Likewise.
4698 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4699 Likewise.
4700 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4701 Likewise.
4702 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4703 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4704 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4705 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4706 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4707 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4708 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4709 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4710 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4711 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4712 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4713 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4714 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4715 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4716 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
4717 Likewise.
4718 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
4719 Likewise.
4720 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
4721 Likewise.
4722 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4723 Likewise.
4724 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4725 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
4726 Likewise.
4727 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4728 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4729 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4730 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4731 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
4732 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4733 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4734 Likewise.
4735 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4736 Likewise.
4737 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4738 Likewise.
4739 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4740 Likewise.
4741 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4742 Likewise.
4743 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4744 Likewise.
4745 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4746 Likewise.
4747 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4748 Likewise.
4749 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4750 Likewise.
4751 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4752 Likewise.
4753 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4754 Likewise.
4755 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4756 Likewise.
4757 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4758 Likewise.
4759 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4760 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4761 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
4762 Likewise.
4763 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
4764 Likewise.
4765 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4766 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4767 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4768
4769 2021-05-21 Julian Brown <julian@codesourcery.com>
4770 Chung-Lin Tang <cltang@codesourcery.com>
4771 Thomas Schwinge <thomas@codesourcery.com>
4772
4773 PR middle-end/90115
4774 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
4775 test.
4776 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
4777 Likewise.
4778 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
4779 Likewise.
4780
4781 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
4782
4783 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
4784 for nvptx offloading.
4785
4786 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
4787
4788 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
4789
4790 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
4791
4792 PR target/83812
4793 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
4794
4795 2021-05-19 Julian Brown <julian@codesourcery.com>
4796
4797 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
4798
4799 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
4800
4801 * testsuite/lib/libgomp.exp
4802 (check_effective_target_offload_target_nvptx): Don't shadow global
4803 'offload_targets' variable.
4804
4805 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
4806
4807 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
4808 '-latomic' to nvptx offloading compilation.
4809 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
4810
4811 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
4812
4813 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
4814 offloading compilation.
4815
4816 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
4817
4818 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
4819 if new tasks generated.
4820 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
4821
4822 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
4823
4824 * testsuite/libgomp.fortran/parallel-master.f90: New test.
4825
4826 2021-05-13 Martin Liska <mliska@suse.cz>
4827
4828 PR testsuite/100569
4829 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
4830 * testsuite/libgomp.c/pr46032-2.c: Likewise.
4831 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
4832 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
4833
4834 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
4835
4836 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
4837 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
4838
4839 2021-05-11 Jakub Jelinek <jakub@redhat.com>
4840
4841 PR middle-end/100471
4842 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
4843 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
4844 reduction pointer.
4845 * testsuite/libgomp.c/task-reduction-4.c: New test.
4846
4847 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
4848 Tom de Vries <tdevries@suse.de>
4849
4850 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
4851 complex/floating-point || + && reduction with 'omp target'.
4852 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
4853
4854 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
4855
4856 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
4857 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
4858 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
4859 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
4860
4861 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
4862
4863 PR testsuite/100397
4864 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
4865 declaration to scope of non-'depend'-guarded assignment to avoid races.
4866
4867 2021-05-03 Tom de Vries <tdevries@suse.de>
4868
4869 PR target/100321
4870 * testsuite/libgomp.c/target-44.c: New test.
4871
4872 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
4873
4874 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
4875
4876 2021-04-29 Tom de Vries <tdevries@suse.de>
4877
4878 * testsuite/libgomp.c/pr81778.c: New test.
4879
4880 2021-04-29 Tom de Vries <tdevries@suse.de>
4881
4882 PR target/100232
4883 * testsuite/libgomp.c/target-43.c: New file.
4884
4885 2021-04-28 Jakub Jelinek <jakub@redhat.com>
4886 Tobias Burnus <tobias@codesourcery.com>
4887
4888 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
4889 * target.c (gomp_load_plugin_for_device): If set and if a plugin
4890 can't be dlopened, silently assume it has no devices.
4891 * Makefile.in: Regenerate.
4892 * config.h.in: Regenerate.
4893 * configure: Regenerate.
4894
4895 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
4896
4897 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
4898 Use [Ww]arning in dg-bogus as FE diagnostic and default
4899 diagnostic differ and the result depends on ENABLE_OFFLOAD.
4900 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4901 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4902 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4903
4904 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
4905
4906 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
4907 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
4908 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4909 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4910 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4911
4912 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
4913 Nathan Sidwell <nathan@codesourcery.com>
4914 Tom de Vries <vries@codesourcery.com>
4915 Julian Brown <julian@codesourcery.com>
4916 Kwok Cheung Yeung <kcy@codesourcery.com>
4917
4918 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
4919 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
4920 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4921 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4922 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4923 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4924 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
4925 Likewise.
4926 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4927 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4928 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4929 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
4930 Likewise.
4931 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
4932 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4933 Likewise.
4934 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4935 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4936 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4937 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4938 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4939 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
4940 Likewise.
4941 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4942 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
4943 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4944 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4945 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4946 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
4947 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4948 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4949 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4950 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4951 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4952
4953 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
4954
4955 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
4956 compile with '-w'.
4957 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4958 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
4959 Likewise.
4960 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4961 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
4962 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
4963 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4964 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4965 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4966 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4967
4968 2021-04-22 Richard Biener <rguenther@suse.de>
4969
4970 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
4971 only on nvptx-none.
4972
4973 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
4974
4975 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
4976 omp_depend_kind instead of defining it as 16.
4977
4978 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
4979
4980 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
4981 New, based on check_effective_target_offload_target_nvptx.
4982 (check_effective_target_offload_target_nvptx): Call it.
4983 (check_effective_target_offload_target_amdgcn): New.
4984 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
4985 Require target offload_target_nvptx || offload_target_amdgcn.
4986 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
4987 * testsuite/libgomp.c/pr86416-1.c: Likewise.
4988 * testsuite/libgomp.c/pr86416-2.c: Likewise.
4989
4990 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
4991
4992 * testsuite/libgomp.fortran/depobj-1.f90: New test.
4993
4994 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
4995
4996 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
4997 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
4998 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
4999 Likewise.
5000 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5001 Likewise.
5002 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5003
5004 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
5005
5006 PR target/99555
5007 * testsuite/lib/libgomp.exp
5008 (check_effective_target_offload_device_nvptx): New.
5009 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
5010 resolved, make sure that we exit quickly, with error status,
5011 XFAILed.
5012 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
5013 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5014
5015 2021-04-14 Jakub Jelinek <jakub@redhat.com>
5016
5017 PR testsuite/100071
5018 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
5019 cp = omp_alloc with cp, p arguments instead of cq, q and call
5020 c_f_pointer after last cq = omp_alloc with cq, q.
5021
5022 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
5023
5024 PR middle-end/98088
5025 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
5026 for loop with GT/GE condition.
5027 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
5028
5029 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
5030
5031 PR middle-end/84991
5032 PR middle-end/84992
5033 PR middle-end/90779
5034 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
5035
5036 2021-04-09 Jakub Jelinek <jakub@redhat.com>
5037
5038 PR libgomp/99984
5039 * team.c (gomp_thread_start): Call pthread_setspecific for
5040 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
5041 has been initialized to avoid false positive warning.
5042
5043 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
5044
5045 PR target/99555
5046 * testsuite/lib/on_device_arch.c: Move to ...
5047 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
5048 * testsuite/libgomp.fortran/on_device_arch.c: New file;
5049 #include on_device_arch.h.
5050 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
5051 on_device_arch.h instead of using dg-additional-source.
5052 * testsuite/libgomp.c/pr99555-1.c: Likewise.
5053 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
5054 on_device_arch.c without relative paths.
5055
5056 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5057
5058 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
5059 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
5060 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
5061 * config.h.in: Regenerate.
5062 * configure: Likewise.
5063
5064 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5065
5066 PR target/99555
5067 * testsuite/lib/on_device_arch.c: New file.
5068 * testsuite/libgomp.c/pr99555-1.c: Likewise.
5069 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
5070 skip for nvptx offloading, with error status.
5071 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5072
5073 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5074
5075 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
5076 OpenACC 'serial' construct diagnostic for nvptx offloading.
5077
5078 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
5079
5080 PR c++/99509
5081 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
5082
5083 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
5084
5085 PR fortran/98858
5086 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
5087
5088 2021-03-04 Jakub Jelinek <jakub@redhat.com>
5089
5090 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
5091 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
5092 checking of -m32 or -mx32 options on the command line.
5093 * config.h.in: Regenerated.
5094 * configure: Regenerated.
5095
5096 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
5097
5098 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
5099 support from the target.
5100
5101 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
5102 Jakub Jelinek <jakub@redhat.com>
5103
5104 PR libgomp/98738
5105 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
5106 (struct gomp_task): Replace detach and completion_sem fields with
5107 union containing completion_sem and detach_team. Add deferred_p
5108 field.
5109 (struct gomp_team): Remove task_detach_queue.
5110 * task.c: Include assert.h.
5111 (gomp_init_task): Initialize deferred_p and completion_sem fields.
5112 Rearrange initialization order of fields.
5113 (task_fulfilled_p): Delete.
5114 (GOMP_task): Use address of task as the event handle. Remove
5115 initialization of detach field. Initialize deferred_p field.
5116 Use automatic local for completion_sem. Initialize detach_team field
5117 for deferred tasks.
5118 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
5119 Set kind of suspended detach task to GOMP_TASK_DETACHED and
5120 decrement task_running_count. Move finish_cancelled block out of
5121 else branch. Relocate call to gomp_team_barrier_done.
5122 (GOMP_taskwait): Handle tasks with completion events that have not
5123 been fulfilled.
5124 (GOMP_taskgroup_end): Likewise.
5125 (omp_fulfill_event): Use address of task as event handle. Post to
5126 completion_sem for undeferred tasks. Clear detach_team if task
5127 has not finished. For finished tasks, handle post-execution tasks,
5128 call gomp_team_barrier_wake if necessary, and free task.
5129 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
5130 (free_team): Remove free of task_detach_queue.
5131 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
5132 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
5133 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
5134 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
5135 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
5136 Change data-sharing of detach events on enclosing parallel to private.
5137 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
5138 taskwait directive.
5139 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
5140 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
5141 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
5142 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
5143 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
5144 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
5145 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
5146 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
5147 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
5148 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
5149 Change data-sharing of detach events on enclosing parallel to private.
5150 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
5151 taskwait directive.
5152 * testsuite/libgomp.fortran/task-detach-7.f90: New.
5153 * testsuite/libgomp.fortran/task-detach-8.f90: New.
5154 * testsuite/libgomp.fortran/task-detach-9.f90: New.
5155 * testsuite/libgomp.fortran/task-detach-10.f90: New.
5156 * testsuite/libgomp.fortran/task-detach-11.f90: New.
5157
5158 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
5159
5160 PR fortran/99171
5161 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
5162
5163 2021-02-17 Julian Brown <julian@codesourcery.com>
5164
5165 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
5166 expected errors.
5167
5168 2021-02-17 Julian Brown <julian@codesourcery.com>
5169
5170 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
5171 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
5172
5173 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
5174
5175 * config/linux/x86/futex.h (__futex_wait):
5176 Revert output type back to long.
5177 (__futex_wake): Ditto.
5178 (futex_wait): Update for revert.
5179 (futex_wake): Ditto.
5180
5181 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
5182
5183 * config/linux/x86/futex.h (__futex_wait): New static inline
5184 wrapper function. Correct output type to int and
5185 timeout type to void *.
5186 (__futex_wake): New static inline wrapper function.
5187 Correct output type to int.
5188 (futex_wait): Use __futex_wait.
5189 (futex_wake): Use __futex_wake.
5190
5191 2021-02-10 Julian Brown <julian@codesourcery.com>
5192
5193 PR fortran/98979
5194 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
5195 errors.
5196
5197 2021-02-04 Julian Brown <julian@codesourcery.com>
5198
5199 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
5200
5201 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
5202
5203 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
5204 EF_AMDGPU_MACH_AMDGCN_GFX908.
5205 (gcn_gfx908_s): New constant string.
5206 (isa_hsa_name): Add gfx908.
5207 (isa_code): Add gfx908.
5208
5209 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
5210
5211 * libgomp.texi (omp_fulfill_event): New entry.
5212
5213 2021-01-20 Jakub Jelinek <jakub@redhat.com>
5214
5215 * task.c (GOMP_task): Rename priority argument to priority_arg,
5216 add priority automatic variable and modify that variable. Instead of
5217 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
5218 check flags for that bit.
5219
5220 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
5221
5222 PR fortran/98476
5223 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
5224
5225 2021-01-18 Andreas Schwab <schwab@suse.de>
5226
5227 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
5228
5229 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
5230
5231 * config/rtems/sem.h (gomp_sem_getcount): New function.
5232
5233 2021-01-18 Jakub Jelinek <jakub@redhat.com>
5234
5235 * config/linux/sem.h (gomp_sem_getcount): New function.
5236 * config/posix/sem.h (gomp_sem_getcount): New function.
5237 * config/posix/sem.c (gomp_sem_getcount): New function.
5238 * config/accel/sem.h (gomp_sem_getcount): New function.
5239 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
5240 (omp_fulfill_event): Likewise.
5241
5242 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
5243
5244 * fortran.c (omp_fulfill_event_): New.
5245 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
5246 (struct gomp_team): Add task_detach_queue and task_detach_count
5247 fields.
5248 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
5249 * libgomp_g.h (GOMP_task): Add extra argument.
5250 * omp.h.in (enum omp_event_handle_t): New.
5251 (omp_fulfill_event): New.
5252 * omp_lib.f90.in (omp_event_handle_kind): New.
5253 (omp_fulfill_event): New.
5254 * omp_lib.h.in (omp_event_handle_kind): New.
5255 (omp_fulfill_event): Declare.
5256 * priority_queue.c (priority_tree_find): New.
5257 (priority_list_find): New.
5258 (priority_queue_find): New.
5259 * priority_queue.h (priority_queue_predicate): New.
5260 (priority_queue_find): New.
5261 * task.c (gomp_init_task): Initialize detach field.
5262 (task_fulfilled_p): New.
5263 (GOMP_task): Add detach argument. Ignore detach argument if
5264 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
5265 field. Copy address of completion_sem into detach argument and
5266 into the start of the data record. Wait for detach event if task
5267 not deferred.
5268 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
5269 Remove completed tasks and requeue dependent tasks.
5270 (omp_fulfill_event): New.
5271 * team.c (gomp_new_team): Initialize task_detach_queue and
5272 task_detach_count fields.
5273 (free_team): Free task_detach_queue field.
5274 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
5275 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
5276 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
5277 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
5278 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
5279 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
5280 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
5281 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
5282 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
5283 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
5284 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
5285 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
5286
5287 2021-01-15 Jakub Jelinek <jakub@redhat.com>
5288
5289 PR target/70454
5290 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
5291 be added through preprocessor check on
5292 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
5293
5294 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
5295
5296 PR libgomp/65099
5297 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
5298 configurations.
5299 * configure: Regenerate.
5300 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
5301 check.
5302
5303 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
5304
5305 * configure: Re-generate.
5306
5307 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
5308
5309 * configure: Re-generate.
5310
5311 2021-01-05 Julian Brown <julian@codesourcery.com>
5312
5313 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
5314 (struct ptx_device): Add omp_stacks struct.
5315 (nvptx_open_device): Initialise cached-stacks housekeeping info.
5316 (nvptx_close_device): Free cached stacks block and mutex.
5317 (nvptx_stacks_free): New function.
5318 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
5319 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
5320 (nvptx_stacks_alloc): Rename to...
5321 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
5322 size or smaller is required.
5323 (nvptx_stacks_free): Remove.
5324 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
5325 during kernel execution.
5326
5327 2021-01-01 Jakub Jelinek <jakub@redhat.com>
5328
5329 * libgomp.texi: Bump @copying's copyright year.
5330
5331 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
5332
5333 * libgomp.texi (Top): Avoid bad "up" link.
5334
5335 2020-12-18 Jakub Jelinek <jakub@redhat.com>
5336
5337 * testsuite/libgomp.c/task-6.c: New test.
5338
5339 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
5340
5341 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
5342 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
5343
5344 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
5345
5346 * testsuite/libgomp.fortran/scan-1.f90: New test.
5347
5348 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
5349
5350 PR target/97865
5351 * configure: Regenerate.
5352
5353 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
5354
5355 * configure: Regenerate.
5356
5357 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
5358
5359 * testsuite/libgomp.oacc-c++/cache-1.C: New.
5360 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
5361
5362 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
5363
5364 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
5365 expected results.
5366
5367 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
5368
5369 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
5370 (reserved): Delete unused define.
5371
5372 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
5373
5374 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
5375 Tcl 8.5-specific behavior.
5376 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5377
5378 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
5379
5380 * env.c (gomp_global_icv): Remove nest_var field. Add
5381 max_active_levels_var field.
5382 (gomp_max_active_levels_var): Remove.
5383 (parse_boolean): Return true on success.
5384 (handle_omp_display_env): Express OMP_NESTED in terms of
5385 max_active_levels_var. Change format specifier for
5386 max_active_levels_var.
5387 (initialize_env): Set max_active_levels_var from
5388 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
5389 OMP_PROC_BIND.
5390 * icv.c (omp_set_nested): Express in terms of
5391 max_active_levels_var.
5392 (omp_get_nested): Likewise.
5393 (omp_set_max_active_levels): Use max_active_levels_var field instead
5394 of gomp_max_active_levels_var.
5395 (omp_get_max_active_levels): Likewise.
5396 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
5397 max_active_levels_var field.
5398 (gomp_supported_active_levels): Set to UCHAR_MAX.
5399 (gomp_max_active_levels_var): Delete.
5400 * libgomp.texi (omp_get_nested): Update documentation.
5401 (omp_set_nested): Likewise.
5402 (OMP_MAX_ACTIVE_LEVELS): Likewise.
5403 (OMP_NESTED): Likewise.
5404 (OMP_NUM_THREADS): Likewise.
5405 (OMP_PROC_BIND): Likewise.
5406 * parallel.c (gomp_resolve_num_threads): Replace reference
5407 to nest_var with max_active_levels_var. Use max_active_levels_var
5408 field instead of gomp_max_active_levels_var.
5409
5410 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
5411
5412 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
5413 nvptx_usleep; use also for device={arch(gcn)}.
5414
5415 2020-11-14 Jakub Jelinek <jakub@redhat.com>
5416
5417 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
5418 (foo): Add tests for non-VLA private and firstprivate clauses on
5419 omp task.
5420 (bar): Likewise. Remove taking of address from private/firstprivate
5421 variables.
5422 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
5423 (foo): Add p, q, px and s arguments. Add tests for array reductions
5424 and for non-VLA private and firstprivate clauses on omp task.
5425 (bar): Removed.
5426 (main): Adjust foo caller. Don't call bar.
5427
5428 2020-11-13 Gergö Barany <gergo@codesourcery.com>
5429 Thomas Schwinge <thomas@codesourcery.com>
5430
5431 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
5432 New.
5433 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
5434 Likewise.
5435 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5436 Likewise.
5437 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
5438 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5439
5440 2020-11-13 Gergö Barany <gergo@codesourcery.com>
5441 Thomas Schwinge <thomas@codesourcery.com>
5442
5443 PR fortran/94358
5444 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
5445
5446 2020-11-13 Jakub Jelinek <jakub@redhat.com>
5447
5448 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
5449 for array reductions.
5450 (main): Adjust foo callers.
5451
5452 2020-11-12 Jakub Jelinek <jakub@redhat.com>
5453
5454 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
5455 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
5456 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
5457 * allocator.c (omp_aligned_alloc): New for now static function,
5458 add alignment argument and handle it.
5459 (omp_alloc): Reimplement using omp_aligned_alloc.
5460 (GOMP_alloc, GOMP_free): New functions.
5461 (omp_free): Add ialias.
5462 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
5463 * testsuite/libgomp.c++/allocate-1.C: New test.
5464
5465 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
5466
5467 PR fortran/97782
5468 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
5469
5470 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
5471
5472 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
5473 usable.
5474 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
5475 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
5476 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
5477 (goacc_enter_data_internal): Likewise.
5478 * target.c (gomp_map_vars_internal):
5479 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
5480 of gomp_attach_pointer for OpenMP cases.
5481 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
5482 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
5483 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
5484
5485 2020-11-05 Ulrich Drepper <drepper@redhat.com>
5486 Kwok Cheung Yeung <kcy@codesourcery.com>
5487
5488 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
5489 * Makefile.in: Regenerate.
5490 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
5491 pragmas to ignore -Wdeprecated-declarations warnings.
5492 * icv.c: Likewise.
5493 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
5494 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
5495 and omp_get_nested with __GOMP_DEPRECATED_5_0.
5496 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
5497 deprecated.
5498 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
5499 to test options.
5500 * testsuite/libgomp.c/affinity-1.c: Likewise.
5501 * testsuite/libgomp.c/affinity-2.c: Likewise.
5502 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
5503 * testsuite/libgomp.c/lib-1.c: Likewise.
5504 * testsuite/libgomp.c/nested-1.c: Likewise.
5505 * testsuite/libgomp.c/nested-2.c: Likewise.
5506 * testsuite/libgomp.c/nested-3.c: Likewise.
5507 * testsuite/libgomp.c/pr32362-1.c: Likewise.
5508 * testsuite/libgomp.c/pr32362-2.c: Likewise.
5509 * testsuite/libgomp.c/pr32362-3.c: Likewise.
5510 * testsuite/libgomp.c/pr35549.c: Likewise.
5511 * testsuite/libgomp.c/pr42942.c: Likewise.
5512 * testsuite/libgomp.c/pr61200.c: Likewise.
5513 * testsuite/libgomp.c/sort-1.c: Likewise.
5514 * testsuite/libgomp.c/target-5.c: Likewise.
5515 * testsuite/libgomp.c/target-6.c: Likewise.
5516 * testsuite/libgomp.c/teams-1.c: Likewise.
5517 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
5518 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5519 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
5520 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
5521 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5522 * testsuite/libgomp.fortran/lib2.f: Likewise.
5523 * testsuite/libgomp.fortran/nested1.f90: Likewise.
5524 * testsuite/libgomp.fortran/teams1.f90: Likewise.
5525
5526 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
5527
5528 PR target/85486
5529 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
5530 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5531 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5532
5533 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
5534
5535 PR testsuite/80219
5536 PR testsuite/85303
5537 * testsuite/lib/libgomp.exp (libgomp_init): Set
5538 'gcc_warning_prefix', 'gcc_error_prefix'.
5539
5540 2020-10-30 Jakub Jelinek <jakub@redhat.com>
5541
5542 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
5543 even in field_tgt_clear initializer.
5544
5545 2020-10-28 Jakub Jelinek <jakub@redhat.com>
5546
5547 * testsuite/libgomp.c/target-42.c: New test.
5548
5549 2020-10-28 Jakub Jelinek <jakub@redhat.com>
5550 Tom de Vries <tdevries@suse.de>
5551
5552 PR testsuite/81690
5553 * testsuite/libgomp.c/usleep.h: New file.
5554 * testsuite/libgomp.c/target-32.c: Include usleep.h.
5555 (main): Use tgt_usleep instead of usleep.
5556 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
5557 (main): Use tgt_usleep instead of usleep.
5558
5559 2020-10-28 Jakub Jelinek <jakub@redhat.com>
5560
5561 PR lto/96680
5562 * testsuite/libgomp.c/declare-variant-1.c: New test.
5563
5564 2020-10-22 Jakub Jelinek <jakub@redhat.com>
5565
5566 * testsuite/libgomp.c/target-41.c: New test.
5567
5568 2020-10-22 Jakub Jelinek <jakub@redhat.com>
5569
5570 * icv.c (omp_get_initial_device): Remove including corresponding
5571 ialias.
5572 * icv-device.c (omp_get_initial_device): New function. Return
5573 gomp_get_num_devices (). Add ialias.
5574 * target.c (resolve_device): Don't fail with
5575 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
5576 gomp_get_num_devices ().
5577 (omp_target_alloc, omp_target_free, omp_target_is_present,
5578 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
5579 omp_target_disassociate_ptr, omp_pause_resource): Use
5580 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
5581 first use in the functions, in uses dominated by the
5582 gomp_get_num_devices call use num_devices_openmp instead.
5583 * libgomp.texi (omp_get_initial_device): Document.
5584 * config/gcn/icv-device.c (omp_get_initial_device): New function.
5585 Add ialias.
5586 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
5587 * testsuite/libgomp.c/target-40.c: New test.
5588
5589 2020-10-21 Jakub Jelinek <jakub@redhat.com>
5590
5591 * env.c (parse_target_offload): Change new_offload var type to int,
5592 preinitialize to -1, remove found var and test new_offload != -1
5593 instead of found.
5594
5595 2020-10-20 Jakub Jelinek <jakub@redhat.com>
5596
5597 * target.c (gomp_target_init): Inside of the function, use automatic
5598 variables corresponding to num_devices, num_devices_openmp and devices
5599 global variables and update the globals only at the end of the
5600 function.
5601
5602 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
5603
5604 * env.c (gomp_target_offload_var): New.
5605 (parse_target_offload): New.
5606 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
5607 (initialize_env): Parse OMP_TARGET_OFFLOAD.
5608 * libgomp.h (gomp_target_offload_t): New.
5609 (gomp_target_offload_var): New.
5610 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
5611 * target.c (resolve_device): Generate error if device not found and
5612 offloading is mandatory.
5613 (gomp_target_fallback): Generate error if offloading is mandatory.
5614 (GOMP_target): Add argument in call to gomp_target_fallback.
5615 (GOMP_target_ext): Likewise.
5616 (gomp_target_data_fallback): Generate error if offloading is mandatory.
5617 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
5618 (GOMP_target_data_ext): Likewise.
5619 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
5620 (gomp_target_init): Return early if offloading is disabled.
5621
5622 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
5623
5624 * libgomp.texi (omp_get_max_active_levels): Modify description.
5625 (omp_get_supported_active_levels): Make descriptions consistent.
5626
5627 2020-10-14 Jakub Jelinek <jakub@redhat.com>
5628
5629 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
5630
5631 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
5632
5633 * env.c (gomp_max_active_levels_var): Initialize to
5634 gomp_supported_active_levels.
5635 (initialize_env): Limit gomp_max_active_levels_var to be at most
5636 equal to gomp_supported_active_levels.
5637 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
5638 (omp_get_supported_active_levels_): New.
5639 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
5640 to at most equal to gomp_supported_active_levels.
5641 (omp_get_supported_active_levels): New.
5642 * libgomp.h (gomp_supported_active_levels): New.
5643 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
5644 omp_get_supported_active_levels_.
5645 * libgomp.texi (omp_get_supported_active_levels): New.
5646 (omp_set_max_active_levels): Update. Add reference to
5647 omp_get_supported_active_levels.
5648 * omp.h.in (omp_get_supported_active_levels): New.
5649 * omp_lib.f90.in (omp_get_supported_active_levels): New.
5650 * omp_lib.h.in (omp_get_supported_active_levels): New.
5651 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
5652 against omp_get_supported_active_levels.
5653 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
5654
5655 2020-10-11 Clement Chigot <clement.chigot@atos.net>
5656
5657 * config/t-aix: Delete and recreate libgomp before creating
5658 FAT library.
5659
5660 2020-10-08 Tom de Vries <tdevries@suse.de>
5661
5662 PR libgomp/81802
5663 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
5664 dimensions.
5665
5666 2020-10-06 Tom de Vries <tdevries@suse.de>
5667
5668 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
5669
5670 2020-10-06 Tom de Vries <tdevries@suse.de>
5671
5672 PR middle-end/90861
5673 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
5674
5675 2020-10-05 Tom de Vries <tdevries@suse.de>
5676
5677 PR fortran/95654
5678 * testsuite/libgomp.fortran/pr95654.f90: New test.
5679
5680 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
5681
5682 * Makefile.in: Regenerate with automake 1.15.1.
5683 * aclocal.m4: Likewise.
5684 * configure: Likewise.
5685 * testsuite/Makefile.in: Likewise.
5686
5687 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
5688
5689 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
5690 and amdgcn targets.
5691
5692 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
5693
5694 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
5695
5696 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
5697
5698 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
5699 total number of threads is one.
5700 (gomp_team_barrier_wake): Likewise.
5701 (gomp_team_barrier_wait_end): Likewise.
5702 (gomp_team_barrier_wait_cancel_end): Likewise.
5703 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
5704 (gomp_team_barrier_wake): Likewise.
5705 (gomp_team_barrier_wait_end): Likewise.
5706 (gomp_team_barrier_wait_cancel_end): Likewise.
5707 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
5708
5709 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
5710
5711 PR middle-end/96390
5712 * testsuite/libgomp.c++/pr96390.C: New test.
5713 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
5714
5715 2020-09-27 Clement Chigot <clement.chigot@atos.net>
5716
5717 * config/t-aix: Use $(AR) without -X32_64.
5718
5719 2020-09-25 Jakub Jelinek <jakub@redhat.com>
5720
5721 * testsuite/libgomp.c/loop-25.c: New test.
5722
5723 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
5724
5725 PR fortran/95654
5726 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
5727
5728 2020-09-22 Tom de Vries <tdevries@suse.de>
5729
5730 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
5731 fails.
5732
5733 2020-09-16 Nathan Sidwell <nathan@acm.org>
5734
5735 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
5736
5737 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
5738
5739 PR fortran/96668
5740 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
5741
5742 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
5743
5744 PR fortran/96668
5745 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
5746 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
5747 (gomp_map_vars_existing): Update call to it.
5748 (gomp_map_fields_existing): Likewise
5749 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
5750 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
5751 remapped.
5752 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
5753 GOMP_MAP_POINTER.
5754 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
5755 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
5756
5757 2020-09-14 Tom de Vries <tdevries@suse.de>
5758
5759 * config/nvptx/atomic.c: New file. Add
5760 __sync_val_compare_and_swap_16.
5761 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
5762 target offload_target_nvptx.
5763
5764 2020-09-08 Julian Brown <julian@codesourcery.com>
5765
5766 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
5767 iteration-ordering assumptions.
5768
5769 2020-09-08 Julian Brown <julian@codesourcery.com>
5770
5771 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
5772 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5773
5774 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
5775
5776 * plugin/plugin-nvptx.c (nvptx_free):
5777 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
5778 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
5779 comments.
5780
5781 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
5782
5783 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
5784
5785 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
5786
5787 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
5788
5789 2020-08-13 Jakub Jelinek <jakub@redhat.com>
5790
5791 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
5792 * testsuite/libgomp.c/loop-23.c (main): Likewise.
5793 * testsuite/libgomp.c/loop-24.c: New test.
5794
5795 2020-08-08 Jakub Jelinek <jakub@redhat.com>
5796 Tobias Burnus <tobias@codesourcery.com>
5797
5798 PR fortran/93553
5799 * testsuite/libgomp.fortran/pr93553.f90: New test.
5800
5801 2020-08-05 Jakub Jelinek <jakub@redhat.com>
5802
5803 * testsuite/libgomp.c/loop-22.c: New test.
5804 * testsuite/libgomp.c/loop-23.c: New test.
5805
5806 2020-08-05 Jakub Jelinek <jakub@redhat.com>
5807
5808 PR middle-end/96459
5809 * testsuite/libgomp.c/teams-3.c: New test.
5810 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
5811 if not defined yet.
5812 (N(test)): Use it before all N(f*) calls.
5813 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
5814 (main): Don't call all test_* functions from within
5815 #pragma omp teams reduction(|:err), call them directly.
5816
5817 2020-08-04 Tom de Vries <tdevries@suse.de>
5818
5819 PR target/96428
5820 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
5821 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
5822
5823 2020-08-03 Julian Brown <julian@codesourcery.com>
5824 Thomas Schwinge <thomas@codesourcery.com>
5825
5826 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
5827 shared-memory devices. Extend with further checking.
5828
5829 2020-08-03 Martin Jambor <mjambor@suse.cz>
5830
5831 * plugin/Makefrag.am: Remove configuration of HSA plugin.
5832 * aclocal.m4: Regenerated.
5833 * Makefile.in: Regenerated.
5834 * config.h.in: Regenerated.
5835 * configure: Regenerated.
5836 * plugin/configfrag.ac: Likewise.
5837 * plugin/hsa_ext_finalize.h: Removed.
5838 * plugin/plugin-hsa.c: Likewise.
5839 * testsuite/Makefile.in: Regenerated.
5840 * testsuite/lib/libgomp.exp
5841 (offload_target_to_openacc_device_type): Remove hsa case.
5842 (check_effective_target_hsa_offloading_selected_nocache): Removed
5843 (check_effective_target_hsa_offloading_selected): Likewise.
5844 (libgomp_init): Do not add -Wno-hsa to additional_flags.
5845 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
5846 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5847 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
5848 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5849 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5850 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5851 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
5852 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5853 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5854 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5855 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5856 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5857 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5858 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5859 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5860 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5861 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
5862 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5863 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
5864 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5865 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5866 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
5867 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
5868 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
5869
5870 2020-07-27 Julian Brown <julian@codesourcery.com>
5871 Thomas Schwinge <thomas@codesourcery.com>
5872
5873 * libgomp.h (struct target_var_desc): Rename do_detach field to
5874 is_attach.
5875 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
5876 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
5877 (goacc_enter_data_internal): Don't affect reference counts
5878 for attach mappings.
5879 (goacc_exit_data_internal): Don't affect reference counts for detach
5880 mappings.
5881 * target.c (gomp_map_vars_existing): Don't affect reference counts for
5882 attach mappings.
5883 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
5884 mark attach mappings.
5885 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
5886 reference count for attach mappings.
5887 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
5888 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
5889 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
5890 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
5891 test as shouldfail.
5892 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
5893 gracefully in no-finalize mode.
5894 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
5895
5896 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
5897
5898 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
5899 use.
5900 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5901 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5902
5903 2020-07-23 Julian Brown <julian@codesourcery.com>
5904 Thomas Schwinge <thomas@codesourcery.com>
5905
5906 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
5907 finalization for detach operation.
5908 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
5909 New test.
5910
5911 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
5912
5913 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
5914 * libgomp_f.h.in (omp_check_defines): Check whether
5915 sizeof of determined Fortran kind and C typedef match.
5916 * omp_lib.f90.in: Add omp_depened_kind.
5917 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
5918 * configure: Regenerate.
5919 * Makefile.in: Regenerate.
5920 * testsuite/Makefile.in: Regenerate.
5921
5922 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
5923
5924 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
5925 gcc/testsuite/c-c++-common/gomp/.
5926 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
5927 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
5928 from gcc/testsuite/gfortran.dg/gomp/.
5929 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
5930
5931 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
5932
5933 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
5934 * omp_lib.h.in: Likewise.
5935
5936 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
5937
5938 PR target/95620
5939 * testsuite/libgomp.c/pr95620.c: New test.
5940
5941 2020-07-16 Julian Brown <julian@codesourcery.com>
5942 Thomas Schwinge <thomas@codesourcery.com>
5943
5944 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
5945 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
5946
5947 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
5948
5949 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
5950 avoid conversion on 32bit systems from 32bit to 64bit due
5951 to -fdefault-integer-8.
5952
5953 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
5954
5955 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
5956 variables; add character(kind=4) tests; update TODO comment.
5957
5958 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
5959
5960 * allocator.c: Add ialias for omp_init_allocator and
5961 omp_destroy_allocator.
5962 * configure.ac: Set INTPTR_T_KIND.
5963 * configure: Regenerate.
5964 * Makefile.in: Regenerate.
5965 * testsuite/Makefile.in: Regenerate.
5966 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
5967 omp_set_default_allocator_, omp_get_default_allocator_): New
5968 functions and ialias_redirect.
5969 * icv.c: Add ialias for omp_set_default_allocator and
5970 omp_get_default_allocator.
5971 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
5972 omp_destroy_allocator_, omp_set_default_allocator_ and
5973 omp_get_default_allocator_.
5974 * omp_lib.f90.in: Add allocator traits parameters, declare
5975 allocator routines and add related kind parameters.
5976 * omp_lib.h.in: Likewise.
5977 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
5978 * testsuite/libgomp.fortran/alloc-1.F90: New test.
5979 * testsuite/libgomp.fortran/alloc-2.F90: New test.
5980 * testsuite/libgomp.fortran/alloc-3.F: New test.
5981 * testsuite/libgomp.fortran/alloc-4.f90: New test.
5982 * testsuite/libgomp.fortran/alloc-5.f90: New test.
5983
5984 2020-07-14 Tom de Vries <tom@codesourcery.com>
5985 Cesar Philippidis <cesar@codesourcery.com>
5986 Thomas Schwinge <thomas@codesourcery.com>
5987 Kwok Cheung Yeung <kcy@codesourcery.com>
5988
5989 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
5990 New variable.
5991 (acc_init_1): Set acc_init_thread to pthread_self (). Set
5992 acc_init_state to initializing at the start, and to initialized at the
5993 end.
5994 (self_initializing_p): New function.
5995 (acc_get_device_type): Return acc_device_none if called by thread that
5996 is currently executing acc_init_1.
5997 * libgomp.texi (acc_get_device_type): Update documentation.
5998 (Implementation Status and Implementation-Defined Behavior): Likewise.
5999 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
6000
6001 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
6002
6003 * config/t-aix: Set BITS from compiler cpp macro.
6004
6005 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
6006
6007 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
6008
6009 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
6010
6011 PR fortran/67311
6012 * testsuite/libgomp.fortran/target-map-1.f90: New test.
6013
6014 2020-07-14 Jakub Jelinek <jakub@redhat.com>
6015
6016 * testsuite/libgomp.c/loop-21.c: New test.
6017
6018 2020-07-13 Julian Brown <julian@codesourcery.com>
6019 Thomas Schwinge <thomas@codesourcery.com>
6020
6021 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
6022
6023 2020-07-10 Julian Brown <julian@codesourcery.com>
6024 Thomas Schwinge <thomas@codesourcery.com>
6025
6026 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
6027 dynamic_refcount.
6028 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
6029 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
6030 dynamic_refcount.
6031 (acc_unmap_data): Update comment.
6032 (goacc_map_var_existing, goacc_enter_datum): Adjust for
6033 dynamic_refcount semantics.
6034 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
6035 Adjust for dynamic_refcount semantics.
6036 (goacc_enter_data_internal): Implement "present" case of dynamic
6037 memory-map handling here. Update "non-present" case for
6038 dynamic_refcount semantics.
6039 (goacc_exit_data_internal): Use goacc_exit_datum_1.
6040 * target.c (gomp_map_vars_internal): Remove
6041 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
6042 handling.
6043 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
6044 (gomp_load_image_to_device): Substitute dynamic_refcount for
6045 virtual_refcount.
6046 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
6047 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
6048 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
6049 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
6050 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
6051 trace output.
6052 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
6053 trace output.
6054 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
6055 test.
6056 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
6057 Remove stale comment.
6058 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
6059 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
6060 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6061 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6062 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6063 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
6064
6065 2020-07-10 Julian Brown <julian@codesourcery.com>
6066 Thomas Schwinge <thomas@codesourcery.com>
6067
6068 * oacc-mem.c (goacc_map_var_existing): New function.
6069 (goacc_enter_datum): Use above function.
6070 (goacc_exit_datum_1): New function.
6071 (goacc_exit_datum): Use above function.
6072
6073 2020-07-09 Julian Brown <julian@codesourcery.com>
6074 Thomas Schwinge <thomas@codesourcery.com>
6075
6076 PR middle-end/95270
6077 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
6078 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
6079
6080 2020-07-09 Julian Brown <julian@codesourcery.com>
6081
6082 * oacc-mem.c (find_group_last): Group data-movement clauses
6083 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
6084 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
6085
6086 2020-07-09 Jakub Jelinek <jakub@redhat.com>
6087
6088 * testsuite/libgomp.c/loop-19.c: New test.
6089 * testsuite/libgomp.c/loop-20.c: New test.
6090
6091 2020-07-09 Jakub Jelinek <jakub@redhat.com>
6092
6093 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
6094 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
6095 it. Remove __omp_alloctrait_value_max__.
6096 * allocator.c (omp_init_allocator): Handle omp_atv_default for
6097 omp_atk_alignment and omp_atk_pool_size.
6098
6099 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
6100
6101 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
6102 behavior for 'GOMP_MAP_FORCE_FROM'.
6103 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
6104
6105 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
6106
6107 * oacc-mem.c (goacc_exit_data_internal): Remove
6108 'GOMP_MAP_ALWAYS_FROM' handling.
6109
6110 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
6111
6112 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
6113 'scan-assembler' with 'scan-offload-rtl'.
6114 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6115 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
6116 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
6117 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
6118
6119 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
6120
6121 * target.c (gomp_map_vars_existing): Assert 'kind !=
6122 GOMP_MAP_ATTACH'.
6123 (gomp_map_vars_internal): Clean up.
6124
6125 2020-06-27 Jakub Jelinek <jakub@redhat.com>
6126
6127 * testsuite/libgomp.c/loop-17.c: New test.
6128 * testsuite/libgomp.c/loop-18.c: New test.
6129
6130 2020-06-26 Marek Polacek <polacek@redhat.com>
6131
6132 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
6133
6134 2020-06-23 Alexandre Oliva <oliva@adacore.com>
6135
6136 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
6137 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
6138
6139 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
6140
6141 * Makefile.am: Use -include.
6142 * Makefile.in: Regenerate.
6143
6144 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
6145
6146 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
6147 * Makefile.in: Regenerate
6148 * configure.ac (tmake_file): Substitute.
6149 * configure: Regenerate.
6150 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
6151 * config/t-aix: New file.
6152
6153 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
6154
6155 PR lto/94848
6156 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
6157 'dg-do run'.
6158
6159 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
6160
6161 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
6162 variant for HSA_RUNTIME_LIB name.
6163 (find_executable_symbol_1): Delete.
6164 (find_executable_symbol): Delete.
6165 (init_kernel_properties): Add ".kd" suffix to symbol names.
6166 (find_load_offset): Delete.
6167 (create_and_finalize_hsa_program): Remove relocation handling.
6168
6169 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
6170
6171 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
6172
6173 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
6174
6175 PR lto/94848
6176 PR middle-end/95551
6177 * testsuite/libgomp.fortran/target-var.f90: New test.
6178
6179 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
6180 Julian Brown <julian@codesourcery.com>
6181
6182 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
6183 special handling.
6184
6185 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
6186 Julian Brown <julian@codesourcery.com>
6187
6188 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6189 Simplify.
6190
6191 2020-06-05 Julian Brown <julian@codesourcery.com>
6192
6193 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
6194 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
6195
6196 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6197
6198 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6199 Evaluate 'copyfrom' individually for each entry.
6200 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
6201
6202 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6203
6204 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6205 Evaluate 'finalize' individually for each entry.
6206 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
6207 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
6208 file.
6209
6210 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6211
6212 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
6213 usage.
6214 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
6215
6216 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6217 Julian Brown <julian@codesourcery.com>
6218
6219 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
6220 checking.
6221 (acc_unmap_data, goacc_exit_data_internal): Restore
6222 'is_tgt_unmapped' checking.
6223 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
6224 file.
6225 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
6226 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
6227 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6228 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6229 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6230 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
6231
6232 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6233 Julian Brown <julian@codesourcery.com>
6234
6235 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
6236
6237 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6238
6239 PR libgomp/92854
6240 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
6241
6242 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6243
6244 PR libgomp/92854
6245 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
6246 more.
6247
6248 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6249 Julian Brown <julian@codesourcery.com>
6250
6251 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
6252 'gomp_map_vars'.
6253 (acc_map_data): Clean up accordingly.
6254
6255 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6256
6257 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
6258 of over-eager 'finalize' clause.
6259 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
6260 file.
6261 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
6262 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
6263 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6264 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6265 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6266 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
6267 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
6268 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
6269
6270 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6271
6272 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
6273
6274 2020-06-04 Julian Brown <julian@codesourcery.com>
6275
6276 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
6277 error path.
6278 (goacc_detach_internal): Likewise.
6279
6280 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6281
6282 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
6283 the checkpoint.
6284 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
6285 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
6286 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
6287 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
6288 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
6289
6290 2020-06-02 Jakub Jelinek <jakub@redhat.com>
6291
6292 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
6293 defined.
6294
6295 2020-05-30 Jakub Jelinek <jakub@redhat.com>
6296
6297 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
6298
6299 2020-05-30 Jakub Jelinek <jakub@redhat.com>
6300
6301 * allocator.c (omp_alloc): For size == 0, return NULL early.
6302
6303 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
6304
6305 PR bootstrap/95413
6306 * configure: Regenerated.
6307
6308 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
6309
6310 PR libfortran/95191
6311 * testsuite/libgomp.fortran/async_io_9.f90: New test.
6312
6313 2020-05-19 Jakub Jelinek <jakub@redhat.com>
6314
6315 * omp.h.in (omp_uintptr_t): New typedef.
6316 (__GOMP_UINTPTR_T_ENUM): Define.
6317 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
6318 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
6319 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
6320 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
6321 omp_get_default_allocator, omp_alloc, omp_free): Declare.
6322 * libgomp.h (struct gomp_team_state): Add def_allocator field.
6323 (gomp_def_allocator): Declare.
6324 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
6325 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
6326 omp_alloc and omp_free.
6327 * team.c (gomp_team_start): Copy over ts.def_allocator.
6328 * env.c (gomp_def_allocator): New variable.
6329 (parse_wait_policy): Adjust function comment.
6330 (parse_allocator): New function.
6331 (handle_omp_display_env): Print OMP_ALLOCATOR.
6332 (initialize_env): Call parse_allocator.
6333 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
6334 * allocator.c: New file.
6335 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
6336 functions.
6337 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
6338 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
6339 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
6340 * Makefile.in: Regenerated.
6341
6342 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
6343
6344 PR bootstrap/95147
6345 * configure: Regenerated.
6346
6347 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
6348
6349 PR libfortran/95119
6350 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
6351
6352 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
6353
6354 * configure: Regenerated.
6355
6356 2020-05-14 Jakub Jelinek <jakub@redhat.com>
6357
6358 * testsuite/libgomp.c-c++-common/target-40.c: New test.
6359
6360 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
6361
6362 PR fortran/94690
6363 * testsuite/libgomp.fortran/pr66199-3.f90: New.
6364 * testsuite/libgomp.fortran/pr66199-4.f90: New.
6365 * testsuite/libgomp.fortran/pr66199-5.f90: New.
6366 * testsuite/libgomp.fortran/pr66199-6.f90: New.
6367 * testsuite/libgomp.fortran/pr66199-7.f90: New.
6368 * testsuite/libgomp.fortran/pr66199-8.f90: New.
6369 * testsuite/libgomp.fortran/pr66199-9.f90: New.
6370
6371 2020-05-12 Jakub Jelinek <jakub@redhat.com>
6372
6373 * testsuite/libgomp.c/target-39.c: New test.
6374
6375 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
6376
6377 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
6378 * openacc.f90 (acc_device_current): Likewise.
6379 * openacc.h (acc_device_current): Likewise.
6380 * openacc_lib.h (acc_device_current): Likewise.
6381
6382 PR target/94282
6383 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
6384 'dg-allow-blank-lines-in-output'.
6385
6386 * oacc-init.c (get_openacc_name): Handle 'gcn'.
6387 * testsuite/lib/libgomp.exp
6388 (offload_target_to_openacc_device_type) [amdgcn*]: Return
6389 'radeon'. Adjust all users.
6390 (check_effective_target_openacc_amdgcn_accel_present): Rename
6391 to...
6392 (check_effective_target_openacc_radeon_accel_present): ... this.
6393 Adjust all users.
6394 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
6395 (check_effective_target_openacc_radeon_accel_selected): ... this.
6396 Adjust all users.
6397
6398 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
6399 'dg-do run'.
6400
6401 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
6402
6403 PR other/94629
6404
6405 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
6406 hsa_iterate_agents.
6407 (GOMP_OFFLOAD_init_device): Check return values from both calls to
6408 hsa_agent_iterate_regions.
6409
6410 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
6411
6412 PR middle-end/94635
6413 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
6414 run'.
6415
6416 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
6417
6418 PR middle-end/94120
6419 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
6420 test case.
6421
6422 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
6423
6424 PR middle-end/94635
6425 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
6426
6427 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
6428
6429 PR libgomp/92843
6430 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
6431 Rename to...
6432 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
6433 ... this.
6434 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
6435 Rename to...
6436 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
6437 ... this.
6438 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
6439 Rename to...
6440 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
6441 ... this.
6442 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
6443 Rename to...
6444 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
6445 ... this.
6446 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
6447 Rename to...
6448 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
6449 ... this.
6450 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
6451 Rename to...
6452 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
6453 ... this.
6454 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
6455 Rename to...
6456 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
6457 ... this.
6458 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
6459 Rename to...
6460 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
6461 ... this.
6462 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
6463 Rename to...
6464 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
6465 ... this.
6466 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
6467 Rename to...
6468 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
6469 ... this.
6470 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
6471 Rename to...
6472 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
6473 ... this.
6474 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
6475 Rename to...
6476 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
6477 ... this.
6478 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
6479 Rename to...
6480 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
6481 ... this.
6482 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
6483 Rename to...
6484 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
6485 ... this.
6486 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
6487 Rename to...
6488 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
6489 ... this.
6490 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
6491 Rename to...
6492 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
6493 ... this.
6494
6495 2020-04-10 Julian Brown <julian@codesourcery.com>
6496 Thomas Schwinge <thomas@codesourcery.com>
6497
6498 PR libgomp/92843
6499 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
6500 New file.
6501 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
6502 Likewise.
6503 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
6504 Likewise.
6505 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
6506 Likewise.
6507 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
6508 Likewise.
6509 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
6510 Likewise.
6511 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
6512 Likewise.
6513 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
6514 Likewise.
6515 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
6516 Likewise.
6517 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
6518 Likewise.
6519 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
6520 Likewise.
6521 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
6522 Likewise.
6523 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
6524 Likewise.
6525 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
6526 Likewise.
6527 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
6528 Likewise.
6529 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
6530 Likewise.
6531
6532 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
6533
6534 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
6535 run'.
6536
6537 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
6538
6539 PR middle-end/94120
6540 * libgomp.oacc-c++/declare-pr94120.C: New.
6541
6542 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
6543
6544 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
6545 files.
6546 * configure: Regenerate.
6547 * testsuite/libgomp-site-extra.exp.in: New file.
6548 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
6549 variable.
6550 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
6551 variable.
6552 * testsuite/Makefile.in: Regenerate.
6553
6554 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
6555
6556 PR tree-optimization/89713
6557 PR c/94392
6558 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
6559 'bar.sync'.
6560 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
6561
6562 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
6563
6564 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
6565 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
6566
6567 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
6568
6569 PR libgomp/81689
6570 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
6571
6572 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
6573
6574 PR libgomp/94251
6575 * target.c (gomp_load_image_to_device): Fix link
6576 variable handling.
6577
6578 2020-03-19 Jakub Jelinek <jakub@redhat.com>
6579
6580 PR c++/93931
6581 * testsuite/libgomp.c++/pr93931.C: New test.
6582
6583 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
6584
6585 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
6586 dg-allow-blank-lines-in-output.
6587
6588 2020-03-18 Julian Brown <julian@codesourcery.com>
6589 Tobias Burnus <tobias@codesourcery.com>
6590
6591 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
6592 it work concurrently.
6593
6594 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
6595
6596 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
6597 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
6598 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
6599
6600 2020-03-14 Jakub Jelinek <jakub@redhat.com>
6601
6602 PR middle-end/93566
6603 * testsuite/libgomp.c/pr93566.c: New test.
6604
6605 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
6606
6607 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
6608 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
6609 integer(acc_device_property) for the type of the return value of
6610 acc_get_property.
6611
6612 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
6613
6614 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
6615 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
6616 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
6617 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
6618 (acc_set_device_num): Fix Fortran argument name, use same name for C.
6619 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
6620 corrections; add note about the previous interface and named constant.
6621 (OpenACC library and environment variables): Fix two typos.
6622 * openacc.f90: Use for all procedures the argument names from the spec
6623 as for …_h they are user visible.
6624 (openacc_kinds): Rename acc_device_property to
6625 acc_device_property_kinds and change value to int32 ; and update users.
6626 Re-add acc_device_property for for backward compatibility.
6627 (acc_get_property_string_h): Clean up as acc_device_property_kind
6628 changed.
6629 (acc_get_property_h): Likewise and return c_size_t instead of
6630 acc_device_property.
6631 (openacc): Also export acc_device_property_kinds.
6632 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
6633 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
6634 handling; check against /= 0 instead of == 1 to match C.
6635 * openacc_lib.h: Use for all procedures the argument names from the spec
6636 as for …_h they are user visible. Place !GCC$ into the first column to
6637 be active also for fixed-form souce form.
6638 (acc_device_current, acc_device_property_kind, acc_device_property,
6639 acc_property_memory, acc_property_free_memory, acc_property_name,
6640 acc_property_vendor, acc_property_driver): New named constants.
6641 (acc_get_property, acc_get_property_string): New generic interface.
6642
6643 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
6644
6645 PR libgomp/93481
6646 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
6647 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
6648 optional.
6649 (gomp_target_task_fn): Assert "devicep->async_run_func".
6650 (clear_unsupported_flags): New function to remove unsupported flags
6651 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
6652 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
6653 * testsuite/libgomp.c/target-33.c:
6654 Remove xfail for offload_target_nvptx.
6655 * testsuite/libgomp.c/target-34.c: Likewise.
6656
6657 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
6658
6659 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
6660 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
6661 * testsuite/libgomp.c/target-34.c: Likewise.
6662 * testsuite/libgomp.c/target-link-1.c: Add xfail for
6663 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
6664
6665 2020-02-09 Jakub Jelinek <jakub@redhat.com>
6666
6667 * testsuite/libgomp.c/target-38.c: New test.
6668
6669 2020-02-06 Jakub Jelinek <jakub@redhat.com>
6670
6671 PR libgomp/93515
6672 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
6673
6674 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
6675
6676 * testsuite/lib/libgomp.exp
6677 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
6678 and not as 'source' argument to libgomp_target_compile.
6679
6680 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
6681
6682 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
6683 (gcn_gfx801_s): Remove.
6684 (isa_hsa_name): Remove gfx801.
6685 (isa_gcc_name): Remove gfx801/carizzo.
6686 (isa_code): Remove gfx801.
6687
6688 2020-02-03 Julian Brown <julian@codesourcery.com>
6689 Tobias Burnus <tobias@codesourcery.com>
6690
6691 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
6692 and *_finalize variants; document acc_attach and acc_detach; update
6693 references from OpenACC 2.0 to 2.6.
6694 * openacc.f90 (openacc_version): Update to 201711.
6695 * openacc_lib.h (openacc_version): Update to 201711.
6696 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
6697 openacc_version to 201711.
6698 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6699
6700 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
6701
6702 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
6703 and vgpr_count fields.
6704 (struct kernel_info): Add a field for a hsa_kernel_description.
6705 (run_kernel): Reduce the number of threads/workers if the requested
6706 number would require too many VGPRs.
6707 (init_basic_kernel_info): Initialize description field with
6708 the hsa_kernel_description entry for the kernel.
6709
6710 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
6711
6712 PR bootstrap/93409
6713 * plugin/configfrag.ac (enable_offload_targets): Skip
6714 HSA and GCN plugin besides -m32 also for -mx32.
6715 * configure: Regenerate.
6716
6717 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
6718
6719 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
6720
6721 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
6722
6723 * plugin-gcn.c (struct agent_info): Add fields "name" and
6724 "vendor_name" ...
6725 (GOMP_OFFLOAD_init_device): ... and init from here.
6726 (struct hsa_context_info): Add field "driver_version_s" ...
6727 (init_hsa_contest): ... and init from here.
6728 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
6729 implementation.
6730 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
6731 Enable test execution for amdgcn and host offloading targets.
6732 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
6733 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
6734 (expect_device_properties): Split function into ...
6735 (expect_device_string_properties): ... this new function ...
6736 (expect_device_memory): ... and this new function.
6737 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
6738 Add test.
6739
6740 2020-01-28 Julian Brown <julian@codesourcery.com>
6741
6742 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
6743 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
6744 component/non-component variable refs in a single directive.
6745 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
6746
6747 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
6748
6749 * configure.ac: Handle `--with-toolexeclibdir='.
6750 * Makefile.in: Regenerate.
6751 * aclocal.m4: Regenerate.
6752 * configure: Regenerate.
6753 * testsuite/Makefile.in: Regenerate.
6754
6755 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
6756
6757 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
6758 (expect_device_properties): Remove "expected_free_mem" argument,
6759 change "expected_total_mem" argument type to size_t;
6760 change types of acc_get_property results to size_t,
6761 adapt format strings.
6762 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
6763 Use %zu instead of %zd to print size_t values.
6764 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
6765 rename to ...
6766 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
6767 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
6768 rename to ...
6769 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
6770
6771 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
6772
6773 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
6774 the device id.
6775
6776 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
6777
6778 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
6779 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
6780 Adjust test dimensions for amdgcn.
6781 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
6782 gang/worker/vector expectations dynamically.
6783 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
6784 (main): Likewise.
6785 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
6786 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
6787 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
6788 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
6789 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
6790 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
6791 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
6792 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
6793 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
6794 (acc_gang): Recognise acc_device_radeon.
6795 (acc_worker): Likewise.
6796 (acc_vector): Likewise.
6797 (main): Set expectations for amdgcn.
6798 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
6799 (main): Adjust gang/worker/vector expectations dynamically.
6800 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
6801 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
6802 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
6803 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
6804 for amdgcn.
6805
6806 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
6807
6808 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
6809 acc_device_radeon.
6810 (openacc): Likewise.
6811 * openacc.f90 (openacc_kinds): Likewise.
6812 (openacc): Likewise.
6813 * openacc.h (acc_device_t): Likewise.
6814 * openacc_lib.h: Likewise.
6815 * testsuite/lib/libgomp.exp
6816 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
6817 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
6818 (cb_compute_construct_end): Likewise.
6819 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
6820 (cb_enqueue_launch_start): Likewise.
6821 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
6822 (cb_enter_data_end): Likewise.
6823 (cb_exit_data_start): Likewise.
6824 (cb_exit_data_end): Likewise.
6825 (cb_compute_construct_end): Likewise.
6826 (cb_enqueue_launch_start): Likewise.
6827 (cb_enqueue_launch_end): Likewise.
6828 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
6829 (main): Likewise.
6830
6831 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
6832
6833 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
6834 to use this instead of 'enum gomp_device_property'.
6835 (GOMP_OFFLOAD_get_property): Rename to...
6836 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
6837 * libgomp.h (struct gomp_device_descr): Move
6838 'GOMP_OFFLOAD_openacc_get_property'...
6839 (struct acc_dispatch_t): ... here. Adjust all users.
6840 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
6841
6842 * target.c (gomp_map_vars_internal)
6843 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
6844 paths.
6845
6846 2020-01-10 Jakub Jelinek <jakub@redhat.com>
6847
6848 PR libgomp/93219
6849 * libgomp.h (gomp_print_string): Change return type from void to int.
6850 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
6851 not all characters have been written.
6852
6853 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
6854
6855 * libgomp.texi: Fix typos, use https.
6856
6857 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
6858
6859 * testsuite/libgomp.fortran/optional-map.f90: Add test for
6860 unallocated/disassociated actual arguments to nonallocatable/nonpointer
6861 dummy arguments; those are/shall be regarded as absent arguments.
6862 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
6863 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
6864
6865 2020-01-01 Jakub Jelinek <jakub@redhat.com>
6866
6867 Update copyright years.
6868
6869 * libgomp.texi: Bump @copying's copyright year.
6870
6871 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
6872
6873 PR libgomp/93065
6874 * oacc-init.c (goacc_runtime_deinitialize): New function.
6875
6876 2019-12-28 Jakub Jelinek <jakub@redhat.com>
6877
6878 PR bootstrap/93074
6879 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
6880 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
6881
6882 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
6883 Frederik Harwath <frederik@codesourcery.com>
6884 Thomas Schwinge <tschwinge@codesourcery.com>
6885
6886 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
6887 * libgomp-plugin.h (gomp_device_property_value): New union.
6888 (gomp_device_property_value): New prototype.
6889 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
6890 constant.
6891 (acc_device_property_t): New enum.
6892 (acc_get_property, acc_get_property_string): New prototypes.
6893 * oacc-init.c (acc_get_device_type): Also assert that result
6894 is not `acc_device_current'.
6895 (get_property_any, acc_get_property, acc_get_property_string):
6896 New functions.
6897 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
6898 `acc_property_memory', `acc_property_free_memory',
6899 `acc_property_name', `acc_property_vendor' and
6900 `acc_property_driver' constants. Add `acc_device_property' data
6901 type.
6902 (openacc_internal): Add `acc_get_property' and
6903 `acc_get_property_string' interfaces. Add `acc_get_property_h',
6904 `acc_get_property_string_h', `acc_get_property_l' and
6905 `acc_get_property_string_l'.
6906 * oacc-host.c (host_get_property): New function.
6907 (host_dispatch): Wire it.
6908 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
6909 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
6910 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
6911 * libgomp.texi (OpenACC Runtime Library Routines): Add
6912 `acc_get_property'.
6913 (acc_get_property): New node.
6914 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
6915 function (stub).
6916 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
6917 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
6918 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
6919 calls.
6920 (GOMP_OFFLOAD_get_property): New function.
6921 (struct ptx_device): Add new field "name".
6922 (cuda_driver_version_s): Add new static variable ...
6923 (nvptx_init): ... and init from here.
6924
6925 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
6926 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
6927 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
6928 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
6929 with test helper functions.
6930
6931 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
6932
6933 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
6934
6935 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
6936 variable.
6937
6938 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
6939
6940 * target.c (gomp_map_vars_internal): Restore 'omp declare target
6941 link' handling.
6942
6943 2019-12-19 Julian Brown <julian@codesourcery.com>
6944
6945 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
6946 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
6947 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
6948
6949 2019-12-19 Julian Brown <julian@codesourcery.com>
6950 Cesar Philippidis <cesar@codesourcery.com>
6951
6952 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
6953 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
6954 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
6955 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
6956 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
6957 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
6958 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
6959 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
6960 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
6961 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
6962 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
6963 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
6964 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
6965
6966 2019-12-19 Julian Brown <julian@codesourcery.com>
6967
6968 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
6969 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
6970 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
6971 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
6972 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
6973 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
6974 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
6975 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
6976 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
6977 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
6978 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
6979 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
6980
6981 2019-12-19 Julian Brown <julian@codesourcery.com>
6982
6983 * libgomp.h (struct target_var_desc): Add do_detach flag.
6984 * oacc-init.c (acc_shutdown_1): Free aux block if present.
6985 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
6986 struct components. Tidy up and add some new checks.
6987 (goacc_enter_data_internal): Update call to find_group_last.
6988 (goacc_exit_data_internal): Support detach operations and
6989 GOMP_MAP_STRUCT.
6990 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
6991 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
6992 attach/detach in enter/exit data detection code.
6993 * target.c (gomp_map_vars_existing): Initialise do_detach field of
6994 tgt_var_desc.
6995 (gomp_map_vars_internal): Support attach.
6996 (gomp_unmap_vars_internal): Support detach.
6997
6998 2019-12-19 Julian Brown <julian@codesourcery.com>
6999 Thomas Schwinge <thomas@codesourcery.com>
7000
7001 * libgomp.h (struct splay_tree_aux): Add attach_count field.
7002 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
7003 * libgomp.map (OACC_2.6): New section. Add acc_attach,
7004 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
7005 acc_detach_finalize_async.
7006 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
7007 acc_detach, acc_detach_async, acc_detach_finalize,
7008 acc_detach_finalize_async): New functions.
7009 * openacc.h (acc_attach, acc_attach_async, acc_detach,
7010 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
7011 prototypes.
7012 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
7013 (gomp_remove_var_internal): Free attachment counts if present.
7014 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
7015 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
7016
7017 2019-12-19 Julian Brown <julian@codesourcery.com>
7018 Cesar Philippidis <cesar@codesourcery.com>
7019
7020 * libgomp.h (gomp_map_val): Add prototype.
7021 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
7022 open-coding device-address calculation.
7023 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
7024 non-present case.
7025
7026 2019-12-19 Julian Brown <julian@codesourcery.com>
7027
7028 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
7029 field for virtual_refcount.
7030 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7031 (gomp_free_memmap): Remove prototype.
7032 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
7033 instead of calling gomp_free_memmap.
7034 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
7035 dynamic_refcount.
7036 (acc_unmap_data): Open code instead of forcing target_mem_desc's
7037 to_free field to NULL then calling gomp_unmap_vars. Handle
7038 REFCOUNT_INFINITY on target blocks.
7039 (goacc_enter_data): Rename to...
7040 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
7041 handling for mapping groups. Use virtual_refcount instead of
7042 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
7043 map_map_vars_async call. Re-do lookup for target pointer return value.
7044 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
7045 renamed goacc_enter_datum function.
7046 (goacc_exit_data): Rename to...
7047 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
7048 (acc_delete, acc_delete_async, acc_delete_finalize,
7049 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
7050 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
7051 goacc_exit_datum function.
7052 (gomp_acc_remove_pointer, find_pointer): Remove functions.
7053 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
7054 New functions.
7055 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
7056 goacc_exit_data_internal helper functions.
7057 * target.c (gomp_map_vars_internal): Handle
7058 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
7059 semantics.
7060 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
7061 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
7062 virtual_refcount field instead of dynamic_refcount.
7063 (gomp_free_memmap): Remove function.
7064 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
7065 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
7066 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
7067
7068 2019-12-19 Julian Brown <julian@codesourcery.com>
7069 Thomas Schwinge <thomas@codesourcery.com>
7070
7071 * libgomp.h (struct splay_tree_aux): New.
7072 (struct splay_tree_key_s): Replace link_key field with aux pointer.
7073 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
7074 to aux struct.
7075 (gomp_remove_var_internal): Free aux block if present.
7076 (gomp_load_image_to_device): Zero-initialise aux field instead of
7077 link_key field.
7078 (omp_target_associate_pointer): Zero-initialise aux field.
7079
7080 2019-12-18 Jakub Jelinek <jakub@redhat.com>
7081
7082 PR middle-end/86416
7083 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
7084 q or none.
7085 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
7086 L or none.
7087
7088 2019-12-19 Julian Brown <julian@codesourcery.com>
7089 Maciej W. Rozycki <macro@codesourcery.com>
7090 Tobias Burnus <tobias@codesourcery.com>
7091 Thomas Schwinge <thomas@codesourcery.com>
7092
7093 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
7094 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
7095 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
7096 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
7097 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
7098 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
7099 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
7100 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
7101 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
7102
7103 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
7104
7105 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7106 called...
7107 (goacc_insert_pointer): ... from here, "present" case.
7108 (goacc_insert_pointer): Inline function into...
7109 (GOACC_enter_exit_data): ... here, and simplify.
7110
7111 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7112 called...
7113 (goacc_insert_pointer): ... from here, "not present" case.
7114
7115 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
7116 all users.
7117
7118 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
7119 'goacc_enter_data', 'goacc_exit_data'.
7120
7121 * oacc-mem.c (delete_copyout): Refactor into...
7122 (goacc_exit_data): ... this. Adjust all users.
7123
7124 * oacc-mem.c (present_create_copy): Refactor into...
7125 (goacc_enter_data): ... this. Adjust all users.
7126
7127 * target.c (gomp_unmap_vars_internal): Add a safeguard to
7128 'gomp_remove_var'.
7129
7130 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
7131 like 'GOMP_MAP_FROM'.
7132
7133 PR libgomp/92726
7134 PR libgomp/92970
7135 PR libgomp/92984
7136 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
7137 fails.
7138 (GOACC_enter_exit_data): Simplify accordingly.
7139 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
7140 subsuming...
7141 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
7142 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
7143 file.
7144 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
7145 subsuming...
7146 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
7147 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
7148 file.
7149 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
7150 subsuming...
7151 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
7152
7153 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
7154 'finalize' handling.
7155
7156 PR libgomp/92848
7157 * oacc-mem.c (acc_map_data, present_create_copy)
7158 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
7159 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
7160 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
7161 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
7162 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
7163 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
7164 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
7165 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
7166 Remove "XFAIL"s.
7167
7168 * target.c (gomp_unmap_tgt): Make it 'static'.
7169 * libgomp.h (gomp_unmap_tgt): Remove.
7170
7171 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
7172
7173 PR middle-end/86416
7174 * testsuite/libgomp.c/pr86416-1.c: New.
7175 * testsuite/libgomp.c/pr86416-2.c: New.
7176
7177 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
7178
7179 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
7180 all symbols as public except for the 'use …, only' imported symbol,
7181 which is private.
7182 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7183 all symbols from module openacc_kinds as PUBLIC
7184 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
7185 fix comment typo.
7186 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
7187
7188 2019-12-13 Julian Brown <julian@codesourcery.com>
7189
7190 PR libgomp/92881
7191
7192 * libgomp.h (gomp_remove_var_async): Add prototype.
7193 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
7194 gomp_remove_var.
7195 * target.c (gomp_unref_tgt): Change return type to bool, indicating
7196 whether target_mem_desc was unmapped.
7197 (gomp_unref_tgt_void): New.
7198 (gomp_remove_var): Reimplement in terms of...
7199 (gomp_remove_var_internal): ...this new helper function.
7200 (gomp_remove_var_async): New, implemented using above helper function.
7201 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
7202 gomp_unref_tgt.
7203
7204 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
7205
7206 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
7207 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
7208 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
7209 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
7210 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
7211 Likewise.
7212 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
7213 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
7214
7215 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
7216
7217 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
7218 as public except for the 'use …, only' imported symbol, which is
7219 private.
7220 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7221 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
7222 attributes for acc_copyout_finalize and acc_delete_finalize.
7223
7224 2019-12-11 Jakub Jelinek <jakub@redhat.com>
7225
7226 PR fortran/92899
7227 * testsuite/libgomp.fortran/atomic1.f90: New test.
7228
7229 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
7230
7231 PR libgomp/92843
7232 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
7233 reference counting for structured 'REFCOUNT_INFINITY'. Add some
7234 assertions.
7235 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
7236 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
7237 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
7238 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7239 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7240
7241 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
7242 * oacc-mem.c: ... here.
7243 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
7244 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
7245 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7246 Remove.
7247 * libgomp_g.h: Update.
7248
7249 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
7250 * oacc-async.c: ... here.
7251 * oacc-int.h (goacc_wait): Declare.
7252 * libgomp_g.h: Update
7253
7254 PR libgomp/92854
7255 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
7256 New file.
7257 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
7258 Likewise.
7259 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
7260 Likewise.
7261 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
7262 Likewise.
7263 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
7264 Likewise.
7265 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
7266 Likewise.
7267
7268 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
7269 Julian Brown <julian@codesourcery.com>
7270
7271 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
7272 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
7273
7274 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
7275
7276 * omp_lib.h.in: Fix spelling of function declaration
7277 omp_get_cancell(l)ation.
7278 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
7279 Fix typos.
7280 * env.c: Fix comment typos.
7281 * oacc-host.c: Likewise.
7282 * ordered.c: Likewise.
7283 * task.c: Likewise.
7284 * team.c: Likewise.
7285 * config/gcn/task.c: Likewise.
7286 * config/gcn/team.c: Likewise.
7287 * config/nvptx/task.c: Likewise.
7288 * config/nvptx/team.c: Likewise.
7289 * plugin/plugin-gcn.c: Likewise.
7290 * testsuite/libgomp.fortran/jacobi.f: Likewise.
7291 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7292 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
7293
7294 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
7295
7296 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
7297 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
7298 unnecessary 'dg-additional-options "-w"'.
7299
7300 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
7301 Julian Brown <julian@codesourcery.com>
7302
7303 PR libgomp/92116
7304 PR libgomp/92877
7305
7306 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
7307 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
7308 Adjust all users.
7309 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
7310 Remove XFAIL.
7311 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
7312 Likewise.
7313 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
7314
7315 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
7316
7317 PR libgomp/92503
7318 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
7319 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
7320 file.
7321 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
7322 Likewise.
7323 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
7324 Likewise.
7325 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
7326 Likewise.
7327 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
7328 Likewise.
7329 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
7330 Likewise.
7331 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
7332 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7333 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7334 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7335 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7336 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7337 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7338 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7339 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7340 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7341
7342 PR libgomp/92840
7343 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
7344 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
7345 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
7346 New file.
7347 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
7348 Likewise.
7349 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
7350 Likewise.
7351 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
7352 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
7353
7354 PR libgomp/92511
7355 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
7356 this file...
7357 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
7358 this file...
7359 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
7360 file...
7361 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
7362 file...
7363 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
7364 ... with their content moved into, and extended in this new file.
7365 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
7366 New file.
7367 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
7368 Likewise.
7369 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
7370 Likewise.
7371 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
7372 Likewise.
7373
7374 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
7375
7376 PR libgomp/92854
7377 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
7378
7379 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
7380
7381 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
7382
7383 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
7384
7385 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
7386 unique.
7387 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
7388 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
7389 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
7390 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
7391 Ditto.
7392 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
7393 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
7394
7395 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
7396
7397 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
7398
7399 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
7400 Kwok Cheung Yeung <kcy@codesourcery.com>
7401
7402 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
7403 if input it a NULL pointer.
7404 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
7405 diagnostic of NULL pointer.
7406 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
7407 * testsuite/libgomp.fortran/optional-map.f90: New.
7408 * testsuite/libgomp.fortran/use_device_addr-1.f90
7409 (test_dummy_opt_callee_1_absent): New.
7410 (test_dummy_opt_call_1): Call it.
7411 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
7412 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
7413 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
7414 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
7415 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
7416 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
7417 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
7418 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
7419 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
7420 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
7421 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
7422 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
7423 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
7424 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
7425 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
7426 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
7427
7428 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
7429
7430 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
7431 expect dg-output of 'Error termination.' for GCN.
7432 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7433 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7434
7435 2019-12-04 Jakub Jelinek <jakub@redhat.com>
7436
7437 PR fortran/92756
7438 * testsuite/libgomp.fortran/teams1.f90: New test.
7439 * testsuite/libgomp.fortran/teams2.f90: New test.
7440
7441 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
7442
7443 * oacc-init.c (acc_known_device_type): Add function.
7444 (unknown_device_type_error): Add function.
7445 (name_of_acc_device_t): Change to call unknown_device_type_error
7446 on unknown type.
7447 (resolve_device): Use acc_known_device_type.
7448 (acc_init): Fail if acc_device_t argument is not valid.
7449 (acc_shutdown): Likewise.
7450 (acc_get_num_devices): Likewise.
7451 (acc_set_device_type): Likewise.
7452 (acc_get_device_num): Likewise.
7453 (acc_set_device_num): Likewise.
7454 (acc_on_device): Add comment that argument validity is not checked.
7455
7456 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
7457
7458 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
7459 Recognize amdgcn.
7460 (check_effective_target_openacc_amdgcn_accel_present): New proc.
7461 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
7462 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
7463 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7464 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7465
7466 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
7467
7468 PR libgomp/91938
7469 * configure.tgt: Avoid IE tls on *-*-musl*.
7470
7471 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
7472
7473 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
7474 adding a common-block test case.
7475
7476 2019-11-29 Jakub Jelinek <jakub@redhat.com>
7477
7478 PR c++/60228
7479 * testsuite/libgomp.c++/udr-20.C: New test.
7480 * testsuite/libgomp.c++/udr-21.C: New test.
7481
7482 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
7483
7484 * testsuite/lib/libgomp.exp
7485 (check_effective_target_offload_target_nvptx): New proc.
7486 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
7487 'dg-skip-if'.
7488 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
7489 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
7490 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
7491
7492 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7493
7494 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
7495 * testsuite/libgomp.c/pr39591-2.c: Likewise.
7496 * testsuite/libgomp.c/pr39591-3.c: Likewise.
7497 * testsuite/libgomp.c/private-1.c: Likewise.
7498 * testsuite/libgomp.c/task-1.c: Likewise.
7499 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
7500
7501 2019-11-20 Julian Brown <julian@codesourcery.com>
7502
7503 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
7504 aq->mutex here.
7505 (queue_push_launch): Lock aq->mutex before calling
7506 wait_for_queue_nonfull.
7507 (queue_push_callback): Likewise.
7508 (queue_push_asyncwait): Likewise.
7509 (queue_push_placeholder): Likewise.
7510
7511 2019-11-20 Julian Brown <julian@codesourcery.com>
7512
7513 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
7514 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
7515 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
7516 return code.
7517
7518 2019-11-20 Julian Brown <julian@codesourcery.com>
7519
7520 PR libgomp/92511
7521
7522 * oacc-mem.c (present_create_copy): Fix device pointer return value in
7523 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
7524 in non-present/create case.
7525 (delete_copyout): Change error condition to fail only on copies outside
7526 of mapped block. Adjust error message accordingly.
7527 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
7528 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
7529 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
7530 message.
7531 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7532 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
7533 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7534
7535 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
7536
7537 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
7538 libatomic in build-tree testing.
7539
7540 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
7541
7542 * testsuite/Makefile.in: Regenerate.
7543
7544 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
7545
7546 * testsuite/libgomp.c/target-print-1.c: New file.
7547 * testsuite/libgomp.fortran/target-print-1.f90: New file.
7548 * testsuite/libgomp.oacc-c/print-1.c: New file.
7549 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
7550
7551 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
7552 Kwok Cheung Yeung <kcy@codesourcery.com>
7553 Julian Brown <julian@codesourcery.com>
7554 Tom de Vries <tom@codesourcery.com>
7555
7556 * plugin/Makefrag.am: Add amdgcn plugin support.
7557 * plugin/configfrag.ac: Likewise.
7558 * plugin/plugin-gcn.c: New file.
7559 * configure: Regenerate.
7560 * Makefile.in: Regenerate.
7561 * testsuite/Makefile.in: Regenerate.
7562
7563 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
7564
7565 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
7566 and use team_malloc variants.
7567 (gomp_gcn_exit_kernel): Use team_free.
7568 * libgomp.h (TEAM_ARENA_SIZE): Define.
7569 (TEAM_ARENA_START): Define.
7570 (TEAM_ARENA_FREE): Define.
7571 (TEAM_ARENA_END): Define.
7572 (team_malloc): New function.
7573 (team_malloc_cleared): New function.
7574 (team_free): New function.
7575 * team.c (gomp_new_team): Initialize and use team_malloc.
7576 (free_team): Use team_free.
7577 (gomp_free_thread): Use team_free.
7578 (gomp_pause_host): Use team_free.
7579 * work.c (gomp_init_work_share): Use team_malloc.
7580 (gomp_fini_work_share): Use team_free.
7581
7582 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
7583 Kwok Cheung Yeung <kcy@codesourcery.com>
7584 Julian Brown <julian@codesourcery.com>
7585 Tom de Vries <tom@codesourcery.com>
7586
7587 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
7588 * Makefile.in: Regenerate.
7589 * config.h.in (PLUGIN_GCN): Add new undef.
7590 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
7591 * config/gcn/affinity-fmt.c: New file.
7592 * config/gcn/bar.c: New file.
7593 * config/gcn/bar.h: New file.
7594 * config/gcn/doacross.h: New file.
7595 * config/gcn/icv-device.c: New file.
7596 * config/gcn/oacc-target.c: New file.
7597 * config/gcn/simple-bar.h: New file.
7598 * config/gcn/target.c: New file.
7599 * config/gcn/task.c: New file.
7600 * config/gcn/team.c: New file.
7601 * config/gcn/time.c: New file.
7602 * configure.ac: Add amdgcn*-*-*.
7603 * configure: Regenerate.
7604 * configure.tgt: Add amdgcn*-*-*.
7605 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
7606 * libgomp.h (gcn_thrs): Add amdgcn variant.
7607 (set_gcn_thrs): Likewise.
7608 (gomp_thread): Likewise.
7609 * oacc-int.h (goacc_thread): Likewise.
7610 * oacc-target.c: New file.
7611 * openacc.f90 (acc_device_gcn): New parameter.
7612 * openacc.h (acc_device_t): Add acc_device_gcn.
7613 * team.c (gomp_free_pool_helper): Add amdgcn support.
7614
7615 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
7616 Julian Brown <julian@codesourcery.com>
7617
7618 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
7619 parameter.
7620 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
7621 queue constructor.
7622 * oacc-host.c (host_openacc_async_construct): Add device parameter.
7623 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
7624 device parameter.
7625
7626 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
7627
7628 * configure.tgt (nvptx*-*-*): Add "accel" directory.
7629 * config/nvptx/libgomp-plugin.c: Move ...
7630 * config/accel/libgomp-plugin.c: ... to here.
7631 * config/nvptx/lock.c: Move ...
7632 * config/accel/lock.c: ... to here.
7633 * config/nvptx/mutex.c: Move ...
7634 * config/accel/mutex.c: ... to here.
7635 * config/nvptx/mutex.h: Move ...
7636 * config/accel/mutex.h: ... to here.
7637 * config/nvptx/oacc-async.c: Move ...
7638 * config/accel/oacc-async.c: ... to here.
7639 * config/nvptx/oacc-cuda.c: Move ...
7640 * config/accel/oacc-cuda.c: ... to here.
7641 * config/nvptx/oacc-host.c: Move ...
7642 * config/accel/oacc-host.c: ... to here.
7643 * config/nvptx/oacc-init.c: Move ...
7644 * config/accel/oacc-init.c: ... to here.
7645 * config/nvptx/oacc-mem.c: Move ...
7646 * config/accel/oacc-mem.c: ... to here.
7647 * config/nvptx/oacc-plugin.c: Move ...
7648 * config/accel/oacc-plugin.c: ... to here.
7649 * config/nvptx/omp-lock.h: Move ...
7650 * config/accel/omp-lock.h: ... to here.
7651 * config/nvptx/openacc.f90: Move ...
7652 * config/accel/openacc.f90: ... to here.
7653 * config/nvptx/pool.h: Move ...
7654 * config/accel/pool.h: ... to here.
7655 * config/nvptx/proc.c: Move ...
7656 * config/accel/proc.c: ... to here.
7657 * config/nvptx/ptrlock.c: Move ...
7658 * config/accel/ptrlock.c: ... to here.
7659 * config/nvptx/ptrlock.h: Move ...
7660 * config/accel/ptrlock.h: ... to here.
7661 * config/nvptx/sem.c: Move ...
7662 * config/accel/sem.c: ... to here.
7663 * config/nvptx/sem.h: Move ...
7664 * config/accel/sem.h: ... to here.
7665 * config/nvptx/thread-stacksize.h: Move ...
7666 * config/accel/thread-stacksize.h: ... to here.
7667
7668 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
7669 Tobias Burnus <tobias@codesourcery.com>
7670 Frederik Harwath <frederik@codesourcery.com>
7671 Thomas Schwinge <thomas@codesourcery.com>
7672
7673 libgomp/
7674 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
7675 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
7676 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
7677
7678 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
7679 Kwok Cheung Yeung <kcy@codesourcery.com>
7680
7681 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
7682 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
7683
7684 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
7685
7686 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
7687
7688 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
7689 run'.
7690 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
7691 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
7692
7693 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
7694
7695 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
7696 Add expected warnings about missing reduction clauses.
7697 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
7698 Likewise.
7699 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
7700 Likewise.
7701 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
7702 Likewise.
7703
7704 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
7705
7706 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
7707 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
7708 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
7709 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
7710 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
7711 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
7712
7713 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
7714
7715 PR fortran/92305
7716 * testsuite/libgomp.fortran/allocatable2.f90: Use
7717 unique numbers with 'stop'.
7718 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
7719 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
7720 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
7721 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
7722 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
7723
7724 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
7725
7726 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
7727 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
7728 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
7729 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
7730 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
7731 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
7732
7733 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
7734
7735 * testsuite/libgomp.fortran/target9.f90: New.
7736
7737 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
7738
7739 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
7740 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
7741 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
7742 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
7743 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
7744 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
7745 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
7746 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
7747 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
7748 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
7749 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
7750 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
7751 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
7752 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
7753 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
7754 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
7755 * testsuite/libgomp.fortran/associate1.f90: Ditto.
7756 * testsuite/libgomp.fortran/associate2.f90: Ditto.
7757 * testsuite/libgomp.fortran/associate3.f90: Ditto.
7758 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
7759 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
7760 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
7761 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
7762 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
7763 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
7764 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
7765 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
7766 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
7767 * testsuite/libgomp.fortran/character1.f90: Ditto.
7768 * testsuite/libgomp.fortran/character2.f90: Ditto.
7769 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
7770 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
7771 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
7772 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
7773 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
7774 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
7775 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
7776 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
7777 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
7778 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
7779 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
7780 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
7781 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
7782 * testsuite/libgomp.fortran/do1.f90: Ditto.
7783 * testsuite/libgomp.fortran/do2.f90: Ditto.
7784 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
7785 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
7786 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
7787 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
7788 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
7789 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
7790 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
7791 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
7792 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
7793 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
7794 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
7795 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
7796 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
7797 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
7798 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
7799 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
7800 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
7801 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
7802 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
7803 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
7804 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
7805 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
7806 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
7807 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
7808 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
7809 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
7810 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
7811 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
7812 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
7813 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
7814 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
7815 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
7816 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
7817 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
7818 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
7819 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
7820 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
7821 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
7822 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
7823 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
7824 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
7825 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
7826 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
7827 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
7828 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
7829 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
7830 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
7831 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
7832 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
7833 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
7834 * testsuite/libgomp.fortran/lib1.f90: Ditto.
7835 * testsuite/libgomp.fortran/lib4.f90: Ditto.
7836 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
7837 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
7838 * testsuite/libgomp.fortran/nested1.f90: Ditto.
7839 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
7840 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
7841 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
7842 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
7843 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
7844 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
7845 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7846 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
7847 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
7848 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
7849 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
7850 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
7851 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
7852 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
7853 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7854 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
7855 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7856 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
7857 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
7858 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
7859 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
7860 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
7861 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
7862 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
7863 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
7864 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
7865 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
7866 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
7867 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
7868 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
7869 * testsuite/libgomp.fortran/pr28390.f: Ditto.
7870 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
7871 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
7872 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
7873 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
7874 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
7875 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
7876 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
7877 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
7878 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
7879 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
7880 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
7881 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
7882 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
7883 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
7884 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
7885 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
7886 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
7887 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
7888 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
7889 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
7890 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
7891 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
7892 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
7893 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
7894 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
7895 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
7896 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
7897 * testsuite/libgomp.fortran/reference1.f90: Ditto.
7898 * testsuite/libgomp.fortran/reference2.f90: Ditto.
7899 * testsuite/libgomp.fortran/retval1.f90: Ditto.
7900 * testsuite/libgomp.fortran/retval2.f90: Ditto.
7901 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
7902 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
7903 * testsuite/libgomp.fortran/simd1.f90: Ditto.
7904 * testsuite/libgomp.fortran/simd2.f90: Ditto.
7905 * testsuite/libgomp.fortran/simd3.f90: Ditto.
7906 * testsuite/libgomp.fortran/simd4.f90: Ditto.
7907 * testsuite/libgomp.fortran/simd5.f90: Ditto.
7908 * testsuite/libgomp.fortran/simd6.f90: Ditto.
7909 * testsuite/libgomp.fortran/simd7.f90: Ditto.
7910 * testsuite/libgomp.fortran/stack.f90: Ditto.
7911 * testsuite/libgomp.fortran/strassen.f90: Ditto.
7912 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
7913 * testsuite/libgomp.fortran/tabs2.f: Ditto.
7914 * testsuite/libgomp.fortran/target1.f90: Ditto.
7915 * testsuite/libgomp.fortran/target2.f90: Ditto.
7916 * testsuite/libgomp.fortran/target3.f90: Ditto.
7917 * testsuite/libgomp.fortran/target4.f90: Ditto.
7918 * testsuite/libgomp.fortran/target5.f90: Ditto.
7919 * testsuite/libgomp.fortran/target6.f90: Ditto.
7920 * testsuite/libgomp.fortran/target7.f90: Ditto.
7921 * testsuite/libgomp.fortran/target8.f90: Ditto.
7922 * testsuite/libgomp.fortran/task1.f90: Ditto.
7923 * testsuite/libgomp.fortran/task2.f90: Ditto.
7924 * testsuite/libgomp.fortran/task3.f90: Ditto.
7925 * testsuite/libgomp.fortran/task4.f90: Ditto.
7926 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
7927 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
7928 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
7929 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
7930 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
7931 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
7932 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
7933 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
7934 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
7935 * testsuite/libgomp.fortran/udr1.f90: Ditto.
7936 * testsuite/libgomp.fortran/udr10.f90: Ditto.
7937 * testsuite/libgomp.fortran/udr11.f90: Ditto.
7938 * testsuite/libgomp.fortran/udr12.f90: Ditto.
7939 * testsuite/libgomp.fortran/udr13.f90: Ditto.
7940 * testsuite/libgomp.fortran/udr14.f90: Ditto.
7941 * testsuite/libgomp.fortran/udr15.f90: Ditto.
7942 * testsuite/libgomp.fortran/udr2.f90: Ditto.
7943 * testsuite/libgomp.fortran/udr3.f90: Ditto.
7944 * testsuite/libgomp.fortran/udr4.f90: Ditto.
7945 * testsuite/libgomp.fortran/udr5.f90: Ditto.
7946 * testsuite/libgomp.fortran/udr6.f90: Ditto.
7947 * testsuite/libgomp.fortran/udr7.f90: Ditto.
7948 * testsuite/libgomp.fortran/udr8.f90: Ditto.
7949 * testsuite/libgomp.fortran/udr9.f90: Ditto.
7950 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7951 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7952 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7953 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7954 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7955 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7956 * testsuite/libgomp.fortran/vla7.f90: Ditto.
7957 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7958 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
7959 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
7960
7961 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
7962
7963 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
7964 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
7965 Ditto; add 'dg-do run' for torture testing.
7966 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
7967 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
7968 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
7969 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
7970 * testsuite/libgomp.fortran/pr28390.f: Ditto.
7971 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
7972 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
7973 * testsuite/libgomp.fortran/task2.f90: Ditto.
7974 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
7975 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
7976 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
7977 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
7978 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
7979 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
7980
7981 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
7982
7983 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
7984 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
7985 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
7986 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
7987 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
7988 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
7989 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
7990 Use 'stop' not abort().
7991 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
7992 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
7993 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
7994 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
7995 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
7996 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
7997 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
7998 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
7999 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
8000 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
8001 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
8002 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
8003 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
8004 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
8005 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
8006 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
8007 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
8008 Ditto.
8009 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
8010 Ditto.
8011 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
8012 Ditto.
8013 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8014 Ditto.
8015 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8016 Ditto.
8017 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
8018 Ditto.
8019 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
8020 Ditto.
8021 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
8022 Ditto.
8023 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
8024 Ditto.
8025 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
8026 Ditto.
8027 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
8028 Ditto.
8029 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
8030 Ditto.
8031 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
8032 Ditto.
8033 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
8034 Ditto.
8035 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
8036 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
8037 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
8038 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
8039 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
8040 Likewise and also add 'dg-do run'.
8041 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
8042 Ditto.
8043
8044 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
8045 Tobias Burnus <tobias@codesourcery.com>
8046
8047 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
8048 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
8049 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
8050
8051 2019-10-14 Jakub Jelinek <jakub@redhat.com>
8052
8053 PR libgomp/92081
8054 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
8055 than 0.
8056
8057 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
8058
8059 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
8060 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
8061
8062 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
8063
8064 PR middle-end/92036
8065 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
8066 file.
8067
8068 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
8069
8070 PR testsuite/91884
8071 * testsuite/libgomp.fortran/fortran.exp: Conditionally
8072 add -lquadmath.
8073 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
8074
8075 2019-10-09 Jakub Jelinek <jakub@redhat.com>
8076
8077 PR libgomp/92028
8078 * target.c (gomp_map_vars_internal): Readd the previous
8079 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
8080 though do that just in the !not_found_cnt case.
8081
8082 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
8083
8084 * gfortran.dg/gomp/target-simd.f90: New.
8085
8086 2019-10-02 Julian Brown <julian@codesourcery.com>
8087 Cesar Philippidis <cesar@codesourcery.com>
8088
8089 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
8090 * target.c (FIELD_TGT_EMPTY): Define.
8091 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
8092 as switch instead of list of ifs.
8093 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
8094
8095 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
8096
8097 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
8098 include. Replace alloca () with __builtin_alloca ().
8099 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
8100
8101 2019-10-01 Jakub Jelinek <jakub@redhat.com>
8102
8103 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
8104 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
8105 * oacc-parallel.c: Don't include "libgomp_g.h".
8106 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
8107 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
8108 * aclocal.m4: Regenerated.
8109 * config.h.in: Regenerated.
8110 * configure: Regenerated.
8111 * Makefile.in: Regenerated.
8112
8113 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
8114
8115 * libgomp_g.h: Include stdint.h instead of gstdint.h.
8116
8117 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
8118
8119 * configure: Regenerate.
8120
8121 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
8122
8123 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
8124 string is initialized.
8125
8126 2019-09-06 Florian Weimer <fweimer@redhat.com>
8127
8128 * configure: Regenerate.
8129
8130 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
8131
8132 PR other/79543
8133 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
8134 scanning to conform to the GNU Coding Standards.
8135 * configure: Regenerate.
8136
8137 2019-08-28 Jakub Jelinek <jakub@redhat.com>
8138
8139 PR libgomp/91530
8140 * testsuite/libgomp.c/scan-21.c: New test.
8141 * testsuite/libgomp.c/scan-22.c: New test.
8142
8143 2019-08-27 Jakub Jelinek <jakub@redhat.com>
8144
8145 PR libgomp/91530
8146 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
8147 targets.
8148 * testsuite/libgomp.c/scan-12.c: Likewise.
8149 * testsuite/libgomp.c/scan-13.c: Likewise.
8150 * testsuite/libgomp.c/scan-14.c: Likewise.
8151 * testsuite/libgomp.c/scan-15.c: Likewise.
8152 * testsuite/libgomp.c/scan-16.c: Likewise.
8153 * testsuite/libgomp.c/scan-17.c: Likewise.
8154 * testsuite/libgomp.c/scan-18.c: Likewise.
8155 * testsuite/libgomp.c/scan-19.c: Likewise.
8156 * testsuite/libgomp.c/scan-20.c: Likewise.
8157 * testsuite/libgomp.c++/scan-9.C: Likewise.
8158 * testsuite/libgomp.c++/scan-10.C: Likewise.
8159 * testsuite/libgomp.c++/scan-11.C: Likewise.
8160 * testsuite/libgomp.c++/scan-12.C: Likewise.
8161 * testsuite/libgomp.c++/scan-14.C: Likewise.
8162 * testsuite/libgomp.c++/scan-15.C: Likewise.
8163 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
8164 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
8165 * testsuite/libgomp.c++/scan-16.C: Likewise.
8166
8167 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
8168
8169 PR fortran/91473
8170 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
8171 -std=legacy so invalid code in the test case is accepted.
8172
8173 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8174
8175 PR fortran/91422
8176 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
8177 dimension.
8178
8179 2019-08-08 Jakub Jelinek <jakub@redhat.com>
8180
8181 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
8182 perform the lookup in the first loop only if !not_found_cnt, otherwise
8183 perform lookups for it in the second loop guarded with
8184 if (not_found_cnt || has_firstprivate).
8185 * testsuite/libgomp.c/target-37.c: New test.
8186 * testsuite/libgomp.c++/target-22.C: New test.
8187
8188 2019-08-07 Jakub Jelinek <jakub@redhat.com>
8189
8190 * testsuite/libgomp.c/target-18.c (struct S): New type.
8191 (foo): Use use_device_addr clause instead of use_device_ptr clause
8192 where required by OpenMP 5.0, add further tests for both use_device_ptr
8193 and use_device_addr clauses.
8194 * testsuite/libgomp.c++/target-9.C (struct S): New type.
8195 (foo): Use use_device_addr clause instead of use_device_ptr clause
8196 where required by OpenMP 5.0, add further tests for both use_device_ptr
8197 and use_device_addr clauses. Add t and u arguments.
8198 (main): Adjust caller.
8199
8200 2019-08-06 Jakub Jelinek <jakub@redhat.com>
8201
8202 * testsuite/libgomp.c++/loop-13.C: New test.
8203 * testsuite/libgomp.c++/loop-14.C: New test.
8204 * testsuite/libgomp.c++/loop-15.C: New test.
8205
8206 2019-07-31 Jakub Jelinek <jakub@redhat.com>
8207
8208 PR middle-end/91301
8209 * testsuite/libgomp.c++/for-27.C: New test.
8210
8211 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
8212
8213 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8214 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
8215
8216 2019-07-20 Jakub Jelinek <jakub@redhat.com>
8217
8218 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
8219
8220 2019-07-08 Jakub Jelinek <jakub@redhat.com>
8221
8222 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
8223 * testsuite/libgomp.c++/scan-16.C: Likewise.
8224
8225 2019-07-06 Jakub Jelinek <jakub@redhat.com>
8226
8227 * testsuite/libgomp.c/scan-19.c: New test.
8228 * testsuite/libgomp.c/scan-20.c: New test.
8229
8230 * testsuite/libgomp.c/scan-11.c: New test.
8231 * testsuite/libgomp.c/scan-12.c: New test.
8232 * testsuite/libgomp.c/scan-13.c: New test.
8233 * testsuite/libgomp.c/scan-14.c: New test.
8234 * testsuite/libgomp.c/scan-15.c: New test.
8235 * testsuite/libgomp.c/scan-16.c: New test.
8236 * testsuite/libgomp.c/scan-17.c: New test.
8237 * testsuite/libgomp.c/scan-18.c: New test.
8238 * testsuite/libgomp.c++/scan-9.C: New test.
8239 * testsuite/libgomp.c++/scan-10.C: New test.
8240 * testsuite/libgomp.c++/scan-11.C: New test.
8241 * testsuite/libgomp.c++/scan-12.C: New test.
8242 * testsuite/libgomp.c++/scan-13.C: New test.
8243 * testsuite/libgomp.c++/scan-14.C: New test.
8244 * testsuite/libgomp.c++/scan-15.C: New test.
8245 * testsuite/libgomp.c++/scan-16.C: New test.
8246
8247 2019-07-04 Jakub Jelinek <jakub@redhat.com>
8248
8249 * testsuite/libgomp.c/scan-9.c: New test.
8250 * testsuite/libgomp.c/scan-10.c: New test.
8251
8252 2019-07-03 Jakub Jelinek <jakub@redhat.com>
8253
8254 * testsuite/libgomp.c++/scan-1.C: New test.
8255 * testsuite/libgomp.c++/scan-2.C: New test.
8256 * testsuite/libgomp.c++/scan-3.C: New test.
8257 * testsuite/libgomp.c++/scan-4.C: New test.
8258 * testsuite/libgomp.c++/scan-5.C: New test.
8259 * testsuite/libgomp.c++/scan-6.C: New test.
8260 * testsuite/libgomp.c++/scan-7.C: New test.
8261 * testsuite/libgomp.c++/scan-8.C: New test.
8262 * testsuite/libgomp.c/scan-1.c: New test.
8263 * testsuite/libgomp.c/scan-2.c: New test.
8264 * testsuite/libgomp.c/scan-3.c: New test.
8265 * testsuite/libgomp.c/scan-4.c: New test.
8266 * testsuite/libgomp.c/scan-5.c: New test.
8267 * testsuite/libgomp.c/scan-6.c: New test.
8268 * testsuite/libgomp.c/scan-7.c: New test.
8269 * testsuite/libgomp.c/scan-8.c: New test.
8270
8271 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
8272
8273 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
8274 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
8275 Likewise.
8276
8277 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
8278 check.
8279
8280 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
8281
8282 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
8283 file.
8284
8285 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
8286
8287 PR fortran/90743
8288 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
8289 case.
8290 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
8291 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
8292 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
8293 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
8294
8295 PR testsuite/90861
8296 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
8297
8298 PR middle-end/90862
8299 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
8300
8301 2019-06-16 Tom de Vries <tdevries@suse.de>
8302
8303 PR tree-optimization/89376
8304 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
8305
8306 2019-06-15 Tom de Vries <tdevries@suse.de>
8307
8308 PR tree-optimization/89713
8309 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
8310 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
8311
8312 2019-06-15 Jakub Jelinek <jakub@redhat.com>
8313
8314 PR middle-end/90779
8315 * testsuite/libgomp.c/pr90779.c: New test.
8316 * testsuite/libgomp.fortran/pr90779.f90: New test.
8317
8318 2019-06-15 Tom de Vries <tdevries@suse.de>
8319
8320 PR tree-optimization/90009
8321 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
8322
8323 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
8324
8325 PR tree-optimization/89713
8326 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
8327
8328 2019-06-11 Jakub Jelinek <jakub@redhat.com>
8329
8330 PR target/90811
8331 * testsuite/libgomp.c/pr90811.c: New test.
8332
8333 2019-06-05 Jakub Jelinek <jakub@redhat.com>
8334
8335 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
8336 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
8337
8338 2019-06-04 Jakub Jelinek <jakub@redhat.com>
8339
8340 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
8341 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
8342 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
8343 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
8344
8345 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8346
8347 * configure.ac: Call AX_COUNT_CPUS.
8348 Substitute CPU_COUNT.
8349 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
8350 count fallback.
8351 * aclocal.m4: Regenerate.
8352 * configure: Regenerate.
8353 * Makefile.in, testsuite/Makefile.in: Regenerate.
8354
8355 2019-05-29 Jakub Jelinek <jakub@redhat.com>
8356
8357 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
8358 to ...
8359 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
8360 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
8361 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
8362
8363 2019-05-27 Jakub Jelinek <jakub@redhat.com>
8364
8365 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
8366
8367 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
8368
8369 PR libgomp/90641
8370 * work.c (gomp_init_work_share): Instead of aligning final ordered
8371 value to multiples of long long alignment, align to that the
8372 first part (ordered team ids) and if inline_ordered_team_ids
8373 is not on a long long alignment boundary within the structure,
8374 use __alignof__ (long long) - 1 pad size always.
8375 * loop.c (GOMP_loop_start): Fix *mem computation if
8376 inline_ordered_team_ids is not aligned on long long alignment boundary
8377 within the structure.
8378 * loop-ull.c (GOMP_loop_ull_start): Likewise.
8379 * sections.c (GOMP_sections2_start): Likewise.
8380
8381 2019-05-24 Jakub Jelinek <jakub@redhat.com>
8382
8383 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
8384 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
8385
8386 PR libgomp/90585
8387 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
8388 HAVE_INTTYPES_H is defined.
8389 (print_uint64_t): New typedef.
8390 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
8391 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
8392 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
8393 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
8394 before casting to void *.
8395 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
8396 * oacc-mem.c: Don't include config.h nor stdint.h.
8397 * target.c: Don't include config.h.
8398 * oacc-cuda.c: Likewise.
8399 * oacc-host.c: Don't include stdint.h.
8400
8401 2019-05-20 Jakub Jelinek <jakub@redhat.com>
8402
8403 PR libgomp/90527
8404 * alloc.c (_GNU_SOURCE): Define.
8405
8406 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
8407
8408 * acc_prof.h: New file.
8409 * oacc-profiling.c: Likewise.
8410 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
8411 Add these, respectively.
8412 * Makefile.in: Regenerate.
8413 * env.c (initialize_env): Call goacc_profiling_initialize.
8414 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
8415 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
8416 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
8417 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
8418 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
8419 acc_prof_register, acc_prof_unregister, and acc_register_library.
8420 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
8421 GOMP_PLUGIN_goacc_thread.
8422 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
8423 prof_callbacks_enabled members.
8424 (goacc_prof_enabled, goacc_profiling_initialize)
8425 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
8426 (goacc_profiling_dispatch): Declare.
8427 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
8428 (GOACC_PROFILING_SETUP_P): Define.
8429 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
8430 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
8431 OpenACC Profiling Interface.
8432 * oacc-cuda.c (acc_get_current_cuda_device)
8433 (acc_get_current_cuda_context, acc_get_cuda_stream)
8434 (acc_set_cuda_stream): Likewise.
8435 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
8436 (acc_init, acc_set_device_type, acc_get_device_type)
8437 (acc_get_device_num, goacc_lazy_initialize): Likewise.
8438 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
8439 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
8440 (acc_unmap_data, present_create_copy, delete_copyout)
8441 (update_dev_host): Likewise.
8442 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
8443 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
8444 Likewise.
8445 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
8446 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
8447 Likewise.
8448 * libgomp.texi: Update.
8449 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
8450 file.
8451 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
8452 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
8453 Likewise.
8454 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
8455 Likewise.
8456 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
8457 Likewise.
8458 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
8459 Likewise.
8460
8461 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
8462
8463 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
8464 (struct goacc_asyncqueue_list): Likewise.
8465 (goacc_aq): Likewise.
8466 (goacc_aq_list): Likewise.
8467 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
8468 (GOMP_OFFLOAD_openacc_async_test): Remove.
8469 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
8470 (GOMP_OFFLOAD_openacc_async_wait): Remove.
8471 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
8472 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
8473 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
8474 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
8475 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
8476 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
8477 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
8478 (GOMP_OFFLOAD_openacc_async_exec): Declare.
8479 (GOMP_OFFLOAD_openacc_async_construct): Declare.
8480 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
8481 (GOMP_OFFLOAD_openacc_async_test): Declare.
8482 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
8483 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
8484 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
8485 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
8486 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
8487
8488 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
8489 (gomp_acc_insert_pointer): Adjust declaration.
8490 (gomp_copy_host2dev): New declaration.
8491 (gomp_copy_dev2host): Likewise.
8492 (gomp_map_vars_async): Likewise.
8493 (gomp_unmap_tgt): Likewise.
8494 (gomp_unmap_vars_async): Likewise.
8495 (gomp_fini_device): Likewise.
8496
8497 * oacc-async.c (get_goacc_thread): New function.
8498 (get_goacc_thread_device): New function.
8499 (lookup_goacc_asyncqueue): New function.
8500 (get_goacc_asyncqueue): New function.
8501 (acc_async_test): Adjust code to use new async design.
8502 (acc_async_test_all): Likewise.
8503 (acc_wait): Likewise.
8504 (acc_wait_async): Likewise.
8505 (acc_wait_all): Likewise.
8506 (acc_wait_all_async): Likewise.
8507 (goacc_async_free): New function.
8508 (goacc_init_asyncqueues): Likewise.
8509 (goacc_fini_asyncqueues): Likewise.
8510 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
8511 design.
8512 (acc_set_cuda_stream): Likewise.
8513 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
8514 (host_openacc_register_async_cleanup): Remove.
8515 (host_openacc_async_exec): New function.
8516 (host_openacc_async_test): Adjust parameters.
8517 (host_openacc_async_test_all): Remove.
8518 (host_openacc_async_wait): Remove.
8519 (host_openacc_async_wait_async): Remove.
8520 (host_openacc_async_wait_all): Remove.
8521 (host_openacc_async_wait_all_async): Remove.
8522 (host_openacc_async_set_async): Remove.
8523 (host_openacc_async_synchronize): New function.
8524 (host_openacc_async_serialize): New function.
8525 (host_openacc_async_host2dev): New function.
8526 (host_openacc_async_dev2host): New function.
8527 (host_openacc_async_queue_callback): New function.
8528 (host_openacc_async_construct): New function.
8529 (host_openacc_async_destruct): New function.
8530 (struct gomp_device_descr host_dispatch): Remove initialization of old
8531 interface, add initialization of new async sub-struct.
8532 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
8533 (goacc_attach_host_thread_to_device): Remove old async code usage.
8534 * oacc-int.h (goacc_init_asyncqueues): New declaration.
8535 (goacc_fini_asyncqueues): Likewise.
8536 (goacc_async_copyout_unmap_vars): Likewise.
8537 (goacc_async_free): Likewise.
8538 (get_goacc_asyncqueue): Likewise.
8539 (lookup_goacc_asyncqueue): Likewise.
8540 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
8541 design.
8542 (present_create_copy): Adjust code to use new async design.
8543 (delete_copyout): Likewise.
8544 (update_dev_host): Likewise.
8545 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
8546 async design.
8547 (gomp_acc_remove_pointer): Adjust code to use new async design.
8548 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
8549 design.
8550 (GOACC_enter_exit_data): Likewise.
8551 (goacc_wait): Likewise.
8552 (GOACC_update): Likewise.
8553 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
8554 when called, warn as obsolete in comment.
8555 * target.c (goacc_device_copy_async): New function.
8556 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
8557 add goacc_device_copy_async case.
8558 (gomp_copy_dev2host): Likewise.
8559 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
8560 (gomp_map_pointer): Likewise.
8561 (gomp_map_fields_existing): Likewise.
8562 (gomp_map_vars_internal): New always_inline function, renamed from
8563 gomp_map_vars.
8564 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
8565 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
8566 passing goacc_asyncqueue argument.
8567 (gomp_unmap_tgt): Remove static, add attribute_hidden.
8568 (gomp_unref_tgt): New function.
8569 (gomp_unmap_vars_internal): New always_inline function, renamed from
8570 gomp_unmap_vars.
8571 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
8572 (gomp_unmap_vars_async): Implement by calling
8573 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
8574 (gomp_fini_device): New function.
8575 (gomp_exit_data): Adjust gomp_copy_dev2host call.
8576 (gomp_load_plugin_for_device): Remove old interface, adjust to load
8577 new async interface.
8578 (gomp_target_fini): Adjust code to call gomp_fini_device.
8579
8580 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
8581 (struct ptx_stream): Remove.
8582 (struct nvptx_thread): Remove current_stream field.
8583 (cuda_map_create): Remove.
8584 (cuda_map_destroy): Remove.
8585 (map_init): Remove.
8586 (map_fini): Remove.
8587 (map_pop): Remove.
8588 (map_push): Remove.
8589 (struct goacc_asyncqueue): Define.
8590 (struct nvptx_callback): Define.
8591 (struct ptx_free_block): Define.
8592 (struct ptx_device): Remove null_stream, active_streams, async_streams,
8593 stream_lock, and next fields.
8594 (enum ptx_event_type): Remove.
8595 (struct ptx_event): Remove.
8596 (ptx_event_lock): Remove.
8597 (ptx_events): Remove.
8598 (init_streams_for_device): Remove.
8599 (fini_streams_for_device): Remove.
8600 (select_stream_for_async): Remove.
8601 (nvptx_init): Remove ptx_events and ptx_event_lock references.
8602 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
8603 case.
8604 (nvptx_open_device): Add free_blocks initialization, remove
8605 init_streams_for_device call.
8606 (nvptx_close_device): Remove fini_streams_for_device call, add
8607 free_blocks destruct code.
8608 (event_gc): Remove.
8609 (event_add): Remove.
8610 (nvptx_exec): Adjust parameters and code.
8611 (nvptx_free): Likewise.
8612 (nvptx_host2dev): Remove.
8613 (nvptx_dev2host): Remove.
8614 (nvptx_set_async): Remove.
8615 (nvptx_async_test): Remove.
8616 (nvptx_async_test_all): Remove.
8617 (nvptx_wait): Remove.
8618 (nvptx_wait_async): Remove.
8619 (nvptx_wait_all): Remove.
8620 (nvptx_wait_all_async): Remove.
8621 (nvptx_get_cuda_stream): Remove.
8622 (nvptx_set_cuda_stream): Remove.
8623 (GOMP_OFFLOAD_alloc): Adjust code.
8624 (GOMP_OFFLOAD_free): Likewise.
8625 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
8626 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
8627 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
8628 (GOMP_OFFLOAD_openacc_async_wait): Remove.
8629 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
8630 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
8631 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
8632 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
8633 (cuda_free_argmem): New function.
8634 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
8635 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
8636 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
8637 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
8638 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
8639 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
8640 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
8641 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
8642 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
8643 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
8644 (cuda_callback_wrapper): New function.
8645 (cuda_memcpy_sanity_check): New function.
8646 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
8647 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
8648 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
8649 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
8650
8651 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
8652
8653 PR target/87835
8654 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
8655
8656 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
8657
8658 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
8659
8660 2019-03-27 Kevin Buettner <kevinb@redhat.com>
8661
8662 * team.c (gomp_team_start): Initialize pool->threads[0].
8663
8664 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
8665
8666 * testsuite/libgomp.oacc-c++/c++.exp: Specify
8667 "-foffload=$offload_target".
8668 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8669 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8670 * testsuite/lib/libgomp.exp
8671 (check_effective_target_openacc_nvidia_accel_configured): Remove,
8672 as (conceptually) merged into
8673 check_effective_target_openacc_nvidia_accel_selected. Adjust all
8674 users.
8675
8676 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
8677 * testsuite/libgomp-test-support.exp.in: Adjust.
8678 * testsuite/lib/libgomp.exp: Likewise. Don't populate
8679 openacc_device_types_s.
8680 (offload_target_to_openacc_device_type): New proc.
8681 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
8682 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8683 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8684 * Makefile.in: Regenerate.
8685 * configure: Likewise.
8686 * testsuite/Makefile.in: Likewise.
8687
8688 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
8689 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
8690 instead of OFFLOAD_TARGETS.
8691 * target.c (gomp_target_init): Adjust.
8692 * testsuite/libgomp-test-support.exp.in: Likewise.
8693 * testsuite/lib/libgomp.exp: Likewise. Populate
8694 openacc_device_types_s instead of offload_targets_s_openacc.
8695 (check_effective_target_openacc_nvidia_accel_selected)
8696 (check_effective_target_openacc_host_selected): Adjust.
8697 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8698 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8699 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8700 * Makefile.in: Regenerate.
8701 * config.h.in: Likewise.
8702 * configure: Likewise.
8703 * testsuite/Makefile.in: Likewise.
8704
8705 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
8706 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
8707 "offloading: supported, but hardware not accessible".
8708 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8709 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8710
8711 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
8712
8713 PR c/87924
8714 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
8715 goacc_wait().
8716 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
8717 and related adjustment.
8718
8719 2019-01-30 Jakub Jelinek <jakub@redhat.com>
8720
8721 PR c++/88988
8722 * testsuite/libgomp.c++/pr88988.C: New test.
8723
8724 2019-01-28 Jakub Jelinek <jakub@redhat.com>
8725
8726 PR middle-end/89002
8727 * testsuite/libgomp.c/pr89002.c: New test.
8728
8729 2019-01-28 Richard Biener <rguenther@suse.de>
8730
8731 PR testsuite/89064
8732 PR tree-optimization/86865
8733 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
8734
8735 2019-01-24 Tom de Vries <tdevries@suse.de>
8736
8737 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
8738 once instantiated_devices drops to 0.
8739
8740 2019-01-23 Tom de Vries <tdevries@suse.de>
8741
8742 PR target/PR88946
8743 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
8744 cuMemFree.
8745 (nvptx_exec): Don't call map_push if mapnum == 0.
8746 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
8747
8748 2019-01-23 Tom de Vries <tdevries@suse.de>
8749
8750 PR target/88941
8751 PR target/88939
8752 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
8753 (map_fini): Remove "assert (!s->map->active)".
8754 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
8755
8756 2019-01-23 Tom de Vries <tdevries@suse.de>
8757
8758 PR target/87835
8759 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
8760 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
8761
8762 2019-01-15 Tom de Vries <tdevries@suse.de>
8763
8764 PR target/80547
8765 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
8766 New test.
8767
8768 2019-01-12 Tom de Vries <tdevries@suse.de>
8769
8770 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
8771 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
8772 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
8773 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
8774
8775 2019-01-12 Tom de Vries <tdevries@suse.de>
8776
8777 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
8778
8779 2019-01-12 Tom de Vries <tdevries@suse.de>
8780
8781 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
8782 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
8783 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
8784
8785 2019-01-12 Tom de Vries <tdevries@suse.de>
8786
8787 PR target/85486
8788 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
8789 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
8790
8791 2019-01-12 Tom de Vries <tdevries@suse.de>
8792
8793 PR target/85381
8794 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
8795 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
8796
8797 2019-01-12 Tom de Vries <tdevries@suse.de>
8798
8799 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
8800 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
8801 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
8802
8803 2019-01-12 Tom de Vries <tdevries@suse.de>
8804
8805 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
8806 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
8807 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
8808
8809 2019-01-12 Tom de Vries <tdevries@suse.de>
8810
8811 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
8812 resources diagnostic.
8813
8814 2019-01-12 Tom de Vries <tdevries@suse.de>
8815
8816 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
8817 vector length to be 128.
8818 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
8819 length 2097152 to be reduced to 1024 instead of 32.
8820
8821 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
8822 James Norris <jnorris@codesourcery.com>
8823
8824 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
8825 Library Routines", and "Environment Variables".
8826
8827 2019-01-11 Tom de Vries <tdevries@suse.de>
8828
8829 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
8830 num_workers 16.
8831
8832 2019-01-11 Tom de Vries <tdevries@suse.de>
8833
8834 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
8835 -foffload=-w.
8836 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
8837 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
8838 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
8839 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
8840
8841 2019-01-11 Tom de Vries <tdevries@suse.de>
8842
8843 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
8844 test.
8845
8846 2019-01-10 Nathan Sidwell <nathan@acm.org>
8847 Julian Brown <julian@codesourcery.com>
8848
8849 PR lto/71959
8850 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
8851 * testsuite/libgomp.oacc-c++/pr71959.C: New.
8852
8853 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
8854
8855 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
8856 and paste code.
8857
8858 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
8859
8860 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
8861 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
8862 write.
8863
8864 2019-01-09 Tom de Vries <tdevries@suse.de>
8865
8866 PR target/88756
8867 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
8868 #define instead of "const int".
8869 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
8870 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
8871 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
8872 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
8873
8874 2019-01-09 Tom de Vries <tdevries@suse.de>
8875
8876 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
8877 one worker.
8878
8879 2019-01-07 Tom de Vries <tdevries@suse.de>
8880
8881 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
8882 GOMP_OPENACC_DIM argument.
8883
8884 2019-01-03 Tom de Vries <tdevries@suse.de>
8885
8886 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
8887 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
8888
8889 2019-01-01 Jakub Jelinek <jakub@redhat.com>
8890
8891 Update copyright years.
8892
8893 2019-01-01 Jakub Jelinek <jakub@redhat.com>
8894
8895 * libgomp.texi: Bump @copying's copyright year.
8896
8897 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
8898
8899 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
8900 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
8901 (GOACC_declare): Redefine the "device" argument to "flags".
8902
8903 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
8904 Cesar Philippidis <cesar@codesourcery.com>
8905
8906 * target.c (struct gomp_coalesce_chunk): New structure.
8907 (struct gomp_coalesce_buf): Update the chunks member to use that
8908 type. Adjust all users.
8909
8910 2018-12-19 Tom de Vries <tdevries@suse.de>
8911
8912 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
8913 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
8914 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
8915
8916 2018-12-19 Tom de Vries <tdevries@suse.de>
8917
8918 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
8919 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
8920 gcc/testsuite/gcc.dg/goacc.
8921 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
8922
8923 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
8924 Chung-Lin Tang <cltang@codesourcery.com>
8925
8926 * oacc-mem.c (acc_present_or_create): Remove definition and change
8927 to alias of acc_create.
8928 (acc_present_or_copyin): Remove definition and change to alias of
8929 acc_copyin.
8930 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
8931 of acc_present_or_create.
8932 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
8933 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8934 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8935 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8936 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8937 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8938 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8939 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8940 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8941 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8942 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8943 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8944 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8945 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8946 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8947 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8948
8949 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
8950
8951 PR libgomp/88495
8952 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
8953 "identical parameters".
8954 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
8955 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
8956
8957 PR libgomp/88484
8958 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
8959 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
8960
8961 PR libgomp/88407
8962 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
8963 (nvptx_wait_async): Unseen async-argument is a no-op.
8964 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
8965 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
8966 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8967 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8968 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
8969 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
8970 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
8971 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
8972 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
8973
8974 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
8975 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8976
8977 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
8978
8979 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
8980 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
8981 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
8982
8983 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
8984
8985 PR libgomp/88370
8986 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
8987 (acc_set_cuda_stream): Clarify.
8988 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
8989 "async_valid_p".
8990 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
8991 acc_async_sync".
8992 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
8993 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
8994 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
8995 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8996
8997 2018-12-14 Tom de Vries <tdevries@suse.de>
8998
8999 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
9000 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
9001 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
9002 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
9003 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
9004
9005 2018-12-13 Tom de Vries <tdevries@suse.de>
9006
9007 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
9008 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
9009 * fortran.c (omp_display_affinity_): ... here.
9010 * libgomp.h (gomp_print_string): Declare.
9011 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
9012 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9013 write.
9014
9015 2018-12-13 Jakub Jelinek <jakub@redhat.com>
9016
9017 PR libgomp/88460
9018 * testsuite/libgomp.c++/for-24.C (results): Include it in
9019 omp declare target region.
9020 (main): Use map (always, tofrom: results) instead of
9021 map (tofrom: results).
9022
9023 2018-12-12 Jakub Jelinek <jakub@redhat.com>
9024
9025 PR fortran/88463
9026 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
9027 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
9028
9029 * testsuite/libgomp.c-c++-common/for-16.c: New test.
9030
9031 2018-12-12 Andreas Schwab <schwab@suse.de>
9032
9033 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
9034 clobbered.
9035
9036 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
9037
9038 PR fortran/88411
9039 * testsuite/libgomp.fortran/async_io_8.f90: New test.
9040
9041 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
9042 Jakub Jelinek <jakub@redhat.com>
9043
9044 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
9045 devicep->host2dev_func.
9046
9047 2018-12-08 Jakub Jelinek <jakub@redhat.com>
9048
9049 PR libgomp/87995
9050 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
9051 tls_runtime effective target.
9052 (t): New threadprivate variable.
9053 (main): Set t in threads which execute iterations of the worksharing
9054 loop. Propagate that to the task after the loop and don't abort
9055 if the current taskgroup hasn't been cancelled.
9056
9057 2018-12-02 Jakub Jelinek <jakub@redhat.com>
9058
9059 * testsuite/libgomp.c/task-reduction-3.c: New test.
9060
9061 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
9062
9063 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
9064
9065 PR libgomp/88288
9066 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
9067 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
9068
9069 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
9070
9071 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
9072
9073 2018-10-19 Richard Biener <rguenther@suse.de>
9074
9075 PR tree-optimization/88182
9076 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
9077
9078 2018-11-26 Jakub Jelinek <jakub@redhat.com>
9079
9080 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
9081 (RUNTEST): Don't define.
9082 (RUNTESTDEFAULTFLAGS): Add.
9083 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
9084 (distclean-am): Depend on distclean-DEJAGNU.
9085 (check-am): If -j% option is present in MFLAGS and if
9086 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
9087 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
9088 * testsuite/Makefile.in: Regenerated.
9089
9090 2018-11-26 Richard Biener <rguenther@suse.de>
9091
9092 PR tree-optimization/88182
9093 * testsuite/libgomp.c++/pr88182.C: New testcase.
9094
9095 2018-11-20 Jakub Jelinek <jakub@redhat.com>
9096
9097 PR bootstrap/88106
9098 * config/mingw32/affinity-fmt.c: New file.
9099
9100 2018-11-09 Jakub Jelinek <jakub@redhat.com>
9101
9102 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
9103 (gomp_display_affinity): Use __builtin_choose_expr to handle
9104 properly handle argument having integral, or pointer or some other
9105 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
9106 with uint64_t type instead of %llx and unsigned long long.
9107
9108 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
9109 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
9110
9111 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9112
9113 * affinity.c: Include <string.h>, <stdio.h>.
9114 (gomp_display_affinity_place): Remove cpusetp.
9115 * teams.c: Include <limits.h>.
9116
9117 2018-11-08 Jakub Jelinek <jakub@redhat.com>
9118
9119 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
9120 in_reduction clause for s[0].
9121
9122 * affinity.c (gomp_display_affinity_place): New function.
9123 * affinity-fmt.c: New file.
9124 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
9125 * config/linux/affinity.c (gomp_display_affinity_place): New function.
9126 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
9127 Move these functions to ...
9128 * config/nvptx/teams.c: ... here. New file.
9129 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
9130 New functions.
9131 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
9132 functions.
9133 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
9134 and _aligned_malloc.
9135 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
9136 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
9137 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
9138 gomp_affinity_format_len): New variables.
9139 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
9140 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
9141 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
9142 modifiers. Display (non-default) chunk sizes. Print
9143 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
9144 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
9145 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
9146 * fortran.c: Include stdio.h and string.h.
9147 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
9148 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
9149 (omp_set_affinity_format_, omp_get_affinity_format_,
9150 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
9151 omp_pause_resource_all_): New functions.
9152 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
9153 switch.
9154 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
9155 functions to ...
9156 * teams.c: ... here. New file.
9157 * libgomp_g.h: Include gstdint.h.
9158 (GOMP_loop_nonmonotonic_runtime_start,
9159 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
9160 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
9161 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
9162 GOMP_parallel_loop_nonmonotonic_runtime,
9163 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9164 GOMP_loop_ull_nonmonotonic_runtime_start,
9165 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
9166 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
9167 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9168 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
9169 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
9170 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9171 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9172 GOMP_teams_reg): Declare.
9173 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
9174 gomp_aligned_alloc uses fallback implementation.
9175 (gomp_aligned_alloc, gomp_aligned_free): Declare.
9176 (enum gomp_schedule_type): Add GFS_MONOTONIC.
9177 (struct gomp_doacross_work_share): Add extra field.
9178 (struct gomp_work_share): Add task_reductions field.
9179 (struct gomp_taskgroup): Add workshare and reductions fields.
9180 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
9181 (gomp_thread_handle): New typedef.
9182 (gomp_display_affinity_place, gomp_set_affinity_format,
9183 gomp_display_string, gomp_display_affinity,
9184 gomp_display_affinity_thread): Declare.
9185 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
9186 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
9187 gomp_workshare_task_reduction_register): Declare.
9188 (gomp_team_start): Add taskgroup argument.
9189 (gomp_pause_host): Declare.
9190 (gomp_init_work_share, gomp_work_share_start): Change bool argument
9191 to size_t.
9192 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
9193 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
9194 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
9195 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9196 GOMP_loop_ull_doacross_start,
9197 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9198 GOMP_loop_maybe_nonmonotonic_runtime_next,
9199 GOMP_loop_maybe_nonmonotonic_runtime_start,
9200 GOMP_loop_nonmonotonic_runtime_next,
9201 GOMP_loop_nonmonotonic_runtime_start,
9202 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9203 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
9204 GOMP_loop_ull_nonmonotonic_runtime_next,
9205 GOMP_loop_ull_nonmonotonic_runtime_start,
9206 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9207 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
9208 GOMP_taskgroup_reduction_register,
9209 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9210 GOMP_teams_reg and GOMP_taskwait_depend.
9211 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
9212 omp_{capture,display}_affinity{,_}, and
9213 omp_[gs]et_affinity_format{,_}.
9214 * loop.c: Include string.h.
9215 (GOMP_loop_runtime_next): Add ialias.
9216 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9217 (gomp_loop_static_start, gomp_loop_dynamic_start,
9218 gomp_loop_guided_start, gomp_loop_ordered_static_start,
9219 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9220 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9221 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
9222 or gomp_doacross_init callers.
9223 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
9224 GOMP_loop_doacross_start): New functions.
9225 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9226 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
9227 Mask off GFS_MONOTONIC bit.
9228 (GOMP_loop_maybe_nonmonotonic_runtime_next,
9229 GOMP_loop_maybe_nonmonotonic_runtime_start,
9230 GOMP_loop_nonmonotonic_runtime_next,
9231 GOMP_loop_nonmonotonic_runtime_start,
9232 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9233 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
9234 functions.
9235 (gomp_parallel_loop_start): Pass NULL as taskgroup to
9236 gomp_team_start.
9237 * loop_ull.c: Include string.h.
9238 (GOMP_loop_ull_runtime_next): Add ialias.
9239 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9240 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
9241 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
9242 gomp_loop_ull_ordered_dynamic_start,
9243 gomp_loop_ull_ordered_guided_start,
9244 gomp_loop_ull_doacross_static_start,
9245 gomp_loop_ull_doacross_dynamic_start,
9246 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
9247 and gomp_doacross_ull_init callers.
9248 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9249 GOMP_loop_ull_doacross_start): New functions.
9250 (GOMP_loop_ull_runtime_start,
9251 GOMP_loop_ull_ordered_runtime_start,
9252 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
9253 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9254 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
9255 GOMP_loop_ull_nonmonotonic_runtime_next,
9256 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
9257 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
9258 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
9259 (omp_pause_resource_t, omp_depend_t): New typedefs.
9260 (enum omp_lock_hint_t): Renamed to ...
9261 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
9262 enumerators using numbers and omp_lock_hint_* as their aliases.
9263 (omp_lock_hint_t): New typedef. Rename to ...
9264 (omp_sync_hint_t): ... this.
9265 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
9266 omp_sync_hint_t instead of omp_lock_hint_t.
9267 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9268 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9269 Declare.
9270 (omp_target_is_present, omp_target_disassociate_ptr):
9271 Change first argument from void * to const void *.
9272 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
9273 from void * to const void *.
9274 (omp_target_associate_ptr): Change first and second arguments from
9275 void * to const void *.
9276 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
9277 omp_pause_hard): New parameters.
9278 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9279 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9280 New interfaces.
9281 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
9282 omp_pause_hard): New parameters.
9283 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9284 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9285 New externals.
9286 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
9287 EXTRA argument. If not needed to prepare array, if extra is 0,
9288 clear ws->doacross, otherwise allocate just doacross structure and
9289 extra payload. If array is needed, allocate also extra payload.
9290 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
9291 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
9292 doacross == NULL.
9293 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
9294 gomp_team_start.
9295 (GOMP_parallel): Likewise. Formatting fix.
9296 (GOMP_parallel_reductions): New function.
9297 (GOMP_cancellation_point): If taskgroup has workshare
9298 flag set, check cancelled of prev taskgroup if any.
9299 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
9300 on prev taskgroup if any.
9301 * sections.c: Include string.h.
9302 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9303 (GOMP_sections_start): Adjust gomp_work_share_start caller.
9304 (GOMP_sections2_start): New function.
9305 (GOMP_parallel_sections_start, GOMP_parallel_sections):
9306 Pass NULL as taskgroup to gomp_team_start.
9307 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
9308 gomp_work_share_start callers.
9309 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
9310 If taskgroup has workshare flag set, check cancelled on prev
9311 taskgroup if any. Guard all cancellation tests with
9312 gomp_cancel_var test.
9313 (omp_target_is_present, omp_target_disassociate_ptr):
9314 Change ptr argument from void * to const void *.
9315 (omp_target_memcpy): Change src argument from void * to const void *.
9316 (omp_target_memcpy_rect): Likewise.
9317 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
9318 instead of char * where needed.
9319 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
9320 from void * to const void *.
9321 (omp_pause_resource, omp_pause_resource_all): New functions.
9322 * task.c (gomp_task_handle_depend): Handle new depend array format
9323 in addition to the old. Handle mutexinoutset kinds the same as
9324 inout for now, handle unspecified kinds.
9325 (gomp_create_target_task): If taskgroup has workshare flag set, check
9326 cancelled on prev taskgroup if any. Guard all cancellation tests with
9327 gomp_cancel_var test. Handle new depend array format count in
9328 addition to the old.
9329 (GOMP_task): Likewise. Adjust function comment.
9330 (gomp_task_run_pre): If taskgroup has workshare flag set, check
9331 cancelled on prev taskgroup if any. Guard all cancellation tests with
9332 gomp_cancel_var test.
9333 (GOMP_taskwait_depend): New function.
9334 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
9335 format in addition to the old. Handle mutexinoutset kinds the same as
9336 inout for now, handle unspecified kinds. Fix a function comment typo.
9337 (gomp_taskgroup_init): New function.
9338 (GOMP_taskgroup_start): Use it.
9339 (gomp_reduction_register, gomp_create_artificial_team,
9340 GOMP_taskgroup_reduction_register,
9341 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9342 gomp_parallel_reduction_register,
9343 gomp_workshare_task_reduction_register,
9344 gomp_workshare_taskgroup_start,
9345 GOMP_workshare_task_reduction_unregister): New functions.
9346 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
9347 check cancelled on prev taskgroup if any. Guard all cancellation
9348 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
9349 by calling GOMP_taskgroup_reduction_register.
9350 * team.c (gomp_thread_attr): Remove comment.
9351 (struct gomp_thread_start_data): Add handle field.
9352 (gomp_thread_start): Call pthread_detach.
9353 (gomp_new_team): Adjust gomp_init_work_share caller.
9354 (gomp_free_pool_helper): Call pthread_detach.
9355 (gomp_team_start): Add taskgroup argument, initialize implicit
9356 tasks' taskgroup field to that. Don't call
9357 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
9358 (gomp_team_end): Determine nesting by thr->ts.level != 0
9359 rather than thr->ts.team != NULL.
9360 (gomp_pause_pool_helper, gomp_pause_host): New functions.
9361 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
9362 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
9363 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
9364 if more than 1 allocate also extra payload at the end of array. Never
9365 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
9366 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
9367 return true instead of ws.
9368 * Makefile.in: Regenerated.
9369 * configure: Regenerated.
9370 * config.h.in: Regenerated.
9371 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
9372 in some cases.
9373 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
9374 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
9375 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
9376 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
9377 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
9378 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
9379 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
9380 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
9381 * testsuite/libgomp.c-c++-common/for-10.c: New test.
9382 * testsuite/libgomp.c-c++-common/for-11.c: New test.
9383 * testsuite/libgomp.c-c++-common/for-12.c: New test.
9384 * testsuite/libgomp.c-c++-common/for-13.c: New test.
9385 * testsuite/libgomp.c-c++-common/for-14.c: New test.
9386 * testsuite/libgomp.c-c++-common/for-15.c: New test.
9387 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
9388 define a different N(test), don't define N(f0) to N(f14), but instead
9389 define N(f20) to N(f34) using != comparisons.
9390 * testsuite/libgomp.c-c++-common/for-7.c: New test.
9391 * testsuite/libgomp.c-c++-common/for-8.c: New test.
9392 * testsuite/libgomp.c-c++-common/for-9.c: New test.
9393 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
9394 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
9395 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
9396 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
9397 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
9398 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
9399 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
9400 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
9401 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
9402 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
9403 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
9404 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
9405 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
9406 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
9407 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
9408 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
9409 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
9410 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
9411 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
9412 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
9413 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
9414 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
9415 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
9416 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
9417 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
9418 * testsuite/libgomp.c++/depend-1.C: New test.
9419 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
9420 * testsuite/libgomp.c++/depobj-1.C: New test.
9421 * testsuite/libgomp.c++/for-16.C: New test.
9422 * testsuite/libgomp.c++/for-21.C: New test.
9423 * testsuite/libgomp.c++/for-22.C: New test.
9424 * testsuite/libgomp.c++/for-23.C: New test.
9425 * testsuite/libgomp.c++/for-24.C: New test.
9426 * testsuite/libgomp.c++/for-25.C: New test.
9427 * testsuite/libgomp.c++/for-26.C: New test.
9428 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
9429 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
9430 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
9431 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
9432 * testsuite/libgomp.c++/task-reduction-10.C: New test.
9433 * testsuite/libgomp.c++/task-reduction-11.C: New test.
9434 * testsuite/libgomp.c++/task-reduction-12.C: New test.
9435 * testsuite/libgomp.c++/task-reduction-13.C: New test.
9436 * testsuite/libgomp.c++/task-reduction-14.C: New test.
9437 * testsuite/libgomp.c++/task-reduction-15.C: New test.
9438 * testsuite/libgomp.c++/task-reduction-16.C: New test.
9439 * testsuite/libgomp.c++/task-reduction-17.C: New test.
9440 * testsuite/libgomp.c++/task-reduction-18.C: New test.
9441 * testsuite/libgomp.c++/task-reduction-19.C: New test.
9442 * testsuite/libgomp.c/task-reduction-1.c: New test.
9443 * testsuite/libgomp.c++/task-reduction-1.C: New test.
9444 * testsuite/libgomp.c/task-reduction-2.c: New test.
9445 * testsuite/libgomp.c++/task-reduction-2.C: New test.
9446 * testsuite/libgomp.c++/task-reduction-3.C: New test.
9447 * testsuite/libgomp.c++/task-reduction-4.C: New test.
9448 * testsuite/libgomp.c++/task-reduction-5.C: New test.
9449 * testsuite/libgomp.c++/task-reduction-6.C: New test.
9450 * testsuite/libgomp.c++/task-reduction-7.C: New test.
9451 * testsuite/libgomp.c++/task-reduction-8.C: New test.
9452 * testsuite/libgomp.c++/task-reduction-9.C: New test.
9453 * testsuite/libgomp.c/teams-1.c: New test.
9454 * testsuite/libgomp.c/teams-2.c: New test.
9455 * testsuite/libgomp.c/thread-limit-4.c: New test.
9456 * testsuite/libgomp.c/thread-limit-5.c: New test.
9457 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
9458
9459 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
9460
9461 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
9462 acc_memcpy_to/from_device functions, now with async parameter.
9463 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
9464 (acc_memcpy_from_device): Likewise.
9465 (acc_memcpy_to_device_async): New API function.
9466 (acc_memcpy_from_device_async): Likewise.
9467 (present_create_copy): Add async parameter and async setting/unsetting.
9468 (acc_create): Adjust present_create_copy call.
9469 (acc_copyin): Likewise.
9470 (acc_present_or_create): Likewise.
9471 (acc_present_or_copyin): Likewise.
9472 (acc_create_async): New API function.
9473 (acc_copyin_async): New API function.
9474 (delete_copyout): Add async parameter and async setting/unsetting.
9475 (acc_delete): Adjust delete_copyout call.
9476 (acc_copyout): Likewise.
9477 (acc_delete_async): New API function.
9478 (acc_copyout_async): Likewise.
9479 (update_dev_host): Add async parameter and async setting/unsetting.
9480 (acc_update_device): Adjust update_dev_host call.
9481 (acc_update_self): Likewise.
9482 (acc_update_device_async): New API function.
9483 (acc_update_self_async): Likewise.
9484 * openacc.h (acc_copyin_async): Declare new API function.
9485 (acc_create_async): Likewise.
9486 (acc_copyout_async): Likewise.
9487 (acc_delete_async): Likewise.
9488 (acc_update_device_async): Likewise.
9489 (acc_update_self_async): Likewise.
9490 (acc_memcpy_to_device_async): Likewise.
9491 (acc_memcpy_from_device_async): Likewise.
9492 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
9493 (acc_copyin_async_64_h): New subroutine.
9494 (acc_copyin_async_array_h): New subroutine.
9495 (acc_create_async_32_h): New subroutine.
9496 (acc_create_async_64_h): New subroutine.
9497 (acc_create_async_array_h): New subroutine.
9498 (acc_copyout_async_32_h): New subroutine.
9499 (acc_copyout_async_64_h): New subroutine.
9500 (acc_copyout_async_array_h): New subroutine.
9501 (acc_delete_async_32_h): New subroutine.
9502 (acc_delete_async_64_h): New subroutine.
9503 (acc_delete_async_array_h): New subroutine.
9504 (acc_update_device_async_32_h): New subroutine.
9505 (acc_update_device_async_64_h): New subroutine.
9506 (acc_update_device_async_array_h): New subroutine.
9507 (acc_update_self_async_32_h): New subroutine.
9508 (acc_update_self_async_64_h): New subroutine.
9509 (acc_update_self_async_array_h): New subroutine.
9510 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
9511 (acc_copyin_async_64_h): New subroutine.
9512 (acc_copyin_async_array_h): New subroutine.
9513 (acc_create_async_32_h): New subroutine.
9514 (acc_create_async_64_h): New subroutine.
9515 (acc_create_async_array_h): New subroutine.
9516 (acc_copyout_async_32_h): New subroutine.
9517 (acc_copyout_async_64_h): New subroutine.
9518 (acc_copyout_async_array_h): New subroutine.
9519 (acc_delete_async_32_h): New subroutine.
9520 (acc_delete_async_64_h): New subroutine.
9521 (acc_delete_async_array_h): New subroutine.
9522 (acc_update_device_async_32_h): New subroutine.
9523 (acc_update_device_async_64_h): New subroutine.
9524 (acc_update_device_async_array_h): New subroutine.
9525 (acc_update_self_async_32_h): New subroutine.
9526 (acc_update_self_async_64_h): New subroutine.
9527 (acc_update_self_async_array_h): New subroutine.
9528 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
9529 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
9530 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
9531 acc_memcpy_to_device_async*, acc_update_device_async*, and
9532 acc_update_self_async* entries.
9533 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
9534 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
9535 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
9536
9537 2018-10-31 Joseph Myers <joseph@codesourcery.com>
9538
9539 PR bootstrap/82856
9540 * Makefile.am: Include multilib.am
9541 (AUTOMAKE_OPTIONS): Add info-in-builddir.
9542 (CLEANFILES): Remove libgomp.info.
9543 * configure.ac: Remove AC_PREREQ.
9544 * testsuite/Makefile.am (RUNTEST): Remove quotes.
9545 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
9546 Regenerate.
9547
9548 2018-10-29 Joseph Myers <joseph@codesourcery.com>
9549 Julian Brown <julian@codesourcery.com>
9550
9551 * testsuite/libgomp.oacc-c++/this.C: New.
9552
9553 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
9554
9555 * plugin/plugin-nvptx.c (struct cuda_map): New.
9556 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
9557 h_tail with (cuda_map *) map.
9558 (cuda_map_create): New function.
9559 (cuda_map_destroy): New function.
9560 (map_init): Update to use a linked list of cuda_map objects.
9561 (map_fini): Likewise.
9562 (map_pop): Likewise.
9563 (map_push): Likewise. Return CUdeviceptr instead of void.
9564 (init_streams_for_device): Remove stales references to ptx_stream
9565 members.
9566 (select_stream_for_async): Likewise.
9567 (nvptx_exec): Update call to map_init.
9568
9569 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
9570 Julian Brown <julian@codesourcery.com>
9571
9572 PR middle-end/86336
9573 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
9574
9575 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
9576 Thomas Koenig <tkoenig@gcc.gnu.org>
9577
9578 PR fortran/25829
9579 * testsuite/libgomp.fortran/async_io_1.f90: New test.
9580 * testsuite/libgomp.fortran/async_io_2.f90: New test.
9581 * testsuite/libgomp.fortran/async_io_3.f90: New test.
9582 * testsuite/libgomp.fortran/async_io_4.f90: New test.
9583 * testsuite/libgomp.fortran/async_io_5.f90: New test.
9584 * testsuite/libgomp.fortran/async_io_6.f90: New test.
9585 * testsuite/libgomp.fortran/async_io_7.f90: New test.
9586
9587 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
9588 Tom de Vries <tdevries@suse.de>
9589
9590 PR target/85590
9591 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
9592 (cuOccupancyMaxPotentialBlockSize): Declare.
9593 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
9594 CUDA_ONE_CALL_MAYBE_NULL.
9595 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
9596 CUoccupancyB2DSize and declare
9597 cuOccupancyMaxPotentialBlockSize.
9598 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
9599 default num_gangs and num_workers when the driver supports it.
9600
9601 2018-08-08 Tom de Vries <tdevries@suse.de>
9602
9603 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
9604 CUDA_ONE_CALL_MAYBE_NULL.
9605 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
9606 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
9607 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
9608 are not found.
9609
9610 2018-08-08 Tom de Vries <tdevries@suse.de>
9611
9612 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
9613 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
9614 present.
9615
9616 2018-08-08 Tom de Vries <tdevries@suse.de>
9617
9618 * plugin/plugin-nvptx.c
9619 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
9620 (nvptx_open_device): Use
9621 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
9622
9623 2018-08-08 Tom de Vries <tdevries@suse.de>
9624
9625 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
9626 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
9627
9628 2018-08-07 Tom de Vries <tdevries@suse.de>
9629
9630 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
9631 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
9632 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
9633 corresponding call in CUDA_ONE_CALL. Add def/undef of
9634 CUDA_ONE_CALL_MAYBE_NULL.
9635 (CUDA_CALL_EXISTS): Define.
9636
9637 2018-08-07 Tom de Vries <tdevries@suse.de>
9638
9639 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
9640 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
9641 corresponding undefs right after.
9642
9643 2018-08-04 Tom de Vries <tdevries@suse.de>
9644
9645 * plugin/configfrag.ac: For --without-cuda-driver, set
9646 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
9647 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
9648 * configure: Regenerate.
9649
9650 2018-08-02 Tom de Vries <tdevries@suse.de>
9651
9652 PR target/86660
9653 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
9654 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
9655 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9656 Same.
9657 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
9658 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
9659 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
9660
9661 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
9662 Thomas Schwinge <thomas@codesourcery.com>
9663
9664 * config/nvptx/oacc-parallel.c: Truncate.
9665
9666 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
9667 James Norris <jnorris@codesourcery.com>
9668
9669 * plugin/plugin-nvptx.c (struct map): Removed.
9670 (map_init, map_pop): Remove use of struct map.
9671 (map_push): Likewise and change argument list.
9672 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
9673
9674 2018-08-01 Tom de Vries <tdevries@suse.de>
9675
9676 * plugin/cuda-lib.def: New file. Factor out of ...
9677 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
9678 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
9679 using CUDA_CALLS.
9680
9681 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
9682
9683 Revert 'AsyncI/O patch committed'.
9684 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
9685 Thomas Koenig <tkoenig@gcc.gnu.org>
9686
9687 PR fortran/25829
9688 * testsuite/libgomp.fortran/async_io_1.f90: New test.
9689 * testsuite/libgomp.fortran/async_io_2.f90: New test.
9690 * testsuite/libgomp.fortran/async_io_3.f90: New test.
9691 * testsuite/libgomp.fortran/async_io_4.f90: New test.
9692 * testsuite/libgomp.fortran/async_io_5.f90: New test.
9693 * testsuite/libgomp.fortran/async_io_6.f90: New test.
9694 * testsuite/libgomp.fortran/async_io_7.f90: New test.
9695
9696 2018-07-30 Tom de Vries <tdevries@suse.de>
9697
9698 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
9699 (nvptx_exec): Ensure worker and vector default dims don't exceed
9700 targ_fn->max_threads_per_block.
9701
9702 2018-07-30 Tom de Vries <tdevries@suse.de>
9703
9704 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
9705 (nvptx_open_device): Init default_dims for device.
9706 (nvptx_exec): Use default_dims from device.
9707
9708 2018-07-26 Jakub Jelinek <jakub@redhat.com>
9709
9710 PR testsuite/86660
9711 * testsuite/libgomp.c++/for-15.C (results): Include it in
9712 omp declare target region.
9713 (main): Use map (always, tofrom: results) instead of
9714 map (tofrom: results).
9715
9716 PR middle-end/86660
9717 * testsuite/libgomp.c/pr86660.c: New test.
9718
9719 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
9720 Tom de Vries <tdevries@suse.de>
9721
9722 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
9723 sufficient resources to launch a kernel, and give a hint on how to fix
9724 it.
9725
9726 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
9727 Tom de Vries <tdevries@suse.de>
9728
9729 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
9730 max_threads_per_block and max_threads_per_multiprocessor fields.
9731 (nvptx_open_device): Initialize new fields.
9732 (nvptx_exec): Use num_sms, and new fields.
9733
9734 2018-07-26 Tom de Vries <tdevries@suse.de>
9735
9736 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
9737 to correct locations. Remove xfail.
9738
9739 2018-07-26 Tom de Vries <tdevries@suse.de>
9740
9741 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
9742 acc_wait. Move acc_async_test calls to correct locations. Remove
9743 xfail.
9744
9745 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
9746 Thomas Koenig <tkoenig@gcc.gnu.org>
9747
9748 PR fortran/25829
9749 * testsuite/libgomp.fortran/async_io_1.f90: New test.
9750 * testsuite/libgomp.fortran/async_io_2.f90: New test.
9751 * testsuite/libgomp.fortran/async_io_3.f90: New test.
9752 * testsuite/libgomp.fortran/async_io_4.f90: New test.
9753 * testsuite/libgomp.fortran/async_io_5.f90: New test.
9754 * testsuite/libgomp.fortran/async_io_6.f90: New test.
9755 * testsuite/libgomp.fortran/async_io_7.f90: New test.
9756
9757 2018-07-17 Jakub Jelinek <jakub@redhat.com>
9758
9759 PR middle-end/86542
9760 * testsuite/libgomp.c++/pr86542.C: New test.
9761
9762 PR middle-end/86539
9763 * testsuite/libgomp.c++/pr86539.C: New test.
9764
9765 2018-07-11 Jakub Jelinek <jakub@redhat.com>
9766
9767 PR c++/86443
9768 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
9769 (results): Make sure the variable is not inside declare target region.
9770 (qux): Remove unused function.
9771
9772 2018-07-10 Jakub Jelinek <jakub@redhat.com>
9773
9774 PR c++/86443
9775 * testsuite/libgomp.c++/for-15.C: New test.
9776
9777 2018-06-26 Jakub Jelinek <jakub@redhat.com>
9778
9779 PR c++/86291
9780 * testsuite/libgomp.c++/pr86291.C: New test.
9781
9782 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
9783
9784 * libgomp.texi (Top): Move www.openmp.org to https.
9785 (Enabling OpenMP): Ditto.
9786 (omp_get_active_level): Ditto.
9787 (omp_get_ancestor_thread_num): Ditto.
9788 (omp_get_cancellation): Ditto.
9789 (omp_get_default_device): Ditto.
9790 (omp_get_dynamic): Ditto.
9791 (omp_get_level): Ditto.
9792 (omp_get_max_active_levels): Ditto.
9793 (omp_get_max_task_priority): Ditto.
9794 (omp_get_max_threads): Ditto.
9795 (omp_get_nested): Ditto.
9796 (omp_get_num_devices): Ditto.
9797 (omp_get_num_procs): Ditto.
9798 (omp_get_num_teams): Ditto.
9799 (omp_get_num_threads): Ditto.
9800 (omp_get_proc_bind): Ditto.
9801 (omp_get_schedule): Ditto.
9802 (omp_get_team_num): Ditto.
9803 (omp_get_team_size): Ditto.
9804 (omp_get_thread_limit): Ditto.
9805 (omp_get_thread_num): Ditto.
9806 (omp_in_parallel): Ditto.
9807 (omp_in_final): Ditto.
9808 (omp_is_initial_device): Ditto.
9809 (omp_set_default_device): Ditto.
9810 (omp_set_dynamic): Ditto.
9811 (omp_set_max_active_levels): Ditto.
9812 (omp_set_nested): Ditto.
9813 (omp_set_num_threads): Ditto.
9814 (omp_set_schedule): Ditto.
9815 (omp_init_lock): Ditto.
9816 (omp_set_lock): Ditto.
9817 (omp_test_lock): Ditto.
9818 (omp_unset_lock): Ditto.
9819 (omp_destroy_lock): Ditto.
9820 (omp_init_nest_lock): Ditto.
9821 (omp_set_nest_lock): Ditto.
9822 (omp_test_nest_lock): Ditto.
9823 (omp_unset_nest_lock): Ditto.
9824 (omp_destroy_nest_lock): Ditto.
9825 (omp_get_wtick): Ditto.
9826 (omp_get_wtime): Ditto.
9827 (OMP_CANCELLATION): Ditto.
9828 (OMP_DISPLAY_ENV): Ditto.
9829 (OMP_DEFAULT_DEVICE): Ditto.
9830 (OMP_DYNAMIC): Ditto.
9831 (OMP_MAX_ACTIVE_LEVELS): Ditto.
9832 (OMP_MAX_TASK_PRIORITY): Ditto.
9833 (OMP_NESTED): Ditto.
9834 (OMP_NUM_THREADS): Ditto.
9835 (OMP_PROC_BIND): Ditto.
9836 (OMP_PLACES): Ditto.
9837 (OMP_STACKSIZE): Ditto.
9838 (OMP_SCHEDULE): Ditto.
9839 (OMP_THREAD_LIMIT): Ditto.
9840 (OMP_WAIT_POLICY): Ditto.
9841
9842 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
9843 James Norris <jnorris@codesourcery.com>
9844 Julian Brown <julian@codesourcery.com>
9845 Thomas Schwinge <thomas@codesourcery.com>
9846 Tom de Vries <tom@codesourcery.com>
9847
9848 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
9849 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
9850 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
9851 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
9852 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
9853 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
9854 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
9855 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
9856 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
9857 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
9858 Likewise.
9859 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
9860 Likewise.
9861 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
9862 Likewise.
9863 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
9864 Likewise.
9865 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
9866 Likewise.
9867 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
9868 Likewise.
9869 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
9870 Likewise.
9871 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
9872 Likewise.
9873 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
9874 Likewise.
9875 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
9876 Likewise.
9877 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
9878 Likewise.
9879 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
9880 Likewise.
9881 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
9882 Likewise.
9883 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
9884 Likewise.
9885 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
9886 Likewise.
9887 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
9888 Likewise.
9889 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
9890 Likewise.
9891 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
9892 Likewise.
9893 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
9894 Likewise.
9895 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
9896 Likewise.
9897 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
9898 Likewise.
9899 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
9900 Likewise.
9901 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
9902 Likewise.
9903 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
9904 Likewise.
9905 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
9906 Likewise.
9907 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
9908 Likewise.
9909 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
9910 Likewise.
9911 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
9912 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
9913 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
9914 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
9915 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
9916 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
9917 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
9918 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
9919 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
9920 Likewise.
9921 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
9922 Likewise.
9923 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
9924 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
9925 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
9926 Likewise.
9927 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
9928 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
9929 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
9930 Likewise.
9931 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
9932 Likewise.
9933 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
9934 Likewise.
9935 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
9936 Likewise.
9937 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
9938 Likewise.
9939 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
9940 Likewise.
9941 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
9942 Likewise.
9943 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
9944 Likewise.
9945 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
9946 Likewise.
9947 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
9948 Likewise.
9949 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
9950 Likewise.
9951 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
9952 Likewise.
9953 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
9954 Likewise.
9955 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
9956 Likewise.
9957 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
9958 Likewise.
9959 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
9960 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
9961 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
9962 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
9963 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
9964 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
9965 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
9966
9967 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
9968 Thomas Schwinge <thomas@codesourcery.com>
9969 Cesar Philippidis <cesar@codesourcery.com>
9970
9971 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
9972 (gomp_acc_remove_pointer): Update declaration.
9973 (gomp_acc_declare_allocate): Declare.
9974 (gomp_remove_var): Declare.
9975 * libgomp.map (OACC_2.5): Define.
9976 * oacc-mem.c (acc_map_data): Update refcount.
9977 (acc_unmap_data): Likewise.
9978 (present_create_copy): Likewise.
9979 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
9980 (acc_copyin): Likewise.
9981 (FLAG_FINALIZE): Define.
9982 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
9983 (acc_delete_finalize): New function.
9984 (acc_delete_finalize_async): New function.
9985 (acc_copyout_finalize): New function.
9986 (acc_copyout_finalize_async): New function.
9987 (gomp_acc_insert_pointer): Update refcounts.
9988 (gomp_acc_remove_pointer): Return if data is not present on the
9989 accelerator.
9990 * oacc-parallel.c (find_pset): Rename to find_pointer.
9991 (find_pointer): Add support for GOMP_MAP_POINTER.
9992 (handle_ftn_pointers): New function.
9993 (GOACC_parallel_keyed): Update refcounts of variables.
9994 (GOACC_enter_exit_data): Add support for finalized data mappings.
9995 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
9996 of fortran arrays.
9997 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
9998 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
9999 for GOMP_MAP_FORCE_FROM.
10000 * openacc.f90 (module openacc_internal): Add
10001 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
10002 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
10003 acc_copyout_finalize and acc_delete_finalize.
10004 (acc_copyout_finalize_32_h): New subroutine.
10005 (acc_copyout_finalize_64_h): New subroutine.
10006 (acc_copyout_finalize_array_h): New subroutine.
10007 (acc_delete_finalize_32_h): New subroutine.
10008 (acc_delete_finalize_64_h): New subroutine.
10009 (acc_delete_finalize_array_h): New subroutine.
10010 * openacc.h (acc_copyout_finalize): Declare.
10011 (acc_copyout_finalize_async): Declare.
10012 (acc_delete_finalize): Declare.
10013 (acc_delete_finalize_async): Declare.
10014 * openacc_lib.h (acc_copyout_finalize): New interface.
10015 (acc_delete_finalize): New interface.
10016 * target.c (gomp_map_vars): Update dynamic_refcount.
10017 (gomp_remove_var): New function.
10018 (gomp_unmap_vars): Use it.
10019 (gomp_unload_image_from_device): Likewise.
10020 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
10021 case to utilize OpenACC 2.5 data clause semantics.
10022 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10023 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10024 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10025 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10026 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10027 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10028 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10029 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10030 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10031 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
10032 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
10033 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
10034 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
10035 utilize OpenACC 2.5 data clause semantics.
10036 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10037 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10038 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10039 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10040 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10041 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10042 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10043 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
10044 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
10045
10046 2018-05-21 Janus Weil <janus@gcc.gnu.org>
10047
10048 PR fortran/85841
10049 PR testsuite/85865
10050 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
10051 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
10052 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
10053 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
10054 * testsuite/libgomp.fortran/task2.f90: Ditto.
10055 * testsuite/libgomp.fortran/vla1.f90: Ditto.
10056 * testsuite/libgomp.fortran/vla2.f90: Ditto.
10057 * testsuite/libgomp.fortran/vla3.f90: Ditto.
10058 * testsuite/libgomp.fortran/vla4.f90: Ditto.
10059 * testsuite/libgomp.fortran/vla5.f90: Ditto.
10060 * testsuite/libgomp.fortran/vla6.f90: Ditto.
10061 * testsuite/libgomp.fortran/vla8.f90: Ditto.
10062 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
10063 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
10064
10065 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
10066
10067 PR c++/85782
10068 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
10069
10070 2018-05-09 Tom de Vries <tom@codesourcery.com>
10071
10072 PR libgomp/82901
10073 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
10074 to GOACC_enter_exit_data.
10075
10076 2018-05-09 Tom de Vries <tom@codesourcery.com>
10077
10078 PR libgomp/83792
10079 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
10080 (async_synchronous_p): New function.
10081 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
10082 async_valid_p.
10083 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10084 async_valid_stream_id_p.
10085 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
10086 * oacc-parallel.c (GOACC_parallel_keyed): Same.
10087
10088 2018-05-07 Tom de Vries <tom@codesourcery.com>
10089
10090 PR testsuite/85677
10091 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
10092 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
10093
10094 2018-05-03 Tom de Vries <tom@codesourcery.com>
10095
10096 PR testsuite/85106
10097 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
10098 extra_tool_flags if it contains an -foffload=-fdump-* flag.
10099 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
10100 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
10101
10102 2018-05-02 Tom de Vries <tom@codesourcery.com>
10103
10104 PR libgomp/85411
10105 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
10106 GOMP_OPENACC_DIM ...
10107 * env.c (parse_gomp_openacc_dim): ... here. New function.
10108 (initialize_env): Call parse_gomp_openacc_dim.
10109 (goacc_default_dims): Define.
10110 * libgomp.h (goacc_default_dims): Declare.
10111 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
10112 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
10113 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
10114 GOMP_PLUGIN_acc_default_dim.
10115 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
10116 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
10117
10118 2018-05-02 Tom de Vries <tom@codesourcery.com>
10119
10120 PR testsuite/83791
10121 * testsuite/libgomp.c++/udr-9.C: Update.
10122 * testsuite/libgomp.c++/atomic-16.C: Remove.
10123 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
10124 * testsuite/libgomp.c++/loop-13.C: Remove.
10125 * testsuite/libgomp.c++/loop-14.C: Remove.
10126 * testsuite/libgomp.c++/loop-15.C: Remove.
10127 * testsuite/libgomp.c++/monotonic-1.C: Remove.
10128 * testsuite/libgomp.c++/monotonic-2.C: Remove.
10129 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
10130 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
10131 * testsuite/libgomp.c++/ordered-1.C: Remove.
10132 * testsuite/libgomp.c++/pr45784.C: Remove.
10133 * testsuite/libgomp.c++/pr64824.C: Remove.
10134 * testsuite/libgomp.c++/pr64868.C: Remove.
10135 * testsuite/libgomp.c++/pr66199-1.C: Remove.
10136 * testsuite/libgomp.c++/pr66199-2.C: Remove.
10137 * testsuite/libgomp.c++/pr66199-3.C: Remove.
10138 * testsuite/libgomp.c++/pr66199-4.C: Remove.
10139 * testsuite/libgomp.c++/pr66199-5.C: Remove.
10140 * testsuite/libgomp.c++/pr66199-6.C: Remove.
10141 * testsuite/libgomp.c++/pr66199-7.C: Remove.
10142 * testsuite/libgomp.c++/pr66199-8.C: Remove.
10143 * testsuite/libgomp.c++/pr66199-9.C: Remove.
10144 * testsuite/libgomp.c++/pr69389.C: Remove.
10145 * testsuite/libgomp.c++/simd10.C: Remove.
10146 * testsuite/libgomp.c++/simd11.C: Remove.
10147 * testsuite/libgomp.c++/simd12.C: Remove.
10148 * testsuite/libgomp.c++/simd13.C: Remove.
10149 * testsuite/libgomp.c++/target-1.C: Remove.
10150 * testsuite/libgomp.c++/target-3.C: Remove.
10151 * testsuite/libgomp.c++/target-4.C: Remove.
10152 * testsuite/libgomp.c++/target-5.C: Remove.
10153 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
10154 * testsuite/libgomp.c++/taskloop-1.C: Remove.
10155 * testsuite/libgomp.c++/taskloop-2.C: Remove.
10156 * testsuite/libgomp.c++/taskloop-3.C: Remove.
10157 * testsuite/libgomp.c++/taskloop-4.C: Remove.
10158 * testsuite/libgomp.c++/udr-9.C: Remove.
10159 * testsuite/libgomp.c++/for-10.C: Remove.
10160 * testsuite/libgomp.c++/for-11.C: Remove.
10161 * testsuite/libgomp.c++/for-12.C: Remove.
10162 * testsuite/libgomp.c++/for-13.C: Remove.
10163 * testsuite/libgomp.c++/for-14.C: Remove.
10164 * testsuite/libgomp.c++/for-9.C: Remove.
10165 * testsuite/libgomp.c/atomic-18.c: Move ...
10166 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
10167 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
10168 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
10169 * testsuite/libgomp.c/loop-13.c: Move ...
10170 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
10171 * testsuite/libgomp.c/loop-14.c: Move ...
10172 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
10173 * testsuite/libgomp.c/loop-15.c: Remove.
10174 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
10175 * testsuite/libgomp.c/monotonic-1.c: Move ...
10176 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
10177 * testsuite/libgomp.c/monotonic-2.c: Move ...
10178 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
10179 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
10180 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
10181 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
10182 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
10183 * testsuite/libgomp.c/ordered-4.c: Move ...
10184 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
10185 * testsuite/libgomp.c/pr45784.c: Move ...
10186 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
10187 * testsuite/libgomp.c/pr64824.c: Move ...
10188 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
10189 * testsuite/libgomp.c/pr64868.c: Move ...
10190 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
10191 * testsuite/libgomp.c/pr66199-1.c: Move ...
10192 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
10193 * testsuite/libgomp.c/pr66199-2.c: Move ...
10194 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
10195 * testsuite/libgomp.c/pr66199-3.c: Move ...
10196 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
10197 * testsuite/libgomp.c/pr66199-4.c: Move ...
10198 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
10199 * testsuite/libgomp.c/pr66199-5.c: Move ...
10200 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
10201 * testsuite/libgomp.c/pr66199-6.c: Move ...
10202 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
10203 * testsuite/libgomp.c/pr66199-7.c: Move ...
10204 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
10205 * testsuite/libgomp.c/pr66199-8.c: Move ...
10206 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
10207 * testsuite/libgomp.c/pr66199-9.c: Move ...
10208 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
10209 * testsuite/libgomp.c/pr69389.c: Move ...
10210 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
10211 * testsuite/libgomp.c/simd-14.c: Move ...
10212 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
10213 * testsuite/libgomp.c/simd-15.c: Move ...
10214 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
10215 * testsuite/libgomp.c/simd-16.c: Move ...
10216 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
10217 * testsuite/libgomp.c/simd-17.c: Move ...
10218 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
10219 * testsuite/libgomp.c/target-1.c: Move ...
10220 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
10221 * testsuite/libgomp.c/target-10.c: Move ...
10222 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
10223 * testsuite/libgomp.c/target-13.c: Move ...
10224 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
10225 * testsuite/libgomp.c/target-2.c: Move ...
10226 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
10227 * testsuite/libgomp.c/taskgroup-1.c: Move ...
10228 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
10229 * testsuite/libgomp.c/taskloop-1.c: Move ...
10230 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
10231 * testsuite/libgomp.c/taskloop-2.c: Move ...
10232 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
10233 * testsuite/libgomp.c/taskloop-3.c: Move ...
10234 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
10235 * testsuite/libgomp.c/taskloop-4.c: Move ...
10236 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
10237 * testsuite/libgomp.c/udr-1.c: Move ...
10238 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
10239 * testsuite/libgomp.c/for-1.c: Move ...
10240 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
10241 * testsuite/libgomp.c/for-1.h: Move ...
10242 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
10243 * testsuite/libgomp.c/for-2.c: Move ...
10244 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
10245 * testsuite/libgomp.c/for-2.h: Move ...
10246 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
10247 * testsuite/libgomp.c/for-3.c: Move ...
10248 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
10249 * testsuite/libgomp.c/for-4.c: Move ...
10250 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
10251 * testsuite/libgomp.c/for-5.c: Move ...
10252 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
10253 * testsuite/libgomp.c/for-6.c: Move ...
10254 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
10255
10256 2018-05-02 Tom de Vries <tom@codesourcery.com>
10257
10258 PR libgomp/82428
10259 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
10260 __builtin_goacc_parlevel_{id,size}.
10261 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
10262 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
10263 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
10264 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
10265 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
10266 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
10267 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
10268 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
10269 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
10270 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
10271 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
10272 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
10273 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
10274 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
10275 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
10276 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
10277 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
10278 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
10279 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
10280 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
10281 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
10282 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
10283 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
10284
10285 2018-05-02 Tom de Vries <tom@codesourcery.com>
10286
10287 PR testsuite/85106
10288 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
10289
10290 2018-05-02 Tom de Vries <tom@codesourcery.com>
10291
10292 PR testsuite/85106
10293 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
10294
10295 2018-04-29 Julian Brown <julian@codesourcery.com>
10296 Tom de Vries <tom@codesourcery.com>
10297
10298 PR testsuite/85527
10299 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
10300 arbitrary order for iterations of atomic subtract check.
10301
10302 2018-04-28 Tom de Vries <tom@codesourcery.com>
10303
10304 PR testsuite/85527
10305 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
10306 atomic capture results obtained in parallel loop to an array, instead of
10307 to a scalar.
10308
10309 2018-04-26 Tom de Vries <tom@codesourcery.com>
10310
10311 PR libgomp/84020
10312 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
10313 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
10314 (process_GOMP_NVPTX_JIT): New function.
10315 (link_ptx): Use process_GOMP_NVPTX_JIT.
10316
10317 2018-04-26 Richard Biener <rguenther@suse.de>
10318 Tom de Vries <tom@codesourcery.com>
10319
10320 PR lto/85422
10321 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
10322
10323 2018-04-26 Tom de Vries <tom@codesourcery.com>
10324
10325 PR target/85519
10326 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
10327 recursion depth from 25 to 23.
10328 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
10329
10330 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
10331
10332 * configure: Regenerated.
10333
10334 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
10335 Tom de Vries <tom@codesourcery.com>
10336
10337 PR target/85445
10338 * testsuite/libgomp.oacc-c++/ref-1.C: New.
10339
10340 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
10341
10342 PR libgomp/85463
10343 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
10344 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
10345 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
10346 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
10347 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
10348 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
10349
10350 PR libfortran/85166
10351 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
10352 abort".
10353 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
10354
10355 2018-04-19 Jakub Jelinek <jakub@redhat.com>
10356
10357 * configure: Regenerated.
10358
10359 2018-04-18 David Malcolm <dmalcolm@redhat.com>
10360
10361 PR jit/85384
10362 * configure: Regenerate.
10363
10364 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
10365 Tom de Vries <tom@codesourcery.com>
10366
10367 PR middle-end/84955
10368 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
10369 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
10370
10371 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
10372
10373 PR fortran/83064
10374 PR testsuite/85346
10375 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
10376 test from gfortran.dg to here.
10377
10378 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
10379
10380 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
10381 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
10382
10383 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
10384
10385 PR middle-end/84955
10386 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
10387 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
10388
10389 2018-04-05 Tom de Vries <tom@codesourcery.com>
10390
10391 PR target/85204
10392 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
10393
10394 2018-03-26 Tom de Vries <tom@codesourcery.com>
10395
10396 PR tree-optimization/85063
10397 * testsuite/libgomp.c/switch-conversion-2.c: New test.
10398 * testsuite/libgomp.c/switch-conversion.c: New test.
10399 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
10400 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
10401
10402 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
10403
10404 PR fortran/84381
10405 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
10406 call abort by STOP n.
10407 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
10408 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
10409 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
10410 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
10411 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
10412 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
10413 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
10414 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
10415 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
10416 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
10417 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
10418 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
10419 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
10420 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
10421 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
10422 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
10423 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
10424 * testsuite/libgomp.fortran/associate1.f90: Likewise.
10425 * testsuite/libgomp.fortran/associate2.f90: Likewise.
10426 * testsuite/libgomp.fortran/associate3.f90: Likewise.
10427 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
10428 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
10429 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
10430 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
10431 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
10432 * testsuite/libgomp.fortran/character1.f90: Likewise.
10433 * testsuite/libgomp.fortran/character2.f90: Likewise.
10434 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
10435 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
10436 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
10437 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
10438 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
10439 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
10440 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
10441 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
10442 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
10443 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
10444 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
10445 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
10446 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
10447 * testsuite/libgomp.fortran/do1.f90: Likewise.
10448 * testsuite/libgomp.fortran/do2.f90: Likewise.
10449 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
10450 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
10451 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
10452 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
10453 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
10454 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
10455 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10456 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
10457 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
10458 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
10459 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
10460 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
10461 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10462 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
10463 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
10464 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
10465 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
10466 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
10467 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
10468 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
10469 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
10470 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
10471 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
10472 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
10473 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
10474 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
10475 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
10476 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10477 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
10478 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
10479 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
10480 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
10481 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
10482 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10483 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10484 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
10485 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
10486 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
10487 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
10488 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
10489 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
10490 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
10491 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
10492 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
10493 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10494 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
10495 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
10496 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
10497 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
10498 * testsuite/libgomp.fortran/lib1.f90: Likewise.
10499 * testsuite/libgomp.fortran/lib2.f: Likewise.
10500 * testsuite/libgomp.fortran/lib3.f: Likewise.
10501 * testsuite/libgomp.fortran/lib4.f90: Likewise.
10502 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
10503 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
10504 * testsuite/libgomp.fortran/nested1.f90: Likewise.
10505 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
10506 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
10507 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
10508 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
10509 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
10510 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
10511 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
10512 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
10513 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
10514 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
10515 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
10516 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
10517 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
10518 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
10519 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
10520 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
10521 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
10522 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
10523 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
10524 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10525 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
10526 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
10527 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
10528 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
10529 * testsuite/libgomp.fortran/pr25162.f: Likewise.
10530 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
10531 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
10532 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
10533 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
10534 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
10535 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
10536 * testsuite/libgomp.fortran/pr28390.f: Likewise.
10537 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
10538 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
10539 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
10540 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
10541 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
10542 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
10543 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
10544 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
10545 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
10546 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
10547 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
10548 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
10549 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
10550 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
10551 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
10552 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
10553 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
10554 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
10555 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
10556 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
10557 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
10558 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
10559 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
10560 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
10561 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
10562 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10563 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
10564 * testsuite/libgomp.fortran/reference1.f90: Likewise.
10565 * testsuite/libgomp.fortran/reference2.f90: Likewise.
10566 * testsuite/libgomp.fortran/retval1.f90: Likewise.
10567 * testsuite/libgomp.fortran/retval2.f90: Likewise.
10568 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
10569 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
10570 * testsuite/libgomp.fortran/simd1.f90: Likewise.
10571 * testsuite/libgomp.fortran/simd2.f90: Likewise.
10572 * testsuite/libgomp.fortran/simd3.f90: Likewise.
10573 * testsuite/libgomp.fortran/simd4.f90: Likewise.
10574 * testsuite/libgomp.fortran/simd5.f90: Likewise.
10575 * testsuite/libgomp.fortran/simd6.f90: Likewise.
10576 * testsuite/libgomp.fortran/simd7.f90: Likewise.
10577 * testsuite/libgomp.fortran/stack.f90: Likewise.
10578 * testsuite/libgomp.fortran/strassen.f90: Likewise.
10579 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
10580 * testsuite/libgomp.fortran/tabs2.f: Likewise.
10581 * testsuite/libgomp.fortran/target1.f90: Likewise.
10582 * testsuite/libgomp.fortran/target2.f90: Likewise.
10583 * testsuite/libgomp.fortran/target3.f90: Likewise.
10584 * testsuite/libgomp.fortran/target4.f90: Likewise.
10585 * testsuite/libgomp.fortran/target5.f90: Likewise.
10586 * testsuite/libgomp.fortran/target6.f90: Likewise.
10587 * testsuite/libgomp.fortran/target7.f90: Likewise.
10588 * testsuite/libgomp.fortran/target8.f90: Likewise.
10589 * testsuite/libgomp.fortran/task1.f90: Likewise.
10590 * testsuite/libgomp.fortran/task2.f90: Likewise.
10591 * testsuite/libgomp.fortran/task3.f90: Likewise.
10592 * testsuite/libgomp.fortran/task4.f90: Likewise.
10593 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
10594 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
10595 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
10596 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
10597 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
10598 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10599 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10600 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10601 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
10602 * testsuite/libgomp.fortran/udr1.f90: Likewise.
10603 * testsuite/libgomp.fortran/udr10.f90: Likewise.
10604 * testsuite/libgomp.fortran/udr11.f90: Likewise.
10605 * testsuite/libgomp.fortran/udr12.f90: Likewise.
10606 * testsuite/libgomp.fortran/udr13.f90: Likewise.
10607 * testsuite/libgomp.fortran/udr14.f90: Likewise.
10608 * testsuite/libgomp.fortran/udr15.f90: Likewise.
10609 * testsuite/libgomp.fortran/udr2.f90: Likewise.
10610 * testsuite/libgomp.fortran/udr3.f90: Likewise.
10611 * testsuite/libgomp.fortran/udr4.f90: Likewise.
10612 * testsuite/libgomp.fortran/udr5.f90: Likewise.
10613 * testsuite/libgomp.fortran/udr6.f90: Likewise.
10614 * testsuite/libgomp.fortran/udr7.f90: Likewise.
10615 * testsuite/libgomp.fortran/udr8.f90: Likewise.
10616 * testsuite/libgomp.fortran/udr9.f90: Likewise.
10617 * testsuite/libgomp.fortran/vla1.f90: Likewise.
10618 * testsuite/libgomp.fortran/vla2.f90: Likewise.
10619 * testsuite/libgomp.fortran/vla3.f90: Likewise.
10620 * testsuite/libgomp.fortran/vla4.f90: Likewise.
10621 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10622 * testsuite/libgomp.fortran/vla6.f90: Likewise.
10623 * testsuite/libgomp.fortran/vla7.f90: Likewise.
10624 * testsuite/libgomp.fortran/vla8.f90: Likewise.
10625 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
10626 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
10627 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10628 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
10629 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10630 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10631 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10632 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10633 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10634 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10635 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10636 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
10637 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10638 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
10639 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
10640 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
10641 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
10642 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
10643 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
10644 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
10645 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
10646 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
10647 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
10648 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
10649 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
10650 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10651 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10652 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
10653 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
10654 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
10655 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
10656 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10657 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10658 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10659 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10660 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
10661 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
10662 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
10663 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
10664 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
10665 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
10666 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
10667 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
10668 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
10669 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
10670 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
10671 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10672 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10673 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
10674 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
10675 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
10676 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
10677 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
10678 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
10679 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
10680 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
10681 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
10682 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
10683 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
10684 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
10685 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
10686 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
10687 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
10688 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
10689 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
10690 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
10691 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
10692 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
10693 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
10694 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
10695 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
10696 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
10697 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
10698 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
10699 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
10700 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
10701 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
10702 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10703 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10704 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10705 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10706 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10707 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
10708 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
10709 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
10710 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
10711 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
10712 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
10713 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
10714 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
10715 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
10716 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
10717 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
10718 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
10719
10720 2018-03-20 Richard Biener <rguenther@suse.de>
10721
10722 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
10723 parallelizable loop.
10724
10725 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
10726
10727 PR target/84148
10728 * configure: Regenerate.
10729
10730 2018-02-16 Jakub Jelinek <jakub@redhat.com>
10731
10732 PR fortran/84418
10733 * libgomp.fortran/pr84418-1.f90: New test.
10734 * libgomp.fortran/pr84418-2.f90: New test.
10735
10736 2018-02-14 Jakub Jelinek <jakub@redhat.com>
10737
10738 PR fortran/84313
10739 * testsuite/libgomp.fortran/threadprivate4.f90: Add
10740 -std=f2003 -fall-intrinsics into dg-additional-options.
10741
10742 2018-02-08 Martin Jambor <mjambor@suse.cz>
10743
10744 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
10745 clonable.
10746
10747 2018-02-08 Martin Jambor <mjambor@suse.cz>
10748
10749 * testsuite/libgomp.hsa.c/staticvar.c: New test.
10750
10751 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10752
10753 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
10754 [__cplusplus]: Declare extern "C".
10755
10756 2018-02-07 Tom de Vries <tom@codesourcery.com>
10757
10758 PR libgomp/84217
10759 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
10760
10761 2018-01-29 Christoph Spiel <cspiel@freenet.de>
10762 Jakub Jelinek <jakub@redhat.com>
10763
10764 PR libgomp/84096
10765 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
10766 instead of omp_lock_t.
10767
10768 2018-01-25 Tom de Vries <tom@codesourcery.com>
10769
10770 PR target/84028
10771 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
10772
10773 2018-01-24 Tom de Vries <tom@codesourcery.com>
10774
10775 PR target/83589
10776 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
10777
10778 2018-01-24 Tom de Vries <tom@codesourcery.com>
10779
10780 PR target/81352
10781 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
10782
10783 2018-01-19 Tom de Vries <tom@codesourcery.com>
10784 Cesar Philippidis <cesar@codesourcery.com>
10785
10786 PR target/83920
10787 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
10788 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
10789
10790 2018-01-03 Jakub Jelinek <jakub@redhat.com>
10791
10792 Update copyright years.
10793
10794 * libgomp.texi: Bump @copying's copyright year.
10795
10796 2017-12-30 Tom de Vries <tom@codesourcery.com>
10797
10798 PR libgomp/83046
10799 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
10800 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
10801
10802 2017-12-27 Tom de Vries <tom@codesourcery.com>
10803
10804 PR c++/83046
10805 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
10806 (test_nonstatic): Fix return type to workaround PR83046.
10807
10808 2017-12-05 Jakub Jelinek <jakub@redhat.com>
10809
10810 PR testsuite/83281
10811 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
10812 j suffix instead of i.
10813 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
10814 Likewise.
10815
10816 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
10817
10818 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
10819 call to acc_wait (1).
10820
10821 2017-11-24 Jakub Jelinek <jakub@redhat.com>
10822
10823 PR fortran/81304
10824 * testsuite/libgomp.fortran/pr81304.f90: New test.
10825
10826 2017-11-23 Jakub Jelinek <jakub@redhat.com>
10827
10828 PR fortran/81841
10829 * libgomp.fortran/pr81841.f90: New test.
10830
10831 2017-11-22 Jakub Jelinek <jakub@redhat.com>
10832
10833 PR libgomp/83106
10834 * target.c (gomp_target_init): Compute lengths just once and
10835 use them in both malloc size and subsequent copying.
10836
10837 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
10838
10839 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
10840 * acinclude.m4: Add cet.m4.
10841 * configure: Regenerate.
10842 * Makefile.in: Likewise.
10843 * testsuite/Makefile.in: Likewise.
10844
10845 2017-11-15 Tom de Vries <tom@codesourcery.com>
10846
10847 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
10848 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
10849 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
10850 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
10851 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
10852 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
10853
10854 2017-11-14 Tom de Vries <tom@codesourcery.com>
10855
10856 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
10857 non-nvidia devices.
10858
10859 2017-11-07 Jakub Jelinek <jakub@redhat.com>
10860
10861 PR c++/82835
10862 * testsuite/libgomp.c++/pr82835.C: New test.
10863
10864 2017-11-06 Martin Liska <mliska@suse.cz>
10865
10866 * testsuite/libgomp.c++/loop-2.C: Return a value
10867 for functions with non-void return type, or change type to void,
10868 or add -Wno-return-type for test.
10869 * testsuite/libgomp.c++/loop-4.C: Likewise.
10870 * testsuite/libgomp.c++/parallel-1.C: Likewise.
10871 * testsuite/libgomp.c++/shared-1.C: Likewise.
10872 * testsuite/libgomp.c++/single-1.C: Likewise.
10873 * testsuite/libgomp.c++/single-2.C: Likewise.
10874
10875 2017-10-31 Tom de Vries <tom@codesourcery.com>
10876
10877 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
10878 "do {} while (false)".
10879 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
10880 after HSA_DEBUG call.
10881
10882 2017-10-28 Jakub Jelinek <jakub@redhat.com>
10883
10884 * target.c (struct gomp_coalesce_buf): New type.
10885 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
10886 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
10887 (gomp_copy_host2dev): Add CBUF argument, if copying into
10888 the cached ranges, memcpy into buffer instead of copying
10889 into device.
10890 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
10891 Add CBUF argument, pass it through to other calls.
10892 (gomp_map_vars): Aggregate copies from host to device if small enough
10893 and with small enough gaps in between into memcpy into a buffer and
10894 fewer host to device copies from the buffer.
10895 (gomp_update): Adjust gomp_copy_host2dev caller.
10896
10897 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
10898
10899 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
10900 run" directive.
10901 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10902 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10903 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10904 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10905
10906 2017-10-16 Tom de Vries <tom@codesourcery.com>
10907
10908 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
10909 openacc_nvidia_accel_selected.
10910 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
10911 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
10912 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
10913 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
10914 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
10915 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
10916 openacc_nvidia_accel_selected. Skip for shared memory device.
10917 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
10918 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
10919
10920 2017-10-09 Martin Jambor <mjambor@suse.cz>
10921
10922 PR hsa/82416
10923 * testsuite/libgomp.hsa.c/pr82416.c: New test.
10924
10925 2017-10-07 Tom de Vries <tom@codesourcery.com>
10926
10927 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
10928 Remove acc_device_nvidia references.
10929 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
10930 Same.
10931
10932 2017-10-05 Tom de Vries <tom@codesourcery.com>
10933
10934 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
10935 vector_length(32) clause from acc parallel directive.
10936 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
10937
10938 2017-10-04 Tom de Vries <tom@codesourcery.com>
10939
10940 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
10941 (main): Reduce sum of arr elements. Assert that hres is exactly
10942 representable in 32-bit floating point.
10943 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
10944 (main): Reduce sum of arr elements. Assert that hres and hmres are
10945 exactly representable in 32-bit floating point.
10946 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
10947
10948 2017-09-28 Tom de Vries <tom@codesourcery.com>
10949
10950 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
10951 setting.
10952 * testsuite/libgomp.c++/pr69393.C: Same.
10953 * testsuite/libgomp.c++/taskloop-1.C: Same.
10954 * testsuite/libgomp.c++/taskloop-3.C: Same.
10955 * testsuite/libgomp.c++/taskloop-4.C: Same.
10956 * testsuite/libgomp.c/for-4.c: Same.
10957 * testsuite/libgomp.c/pr66199-3.c: Same.
10958 * testsuite/libgomp.c/pr66199-4.c: Same.
10959 * testsuite/libgomp.c/pr66199-6.c: Same.
10960 * testsuite/libgomp.c/taskloop-1.c: Same.
10961 * testsuite/libgomp.c/taskloop-3.c: Same.
10962 * testsuite/libgomp.c/taskloop-4.c: Same.
10963 * testsuite/libgomp.fortran/aligned1.f03: Same.
10964 * testsuite/libgomp.fortran/condinc1.f: Same.
10965 * testsuite/libgomp.fortran/condinc3.f90: Same.
10966 * testsuite/libgomp.fortran/crayptr1.f90: Same.
10967 * testsuite/libgomp.fortran/crayptr2.f90: Same.
10968 * testsuite/libgomp.fortran/crayptr3.f90: Same.
10969 * testsuite/libgomp.fortran/omp_cond1.f: Same.
10970 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
10971 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
10972 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
10973 * testsuite/libgomp.fortran/recursion1.f90: Same.
10974 * testsuite/libgomp.fortran/target2.f90: Same.
10975 * testsuite/libgomp.fortran/target5.f90: Same.
10976 * testsuite/libgomp.fortran/task3.f90: Same.
10977
10978 2017-09-28 Tom de Vries <tom@codesourcery.com>
10979
10980 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
10981 vector_length(32) clause from acc parallel directive.
10982 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
10983
10984 2017-09-27 Tom de Vries <tom@codesourcery.com>
10985
10986 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
10987 Remove acc_device_nvidia references.
10988
10989 2017-09-16 Tom de Vries <tom@codesourcery.com>
10990
10991 PR c/81875
10992 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
10993
10994 2017-09-14 Tom de Vries <tom@codesourcery.com>
10995
10996 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
10997 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
10998 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
10999 * testsuite/libgomp.c/c.exp: Include test-cases from
11000 libgomp.c-c++-common.
11001 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
11002 files.
11003
11004 2017-09-14 Jakub Jelinek <jakub@redhat.com>
11005
11006 PR c++/81314
11007 * testsuite/libgomp.c++/pr81314.C: New test.
11008
11009 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
11010
11011 * libgomp.texi (Top): www.openacc.org now uses https.
11012 (Enabling OpenACC): Ditto.
11013 (acc_get_num_devices): Ditto.
11014 (acc_set_device_type): Ditto.
11015 (acc_get_device_type): Ditto.
11016 (acc_set_device_num): Ditto.
11017 (acc_get_device_num): Ditto.
11018 (acc_async_test): Ditto.
11019 (acc_async_test_all): Ditto.
11020 (acc_wait): Ditto.
11021 (acc_wait_all): Ditto.
11022 (acc_wait_all_async): Ditto.
11023 (acc_wait_async): Ditto.
11024 (acc_init): Ditto.
11025 (acc_shutdown): Ditto.
11026 (acc_on_device): Ditto.
11027 (acc_malloc): Ditto.
11028 (acc_free): Ditto.
11029 (acc_copyin): Ditto.
11030 (acc_present_or_copyin): Ditto.
11031 (acc_create): Ditto.
11032 (acc_present_or_create): Ditto.
11033 (acc_copyout): Ditto.
11034 (acc_delete): Ditto.
11035 (acc_update_device): Ditto.
11036 (acc_update_self): Ditto.
11037 (acc_map_data): Ditto.
11038 (acc_unmap_data): Ditto.
11039 (acc_deviceptr): Ditto.
11040 (acc_hostptr): Ditto.
11041 (acc_is_present): Ditto.
11042 (acc_memcpy_to_device): Ditto.
11043 (acc_memcpy_from_device): Ditto.
11044 (acc_get_current_cuda_device): Ditto.
11045 (acc_get_current_cuda_context): Ditto.
11046 (acc_get_cuda_stream): Ditto.
11047 (acc_set_cuda_stream): Ditto.
11048 (ACC_DEVICE_TYPE): Ditto.
11049 (ACC_DEVICE_NUM): Ditto.
11050 (OpenACC Library Interoperability): Ditto.
11051
11052 2017-08-09 Jakub Jelinek <jakub@redhat.com>
11053
11054 PR c/81687
11055 * testsuite/libgomp.c/pr81687-1.c: New test.
11056 * testsuite/libgomp.c/pr81687-2.c: New test.
11057
11058 2017-08-07 Jakub Jelinek <jakub@redhat.com>
11059
11060 PR c/69389
11061 * testsuite/libgomp.c/pr69389.c: New test.
11062 * testsuite/libgomp.c++/pr69389.C: New test.
11063
11064 2017-08-07 Tom de Vries <tom@codesourcery.com>
11065
11066 PR middle-end/78266
11067 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
11068 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
11069
11070 2017-07-27 Jakub Jelinek <jakub@redhat.com>
11071
11072 PR c/45784
11073 * testsuite/libgomp.c/pr45784.c: New test.
11074 * testsuite/libgomp.c++/pr45784.C: New test.
11075
11076 2017-07-19 Tom de Vries <tom@codesourcery.com>
11077
11078 * testsuite/libgomp.oacc-c/vec.c: New test.
11079
11080 2017-07-03 Tom de Vries <tom@codesourcery.com>
11081
11082 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
11083
11084 2017-06-27 Tom de Vries <tom@codesourcery.com>
11085
11086 * plugin/plugin-nvptx.c (notify_var): New function.
11087 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
11088
11089 2017-06-27 Tom de Vries <tom@codesourcery.com>
11090
11091 * env.c (parse_unsigned_long_1): Factor out of ...
11092 (parse_unsigned_long): ... here.
11093 (parse_int_1): Factor out of ...
11094 (parse_int): ... here.
11095 (parse_int_secure): New function.
11096 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
11097 * secure_getenv.h: Factor out of ...
11098 * plugin/plugin-hsa.c: ... here.
11099 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
11100
11101 2017-06-21 Jakub Jelinek <jakub@redhat.com>
11102
11103 PR c++/81130
11104 * testsuite/libgomp.c++/pr81130.C: New test.
11105
11106 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11107
11108 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
11109 default args.
11110 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
11111 dg-xfail-run-if default args.
11112
11113 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
11114
11115 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
11116 * testsuite/libgomp.c/pr39591-3.c: Likewise.
11117
11118 2017-05-30 Jakub Jelinek <jakub@redhat.com>
11119
11120 PR libgomp/80822
11121 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
11122 (gomp_affinity_init_level): Use it. Always analyze the core and thread
11123 sibling lists, depending on level just pick up what CPUs to put
11124 together into a place vs. whether add multiple ordered places.
11125
11126 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
11127
11128 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
11129 * libgomp.map (OACC_2.0.1): Add these.
11130 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
11131 for "acc_wait", and "acc_wait_all", respectively.
11132 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
11133 for "acc_wait", and "acc_wait_all", respectively.
11134 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
11135 * libgomp.texi (acc_wait, acc_wait_all): Update.
11136 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
11137 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
11138 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11139
11140 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
11141 acc_present_or_copyin and acc_present_or_create procedures,
11142 respectively.
11143 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
11144 generally different variants of OpenACC Runtime Library functions.
11145 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11146
11147 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
11148 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11149
11150 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
11151 of preprocessor definitions.
11152 * libgomp.h (strong_alias): Guard by "#ifdef
11153 HAVE_ATTRIBUTE_ALIAS".
11154 * oacc-mem.c: Provide "acc_pcreate" as alias for
11155 "acc_present_or_create", and "acc_pcopyin" as alias for
11156 "acc_present_or_copyin".
11157 * libgomp.map: New version "OACC_2.0.1".
11158 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
11159 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
11160 its content into...
11161 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
11162 Extend testing.
11163
11164 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
11165 when disabling nvptx offloading.
11166
11167 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
11168
11169 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
11170 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
11171 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11172
11173 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
11174 * testsuite/lib/libgomp.exp
11175 (check_effective_target_openacc_nvidia_accel_configured): New
11176 proc.
11177 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
11178 (check_effective_target_c++): New procs.
11179 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
11180 (check_effective_target_c++): Likewise.
11181
11182 2017-05-22 Jakub Jelinek <jakub@redhat.com>
11183
11184 PR middle-end/80809
11185 * testsuite/libgomp.c/pr80809-2.c: New test.
11186 * testsuite/libgomp.c/pr80809-3.c: New test.
11187
11188 PR middle-end/80809
11189 * testsuite/libgomp.c/pr80809-1.c: New test.
11190
11191 PR middle-end/80853
11192 * testsuite/libgomp.c/pr80853.c: New test.
11193
11194 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
11195
11196 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
11197 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
11198 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11199 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11200 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11201
11202 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
11203 Debug output for failure.
11204
11205 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11206
11207 * testsuite/lib/libgomp.exp: Load scanlang.exp.
11208
11209 2017-04-27 Jakub Jelinek <jakub@redhat.com>
11210
11211 PR bootstrap/80531
11212 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
11213 bootstrap compare failures.
11214
11215 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
11216
11217 * testsuite/libgomp.c/target-36.c: New testcase.
11218
11219 2017-04-13 Jakub Jelinek <jakub@redhat.com>
11220
11221 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
11222 instead of char.
11223
11224 2017-04-11 Jakub Jelinek <jakub@redhat.com>
11225
11226 PR libgomp/80394
11227 * testsuite/libgomp.c/pr80394.c: New test.
11228
11229 2017-04-04 Jakub Jelinek <jakub@redhat.com>
11230
11231 PR libgomp/79876
11232 * config/posix/thread-stacksize.h: New file.
11233 * config/darwin/thread-stacksize.h: New file.
11234 * config/nvptx/thread-stacksize.h: New file.
11235 * env.c: Include thread-stacksize.h.
11236 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
11237 instead of 0. Call pthread_attr_setstacksize even if
11238 GOMP_DEFAULT_STACKSIZE is non-zero.
11239
11240 2017-03-30 Jakub Jelinek <jakub@redhat.com>
11241
11242 * env.c (initialize_env): Initialize stacksize to 0.
11243
11244 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
11245
11246 PR c++/80029
11247 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
11248
11249 2017-03-08 Jakub Jelinek <jakub@redhat.com>
11250
11251 PR c/79940
11252 * testsuite/libgomp.c/pr79940.c: New test.
11253
11254 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11255
11256 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
11257 targets.
11258 Add __float128 options.
11259
11260 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
11261
11262 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
11263 hppa*-*-* dg-skip-if directive.
11264
11265 2017-02-09 Jakub Jelinek <jakub@redhat.com>
11266
11267 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
11268 dg-skip-if directive into a comment.
11269
11270 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
11271 Chung-Lin Tang <cltang@codesourcery.com>
11272
11273 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
11274 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
11275 add additional case.
11276 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
11277 "openacc_nvidia_accel_selected".
11278 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
11279 Add num_workers(8) clause.
11280
11281 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
11282
11283 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
11284 hppa*-*-*.
11285 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
11286 include complex.h on hppa*-*-hpux*.
11287 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
11288
11289 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
11290
11291 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
11292
11293 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
11294 GOMP_OFFLOAD_openacc_exec. Adjust all users.
11295 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
11296 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
11297 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
11298 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
11299 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
11300 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
11301 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
11302 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
11303
11304 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
11305
11306 * libgomp-plugin.h: #include <stdbool.h>.
11307 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
11308 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
11309 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
11310 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
11311 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
11312 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
11313 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
11314 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
11315 (GOMP_OFFLOAD_openacc_register_async_cleanup)
11316 (GOMP_OFFLOAD_openacc_async_test)
11317 (GOMP_OFFLOAD_openacc_async_test_all)
11318 (GOMP_OFFLOAD_openacc_async_wait)
11319 (GOMP_OFFLOAD_openacc_async_wait_async)
11320 (GOMP_OFFLOAD_openacc_async_wait_all)
11321 (GOMP_OFFLOAD_openacc_async_wait_all_async)
11322 (GOMP_OFFLOAD_openacc_async_set_async)
11323 (GOMP_OFFLOAD_openacc_create_thread_data)
11324 (GOMP_OFFLOAD_openacc_destroy_thread_data)
11325 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
11326 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
11327 (GOMP_OFFLOAD_openacc_get_cuda_stream)
11328 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
11329 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
11330 these.
11331 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
11332 (GOMP_OFFLOAD_unload_image): Fix argument types.
11333
11334 2017-01-26 Jakub Jelinek <jakub@redhat.com>
11335
11336 * testsuite/lib/libgomp.exp
11337 (check_effective_target_hsa_offloading_selected_nocache): Fix up
11338 check_compile invocation. Fix up removal of executable. Drop
11339 bogus "2>&1" argument.
11340
11341 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
11342 directive.
11343
11344 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
11345 Martin Jambor <mjambor@suse.cz>
11346
11347 * plugin/hsa.h: Moved to top level include.
11348 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
11349
11350 2017-01-21 Jakub Jelinek <jakub@redhat.com>
11351
11352 PR other/79046
11353 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
11354 of cat to get version from BASE-VER file.
11355 * testsuite/Makefile.in: Regenerated.
11356
11357 2017-01-19 Jakub Jelinek <jakub@redhat.com>
11358
11359 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
11360 for _WIN64.
11361
11362 2017-01-17 Jakub Jelinek <jakub@redhat.com>
11363
11364 * plugin/hsa.h: Add GCC runtime library exception.
11365 * plugin/hsa_ext_finalize.h: Likewise.
11366
11367 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
11368 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
11369 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
11370 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
11371 plugin/include/cuda as include dir and -ldl instead of -lcuda as
11372 library to link ptx plugin against.
11373 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
11374 (CUDA_CALLS): Define.
11375 (cuda_lib, cuda_lib_inited): New variables.
11376 (init_cuda_lib): New function.
11377 (CUDA_CALL_PREFIX): Define.
11378 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
11379 (CUDA_CALL): Use FN instead of (FN).
11380 (CUDA_CALL_NOCHECK): Define.
11381 (cuda_error, fini_streams_for_device, select_stream_for_async,
11382 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
11383 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
11384 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
11385 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
11386 CUDA_CALL_NOCHECK.
11387 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
11388 CUDA_CALL_NOCHECK.
11389 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
11390 Use CUDA_CALL_NOCHECK.
11391 * plugin/cuda/cuda.h: New file.
11392 * config.h.in: Regenerated.
11393 * configure: Regenerated.
11394
11395 PR other/79046
11396 * configure.ac: Add GCC_BASE_VER.
11397 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
11398 get version from BASE-VER file.
11399 * testsuite/Makefile.in: Regenerated.
11400 * configure: Regenerated.
11401 * Makefile.in: Regenerated.
11402
11403 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11404
11405 PR libgomp/60670
11406 * Makefile.am: Make fincludedir multilib-aware.
11407 * Makefile.in: Regenerate.
11408
11409 2017-01-01 Jakub Jelinek <jakub@redhat.com>
11410
11411 Update copyright years.
11412
11413 * libgomp.texi: Bump @copying's copyright year.
11414
11415 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
11416
11417 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
11418 pthread_spinlock_t instead of gomp_mutex_t lock.
11419 (gomp_get_thread_pool): Likewise.
11420 (gomp_release_thread_pool): Likewise.
11421 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
11422 Likewise.
11423
11424 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
11425
11426 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
11427 thread pool in case nthreads == 1.
11428
11429 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
11430
11431 * config/nvptx/env.c: Delete.
11432 * icv.c: Move definitions of ICV variables back ...
11433 * env.c: ...here. Do not compile environment-related functionality if
11434 LIBGOMP_OFFLOADED_ONLY is set.
11435
11436 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
11437
11438 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
11439 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
11440 * configure: Regenerate.
11441 * config.h.in: Likewise.
11442
11443 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
11444
11445 * Makefile.in: Regenerate with automake-1.11.6.
11446 * aclocal.m4: Likewise.
11447 * configure: Likewise.
11448 * testsuite/Makefile.in: Likewise.
11449
11450 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
11451
11452 * config/nvptx/critical.c: Delete to use generic implementation.
11453
11454 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
11455
11456 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
11457 ../../affinity.c as fallback.
11458 * config/nvptx/affinity.c: Delete to use fallback implementation.
11459
11460 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
11461 Jakub Jelinek <jakub@redhat.com>
11462 Dmitry Melnik <dm@ispras.ru>
11463
11464 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
11465 * Makefile.in. Regenerate.
11466 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
11467 (LIBGOMP_USE_PTHREADS): ...here; new define.
11468 * configure: Regenerate.
11469 * config.h.in: Likewise.
11470 * config/posix/affinity.c: Move to...
11471 * affinity.c: ...here (new file). Guard use of Pthreads-specific
11472 interface by LIBGOMP_USE_PTHREADS.
11473 * critical.c: Split out GOMP_atomic_{start,end} into...
11474 * atomic.c: ...here (new file).
11475 * env.c: Split out ICV definitions into...
11476 * icv.c: ...here (new file) and...
11477 * icv-device.c: ...here. New file.
11478 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
11479 (gomp_destroy_lock_30): Ditto.
11480 (gomp_set_lock_30): Ditto.
11481 (gomp_unset_lock_30): Ditto.
11482 (gomp_test_lock_30): Ditto.
11483 (gomp_init_nest_lock_30): Ditto.
11484 (gomp_destroy_nest_lock_30): Ditto.
11485 (gomp_set_nest_lock_30): Ditto.
11486 (gomp_unset_nest_lock_30): Ditto.
11487 (gomp_test_nest_lock_30): Ditto.
11488 * lock.c: New.
11489 * config/nvptx/lock.c: New.
11490 * config/nvptx/bar.c: New.
11491 * config/nvptx/bar.h: New.
11492 * config/nvptx/doacross.h: New.
11493 * config/nvptx/error.c: New.
11494 * config/nvptx/icv-device.c: New.
11495 * config/nvptx/mutex.h: New.
11496 * config/nvptx/pool.h: New.
11497 * config/nvptx/proc.c: New.
11498 * config/nvptx/ptrlock.h: New.
11499 * config/nvptx/sem.h: New.
11500 * config/nvptx/simple-bar.h: New.
11501 * config/nvptx/target.c: New.
11502 * config/nvptx/task.c: New.
11503 * config/nvptx/team.c: New.
11504 * config/nvptx/time.c: New.
11505 * config/posix/simple-bar.h: New.
11506 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
11507 (gomp_num_teams_var): Declare.
11508 (struct gomp_thread_pool): Change threads_dock member to
11509 gomp_simple_barrier_t.
11510 [__nvptx__] (gomp_thread): New implementation.
11511 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
11512 (gomp_thread_destructor): Ditto.
11513 (gomp_init_thread_affinity): Ditto.
11514 * team.c: Guard uses of Pthreads-specific interfaces by
11515 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
11516 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
11517 * config/nvptx/alloc.c: Delete.
11518 * config/nvptx/barrier.c: Ditto.
11519 * config/nvptx/fortran.c: Ditto.
11520 * config/nvptx/iter.c: Ditto.
11521 * config/nvptx/iter_ull.c: Ditto.
11522 * config/nvptx/loop.c: Ditto.
11523 * config/nvptx/loop_ull.c: Ditto.
11524 * config/nvptx/ordered.c: Ditto.
11525 * config/nvptx/parallel.c: Ditto.
11526 * config/nvptx/priority_queue.c: Ditto.
11527 * config/nvptx/sections.c: Ditto.
11528 * config/nvptx/single.c: Ditto.
11529 * config/nvptx/splay-tree.c: Ditto.
11530 * config/nvptx/work.c: Ditto.
11531 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
11532 -foffload=-lgfortran in addition to -lgfortran.
11533 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
11534 * plugin/plugin-nvptx.c: Include <limits.h>.
11535 (struct targ_fn_descriptor): Add new fields.
11536 (struct ptx_device): Ditto. Set them...
11537 (nvptx_open_device): ...here.
11538 (nvptx_adjust_launch_bounds): New.
11539 (nvptx_host2dev): Allow NULL 'nvthd'.
11540 (nvptx_dev2host): Ditto.
11541 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
11542 (link_ptx): Adjust log sizes.
11543 (nvptx_host2dev): Allow NULL 'nvthd'.
11544 (nvptx_dev2host): Ditto.
11545 (nvptx_set_clocktick): New. Use it...
11546 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
11547 fields.
11548 (GOMP_OFFLOAD_dev2dev): New.
11549 (nvptx_adjust_launch_bounds): New.
11550 (nvptx_stacks_size): New.
11551 (nvptx_stacks_alloc): New.
11552 (nvptx_stacks_free): New.
11553 (GOMP_OFFLOAD_run): New.
11554 (GOMP_OFFLOAD_async_run): New (stub).
11555
11556 2016-11-23 Martin Jambor <mjambor@suse.cz>
11557
11558 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
11559 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
11560 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
11561
11562 2016-11-23 Martin Liska <mliska@suse.cz>
11563 Martin Jambor <mjambor@suse.cz>
11564
11565 * plugin/hsa.h: New file.
11566 * plugin/hsa_ext_finalize.h: New file.
11567 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
11568 header file unistd.h, and functions secure_getenv, __secure_getenv,
11569 getuid, geteuid, getgid and getegid.
11570 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
11571 -D_GNU_SOURCE.
11572 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
11573 Handle various cases of secure_getenv presence, add an implementation
11574 when we can test effective UID and GID.
11575 (struct hsa_runtime_fn_info): New structure.
11576 (hsa_runtime_fn_info hsa_fns): New variable.
11577 (hsa_runtime_lib): Likewise.
11578 (support_cpu_devices): Likewise.
11579 (init_enviroment_variables): Load newly introduced ENV
11580 variables.
11581 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
11582 (hsa_fatal): Likewise.
11583 (DLSYM_FN): New macro.
11584 (init_hsa_runtime_functions): New function.
11585 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
11586 structure. Depending on environment, also allow CPU devices.
11587 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
11588 (get_kernarg_memory_region): Likewise.
11589 (GOMP_OFFLOAD_init_device): Likewise.
11590 (destroy_hsa_program): Likewise.
11591 (init_basic_kernel_info): New function.
11592 (GOMP_OFFLOAD_load_image): Use it.
11593 (create_and_finalize_hsa_program): Call hsa run-time functions via
11594 hsa_fns structure.
11595 (create_single_kernel_dispatch): Likewise.
11596 (release_kernel_dispatch): Likewise.
11597 (init_single_kernel): Likewise.
11598 (parse_target_attributes): Allow up multiple HSA grid dimensions.
11599 (get_group_size): New function.
11600 (run_kernel): Likewise.
11601 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
11602 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
11603 structure.
11604 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
11605 * testsuite/libgomp-test-support.exp.in: Likewise.
11606 * Makefile.in: Regenerated.
11607 * aclocal.m4: Likewise.
11608 * config.h.in: Likewise.
11609 * configure: Likewise.
11610 * testsuite/Makefile.in: Likewise.
11611
11612 2016-11-15 Martin Jambor <mjambor@suse.cz>
11613 Alexander Monakov <amonakov@ispras.ru>
11614
11615 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
11616 mapping clauses to target constructs.
11617 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
11618
11619 2016-11-15 Matthias Klose <doko@ubuntu.com>
11620
11621 * configure: Regenerate.
11622
11623 2016-11-10 Jakub Jelinek <jakub@redhat.com>
11624
11625 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
11626 * omp_lib.h.in (openmp_version): Likewise.
11627 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
11628 of 201307.
11629 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11630
11631 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
11632 (fib_wrapper): Add map(from: x) clause.
11633 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
11634 (e_53_2): Likewise.
11635 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
11636 (accum): Add map(tmp) clause.
11637 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
11638 (accum): Add map(tofrom: tmp) clause.
11639 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
11640 (gramSchmidt): Likewise.
11641 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
11642 map(tofrom: sum) clause.
11643 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
11644 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
11645 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
11646 only allowed on the loop iterator.
11647 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
11648 * testsuite/libgomp.fortran/taskloop2.f90: New test.
11649 * testsuite/libgomp.fortran/taskloop4.f90: New test.
11650 * testsuite/libgomp.fortran/doacross1.f90: New test.
11651 * testsuite/libgomp.fortran/doacross3.f90: New test.
11652 * testsuite/libgomp.fortran/taskloop1.f90: New test.
11653 * testsuite/libgomp.fortran/taskloop3.f90: New test.
11654 * testsuite/libgomp.fortran/doacross2.f90: New test.
11655 * testsuite/libgomp.c/doacross-1.c (main): Add missing
11656 #pragma omp atomic read.
11657 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
11658 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
11659
11660 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
11661 Nathan Sidwell <nathan@acm.org>
11662
11663 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
11664 to determine default geometry.
11665 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
11666 dimension.
11667
11668 2016-11-01 Jakub Jelinek <jakub@redhat.com>
11669
11670 * hashtab.h: Use standard GPLv3 with runtime exception
11671 boilerplate.
11672
11673 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
11674
11675 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
11676 size when allocating new thread.
11677
11678 2016-09-14 Marek Polacek <polacek@redhat.com>
11679
11680 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
11681
11682 2016-08-19 Jakub Jelinek <jakub@redhat.com>
11683
11684 PR fortran/71014
11685 * testsuite/libgomp.fortran/pr71014.f90: New test.
11686
11687 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
11688
11689 PR middle-end/70895
11690 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
11691 firstprivate clauses.
11692 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
11693 copy clauses.
11694 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
11695 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
11696 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
11697 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11698 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
11699 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11700 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
11701 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
11702 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
11703 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
11704 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
11705 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
11706
11707 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
11708
11709 PR fortran/70598
11710 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
11711
11712 2016-08-08 Jakub Jelinek <jakub@redhat.com>
11713
11714 PR c++/58706
11715 * testsuite/libgomp.c++/pr58706.C: New test.
11716
11717 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
11718
11719 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
11720 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
11721 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
11722 Likewise.
11723 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
11724 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
11725 Likewise.
11726 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
11727
11728 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
11729 test, and don't hardcode -O0.
11730
11731 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
11732
11733 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
11734
11735 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
11736
11737 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
11738 test.
11739
11740 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
11741
11742 PR middle-end/71734
11743 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
11744 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
11745
11746 2016-07-01 Jakub Jelinek <jakub@redhat.com>
11747
11748 PR fortran/71717
11749 * testsuite/libgomp.fortran/associate3.f90: New test.
11750
11751 2016-06-17 Jakub Jelinek <jakub@redhat.com>
11752
11753 * testsuite/libgomp.c++/target-21.C: New test.
11754
11755 2016-06-16 Jakub Jelinek <jakub@redhat.com>
11756
11757 * testsuite/libgomp.c++/target-20.C: New test.
11758
11759 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
11760 Cesar Philippidis <cesar@codesourcery.com>
11761
11762 PR middle-end/71373
11763 * libgomp.oacc-c/nested-function-1.c: New file.
11764 * libgomp.oacc-c/nested-function-2.c: Likewise.
11765 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11766 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11767 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11768
11769 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
11770
11771 PR c/71381
11772 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
11773 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
11774 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
11775
11776 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
11777
11778 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
11779 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
11780
11781 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
11782
11783 PR c/70688
11784 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
11785
11786 2016-05-26 Jakub Jelinek <jakub@redhat.com>
11787
11788 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
11789 instead of invalid schedule(static, 0).
11790 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
11791
11792 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
11793
11794 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
11795 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
11796 parameter, use to set async stream around call to gomp_unmap_vars,
11797 call gomp_unmap_vars() with 'do_copyfrom' set to true.
11798 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
11799 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
11800 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
11801 (event_add): Add int parameter, initialize 'val' field when
11802 adding new ptx_event struct.
11803 (nvptx_evec): Adjust event_add() call arguments.
11804 (nvptx_host2dev): Likewise.
11805 (nvptx_dev2host): Likewise.
11806 (nvptx_wait_async): Likewise.
11807 (nvptx_wait_all_async): Likewise.
11808 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
11809 pass to event_add() call.
11810 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
11811 parameter.
11812 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
11813 call openacc.register_async_cleanup_func() hook.
11814 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
11815 * target.c (gomp_copy_from_async): Delete function.
11816 (gomp_map_vars): Remove async_refcount.
11817 (gomp_unmap_vars): Likewise.
11818 (gomp_load_image_to_device): Likewise.
11819 (omp_target_associate_ptr): Likewise.
11820 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
11821 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
11822 (gomp_copy_from_async): Remove.
11823
11824 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
11825
11826 * target.c (gomp_device_copy): New function.
11827 (gomp_copy_host2dev): Likewise.
11828 (gomp_copy_dev2host): Likewise.
11829 (gomp_free_device_memory): Likewise.
11830 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
11831 (gomp_map_pointer): Likewise.
11832 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
11833 NULL value from alloc_func plugin hook.
11834 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
11835 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
11836 (gomp_unmap_vars): Likewise.
11837 (gomp_update): Adjust to call gomp_copy_dev2host and
11838 gomp_copy_host2dev functions.
11839 (gomp_unload_image_from_device): Handle false value from
11840 unload_image_func plugin hook.
11841 (gomp_init_device): Handle false value from init_device_func
11842 plugin hook.
11843 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
11844 (omp_target_free): Adjust to call gomp_free_device_memory.
11845 (omp_target_memcpy): Handle return values from host2dev_func,
11846 dev2host_func, and dev2dev_func plugin hooks.
11847 (omp_target_memcpy_rect_worker): Likewise.
11848 (gomp_target_fini): Handle false value from fini_device_func
11849 plugin hook.
11850 * libgomp.h (struct gomp_device_descr): Adjust return type of
11851 init_device_func, fini_device_func, unload_image_func, free_func,
11852 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
11853 * oacc-init.c (acc_shutdown_1): Handle false value from
11854 fini_device_func plugin hook.
11855 * oacc-host.c (host_init_device): Change return type to bool.
11856 (host_fini_device): Likewise.
11857 (host_unload_image): Likewise.
11858 (host_free): Likewise.
11859 (host_dev2host): Likewise.
11860 (host_host2dev): Likewise.
11861 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
11862 (acc_memcpy_to_device): Likewise.
11863 (acc_memcpy_from_device): Likewise.
11864 (delete_copyout): Add libfnname parameter, handle free_func
11865 hook fatal error case.
11866 (acc_delete): Adjust delete_copyout call.
11867 (acc_copyout): Likewise.
11868 (update_dev_host): Move gomp_mutex_unlock to after
11869 host2dev/dev2host hook calls.
11870
11871 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
11872 to 'hsa_error_msg', for clarity.
11873 (hsa_fatal): Likewise.
11874 (hsa_error): New function.
11875 (init_hsa_context): Change return type to bool, adjust to return
11876 false on error.
11877 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
11878 return value.
11879 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
11880 return false on error.
11881 (get_agent_info): Adjust to return NULL on error.
11882 (destroy_hsa_program): Change return type to bool, adjust to
11883 return false on error.
11884 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
11885 (destroy_module): Change return type to bool, adjust to
11886 return false on error.
11887 (GOMP_OFFLOAD_unload_image): Likewise.
11888 (GOMP_OFFLOAD_fini_device): Likewise.
11889 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
11890 (GOMP_OFFLOAD_free): Change to return false when called.
11891 (GOMP_OFFLOAD_dev2host): Likewise.
11892 (GOMP_OFFLOAD_host2dev): Likewise.
11893 (GOMP_OFFLOAD_dev2dev): Likewise.
11894
11895 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
11896 (CUDA_CALL): Likewise.
11897 (CUDA_CALL_ASSERT): Likewise.
11898 (map_init): Change return type to bool, use CUDA_CALL* macros.
11899 (map_fini): Likewise.
11900 (init_streams_for_device): Change return type to bool, adjust
11901 call to map_init.
11902 (fini_streams_for_device): Change return type to bool, adjust
11903 call to map_fini.
11904 (select_stream_for_async): Release stream_lock before calls to
11905 GOMP_PLUGIN_fatal, adjust call to map_init.
11906 (nvptx_init): Use CUDA_CALL* macros.
11907 (nvptx_attach_host_thread_to_device): Change return type to bool,
11908 use CUDA_CALL* macros.
11909 (nvptx_open_device): Use CUDA_CALL* macros.
11910 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
11911 macros.
11912 (nvptx_get_num_devices): Use CUDA_CALL* macros.
11913 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
11914 (nvptx_exec): Use CUDA_CALL* macros.
11915 (nvptx_alloc): Use CUDA_CALL* macros.
11916 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
11917 (nvptx_host2dev): Likewise.
11918 (nvptx_dev2host): Likewise.
11919 (nvptx_wait): Use CUDA_CALL* macros.
11920 (nvptx_wait_async): Likewise.
11921 (nvptx_wait_all): Likewise.
11922 (nvptx_wait_all_async): Likewise.
11923 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
11924 use CUDA_CALL* macros, adjust call to map_fini.
11925 (GOMP_OFFLOAD_init_device): Change return type to bool,
11926 adjust code accordingly.
11927 (GOMP_OFFLOAD_fini_device): Likewise.
11928 (GOMP_OFFLOAD_load_image): Adjust calls to
11929 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
11930 use CUDA_CALL* macros.
11931 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
11932 return code.
11933 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
11934 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
11935 handle error return.
11936 (GOMP_OFFLOAD_dev2host): Likewise.
11937 (GOMP_OFFLOAD_host2dev): Likewise.
11938 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
11939 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
11940
11941 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
11942
11943 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
11944 (acc_free): Likewise.
11945 (acc_memcpy_to_device): Likewise.
11946 (acc_memcpy_from_device): Likewise.
11947 (acc_deviceptr): Likewise.
11948 (acc_hostptr): Likewise.
11949 (acc_is_present): Likewise.
11950 (acc_map_data): Likewise.
11951 (acc_unmap_data): Likewise.
11952 (present_create_copy): Likewise.
11953 (delete_copyout): Likewise.
11954 (update_dev_host): Likewise.
11955 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
11956 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
11957 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
11958 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
11959 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
11960 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
11961 it only runs on nvptx targets.
11962 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
11963 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
11964 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11965 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11966 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11967 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11968 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11969 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11970 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11971 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
11972 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11973 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11974 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11975 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11976 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11977 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11978 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11979 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11980 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11981 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11982 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11983 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11984 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11985
11986 2016-05-23 Martin Jambor <mjambor@suse.cz>
11987
11988 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
11989
11990 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
11991
11992 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
11993 to gomp_init_targets_once.
11994 (acc_set_device_type): Remove !cached_base_dev condition on call to
11995 gomp_init_targets_once, move call to before acc_device_lock acquire,
11996 to avoid deadlock.
11997 (acc_get_device_num): Remove !cached_base_dev condition on call to
11998 gomp_init_targets_once.
11999 (acc_set_device_num): Likewise.
12000
12001 2016-05-16 Martin Jambor <mjambor@suse.cz>
12002
12003 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
12004
12005 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
12006
12007 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
12008 expected partitioning.
12009
12010 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
12011
12012 PR middle-end/70626
12013 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
12014 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
12015 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
12016
12017 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
12018
12019 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
12020 non-fatal.
12021
12022 2016-04-19 Jakub Jelinek <jakub@redhat.com>
12023
12024 PR middle-end/70680
12025 * testsuite/libgomp.c/pr70680-1.c: New test.
12026 * testsuite/libgomp.c/pr70680-2.c: New test.
12027
12028 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
12029
12030 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
12031 pass parameter variables to subroutines.
12032
12033 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
12034
12035 PR middle-end/70643
12036 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
12037
12038 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
12039
12040 PR testsuite/68242
12041 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
12042 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12043
12044 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
12045
12046 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
12047 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
12048 GOACC_declare prototype.
12049
12050 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
12051 Merge this file, and...
12052 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
12053 ... this file, and...
12054 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
12055 ... this file, and...
12056 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
12057 ... this file, and...
12058 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
12059 ... this file, and...
12060 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
12061 ... this file, and...
12062 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
12063 ... this file, and...
12064 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
12065 ... this file, and...
12066 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
12067 ... this file, and...
12068 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
12069 ... this file, and...
12070 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
12071 ... this file, and...
12072 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
12073 ... this file, and...
12074 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
12075 ... this file into...
12076 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
12077 file.
12078
12079 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
12080 Make failure observable.
12081
12082 2016-04-12 Jakub Jelinek <jakub@redhat.com>
12083
12084 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
12085 field.
12086 * target.c (gomp_target_fallback_firstprivate,
12087 gomp_target_unshare_firstprivate): Removed.
12088 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
12089 before waiting for dependencies.
12090 (gomp_target_task_fn): Don't copy firstprivate vars here.
12091 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
12092 firstprivate_copies here.
12093 (gomp_create_target_task): Don't initialize firstprivate_copies field.
12094 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
12095 explicit/implicit firstprivate.
12096
12097 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
12098
12099 PR lto/70289
12100 PR ipa/70348
12101 PR tree-optimization/70373
12102 PR middle-end/70533
12103 PR middle-end/70534
12104 PR middle-end/70535
12105 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
12106 test.
12107 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
12108 test.
12109 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
12110 test.
12111 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
12112 test.
12113 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
12114 test.
12115 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
12116 test.
12117 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
12118 test.
12119 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
12120 test.
12121 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
12122 test.
12123 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
12124 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
12125 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
12126 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
12127 test.
12128 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
12129 test.
12130 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
12131 test.
12132 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
12133 test.
12134 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
12135 coverage.
12136 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
12137 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12138 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
12139 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
12140 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
12141 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
12142 coverage.
12143 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12144 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12145 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12146 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12147 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
12148 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
12149 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
12150 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
12151 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
12152 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12153 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12154 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12155 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12156 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12157 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
12158
12159 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
12160 James Norris <jnorris@codesourcery.com>
12161 Nathan Sidwell <nathan@codesourcery.com>
12162 Julian Brown <julian@codesourcery.com>
12163 Cesar Philippidis <cesar@codesourcery.com>
12164 Chung-Lin Tang <cltang@codesourcery.com>
12165 Tom de Vries <tom@codesourcery.com>
12166
12167 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
12168 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12169 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12170 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
12171 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12172 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12173 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12174 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12175 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12176 XFAIL.
12177 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
12178 Incorporate...
12179 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
12180 file.
12181 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
12182 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
12183 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
12184 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
12185 Likewise.
12186 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
12187 Likewise.
12188 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12189 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
12190 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
12191 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
12192 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
12193 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12194 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12195 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12196 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12197 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
12198 Likewise.
12199 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
12200 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12201 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
12202 file...
12203 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
12204 file into...
12205 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
12206 file. Update.
12207 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
12208 file.
12209 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
12210 Likewise.
12211 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
12212 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
12213 ... this new file. Update.
12214 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
12215 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
12216 ... this new file. Update.
12217 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
12218 file. Incorporate...
12219 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
12220 file, and...
12221 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
12222 file, and...
12223 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
12224 file.
12225 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
12226
12227 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
12228
12229 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
12230 set-torture-options.
12231
12232 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
12233
12234 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
12235 gcc-dg-runtest.
12236 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12237 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
12238 -fno-builtin-acc_on_device instead of -O0.
12239 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
12240 -O0.
12241 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
12242 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
12243 Likewise.
12244 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
12245 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
12246 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
12247 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12248 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12249 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12250 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
12251 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12252 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
12253 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
12254 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
12255 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
12256 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
12257 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
12258 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
12259 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
12260 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
12261 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
12262 Don't specify -O2.
12263 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
12264 Likewise.
12265 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
12266 Likewise.
12267
12268 2016-03-24 Martin Liska <mliska@suse.cz>
12269
12270 * plugin/plugin-hsa.c (packet_store_release): New function
12271 that is taken from the HSA runtime manual.
12272 (GOMP_OFFLOAD_run): Use the function.
12273
12274 2016-03-23 Jakub Jelinek <jakub@redhat.com>
12275
12276 PR c++/70376
12277 * testsuite/libgomp.c++/pr70376.C: New test.
12278
12279 2016-03-23 Tom de Vries <tom@codesourcery.com>
12280
12281 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
12282 initialization of lresult and lvresult.
12283 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
12284
12285 2016-03-23 James Norris <jnorris@codesourcery.com>
12286 Daichi Fukuoka <dc-fukuoka@sgi.com>
12287
12288 PR libgomp/69414
12289 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
12290 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
12291 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12292 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
12293
12294 2016-03-23 Martin Liska <mliska@suse.cz>
12295
12296 PR hsa/70337
12297 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
12298 argument just in case a dispatched kernel uses that argument.
12299
12300 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
12301
12302 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
12303 -ftree-parallelize-loops/-fopenacc changes.
12304 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
12305 Likewise.
12306 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
12307 Likewise.
12308 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
12309 Likewise.
12310 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
12311 Likewise.
12312 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
12313 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
12314
12315 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
12316
12317 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
12318 always_ld_library_path the path to libgcc_s.
12319
12320 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
12321
12322 PR testsuite/70009
12323 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
12324
12325 2016-03-09 Tom de Vries <tom@codesourcery.com>
12326
12327 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
12328 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
12329 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
12330 Same.
12331 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
12332 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
12333 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
12334 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
12335
12336 2016-03-07 Martin Jambor <mjambor@suse.cz>
12337
12338 * testsuite/lib/libgomp.exp
12339 (check_effective_target_hsa_offloading_selected_nocache): New.
12340 (check_effective_target_hsa_offloading_selected): Likewise.
12341 * testsuite/libgomp.hsa.c/c.exp: Likewise.
12342 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
12343 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
12344 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
12345 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
12346 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
12347 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
12348 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
12349 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
12350 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
12351 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
12352 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
12353 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
12354 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
12355 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
12356 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
12357 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
12358
12359 2016-03-07 Martin Jambor <mjambor@suse.cz>
12360
12361 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
12362 non-shared memory accelerators.
12363 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
12364 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
12365 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
12366 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
12367 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
12368 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
12369 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
12370 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
12371 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
12372
12373 2016-03-07 Martin Jambor <mjambor@suse.cz>
12374
12375 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
12376 ALWAYS_CFLAGS.
12377
12378 2016-03-02 Jakub Jelinek <jakub@redhat.com>
12379
12380 PR libgomp/69555
12381 * testsuite/libgomp.c++/pr69555-1.C: New test.
12382 * testsuite/libgomp.c++/pr69555-2.C: New test.
12383
12384 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
12385 Martin Jambor <mjambor@suse.cz>
12386
12387 * testsuite/lib/libgomp.exp
12388 (check_effective_target_offload_device_shared_as): New proc.
12389 * testsuite/libgomp.c++/declare_target-1.C: New test.
12390
12391 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
12392
12393 PR driver/68463
12394 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
12395
12396 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
12397
12398 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
12399 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
12400 dims.
12401 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
12402 -ftree-parallelize-loops/-fopenacc changes.
12403 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
12404 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
12405 Likewise.
12406 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
12407 Likewise.
12408 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
12409 Likewise.
12410 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
12411 Likewise.
12412 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
12413 Likewise.
12414 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
12415 Likewise.
12416 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
12417 Likewise.
12418 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
12419 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
12420 Likewise.
12421 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
12422 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
12423 Likewise.
12424 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
12425 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
12426 Likewise.
12427
12428 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
12429
12430 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
12431
12432 2016-02-19 Jakub Jelinek <jakub@redhat.com>
12433
12434 PR driver/69805
12435 * testsuite/libgomp.c/pr69805.c: New test.
12436
12437 2016-02-16 Tom de Vries <tom@codesourcery.com>
12438
12439 PR lto/67709
12440 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
12441
12442 2016-02-09 Tom de Vries <tom@codesourcery.com>
12443
12444 PR tree-optimization/69599
12445 * testsuite/libgomp.c/omp-nested-3.c: New test.
12446 * testsuite/libgomp.c/pr46032-2.c: New test.
12447 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
12448 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
12449
12450 2016-02-09 Tom de Vries <tom@codesourcery.com>
12451
12452 PR lto/69707
12453 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
12454
12455 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
12456
12457 * testsuite/libgomp.c/target-31.c: Fix testcase.
12458
12459 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
12460
12461 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
12462 clause.
12463 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
12464 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
12465 reduction and map clauses.
12466 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
12467
12468 2016-02-02 James Norris <jnorris@codesourcery.com>
12469
12470 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
12471
12472 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
12473
12474 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
12475 * oacc-parallel.c (GOACC_host_data): Remove function definition.
12476
12477 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
12478 cases.
12479
12480 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
12481 variables.
12482 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
12483 (hsa_kmt_lib): Set variables.
12484 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
12485 always_ld_library_path.
12486 * Makefile.in: Regenerate.
12487 * configure: Likewise.
12488 * testsuite/Makefile.in: Likewise.
12489
12490 * plugin/configfrag.ac (offload_additional_options)
12491 (offload_additional_lib_paths): Don't amend for hsa offloading.
12492 * configure: Regenerate.
12493
12494 * plugin/configfrag.ac: Don't configure for offloading target if
12495 we don't build the corresponding plugin.
12496 * configure: Regenerate.
12497
12498 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
12499
12500 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
12501 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
12502
12503 2016-01-26 Tom de Vries <tom@codesourcery.com>
12504
12505 PR tree-optimization/69110
12506 * testsuite/libgomp.c/pr69110.c: New test.
12507
12508 2016-01-25 Richard Biener <rguenther@suse.de>
12509
12510 PR lto/69393
12511 * testsuite/libgomp.c++/pr69393.C: New testcase.
12512
12513 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
12514
12515 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
12516 function wasn't mapped to the device with non-shared memory.
12517
12518 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
12519
12520 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
12521
12522 2016-01-19 Martin Jambor <mjambor@suse.cz>
12523 Martin Liska <mliska@suse.cz>
12524
12525 * plugin/Makefrag.am: Add HSA plugin requirements.
12526 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
12527 (HSA_RUNTIME_LIB): Likewise.
12528 (HSA_RUNTIME_CPPFLAGS): Likewise.
12529 (HSA_RUNTIME_INCLUDE): New substitution.
12530 (HSA_RUNTIME_LIB): Likewise.
12531 (HSA_RUNTIME_LDFLAGS): Likewise.
12532 (hsa-runtime): New configure option.
12533 (hsa-runtime-include): Likewise.
12534 (hsa-runtime-lib): Likewise.
12535 (PLUGIN_HSA): New substitution variable.
12536 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
12537 configure options.
12538 (PLUGIN_HSA_CPPFLAGS): Likewise.
12539 (PLUGIN_HSA_LDFLAGS): Likewise.
12540 (PLUGIN_HSA_LIBS): Likewise.
12541 Check that we have access to HSA run-time.
12542 * libgomp-plugin.h (offload_target_type): New element
12543 OFFLOAD_TARGET_TYPE_HSA.
12544 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
12545 args.
12546 (bool gomp_create_target_task): Updated.
12547 (gomp_device_descr): Extra parameter of run_func and async_run_func,
12548 new field can_run_func.
12549 * libgomp_g.h (GOMP_target_ext): Update prototype.
12550 * oacc-host.c (host_run): Added a new parameter args.
12551 * target.c (calculate_firstprivate_requirements): New function.
12552 (copy_firstprivate_data): Likewise.
12553 (gomp_target_fallback_firstprivate): Use them.
12554 (gomp_target_unshare_firstprivate): New function.
12555 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
12556 devices.
12557 (GOMP_target): Do host fallback for all shared memory devices. Do not
12558 pass any args to plugins.
12559 (GOMP_target_ext): Introduce device-specific argument parameter args.
12560 Allow host fallback if device shares memory. Do not remap data if
12561 device has shared memory.
12562 (gomp_target_task_fn): Likewise. Also treat shared memory devices
12563 like host fallback for mappings.
12564 (GOMP_target_data): Treat shared memory devices like host fallback.
12565 (GOMP_target_data_ext): Likewise.
12566 (GOMP_target_update): Likewise.
12567 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
12568 gomp_create_target_task.
12569 (GOMP_target_enter_exit_data): Likewise.
12570 (omp_target_alloc): Treat shared memory devices like host fallback.
12571 (omp_target_free): Likewise.
12572 (omp_target_is_present): Likewise.
12573 (omp_target_memcpy): Likewise.
12574 (omp_target_memcpy_rect): Likewise.
12575 (omp_target_associate_ptr): Likewise.
12576 (gomp_load_plugin_for_device): Also load can_run.
12577 * task.c (GOMP_PLUGIN_target_task_completion): Free
12578 firstprivate_copies.
12579 (gomp_create_target_task): Accept new argument args and store it to
12580 ttask.
12581 * plugin/plugin-hsa.c: New file.
12582
12583 2016-01-18 Tom de Vries <tom@codesourcery.com>
12584
12585 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
12586 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
12587 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
12588 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
12589 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
12590 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
12591 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
12592 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
12593 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
12594 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
12595 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
12596 Same.
12597 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
12598 Same.
12599 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
12600 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
12601 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
12602 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
12603 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
12604 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
12605 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
12606 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
12607 Same.
12608 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
12609
12610 2016-01-15 Jakub Jelinek <jakub@redhat.com>
12611
12612 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
12613
12614 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
12615
12616 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
12617
12618 2016-01-12 James Norris <jnorris@codesourcery.com>
12619
12620 * libgomp.texi: Updates for OpenACC.
12621
12622 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
12623
12624 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
12625
12626 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
12627
12628 PR fortran/66680
12629 * testsuite/libgomp.fortran/pr66680.f90: New test.
12630
12631 2016-01-07 Jakub Jelinek <jakub@redhat.com>
12632
12633 PR middle-end/68960
12634 * testsuite/libgomp.c/pr68960.c: New test.
12635
12636 2016-01-06 Nathan Sidwell <nathan@acm.org>
12637
12638 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
12639 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
12640
12641 2016-01-04 Jakub Jelinek <jakub@redhat.com>
12642
12643 Update copyright years.
12644
12645 * libgomp.texi: Bump @copying's copyright year.
12646
12647 2015-12-31 Nathan Sidwell <nathan@acm.org>
12648
12649 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
12650 dg-additional-options syntax.
12651 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
12652 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
12653 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
12654 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12655 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
12656 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
12657 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
12658 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
12659 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
12660 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
12661 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12662 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
12663 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
12664 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12665 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
12666 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
12667 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12668 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12669
12670 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
12671
12672 * libgomp.h (REFCOUNT_LINK): Define.
12673 (struct splay_tree_key_s): Add link_key.
12674 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
12675 Replace target address of the pointer with target address of newly
12676 mapped object in the splay tree. Set link pointer on target to the
12677 device address of the mapped object.
12678 (gomp_unmap_vars): Restore target address of the pointer in the splay
12679 tree for REFCOUNT_LINK objects after unmapping.
12680 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
12681 declare target link" objects.
12682 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
12683 "omp declare target link" objects, which were mapped for the image.
12684 (gomp_exit_data): Restore target address of the pointer in the splay
12685 tree for REFCOUNT_LINK objects after unmapping.
12686 * testsuite/libgomp.c/target-link-1.c: New file.
12687
12688 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
12689
12690 * libgomp.h (gomp_device_state): New enum.
12691 (struct gomp_device_descr): Replace is_initialized with state.
12692 (gomp_fini_device): Remove declaration.
12693 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
12694 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
12695 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
12696 (acc_set_device_type): Use state instead of is_initialized.
12697 (acc_set_device_num): Likewise.
12698 * target.c (resolve_device): Use state instead of is_initialized.
12699 Do not initialize finalized device.
12700 (gomp_map_vars): Do nothing if device is finalized.
12701 (gomp_unmap_vars): Likewise.
12702 (gomp_update): Likewise.
12703 (GOMP_offload_register_ver): Use state instead of is_initialized.
12704 (GOMP_offload_unregister_ver): Likewise.
12705 (gomp_init_device): Likewise.
12706 (gomp_unload_device): Likewise.
12707 (gomp_fini_device): Remove.
12708 (gomp_get_target_fn_addr): Do nothing if device is finalized.
12709 (GOMP_target): Go to host fallback if device is finalized.
12710 (GOMP_target_ext): Likewise.
12711 (gomp_exit_data): Do nothing if device is finalized.
12712 (gomp_target_task_fn): Go to host fallback if device is finalized.
12713 (gomp_target_fini): New static function.
12714 (gomp_target_init): Use state instead of is_initialized.
12715 Call gomp_target_fini at exit.
12716
12717 2015-12-09 Tom de Vries <tom@codesourcery.com>
12718
12719 PR tree-optimization/68716
12720 * testsuite/libgomp.c/omp-nested-2.c: New test.
12721
12722 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
12723
12724 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
12725 target openacc_nvidia_accel_selected.
12726 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
12727 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
12728 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
12729 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
12730
12731 2015-12-01 Julian Brown <julian@codesourcery.com>
12732 James Norris <James_Norris@mentor.com>
12733
12734 * oacc-parallel.c (GOACC_host_data): New function.
12735 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
12736 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
12737 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
12738 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
12739 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
12740 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
12741 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
12742
12743 2015-11-30 James Norris <jnorris@codesourcery.com>
12744 Cesar Philippidis <cesar@codesourcery.com>
12745
12746 libgomp/
12747 * libgomp.oacc-fortran/routine-5.f90: New test.
12748 * libgomp.oacc-fortran/routine-7.f90: New test.
12749 * libgomp.oacc-fortran/routine-9.f90: New test.
12750
12751 2015-11-30 Tom de Vries <tom@codesourcery.com>
12752
12753 PR tree-optimization/46032
12754 * testsuite/libgomp.c/pr46032.c: New test.
12755
12756 2015-11-27 Jakub Jelinek <jakub@redhat.com>
12757
12758 PR libgomp/68579
12759 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
12760 (gomp_create_target_task): Call it before freeing
12761 GOMP_TARGET_TASK_DATA tasks.
12762
12763 PR c/63326
12764 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
12765 in between case label and OpenMP standalone directives.
12766 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
12767
12768 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
12769
12770 * configure: Regenerate.
12771
12772 2015-11-26 Jakub Jelinek <jakub@redhat.com>
12773
12774 * testsuite/libgomp.c/target-35.c: New test.
12775
12776 2015-11-22 James Norris <jnorris@codesourcery.com>
12777 Cesar Philippidis <cesar@codesourcery.com>
12778
12779 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
12780 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12781 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12782 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12783 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12784
12785 2015-11-20 Jakub Jelinek <jakub@redhat.com>
12786
12787 PR middle-end/68221
12788 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
12789 * testsuite/libgomp.c/reduction-12.c: Likewise.
12790 * testsuite/libgomp.c++/reduction-11.C: Likewise.
12791 * testsuite/libgomp.c++/reduction-12.C: Likewise.
12792
12793 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
12794
12795 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
12796 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
12797 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
12798 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
12799 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
12800 and fix.
12801 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12802 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12803
12804 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
12805
12806 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
12807 worker & gang cases.
12808 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12809
12810 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
12811
12812 * config/nvptx/priority_queue.c: New file.
12813
12814 2015-11-14 Jakub Jelinek <jakub@redhat.com>
12815
12816 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
12817 sections.
12818
12819 2015-11-14 Jakub Jelinek <jakub@redhat.com>
12820 Aldy Hernandez <aldyh@redhat.com>
12821 Ilya Verbin <ilya.verbin@intel.com>
12822
12823 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
12824 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
12825 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
12826 iterators or IV by chunk size.
12827 * parallel.c (gomp_resolve_num_threads): Don't assume that
12828 if thr->ts.team is non-NULL, then pool must be non-NULL.
12829 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
12830 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
12831 GOMP_PLUGIN_target_task_completion.
12832 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
12833 * Makefile.in: Regenerate.
12834 * libgomp.h: Shuffle prototypes and forward definitions around so
12835 priority queues can be defined.
12836 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
12837 (enum gomp_target_task_state): New enum.
12838 (struct gomp_target_task): Add state, tgt, task and team fields.
12839 (gomp_create_target_task): Change return type to bool, add
12840 state argument.
12841 (gomp_target_task_fn): Change return type to bool.
12842 (struct gomp_device_descr): Add async_run_func.
12843 (struct gomp_task): Remove children, next_child, prev_child,
12844 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
12845 Add pnode field.
12846 (struct gomp_taskgroup): Remove children.
12847 Add taskgroup_queue.
12848 (struct gomp_team): Change task_queue type to a priority queue.
12849 (splay_compare): Define inline.
12850 (priority_queue_offset): New.
12851 (priority_node_to_task): New.
12852 (task_to_priority_node): New.
12853 * oacc-mem.c: Do not include splay-tree.h.
12854 * priority_queue.c: New file.
12855 * priority_queue.h: New file.
12856 * splay-tree.c: Do not include splay-tree.h.
12857 (splay_tree_foreach_internal): New.
12858 (splay_tree_foreach): New.
12859 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
12860 (splay_tree_callback): Define typedef.
12861 * target.c (splay_compare): Move to libgomp.h.
12862 (GOMP_target): Don't adjust *thr in any way around running offloaded
12863 task.
12864 (GOMP_target_ext): Likewise. Handle target nowait.
12865 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
12866 return value from gomp_create_target_task, if false, fallthrough
12867 as if no dependencies exist.
12868 (gomp_target_task_fn): Change return type to bool, return true
12869 if the task should have another part scheduled later. Handle
12870 target nowait.
12871 (gomp_load_plugin_for_device): Initialize async_run.
12872 * task.c (gomp_init_task): Initialize children_queue.
12873 (gomp_clear_parent_in_list): New.
12874 (gomp_clear_parent_in_tree): New.
12875 (gomp_clear_parent): Handle priorities.
12876 (GOMP_task): Likewise.
12877 (priority_queue_move_task_first,
12878 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
12879 New functions.
12880 (gomp_create_target_task): Use priority queues. Change return type
12881 to bool, add state argument, return false if for async
12882 {{enter,exit} data,update} constructs no dependencies need to be
12883 waited for, handle target nowait. Set task->fn to NULL instead of
12884 gomp_target_task_fn.
12885 (verify_children_queue): Remove.
12886 (priority_list_upgrade_task): New.
12887 (priority_queue_upgrade_task): New.
12888 (verify_task_queue): Remove.
12889 (priority_list_downgrade_task): New.
12890 (priority_queue_downgrade_task): New.
12891 (gomp_task_run_pre): Use priority queues.
12892 Abstract code out to priority_queue_downgrade_task.
12893 (gomp_task_run_post_handle_dependers): Use priority queues.
12894 (gomp_task_run_post_remove_parent): Likewise.
12895 (gomp_task_run_post_remove_taskgroup): Likewise.
12896 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
12897 tasks specially.
12898 (GOMP_taskwait): Likewise.
12899 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
12900 priority-queue_upgrade_task.
12901 (GOMP_taskgroup_start): Use priority queues.
12902 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
12903 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
12904 barrier.
12905 * taskloop.c (GOMP_taskloop): Handle priorities.
12906 * team.c (gomp_new_team): Call priority_queue_init.
12907 (free_team): Call priority_queue_free.
12908 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
12909 team created for target nowait in implicit parallel region.
12910 (gomp_team_start): For nested check, test thr->ts.level instead of
12911 thr->ts.team != NULL.
12912 * testsuite/libgomp.c/doacross-3.c: New test.
12913 * testsuite/libgomp.c/ordered-5.c: New test.
12914 * testsuite/libgomp.c/priority.c: New test.
12915 * testsuite/libgomp.c/target-31.c: New test.
12916 * testsuite/libgomp.c/target-32.c: New test.
12917 * testsuite/libgomp.c/target-33.c: New test.
12918 * testsuite/libgomp.c/target-34.c: New test.
12919
12920 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
12921
12922 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
12923
12924 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
12925 loop is sequential.
12926
12927 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
12928
12929 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
12930 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
12931
12932 2015-11-12 James Norris <jnorris@codesourcery.com>
12933 Joseph Myers <joseph@codesourcery.com>
12934
12935 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
12936 * oacc-parallel.c (GOACC_declare): New function.
12937 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
12938 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
12939 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
12940 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
12941 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
12942
12943 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
12944
12945 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
12946
12947 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
12948
12949 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
12950 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
12951
12952 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
12953
12954 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
12955 inadvertent commit.
12956
12957 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
12958
12959 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
12960 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
12961 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
12962 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
12963 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
12964
12965 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
12966
12967 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
12968 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
12969
12970 2015-11-05 Jakub Jelinek <jakub@redhat.com>
12971 Ilya Verbin <ilya.verbin@intel.com>
12972
12973 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
12974 GOMP_loop_nonmonotonic_dynamic_start,
12975 GOMP_loop_nonmonotonic_guided_next,
12976 GOMP_loop_nonmonotonic_guided_start,
12977 GOMP_loop_ull_nonmonotonic_dynamic_next,
12978 GOMP_loop_ull_nonmonotonic_dynamic_start,
12979 GOMP_loop_ull_nonmonotonic_guided_next,
12980 GOMP_loop_ull_nonmonotonic_guided_start,
12981 GOMP_parallel_loop_nonmonotonic_dynamic,
12982 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
12983 (GOMP_target_41): Renamed to ...
12984 (GOMP_target_ext): ... this. Add num_teams and thread_limit
12985 arguments.
12986 (GOMP_target_data_41): Renamed to ...
12987 (GOMP_target_data_ext): ... this.
12988 (GOMP_target_update_41): Renamed to ...
12989 (GOMP_target_update_ext): ... this.
12990 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
12991 GOMP_target_data_ext and GOMP_target_update_ext instead of
12992 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
12993 Export GOMP_loop_nonmonotonic_dynamic_next,
12994 GOMP_loop_nonmonotonic_dynamic_start,
12995 GOMP_loop_nonmonotonic_guided_next,
12996 GOMP_loop_nonmonotonic_guided_start,
12997 GOMP_loop_ull_nonmonotonic_dynamic_next,
12998 GOMP_loop_ull_nonmonotonic_dynamic_start,
12999 GOMP_loop_ull_nonmonotonic_guided_next,
13000 GOMP_loop_ull_nonmonotonic_guided_start,
13001 GOMP_parallel_loop_nonmonotonic_dynamic and
13002 GOMP_parallel_loop_nonmonotonic_guided.
13003 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
13004 GOMP_parallel_loop_nonmonotonic_guided,
13005 GOMP_loop_nonmonotonic_dynamic_start,
13006 GOMP_loop_nonmonotonic_guided_start,
13007 GOMP_loop_nonmonotonic_dynamic_next,
13008 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
13009 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
13010 GOMP_loop_ull_nonmonotonic_guided_start,
13011 GOMP_loop_ull_nonmonotonic_dynamic_next,
13012 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
13013 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
13014 functions.
13015 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
13016 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
13017 Use gomp_map_val function.
13018 (gomp_target_fallback_firstprivate): New static function.
13019 (GOMP_target_41): Renamed to ...
13020 (GOMP_target_ext): ... this. Add num_teams and thread_limit
13021 arguments. Move firstprivate fallback handling into a new
13022 function.
13023 (GOMP_target_data_41): Renamed to ...
13024 (GOMP_target_data_ext): ... this.
13025 (GOMP_target_update_41): Renamed to ...
13026 (GOMP_target_update_ext): ... this.
13027 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
13028 gomp_map_0len_lookup instead of gomp_map_lookup.
13029 (omp_target_is_present): Use gomp_map_0len_lookup instead of
13030 gomp_map_lookup.
13031 * testsuite/libgomp.c/target-28.c: Likewise.
13032 * testsuite/libgomp.c/monotonic-1.c: New test.
13033 * testsuite/libgomp.c/monotonic-2.c: New test.
13034 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
13035 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
13036 * testsuite/libgomp.c/pr66199-5.c: New test.
13037 * testsuite/libgomp.c/pr66199-6.c: New test.
13038 * testsuite/libgomp.c/pr66199-7.c: New test.
13039 * testsuite/libgomp.c/pr66199-8.c: New test.
13040 * testsuite/libgomp.c/pr66199-9.c: New test.
13041 * testsuite/libgomp.c/reduction-11.c: New test.
13042 * testsuite/libgomp.c/reduction-12.c: New test.
13043 * testsuite/libgomp.c/reduction-13.c: New test.
13044 * testsuite/libgomp.c/reduction-14.c: New test.
13045 * testsuite/libgomp.c/reduction-15.c: New test.
13046 * testsuite/libgomp.c/target-12.c (main): Adjust for
13047 omp_target_is_present change for one-past-last element.
13048 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
13049 the same var is both mapped and privatized.
13050 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
13051 handling of zero-length array sections.
13052 * testsuite/libgomp.c/target-28.c: New test.
13053 * testsuite/libgomp.c/target-29.c: New test.
13054 * testsuite/libgomp.c/target-30.c: New test.
13055 * testsuite/libgomp.c/target-teams-1.c: New test.
13056 * testsuite/libgomp.c++/member-6.C: New test.
13057 * testsuite/libgomp.c++/member-7.C: New test.
13058 * testsuite/libgomp.c++/monotonic-1.C: New test.
13059 * testsuite/libgomp.c++/monotonic-2.C: New test.
13060 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
13061 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
13062 * testsuite/libgomp.c++/pr66199-3.C: New test.
13063 * testsuite/libgomp.c++/pr66199-4.C: New test.
13064 * testsuite/libgomp.c++/pr66199-5.C: New test.
13065 * testsuite/libgomp.c++/pr66199-6.C: New test.
13066 * testsuite/libgomp.c++/pr66199-7.C: New test.
13067 * testsuite/libgomp.c++/pr66199-8.C: New test.
13068 * testsuite/libgomp.c++/pr66199-9.C: New test.
13069 * testsuite/libgomp.c++/reduction-11.C: New test.
13070 * testsuite/libgomp.c++/reduction-12.C: New test.
13071 * testsuite/libgomp.c++/target-13.C: New test.
13072 * testsuite/libgomp.c++/target-14.C: New test.
13073 * testsuite/libgomp.c++/target-15.C: New test.
13074 * testsuite/libgomp.c++/target-16.C: New test.
13075 * testsuite/libgomp.c++/target-17.C: New test.
13076 * testsuite/libgomp.c++/target-18.C: New test.
13077 * testsuite/libgomp.c++/target-19.C: New test.
13078
13079 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
13080
13081 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
13082 and reduction copy.
13083 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13084 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13085 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13086 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13087 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
13088 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13089 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13090 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13091 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13092 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
13093 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13094 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13095 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13096 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
13097
13098 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
13099
13100 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
13101 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
13102 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
13103 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
13104 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
13105 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
13106 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
13107 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
13108
13109 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
13110
13111 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
13112 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
13113 (GOMP_OFFLOAD_openacc_parallel): Likewise.
13114 * oacc-host.c (host_openacc_exec): Likewise.
13115 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
13116
13117 2015-11-03 Julian Brown <julian@codesourcery.com>
13118 Thomas Schwinge <thomas@codesourcery.com>
13119
13120 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
13121 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13122 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
13123 Likewise.
13124 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
13125 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
13126
13127 2015-11-03 James Norris <jnorris@codesourcery.com>
13128
13129 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
13130 file.
13131 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
13132 Likewise.
13133 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
13134 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
13135 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
13136 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
13137 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
13138
13139 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
13140
13141 * openacc.h (enum acc_device_t): Reformat. Ensure layout
13142 compatibility.
13143 (enum acc_async_t): Reformat.
13144 (acc_on_device): Declare compatible with builtin and provide C++
13145 wrapper.
13146 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
13147
13148 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
13149 Cesar Philippidis <cesar@codesourcery.com>
13150
13151 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
13152 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
13153 ... this. Add a description of the test at the top of the file.
13154 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
13155 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
13156 ... this. Add a description of the test at the top of the file.
13157
13158 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
13159
13160 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
13161 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
13162 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
13163 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
13164 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
13165 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
13166
13167 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
13168
13169 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
13170 dimensions.
13171
13172 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
13173
13174 PR testsuite/68063
13175 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
13176
13177 2015-10-27 James Norris <jnorris@codesourcery.com>
13178
13179 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
13180 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
13181
13182 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
13183
13184 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
13185 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13186
13187 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
13188 acc_device_nvidia usage.
13189 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
13190 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13191 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13192
13193 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
13194 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
13195
13196 PR libgomp/66518
13197 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
13198
13199 PR libgomp/65437
13200 PR libgomp/66518
13201 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
13202 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
13203
13204 2015-10-23 Tom de Vries <tom@codesourcery.com>
13205
13206 PR testsuite/68063
13207 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
13208
13209 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
13210
13211 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
13212 vector_length.
13213 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13214
13215 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
13216 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
13217
13218 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
13219 to 0 when mapnum is 0.
13220
13221 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
13222
13223 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
13224 Cast to int from int32_t.
13225
13226 2015-10-13 Jakub Jelinek <jakub@redhat.com>
13227 Aldy Hernandez <aldyh@redhat.com>
13228 Ilya Verbin <ilya.verbin@intel.com>
13229
13230 * config/linux/affinity.c (omp_get_place_num_procs,
13231 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13232 * config/linux/doacross.h: New file.
13233 * config/posix/affinity.c (omp_get_place_num_procs,
13234 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13235 * config/posix/doacross.h: New file.
13236 * env.c: Include gomp-constants.h.
13237 (struct gomp_task_icv): Rename run_sched_modifier to
13238 run_sched_chunk_size.
13239 (gomp_max_task_priority_var): New variable.
13240 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
13241 (handle_omp_display_env): Change _OPENMP value from 201307 to
13242 201511. Print OMP_MAX_TASK_PRIORITY.
13243 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
13244 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
13245 chunk_size and run_sched_modifier to run_sched_chunk_size.
13246 (omp_get_max_task_priority, omp_get_initial_device,
13247 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
13248 omp_get_partition_place_nums): New functions.
13249 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
13250 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
13251 to chunk_size.
13252 (omp_get_num_places_, omp_get_place_num_procs_,
13253 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
13254 omp_get_place_proc_ids_8_, omp_get_place_num_,
13255 omp_get_partition_num_places_, omp_get_partition_place_nums_,
13256 omp_get_partition_place_nums_8_, omp_get_initial_device_,
13257 omp_get_max_task_priority_): New functions.
13258 * libgomp_g.h (GOMP_loop_doacross_static_start,
13259 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
13260 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
13261 GOMP_loop_ull_doacross_dynamic_start,
13262 GOMP_loop_ull_doacross_guided_start,
13263 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
13264 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
13265 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
13266 GOMP_target_data_41, GOMP_target_update_41,
13267 GOMP_target_enter_exit_data): New prototypes.
13268 (GOMP_task): Add prototype argument.
13269 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
13270 (struct gomp_doacross_work_share): New type.
13271 (struct gomp_work_share): Add doacross field.
13272 (struct gomp_task_icv): Rename run_sched_modifier to
13273 run_sched_chunk_size.
13274 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
13275 GOMP_TASK_UNDEFERRED. Add comments.
13276 (struct gomp_task_depend_entry): Add comments.
13277 (struct gomp_task): Likewise.
13278 (struct gomp_taskgroup): Likewise.
13279 (struct gomp_target_task): New type.
13280 (struct gomp_team): Add comment.
13281 (gomp_get_place_proc_ids_8, gomp_doacross_init,
13282 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
13283 gomp_create_target_task, gomp_target_task_fn): New prototypes.
13284 (struct target_var_desc): New type.
13285 (struct target_mem_desc): Adjust comment. Use struct
13286 target_var_desc instead of splay_tree_key for list.
13287 (REFCOUNT_INFINITY): Define.
13288 (struct splay_tree_key_s): Remove copy_from field.
13289 (struct gomp_device_descr): Add dev2dev_func field.
13290 (enum gomp_map_vars_kind): New enum.
13291 (gomp_map_vars): Add one argument.
13292 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
13293 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
13294 omp_get_place_num_procs, omp_get_place_num_procs_,
13295 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
13296 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
13297 omp_get_place_num_, omp_get_partition_num_places,
13298 omp_get_partition_num_places_, omp_get_partition_place_nums,
13299 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
13300 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
13301 omp_target_free, omp_target_is_present, omp_target_memcpy,
13302 omp_target_memcpy_rect, omp_target_associate_ptr and
13303 omp_target_disassociate_ptr.
13304 (GOMP_4.0.2): Renamed to ...
13305 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
13306 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
13307 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
13308 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
13309 GOMP_loop_doacross_static_start, GOMP_doacross_post,
13310 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
13311 GOMP_loop_ull_doacross_guided_start,
13312 GOMP_loop_ull_doacross_runtime_start,
13313 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
13314 GOMP_doacross_ull_wait.
13315 * libgomp.texi: Document omp_get_max_task_priority.
13316 Rename modifier argument to chunk_size for omp_set_schedule and
13317 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
13318 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
13319 to run_sched_chunk_size renaming.
13320 (GOMP_loop_ordered_runtime_start): Likewise.
13321 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
13322 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
13323 GOMP_parallel_loop_runtime_start): New functions.
13324 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
13325 to run_sched_chunk_size renaming.
13326 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
13327 GOMP_loop_doacross_guided_start): New functions or aliases.
13328 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
13329 run_sched_modifier to run_sched_chunk_size renaming.
13330 (GOMP_loop_ull_ordered_runtime_start): Likewise.
13331 (gomp_loop_ull_doacross_static_start,
13332 gomp_loop_ull_doacross_dynamic_start,
13333 gomp_loop_ull_doacross_guided_start,
13334 GOMP_loop_ull_doacross_runtime_start): New functions.
13335 (GOMP_loop_ull_doacross_static_start,
13336 GOMP_loop_ull_doacross_dynamic_start,
13337 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
13338 * oacc-mem.c (acc_map_data, present_create_copy,
13339 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
13340 to gomp_map_vars.
13341 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
13342 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
13343 instead of false to gomp_map_vars.
13344 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
13345 * omp.h.in (omp_lock_hint_t): New type.
13346 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13347 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13348 omp_get_place_num, omp_get_partition_num_places,
13349 omp_get_partition_place_nums, omp_get_initial_device,
13350 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
13351 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
13352 omp_target_associate_ptr, omp_target_disassociate_ptr): New
13353 prototypes.
13354 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
13355 (omp_lock_hint_none, omp_lock_hint_uncontended,
13356 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
13357 omp_lock_hint_speculative): New parameters.
13358 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13359 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13360 omp_get_place_num, omp_get_partition_num_places,
13361 omp_get_partition_place_nums, omp_get_initial_device,
13362 omp_get_max_task_priority): New interfaces.
13363 (omp_set_schedule, omp_get_schedule): Rename modifier argument
13364 to chunk_size.
13365 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
13366 (omp_lock_hint_none, omp_lock_hint_uncontended,
13367 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
13368 omp_lock_hint_speculative): New parameters.
13369 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13370 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13371 omp_get_place_num, omp_get_partition_num_places,
13372 omp_get_partition_place_nums, omp_get_initial_device,
13373 omp_get_max_task_priority): New functions and subroutines.
13374 * ordered.c: Include stdarg.h and string.h.
13375 (MAX_COLLAPSED_BITS): Define.
13376 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
13377 gomp_doacross_ull_init, GOMP_doacross_ull_post,
13378 GOMP_doacross_ull_wait): New functions.
13379 * target.c: Include errno.h.
13380 (resolve_device): If device is not initialized, call
13381 gomp_init_device on it.
13382 (gomp_map_lookup): New function.
13383 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
13384 Don't bump refcount if REFCOUNT_INFINITY. Handle
13385 GOMP_MAP_ALWAYS_TO_P.
13386 (get_kind): Rename is_openacc argument to short_mapkind.
13387 (gomp_map_pointer): Use gomp_map_lookup.
13388 (gomp_map_fields_existing): New function.
13389 (gomp_map_vars): Rename is_openacc argument to short_mapkind
13390 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
13391 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
13392 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
13393 Adjust for tgt->list changed type and copy_from living in there.
13394 (gomp_copy_from_async): Adjust for tgt->list changed type and
13395 copy_from living in there.
13396 (gomp_unmap_vars): Likewise.
13397 (gomp_update): Likewise. Rename is_openacc argument to
13398 short_mapkind. Don't fail if object is not mapped.
13399 (gomp_load_image_to_device): Initialize refcount to
13400 REFCOUNT_INFINITY.
13401 (gomp_target_fallback): New function.
13402 (gomp_get_target_fn_addr): Likewise.
13403 (GOMP_target): Adjust gomp_map_vars caller, use
13404 gomp_get_target_fn_addr and gomp_target_fallback.
13405 (GOMP_target_41): New function.
13406 (gomp_target_data_fallback): New function.
13407 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
13408 (GOMP_target_data_41): New function.
13409 (GOMP_target_update): Adjust gomp_update caller.
13410 (GOMP_target_update_41): New function.
13411 (gomp_exit_data, GOMP_target_enter_exit_data,
13412 gomp_target_task_fn, omp_target_alloc, omp_target_free,
13413 omp_target_is_present, omp_target_memcpy,
13414 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
13415 omp_target_associate_ptr, omp_target_disassociate_ptr,
13416 gomp_load_plugin_for_device): New functions.
13417 * task.c: Include gomp-constants.h. Include taskloop.c
13418 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
13419 (gomp_task_handle_depend): New function.
13420 (GOMP_task): Use it. Add priority argument. Use
13421 gomp-constant.h constants instead of hardcoded numbers.
13422 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
13423 (gomp_create_target_task): New function.
13424 (verify_children_queue, verify_taskgroup_queue,
13425 verify_task_queue): New functions.
13426 (gomp_task_run_pre): Call verify_*_queue functions.
13427 If an upcoming tied task is about to leave the sibling or
13428 taskgroup queues in an invalid state, adjust appropriately.
13429 Remove taskgroup argument. Add comments.
13430 (gomp_task_run_post_handle_dependers): Add comments.
13431 (gomp_task_run_post_remove_parent): Likewise.
13432 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
13433 (GOMP_taskwait): Likewise. Add comments.
13434 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
13435 problem such that the first non parent_depends_on task does not
13436 end up at the end of the children queue.
13437 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
13438 GOMP_TASK_UNDEFERRED.
13439 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
13440 * taskloop.c: New file.
13441 * testsuite/lib/libgomp.exp
13442 (check_effective_target_offload_device_nonshared_as): New proc.
13443 * testsuite/libgomp.c/affinity-2.c: New test.
13444 * testsuite/libgomp.c/doacross-1.c: New test.
13445 * testsuite/libgomp.c/doacross-2.c: New test.
13446 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
13447 Add map clause to target.
13448 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
13449 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
13450 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
13451 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
13452 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
13453 Likewise.
13454 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
13455 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
13456 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
13457 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
13458 not defined. Use those where needed.
13459 * testsuite/libgomp.c/for-4.c: New test.
13460 * testsuite/libgomp.c/for-5.c: New test.
13461 * testsuite/libgomp.c/for-6.c: New test.
13462 * testsuite/libgomp.c/linear-1.c: New test.
13463 * testsuite/libgomp.c/ordered-4.c: New test.
13464 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
13465 only allowed on the loop iterator.
13466 * testsuite/libgomp.c/pr66199-3.c: New test.
13467 * testsuite/libgomp.c/pr66199-4.c: New test.
13468 * testsuite/libgomp.c/reduction-7.c: New test.
13469 * testsuite/libgomp.c/reduction-8.c: New test.
13470 * testsuite/libgomp.c/reduction-9.c: New test.
13471 * testsuite/libgomp.c/reduction-10.c: New test.
13472 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
13473 map(tofrom:s).
13474 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
13475 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
13476 * testsuite/libgomp.c/target-11.c: New test.
13477 * testsuite/libgomp.c/target-12.c: New test.
13478 * testsuite/libgomp.c/target-13.c: New test.
13479 * testsuite/libgomp.c/target-14.c: New test.
13480 * testsuite/libgomp.c/target-15.c: New test.
13481 * testsuite/libgomp.c/target-16.c: New test.
13482 * testsuite/libgomp.c/target-17.c: New test.
13483 * testsuite/libgomp.c/target-18.c: New test.
13484 * testsuite/libgomp.c/target-19.c: New test.
13485 * testsuite/libgomp.c/target-20.c: New test.
13486 * testsuite/libgomp.c/target-21.c: New test.
13487 * testsuite/libgomp.c/target-22.c: New test.
13488 * testsuite/libgomp.c/target-23.c: New test.
13489 * testsuite/libgomp.c/target-24.c: New test.
13490 * testsuite/libgomp.c/target-25.c: New test.
13491 * testsuite/libgomp.c/target-26.c: New test.
13492 * testsuite/libgomp.c/target-27.c: New test.
13493 * testsuite/libgomp.c/taskloop-1.c: New test.
13494 * testsuite/libgomp.c/taskloop-2.c: New test.
13495 * testsuite/libgomp.c/taskloop-3.c: New test.
13496 * testsuite/libgomp.c/taskloop-4.c: New test.
13497 * testsuite/libgomp.c++/ctor-13.C: New test.
13498 * testsuite/libgomp.c++/doacross-1.C: New test.
13499 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
13500 Replace offload_device with offload_device_nonshared_as.
13501 * testsuite/libgomp.c++/for-12.C: New test.
13502 * testsuite/libgomp.c++/for-13.C: New test.
13503 * testsuite/libgomp.c++/for-14.C: New test.
13504 * testsuite/libgomp.c++/linear-1.C: New test.
13505 * testsuite/libgomp.c++/member-1.C: New test.
13506 * testsuite/libgomp.c++/member-2.C: New test.
13507 * testsuite/libgomp.c++/member-3.C: New test.
13508 * testsuite/libgomp.c++/member-4.C: New test.
13509 * testsuite/libgomp.c++/member-5.C: New test.
13510 * testsuite/libgomp.c++/ordered-1.C: New test.
13511 * testsuite/libgomp.c++/reduction-5.C: New test.
13512 * testsuite/libgomp.c++/reduction-6.C: New test.
13513 * testsuite/libgomp.c++/reduction-7.C: New test.
13514 * testsuite/libgomp.c++/reduction-8.C: New test.
13515 * testsuite/libgomp.c++/reduction-9.C: New test.
13516 * testsuite/libgomp.c++/reduction-10.C: New test.
13517 * testsuite/libgomp.c++/reference-1.C: New test.
13518 * testsuite/libgomp.c++/simd14.C: New test.
13519 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
13520 * testsuite/libgomp.c++/target-5.C: New test.
13521 * testsuite/libgomp.c++/target-6.C: New test.
13522 * testsuite/libgomp.c++/target-7.C: New test.
13523 * testsuite/libgomp.c++/target-8.C: New test.
13524 * testsuite/libgomp.c++/target-9.C: New test.
13525 * testsuite/libgomp.c++/target-10.C: New test.
13526 * testsuite/libgomp.c++/target-11.C: New test.
13527 * testsuite/libgomp.c++/target-12.C: New test.
13528 * testsuite/libgomp.c++/taskloop-1.C: New test.
13529 * testsuite/libgomp.c++/taskloop-2.C: New test.
13530 * testsuite/libgomp.c++/taskloop-3.C: New test.
13531 * testsuite/libgomp.c++/taskloop-4.C: New test.
13532 * testsuite/libgomp.c++/taskloop-5.C: New test.
13533 * testsuite/libgomp.c++/taskloop-6.C: New test.
13534 * testsuite/libgomp.c++/taskloop-7.C: New test.
13535 * testsuite/libgomp.c++/taskloop-8.C: New test.
13536 * testsuite/libgomp.c++/taskloop-9.C: New test.
13537 * testsuite/libgomp.fortran/affinity1.f90: New test.
13538 * testsuite/libgomp.fortran/affinity2.f90: New test.
13539
13540 2015-10-13 Tom de Vries <tom@codesourcery.com>
13541
13542 PR tree-optimization/67476
13543 * testsuite/libgomp.c/autopar-3.c: New test.
13544 * testsuite/libgomp.c/autopar-4.c: New test.
13545 * testsuite/libgomp.c/autopar-5.c: New test.
13546 * testsuite/libgomp.c/autopar-6.c: New test.
13547 * testsuite/libgomp.c/autopar-7.c: New test.
13548 * testsuite/libgomp.c/autopar-8.c: New test.
13549
13550 2015-10-12 James Norris <jnorris@codesourcery.com>
13551
13552 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
13553 initializer.
13554
13555 2015-10-09 David Malcolm <dmalcolm@redhat.com>
13556
13557 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
13558 using load_gcc_lib.
13559
13560 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
13561
13562 * oacc-ptx.h: Remove file, moving its content into...
13563 * config/nvptx/fortran.c: ... here...
13564 * config/nvptx/oacc-init.c: ..., here...
13565 * config/nvptx/oacc-parallel.c: ..., and here.
13566 * config/nvptx/openacc.f90: New file.
13567 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
13568 (link_ptx): Don't link in predefined bits of PTX code.
13569
13570 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
13571 Bernd Schmidt <bernds@codesourcery.com>
13572
13573 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
13574 (struct targ_ptx_obj): New.
13575 (nvptx_tdata): Move earlier, change data format.
13576 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
13577 objects.
13578 (GOMP_OFFLOAD_load_image): Adjust.
13579
13580 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
13581
13582 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
13583 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13584 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
13585 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
13586 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
13587 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
13588 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
13589 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
13590 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
13591 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
13592 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
13593 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
13594 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
13595 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13596 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13597 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13598 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13599 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13600 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13601 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13602 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13603 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13604 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
13605 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
13606 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13607 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13608 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
13609 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13610 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13611 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
13612 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
13613 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
13614 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
13615 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
13616 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13617 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13618 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13619 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13620 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13621 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13622 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13623 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13624 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
13625 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
13626 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
13627 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
13628 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
13629 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
13630 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
13631 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
13632 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
13633 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
13634 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
13635 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
13636 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
13637 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
13638 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
13639 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
13640 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
13641 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
13642 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
13643 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
13644 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
13645
13646 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
13647
13648 * oacc-init.c (acc_on_device): Force optimization level.
13649
13650 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
13651
13652 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
13653 (cuda_errlist): Delete.
13654 (cuda_error): Reimplement.
13655
13656 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
13657
13658 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
13659 array.
13660 * libgomp.map (GOACC_parallel_keyed): New.
13661 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
13662 all callers.
13663 (GOACC_parallel_keyed): New interface. Lose geometry arguments
13664 and take keyed varargs list. Adjust call to exec_func.
13665 (GOACC_parallel): Force host fallback.
13666 * libgomp_g.h (GOACC_parallel): Remove.
13667 (GOACC_parallel_keyed): Declare.
13668 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
13669 (struct targ_gn_descriptor): Replace name field with launch field.
13670 (nvptx_exec): Lose separate geometry args, take array. Process
13671 dynamic dimensions and adjust.
13672 (struct nvptx_tdata): Replace fn_names field with fn_descs.
13673 (GOMP_OFFLOAD_load_image): Adjust for change in function table
13674 data.
13675 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
13676 passing.
13677 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
13678 passing.
13679
13680 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
13681
13682 PR libgomp/67141
13683 * oacc-int.h (goacc_host_init): Add declaration.
13684 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
13685 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
13686
13687 2015-09-08 Aditya Kumar <hiraditya@msn.com>
13688 Sebastian Pop <s.pop@samsung.com>
13689
13690 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
13691 match o/p.
13692 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
13693 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
13694 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
13695 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
13696 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
13697
13698 2015-09-03 Jakub Jelinek <jakub@redhat.com>
13699
13700 * configure.tgt: Add missing ;; in between nvptx and rtems
13701 snippets.
13702
13703 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
13704
13705 * config/posix/pool.h (gomp_adjust_thread_attr): New.
13706 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
13707 (gomp_thread_pool_reservoir): Add priority member.
13708 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
13709 priority.
13710 (parse_thread_pools): Likewise.
13711 * team.c (gomp_team_start): Call configuration provided
13712 gomp_adjust_thread_attr(). Destroy thread attributes if
13713 necessary.
13714 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
13715
13716 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
13717
13718 * config/posix/pool.h: New.
13719 * config/rtems/pool.h: Likewise.
13720 * config/rtems/proc.c: Likewise.
13721 * libgomp.h (gomp_thread_destructor): Declare.
13722 * team.c: Include configuration provided "pool.h".
13723 (gomp_get_thread_pool): Define in configuration.
13724 (gomp_team_end): Call configuration defined
13725 gomp_release_thread_pool().
13726
13727 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
13728
13729 * config/rtems/bar.c: New.
13730 * config/rtems/bar.h: Likewise.
13731 * config/rtems/mutex.c: Likewise.
13732 * config/rtems/mutex.h: Likewise.
13733 * config/rtems/sem.c: Likewise.
13734 * config/rtems/sem.h: Likewise.
13735 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
13736 <sys/lock.h> header file.
13737 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
13738 supported by Newlib.
13739 * configure: Regenerate.
13740
13741 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
13742
13743 * team.c (gomp_new_thread_pool): Delete and move content to ...
13744 (gomp_get_thread_pool): ... new function. Allocate and
13745 initialize thread pool on demand.
13746 (get_last_team): Use gomp_get_thread_pool().
13747 (gomp_team_start): Delete thread pool initialization.
13748
13749 2015-09-03 Tom de Vries <tom@codesourcery.com>
13750
13751 PR tree-optimization/65637
13752 * testsuite/libgomp.c/autopar-2.c: New test.
13753
13754 2015-08-29 Tom de Vries <tom@codesourcery.com>
13755
13756 PR tree-optimization/46193
13757 * testsuite/libgomp.c/pr46193.c: New test.
13758
13759 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
13760
13761 libgomp/
13762 * libgomp.map: Add 4.0.2 version.
13763 * target.c (offload_image_descr): Add version field.
13764 (gomp_load_image_to_device): Add version argument. Adjust plugin
13765 call. Improve load mismatch diagnostic.
13766 (gomp_unload_image_from_device): Add version argument. Adjust plugin
13767 call.
13768 (GOMP_offload_regster): Make stub function, move bulk to ...
13769 (GOMP_offload_register_ver): ... here. Process version argument.
13770 (GOMP_offload_unregister): Make stub function, move bulk to ...
13771 (GOMP_offload_unregister_ver): ... here. Process version argument.
13772 (gomp_init_device): Process version field.
13773 (gomp_unload_device): Process version field.
13774 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
13775 macros. Check plugin version.
13776 * libgomp.h (gomp_device_descr): Add version function field. Adjust
13777 loader and unloader types.
13778 * oacc-host.c: Include gomp-constants.h.
13779 (host_version): New.
13780 (host_load_image, host_unload_image): Adjust.
13781 (host_dispatch): Add host_version.
13782 * plugin/plugin-nvptx.c: Include gomp-constants.h.
13783 (GOMP_OFFLOAD_version): New.
13784 (GOMP_OFFLOAD_load_image): Add version arg and check it.
13785 (GOMP_OFFLOAD_unload_image): Likewise.
13786 * plugin/plugin-host.c: Include gomp-constants.h.
13787 (GOMP_OFFLOAD_version): New.
13788 (GOMP_OFFLOAD_load_image): Add version arg.
13789 (GOMP_OFFLOAD_unload_image): Likewise.
13790
13791 2015-08-24 Tom de Vries <tom@codesourcery.com>
13792
13793 PR tree-optimization/65468
13794 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
13795
13796 2015-08-24 Tom de Vries <tom@codesourcery.com>
13797
13798 PR tree-optimization/65468
13799 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
13800
13801 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
13802
13803 PR libgomp/66761
13804 PR libgomp/67303
13805 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
13806 (gomp_iter_guided_next): Idem.
13807 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
13808 (gomp_iter_ull_guided_next): Idem.
13809 * config/linux/wait.h (do_spin): Idem.
13810
13811 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
13812
13813 * libgomp-plugin.h (enum offload_target_type): Remove
13814 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
13815 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
13816 * openacc.h (enum acc_device_t): Likewise.
13817 * openacc_lib.h: Likewise.
13818 * oacc-init.c (name_of_acc_device_t): Don't handle it.
13819 (acc_on_device): Just use __builtin_acc_on_device.
13820 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
13821 of acc_on_device builtin.
13822 * plugin/plugin-host.h: Remove file.
13823 * plugin/plugin-host.c: Likewise, but salvage some content into...
13824 * oacc-host.c: ... this file.
13825 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
13826 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
13827 * Makefile.in: Regenerate.
13828 * configure: Likewise.
13829 * testsuite/lib/libgomp.exp
13830 (check_effective_target_openacc_host_nonshm_selected): Remove.
13831 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
13832 ACC_DEVICE_TYPE=host_nonshm.
13833 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13834 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
13835 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
13836 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
13837 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
13838 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
13839
13840 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
13841 Jakub Jelinek <jakub@redhat.com>
13842
13843 * config/nvptx/affinity.c: New file.
13844 * config/nvptx/alloc.c: Likewise.
13845 * config/nvptx/bar.c: Likewise.
13846 * config/nvptx/barrier.c: Likewise.
13847 * config/nvptx/critical.c: Likewise.
13848 * config/nvptx/env.c: Likewise.
13849 * config/nvptx/error.c: Likewise.
13850 * config/nvptx/fortran.c: Likewise.
13851 * config/nvptx/iter.c: Likewise.
13852 * config/nvptx/iter_ull.c: Likewise.
13853 * config/nvptx/libgomp-plugin.c: Likewise.
13854 * config/nvptx/lock.c: Likewise.
13855 * config/nvptx/loop.c: Likewise.
13856 * config/nvptx/loop_ull.c: Likewise.
13857 * config/nvptx/mutex.c: Likewise.
13858 * config/nvptx/oacc-async.c: Likewise.
13859 * config/nvptx/oacc-cuda.c: Likewise.
13860 * config/nvptx/oacc-host.c: Likewise.
13861 * config/nvptx/oacc-init.c: Likewise.
13862 * config/nvptx/oacc-mem.c: Likewise.
13863 * config/nvptx/oacc-parallel.c: Likewise.
13864 * config/nvptx/oacc-plugin.c: Likewise.
13865 * config/nvptx/omp-lock.h: Likewise.
13866 * config/nvptx/ordered.c: Likewise.
13867 * config/nvptx/parallel.c: Likewise.
13868 * config/nvptx/proc.c: Likewise.
13869 * config/nvptx/ptrlock.c: Likewise.
13870 * config/nvptx/sections.c: Likewise.
13871 * config/nvptx/sem.c: Likewise.
13872 * config/nvptx/single.c: Likewise.
13873 * config/nvptx/splay-tree.c: Likewise.
13874 * config/nvptx/target.c: Likewise.
13875 * config/nvptx/task.c: Likewise.
13876 * config/nvptx/team.c: Likewise.
13877 * config/nvptx/time.c: Likewise.
13878 * config/nvptx/work.c: Likewise.
13879 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
13880 * configure: Regenerate.
13881 * configure.tgt (config_path): Set to "nvptx" for target
13882 nvptx*-*-*.
13883
13884 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
13885
13886 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
13887
13888 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
13889
13890 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
13891 (cuda_errlist): Constify.
13892 (errmsg): Move into ...
13893 (cuda_error): ... here. Make smaller.
13894 (_XSTR, _STR): Delete.
13895 (cuda_synames): Delete.
13896 (verify_device_library): Delete.
13897 (nvptx_init): Don't call it.
13898
13899 2015-07-28 Tom de Vries <tom@codesourcery.com>
13900
13901 * testsuite/libgomp.c/uns-outer-4.c: New test.
13902
13903 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
13904
13905 * testsuite/libgomp.c/pr66714.c: New test.
13906
13907 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
13908
13909 PR libgomp/66950
13910 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
13911 (fib_ref): New function.
13912 (fib): Correct corner cases in the recursion.
13913 (main): Replace the non-simd loop with fib_ref call.
13914 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
13915 subroutine.
13916 (fibonacci): Lower the parameter N to 30. Correct accordingly check
13917 for the last array element value. Replace the non-simd loop with
13918 fib_ref call. Remove redundant b_ref array. Remove the comparison
13919 of the last array element with according Fibonacci sequence element.
13920 (fib): Correct corner cases in the recursion.
13921
13922 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
13923
13924 * target.c (gomp_offload_image_to_device): Rename to ...
13925 (gomp_load_image_to_device): ... here.
13926 (GOMP_offload_register): Adjust call.
13927 (gomp_init_device): Likewise.
13928 (gomp_unload_image_from_device): New. Broken out of ...
13929 (GOMP_offload_unregister): ... here. Call it.
13930 (gomp_unload_device): New.
13931 * libgomp.h (gomp_unload_device): Declare.
13932 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
13933 mem maps.
13934
13935 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
13936
13937 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
13938 wait=-specific if.
13939 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
13940 !=0 condition.
13941 (goacc_waits): Move !num_waits handling to ...
13942 (GOACC_wait): ... here, the only caller that might have zero waits.
13943
13944 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
13945 (struct ptx_image_data): Move earlier, add fns field.
13946 (struct ptx_device): Add images and image_lock fields.
13947 (ptx_images, ptx_image_lock): Delete.
13948 (nvptx_open_device): Initialize images and image_lock fields.
13949 (nvptx_close_device): Destroy image_lock.
13950 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
13951 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
13952 fields.
13953
13954 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
13955
13956 * target.c (GOMP_offload_register): Use int for device type arg.
13957 (GOMP_offload_unregister): Likewise.
13958
13959 * target.c (struct_offload_image_descr): Constify host_table.
13960 (gomp_offload_image_to_device): Likewise.
13961 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
13962
13963 * libgomp.h (gomp_device_descr): Constify target data arguments.
13964 * target.c (struct offload_image_descr): Constify target_data.
13965 (gomp_offload_image_to_device): Likewise.
13966 (GOMP_offload_register): Likewise.
13967 (GOMP_offload_unregister): Likewise.
13968 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
13969 GOMP_OFFLOAD_unload_image): Constify target data.
13970 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
13971 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
13972
13973 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
13974
13975 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
13976 Workaround driver library const error.
13977 (struct nvptx_tdata, nvptx_tdata_t): New.
13978 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
13979 type.
13980
13981 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
13982
13983 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
13984 of EPS parameter from integer to real.
13985 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
13986 type of EPS parameter from integer to real.
13987
13988 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
13989
13990 * team.c (get_last_team): New.
13991 (gomp_new_team): Recycle last non-nested team if possible.
13992 (gomp_team_end): Move team work share list free lock destruction
13993 to ...
13994 (free_team): ... here.
13995
13996 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
13997
13998 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
13999 and ref from int to double. Replaced their comparison with
14000 an inequality of their difference and EPS.
14001 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
14002 comparison of pri and a reference number with an inequality of their
14003 difference and EPS.
14004 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
14005 the comparison of sum and sum_ref with an inequality of their
14006 difference and EPS.
14007 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
14008 the comparison of pri and a reference number with an inequality of
14009 their difference and EPS.
14010
14011 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
14012
14013 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
14014 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
14015 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
14016 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
14017 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
14018 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
14019 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
14020 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
14021 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
14022 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
14023 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
14024 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
14025 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
14026 variables.
14027 (vec_mult): Likewise. Add #pragma omp taskwait.
14028 (main): Adjust caller.
14029 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
14030 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
14031 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
14032 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
14033 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
14034 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
14035 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
14036 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
14037 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
14038 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
14039 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
14040 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
14041 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
14042 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
14043 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
14044 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
14045 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
14046 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
14047 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
14048 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
14049 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
14050 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
14051 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
14052 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
14053 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
14054 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
14055 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
14056 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
14057 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
14058 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
14059 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
14060 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
14061 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
14062 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
14063 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
14064 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
14065 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
14066 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
14067 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
14068 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
14069 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
14070 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
14071 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
14072 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
14073 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
14074 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
14075 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
14076 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
14077 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
14078 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
14079 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
14080 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
14081 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
14082 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
14083 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
14084 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
14085 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
14086 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
14087 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
14088 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
14089 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
14090 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
14091 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
14092 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
14093 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
14094 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
14095 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
14096 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
14097 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
14098 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
14099 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
14100 (vec_mult): Add !$omp taskwait.
14101 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
14102 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
14103 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
14104 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
14105 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
14106 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
14107 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
14108 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
14109 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
14110 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
14111 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
14112 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
14113 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
14114 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
14115 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
14116 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
14117 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
14118 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
14119 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
14120 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
14121 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
14122 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
14123 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
14124 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
14125 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
14126 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
14127 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
14128 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
14129 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
14130 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
14131 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
14132 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
14133 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
14134 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
14135 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
14136 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
14137 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
14138 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
14139 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
14140 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
14141 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
14142 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
14143 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
14144 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
14145 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
14146 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
14147 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
14148 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
14149 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
14150 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
14151 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
14152 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
14153 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
14154 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
14155 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
14156 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
14157 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
14158 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
14159 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
14160 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
14161 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
14162 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
14163 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
14164 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
14165 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
14166 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
14167 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
14168
14169 2015-07-10 Tom de Vries <tom@codesourcery.com>
14170
14171 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
14172 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
14173
14174 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
14175
14176 PR libgomp/65099
14177 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
14178 in a 64-bit configuration.
14179 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
14180 offloading testing if no such device is available.
14181 * testsuite/libgomp.oacc-c/c.exp: Likewise.
14182 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14183
14184 2015-07-08 Tom de Vries <tom@codesourcery.com>
14185
14186 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
14187 second call to f.
14188 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14189
14190 2015-07-07 Tom de Vries <tom@codesourcery.com>
14191
14192 PR tree-optimization/66642
14193 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
14194 iteration count case.
14195 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
14196 function, factor out of ...
14197 (main): ... here. Test low iteration count case.
14198
14199 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
14200
14201 * libgomp.h (gomp_thread_pool): Comment last_team field.
14202
14203 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
14204
14205 * testsuite/libgomp.c++/pr66702-1.C: Require
14206 vect_simd_clones effective target.
14207 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
14208
14209 2015-06-30 Tom de Vries <tom@codesourcery.com>
14210
14211 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14212 already set. Use DEFAULT_CFLAGS in dg-runtest.
14213 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
14214 "-O2".
14215
14216 2015-06-30 Tom de Vries <tom@codesourcery.com>
14217
14218 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14219 already set. Use DEFAULT_CFLAGS in dg-runtest.
14220 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
14221 * testsuite/libgomp.c++/pr64824.C: Same.
14222 * testsuite/libgomp.c++/pr64868.C: Same.
14223 * testsuite/libgomp.c++/pr66199-1.C: Same.
14224 * testsuite/libgomp.c++/pr66199-2.C: Same.
14225 * testsuite/libgomp.c++/target-2.C: Same.
14226 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
14227 -std=<standard> option.
14228 * testsuite/libgomp.c++/udr-11.C: Same.
14229 * testsuite/libgomp.c++/udr-12.C: Same.
14230 * testsuite/libgomp.c++/udr-13.C: Same.
14231 * testsuite/libgomp.c++/udr-14.C: Same.
14232 * testsuite/libgomp.c++/udr-15.C: Same.
14233 * testsuite/libgomp.c++/udr-16.C: Same.
14234 * testsuite/libgomp.c++/udr-17.C: Same.
14235 * testsuite/libgomp.c++/udr-18.C: Same.
14236 * testsuite/libgomp.c++/udr-19.C: Same.
14237 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
14238 * testsuite/libgomp.c++/simd-1.C: Same.
14239 * testsuite/libgomp.c++/simd-2.C: Same.
14240 * testsuite/libgomp.c++/simd-3.C: Same.
14241 * testsuite/libgomp.c++/simd-4.C: Same.
14242 * testsuite/libgomp.c++/simd-5.C: Same.
14243 * testsuite/libgomp.c++/simd-6.C: Same.
14244 * testsuite/libgomp.c++/simd-7.C: Same.
14245 * testsuite/libgomp.c++/simd-8.C: Same.
14246 * testsuite/libgomp.c++/simd-9.C: Same.
14247 * testsuite/libgomp.c++/simd10.C: Same.
14248 * testsuite/libgomp.c++/simd11.C: Same.
14249 * testsuite/libgomp.c++/simd12.C: Same.
14250 * testsuite/libgomp.c++/simd13.C: Same.
14251
14252 2015-06-30 Jakub Jelinek <jakub@redhat.com>
14253
14254 PR middle-end/66702
14255 * testsuite/libgomp.c++/pr66702-1.C: New test.
14256 * testsuite/libgomp.c++/pr66702-2.C: New test.
14257
14258 2015-06-30 Tom de Vries <tom@codesourcery.com>
14259
14260 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
14261 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
14262 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
14263 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
14264
14265 2015-06-30 Tom de Vries <tom@codesourcery.com>
14266
14267 PR tree-optimization/66652
14268 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
14269 using restrict pointers.
14270 (main): Add arguments to calls to f.
14271 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14272
14273 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
14274
14275 * configure.ac: Fix check for header <sys/sysctl.h>.
14276 * configure: Regenerate.
14277 * config.h.in: Likewise.
14278
14279 2015-06-23 Tom de Vries <tom@codesourcery.com>
14280
14281 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
14282 abort.
14283 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
14284
14285 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
14286
14287 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
14288 acc_device_nvidia.
14289
14290 PR libgomp/66518
14291 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
14292 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14293
14294 2015-06-15 Tom de Vries <tom@codesourcery.com>
14295
14296 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
14297 dg-additional-options for any remaining options.
14298 * testsuite/libgomp.c/atomic-2.c: Same.
14299 * testsuite/libgomp.c/atomic-4.c: Same.
14300 * testsuite/libgomp.c/atomic-5.c: Same.
14301 * testsuite/libgomp.c/atomic-6.c: Same.
14302 * testsuite/libgomp.c/autopar-1.c: Same.
14303 * testsuite/libgomp.c/copyin-1.c: Same.
14304 * testsuite/libgomp.c/copyin-2.c: Same.
14305 * testsuite/libgomp.c/copyin-3.c: Same.
14306 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
14307 * testsuite/libgomp.c/nestedfn-5.c: Same.
14308 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
14309 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
14310 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
14311 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14312 * testsuite/libgomp.c/pr32362-1.c: Same.
14313 * testsuite/libgomp.c/pr32362-2.c: Same.
14314 * testsuite/libgomp.c/pr32362-3.c: Same.
14315 * testsuite/libgomp.c/pr39591-1.c: Same.
14316 * testsuite/libgomp.c/pr39591-2.c: Same.
14317 * testsuite/libgomp.c/pr39591-3.c: Same.
14318 * testsuite/libgomp.c/pr58392.c: Same.
14319 * testsuite/libgomp.c/pr58756.c: Same.
14320 * testsuite/libgomp.c/simd-1.c: Same.
14321 * testsuite/libgomp.c/simd-10.c: Same.
14322 * testsuite/libgomp.c/simd-11.c: Same.
14323 * testsuite/libgomp.c/simd-12.c: Same.
14324 * testsuite/libgomp.c/simd-13.c: Same.
14325 * testsuite/libgomp.c/simd-14.c: Same.
14326 * testsuite/libgomp.c/simd-15.c: Same.
14327 * testsuite/libgomp.c/simd-2.c: Same.
14328 * testsuite/libgomp.c/simd-3.c: Same.
14329 * testsuite/libgomp.c/simd-4.c: Same.
14330 * testsuite/libgomp.c/simd-5.c: Same.
14331 * testsuite/libgomp.c/simd-6.c: Same.
14332 * testsuite/libgomp.c/simd-7.c: Same.
14333 * testsuite/libgomp.c/simd-8.c: Same.
14334 * testsuite/libgomp.c/simd-9.c: Same.
14335
14336 2015-06-15 Tom de Vries <tom@codesourcery.com>
14337
14338 * testsuite/libgomp.c/pr35625.c: Fix typo.
14339
14340 2015-06-15 Tom de Vries <tom@codesourcery.com>
14341
14342 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
14343 in dg-options.
14344 * testsuite/libgomp.c/atomic-3.c: Same.
14345 * testsuite/libgomp.c/debug-1.c: Same.
14346 * testsuite/libgomp.c/nqueens-1.c: Same.
14347 * testsuite/libgomp.c/pr26171.c: Same.
14348 * testsuite/libgomp.c/pr48591.c: Same.
14349 * testsuite/libgomp.c/pr64824.c: Same.
14350 * testsuite/libgomp.c/pr64868.c: Same.
14351 * testsuite/libgomp.c/pr66133.c: Same.
14352 * testsuite/libgomp.c/pr66199-1.c: Same.
14353 * testsuite/libgomp.c/pr66199-2.c: Same.
14354 * testsuite/libgomp.c/target-8.c: Same.
14355
14356 2015-06-15 Tom de Vries <tom@codesourcery.com>
14357
14358 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
14359 -std={gnu99,c99}.
14360 * testsuite/libgomp.c/for-1.c: Same.
14361 * testsuite/libgomp.c/for-2.c: Same.
14362 * testsuite/libgomp.c/for-3.c: Same.
14363 * testsuite/libgomp.c/pr35625.c: Same.
14364 * testsuite/libgomp.c/pr39154.c: Same.
14365 * testsuite/libgomp.c/simd-16.c: Same.
14366 * testsuite/libgomp.c/simd-17.c: Same.
14367
14368 2015-06-13 Tom de Vries <tom@codesourcery.com>
14369
14370 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
14371
14372 2015-06-13 Tom de Vries <tom@codesourcery.com>
14373
14374 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
14375 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14376 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
14377 (N): Define.
14378 (main): Use N instead of hardcoded constants.
14379
14380 2015-06-05 Tom de Vries <tom@codesourcery.com>
14381
14382 merge from gomp4 branch:
14383 2015-05-28 Tom de Vries <tom@codesourcery.com>
14384
14385 PR tree-optimization/65443
14386 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
14387 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
14388 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
14389
14390 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14391
14392 * testsuite/libgomp.graphite/bounds.c: Adjust for
14393 cleanup-tree-dump removal.
14394 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
14395 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14396 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14397 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
14398 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14399 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14400 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14401 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14402 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14403 * testsuite/libgomp.graphite/pr41118.c: Likewise.
14404
14405 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
14406
14407 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
14408 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
14409 (futex_wake) [!__x86_64__]: Ditto.
14410
14411 2015-05-28 Julian Brown <julian@codesourcery.com>
14412
14413 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
14414 function comment. Only call gomp_fatal if new argument is true.
14415 (acc_dev_num_out_of_range): New function.
14416 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
14417 acc_dev_num_out_of_range as appropriate.
14418 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
14419 (acc_get_device_num, acc_set_device_num): Update calls to
14420 resolve_device.
14421 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
14422 output.
14423
14424 2015-05-28 Julian Brown <julian@codesourcery.com>
14425
14426 PR libgomp/65742
14427 * oacc-init.c (plugin/plugin-host.h): Include.
14428 (acc_on_device): Check whether we're in an offloaded region for
14429 host_nonshm
14430 plugin. Don't use __builtin_acc_on_device.
14431 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
14432 nonshm_exec flag in thread-local data.
14433 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
14434 data for host_nonshm plugin.
14435 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
14436 for host_nonshm plugin.
14437 * plugin/plugin-host.h: New.
14438
14439 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
14440
14441 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
14442
14443 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
14444
14445 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
14446 Declare as int.
14447 (FUTEX_PRIVATE_FLAG): Remove L suffix.
14448 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
14449 Declare as int.
14450
14451 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
14452
14453 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
14454
14455 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
14456
14457 * target.c (gomp_map_pointer): New function abstracting out
14458 GOMP_MAP_POINTER handling.
14459 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
14460 gomp_map_pointer().
14461
14462 2015-05-19 Jakub Jelinek <jakub@redhat.com>
14463
14464 PR middle-end/66199
14465 * testsuite/libgomp.c/pr66199-1.c: New test.
14466 * testsuite/libgomp.c/pr66199-2.c: New test.
14467 * testsuite/libgomp.c++/pr66199-1.C: New test.
14468 * testsuite/libgomp.c++/pr66199-2.C: New test.
14469 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
14470 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
14471
14472 2015-05-19 Julian Brown <julian@codesourcery.com>
14473
14474 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
14475 on cuInit failure.
14476
14477 2015-05-13 Jakub Jelinek <jakub@redhat.com>
14478
14479 PR middle-end/66133
14480 * testsuite/libgomp.c/pr66133.c: New test.
14481
14482 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
14483
14484 * Makefile.in: Regenerated with automake-1.11.6.
14485 * aclocal.m4: Likewise.
14486 * config.h.in: Likewise.
14487 * configure: Likewise.
14488 * testsuite/Makefile.in: Likewise.
14489
14490 2015-05-08 Jason Merrill <jason@redhat.com>
14491
14492 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
14493 _Complex.
14494
14495 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
14496
14497 2015-05-06 Julian Brown <julian@codesourcery.com>
14498
14499 * oacc-init.c (acc_device_lock): Add explanatory comment.
14500 (resolve_device): Add comment about locking requirement.
14501 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
14502 gomp_init_device and gomp_fini_device calls.
14503 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
14504 (acc_get_device_num, acc_set_device_num): Add locking around
14505 resolve_device and gomp_init_device calls.
14506
14507 2015-05-06 Julian Brown <julian@codesourcery.com>
14508
14509 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
14510 goacc_thread_lock on error paths.
14511 * oacc-mem.c (lookup_host): Remove locking from function. Note
14512 locking requirement for caller in function comment.
14513 (lookup_dev): Likewise.
14514 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
14515 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
14516 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
14517 Add locking.
14518
14519 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
14520
14521 PR testsuite/65205
14522 PR libgomp/65993
14523 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
14524 don't expect "0x" prefix for "%p" format specifier, don't expect
14525 "(nil)" for NULL pointer.
14526 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14527 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14528 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14529 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14530 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14531 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14532 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14533 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14534 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14535 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14536 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14537 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14538 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14539 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14540 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14541 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14542 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14543 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14544 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14545 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14546 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14547 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14548 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14549 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14550 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14551 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14552 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14553 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14554 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
14555 accurately specify what we're looking for.
14556 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14557 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14558 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14559 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14560 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14561
14562 2015-04-30 James Norris <jnorris@codesourcery.com>
14563
14564 PR testsuite/65205
14565 * testsuite/lib/libgomp.exp
14566 (check_effective_target_openacc_host_selected)
14567 (check_effective_target_openacc_host_nonshm_selected): New
14568 procedures.
14569 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
14570 dg-shouldfail.
14571 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14572 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14573 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14574 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14575 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14576 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14577 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14578 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14579 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14580 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14581 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14582 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14583 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14584 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14585 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14586 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14587 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14588 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14589 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14590 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14591 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14592 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14593 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14594 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14595 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14596 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14597 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14598 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14599 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14600 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14601 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14602 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14603 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14604 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14605 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14606 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14607 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14608 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14609 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14610 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14611 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14612 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14613 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14614
14615 2015-04-08 Julian Brown <julian@codesourcery.com>
14616
14617 * libgomp.h (target_mem_desc: Remove mem_map field.
14618 (acc_dispatch_t): Remove open_device_func, close_device_func,
14619 get_device_num_func, set_device_num_func, target_data members.
14620 Change create_thread_data_func argument to device number instead of
14621 generic pointer.
14622 * oacc-async.c (assert.h): Include.
14623 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
14624 (acc_wait_all, acc_wait_all_async): Use current host thread's
14625 active device, not base_dev.
14626 * oacc-cuda.c (acc_get_current_cuda_device)
14627 (acc_get_current_cuda_context, acc_get_cuda_stream)
14628 (acc_set_cuda_stream): Likewise.
14629 * oacc-host.c (host_dispatch): Don't set open_device_func,
14630 close_device_func, get_device_num_func or set_device_num_func.
14631 * oacc-init.c (base_dev, init_key): Remove.
14632 (cached_base_dev): New.
14633 (name_of_acc_device_t): New.
14634 (acc_init_1): Initialise default-numbered device, not zeroth.
14635 (acc_shutdown_1): Close all devices of a given type.
14636 (goacc_destroy_thread): Don't use base_dev.
14637 (lazy_open, lazy_init, lazy_init_and_open): Remove.
14638 (goacc_attach_host_thread_to_device): New.
14639 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
14640 (acc_get_num_devices): Don't use base_dev.
14641 (acc_set_device_type): Reimplement.
14642 (acc_get_device_type): Don't use base_dev.
14643 (acc_get_device_num): Tweak logic.
14644 (acc_set_device_num): Likewise.
14645 (acc_on_device): Use acc_get_device_type.
14646 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
14647 (goacc_lazy_initialize): Reimplement with acc_init and
14648 goacc_attach_host_thread_to_device.
14649 * oacc-int.h (goacc_thread): Add base_dev field.
14650 (base_dev): Remove extern declaration.
14651 (goacc_attach_host_thread_to_device): Add prototype.
14652 * oacc-mem.c (acc_malloc): Use current thread's device instead of
14653 base_dev.
14654 (acc_free): Likewise.
14655 (acc_memcpy_to_device): Likewise.
14656 (acc_memcpy_from_device): Likewise.
14657 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
14658 goacc_lazy_initialize (throughout).
14659 (GOACC_parallel): Use tgt_offset to locate target functions.
14660 * target.c (gomp_map_vars): Don't set tgt->mem_map.
14661 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
14662 (gomp_load_plugin_for_device): Remove open_device, close_device,
14663 get_device_num, set_device_num openacc hook initialisation. Don't set
14664 openacc.target_data.
14665 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
14666 (GOMP_OFFLOAD_openacc_close_device)
14667 (GOMP_OFFLOAD_openacc_get_device_num)
14668 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
14669 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
14670 to int.
14671 * plugin/plugin-nvptx.c (ptx_inited): Remove.
14672 (instantiated_devices, ptx_dev_lock): New.
14673 (struct ptx_image_data): New.
14674 (ptx_devices, ptx_images, ptx_image_lock): New.
14675 (fini_streams_for_device): Reorder cuStreamDestroy call.
14676 (nvptx_get_num_devices): Remove forward declaration.
14677 (nvptx_init): Change return type to bool.
14678 (nvptx_fini): Remove.
14679 (nvptx_attach_host_thread_to_device): New.
14680 (nvptx_open_device): Return struct ptx_device* instead of void*.
14681 (nvptx_close_device): Change argument type to struct ptx_device*,
14682 return type to void.
14683 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
14684 (kernel_target_data, kernel_host_table): Remove static globals.
14685 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
14686 (GOMP_OFFLOAD_init_device): Reimplement.
14687 (GOMP_OFFLOAD_fini_device): Likewise.
14688 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
14689 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
14690 (GOMP_OFFLOAD_host2dev): Use ORD argument.
14691 (GOMP_OFFLOAD_openacc_open_device)
14692 (GOMP_OFFLOAD_openacc_close_device)
14693 (GOMP_OFFLOAD_openacc_set_device_num)
14694 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
14695 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
14696 (device number).
14697
14698 testsuite/
14699 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
14700
14701 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
14702
14703 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
14704 * libgomp.h (struct gomp_memory_mapping): Remove.
14705 (struct target_mem_desc): Change type of mem_map from
14706 gomp_memory_mapping * to splay_tree_s *.
14707 (struct gomp_device_descr): Remove register_image_func, get_table_func.
14708 Add load_image_func, unload_image_func.
14709 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
14710 Remove offload_regions_registered.
14711 (gomp_init_tables): Remove.
14712 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
14713 to splay_tree_s *.
14714 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
14715 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
14716 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
14717 offload_regions_registered.
14718 Initialize load_image_func, unload_image_func, mem_map.root.
14719 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
14720 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
14721 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
14722 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
14723 gomp_memory_mapping *. Use dev's lock and splay_tree.
14724 (lookup_dev): Use dev's lock.
14725 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
14726 (acc_is_present): Likewise.
14727 (acc_map_data): Likewise.
14728 (acc_unmap_data): Likewise. Use dev's lock.
14729 (present_create_copy): Likewise.
14730 (delete_copyout): Pass dev to lookup_host instead of mem_map.
14731 (update_dev_host): Likewise.
14732 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
14733 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
14734 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
14735 (GOMP_OFFLOAD_get_table): Remove
14736 (GOMP_OFFLOAD_load_image): New function.
14737 (GOMP_OFFLOAD_unload_image): New function.
14738 * target.c (register_lock): New mutex for offload image registration.
14739 (num_devices): Do not guard with PLUGIN_SUPPORT.
14740 (gomp_realloc_unlock): New static function.
14741 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
14742 before gomp_fatal.
14743 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
14744 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
14745 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
14746 mem_map's.
14747 (gomp_unmap_vars): Likewise.
14748 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
14749 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
14750 (gomp_offload_image_to_device): New static function.
14751 (GOMP_offload_register): Add mutex lock.
14752 Call gomp_offload_image_to_device for all initialized devices.
14753 Replace gomp_realloc with gomp_realloc_unlock.
14754 (GOMP_offload_unregister): New function.
14755 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
14756 get_table_func from the plugin with calls to init_device_func and
14757 gomp_offload_image_to_device.
14758 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
14759 to splay_tree_s *.
14760 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
14761 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
14762 (GOMP_target_data): Do not call gomp_init_tables.
14763 (GOMP_target_update): Likewise. Remove argument from gomp_update.
14764 (gomp_load_plugin_for_device): Replace register_image and get_table
14765 with load_image and unload_image in DLSYM ().
14766 (gomp_register_images_for_device): Remove function.
14767 (gomp_target_init): Do not initialize current_device.mem_map.*,
14768 current_device.offload_regions_registered.
14769 Remove call to gomp_register_images_for_device.
14770 Do not free offload_images and num_offload_images.
14771
14772 2015-03-30 Jakub Jelinek <jakub@redhat.com>
14773
14774 PR fortran/65597
14775 * testsuite/libgomp.fortran/pr65597.f90: New test.
14776
14777 2015-03-27 Tom de Vries <tom@codesourcery.com>
14778
14779 PR testsuite/65594
14780 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
14781 (init, check): New function.
14782 (foo): Change return type to void.
14783 (main): Call init and check.
14784
14785 2015-03-27 Tom de Vries <tom@codesourcery.com>
14786
14787 PR testsuite/65594
14788 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
14789 (foo): Use M for non-inner loops to scale down test-case.
14790
14791 2015-03-25 Kai Tietz <ktietz@redhat.com>
14792
14793 PR libgomp/64972
14794 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
14795 (GOACC_data_start): Likewise.
14796 * target.c (gomp_map_vars): Likewise.
14797
14798 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
14799
14800 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
14801 hppa*-*-hpux*.
14802
14803 2015-03-19 Jakub Jelinek <jakub@redhat.com>
14804
14805 * testsuite/libgomp.c/target-10.c: New test.
14806 * testsuite/libgomp.c++/target-4.C: New test.
14807
14808 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
14809
14810 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
14811 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
14812
14813 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
14814
14815 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
14816 * configure.ac (*-*-rtems*): Assume Pthread is supported.
14817 (pthread.h): Check for this header file.
14818 * configure: Regenerate.
14819
14820 2015-02-25 Tom de Vries <tom@codesourcery.com>
14821
14822 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
14823 (check_reduction_op, check_reduction_macro, max, min):
14824 Declare.
14825 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
14826 function.
14827 (main): Use new functions.
14828
14829 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
14830
14831 * target.c (gomp_load_plugin_for_device): Use const char * instead of
14832 char * for variables holding dlerror return values.
14833 (DLSYM_OPT): Ditto.
14834
14835 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
14836
14837 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
14838
14839 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
14840 Cesar Philippidis <cesar@codesourcery.com>
14841
14842 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
14843 GOACC_ctaid, and GOACC_nctaid routines.
14844
14845 2015-02-11 Jakub Jelinek <jakub@redhat.com>
14846
14847 PR c/64824
14848 * testsuite/libgomp.c/atomic-18.c: New test.
14849 * testsuite/libgomp.c++/atomic-16.C: New test.
14850
14851 2015-02-04 Jakub Jelinek <jakub@redhat.com>
14852
14853 PR c/64824
14854 PR c/64868
14855 * testsuite/libgomp.c/pr64824.c: New test.
14856 * testsuite/libgomp.c/pr64868.c: New test.
14857 * testsuite/libgomp.c++/pr64824.C: New test.
14858 * testsuite/libgomp.c++/pr64868.C: New test.
14859
14860 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
14861
14862 PR libgomp/64635
14863 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
14864 Link with -lpthread.
14865 * config/aix/plugin-suffix.h: Delete.
14866
14867 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
14868
14869 PR libgomp/64635
14870 * configure.tgt (*-*-aix*): Use config_path "aix posix".
14871 (*-*-darwin*): Use config_path "bsd darwin posix".
14872 (*-*-hpux*): Use config_path "hpux posix".
14873 * target.c: Add include of plugin-suffix.h and use
14874 SONAME_SUFFIX macro.
14875 * config/aix/plugin-suffix.h: New file.
14876 * config/darwin/plugin-suffix.h: New file.
14877 * config/hpux/plugin-suffix.h: New file.
14878 * config/posix/plugin-suffix.h: New file.
14879
14880 2015-01-23 Jakub Jelinek <jakub@redhat.com>
14881
14882 PR middle-end/64734
14883 * libgomp.c/pr64734.c: New test.
14884
14885 2015-01-23 Tom de Vries <tom@codesourcery.com>
14886
14887 PR libgomp/64672
14888 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
14889
14890 2015-01-23 Tom de Vries <tom@codesourcery.com>
14891
14892 PR libgomp/64707
14893 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
14894 dg-options.
14895
14896 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
14897
14898 PR libgomp/64625
14899 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
14900 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
14901 formal parameter. Update all users.
14902 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
14903 Document unused formal parameter.
14904
14905 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
14906
14907 * oacc-parallel.c: Don't include <alloca.h>.
14908 (GOACC_parallel): Use gomp_alloca instead of alloca.
14909
14910 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
14911
14912 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
14913
14914 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
14915 James Norris <jnorris@codesourcery.com>
14916 Tom de Vries <tom@codesourcery.com>
14917 Julian Brown <julian@codesourcery.com>
14918 Cesar Philippidis <cesar@codesourcery.com>
14919 Nathan Sidwell <nathan@codesourcery.com>
14920 Tobias Burnus <burnus@net-b.de>
14921
14922 * Makefile.am (search_path): Add $(top_srcdir)/../include.
14923 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
14924 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
14925 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
14926 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
14927 Include $(top_srcdir)/plugin/Makefrag.am.
14928 (nodist_libsubinclude_HEADERS): Add openacc.h.
14929 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
14930 openacc.f90, openacc.mod, openacc_kinds.mod.
14931 (omp_lib.mod): Generalize into...
14932 (%.mod): ... this new rule.
14933 (openacc_kinds.mod, openacc.mod): New rules.
14934 * plugin/configfrag.ac: New file.
14935 * configure.ac: Move plugin/offloading support into it. Include
14936 it. Instantiate testsuite/libgomp-test-support.pt.exp.
14937 * plugin/Makefrag.am: New file.
14938 * testsuite/Makefile.am (OFFLOAD_TARGETS)
14939 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
14940 export.
14941 (libgomp-test-support.exp): New rule.
14942 (all-local): Depend on it.
14943 * Makefile.in: Regenerate.
14944 * testsuite/Makefile.in: Regenerate.
14945 * config.h.in: Likewise.
14946 * configure: Likewise.
14947 * configure.tgt: Harden shell syntax.
14948 * env.c: Include "oacc-int.h".
14949 (parse_acc_device_type): New function.
14950 (gomp_debug_var, goacc_device_type, goacc_device_num): New
14951 variables.
14952 (initialize_env): Initialize those. Call
14953 goacc_runtime_initialize.
14954 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
14955 (gomp_fatal): Call gomp_vfatal.
14956 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
14957 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
14958 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
14959 (splay_tree_node, splay_tree, splay_tree_key)
14960 (struct target_mem_desc, struct splay_tree_key_s)
14961 (struct gomp_memory_mapping, struct acc_dispatch_t)
14962 (struct gomp_device_descr, gomp_acc_insert_pointer)
14963 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
14964 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
14965 (gomp_free_memmap, gomp_fini_device): New declarations.
14966 (gomp_vdebug, gomp_debug): New macros.
14967 Include "splay-tree.h".
14968 * libgomp.map (OACC_2.0): New symbol version. Use for
14969 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
14970 acc_set_device_type_h_, acc_get_device_type,
14971 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
14972 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
14973 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
14974 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
14975 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
14976 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
14977 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
14978 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
14979 acc_copyin_array_h_, acc_present_or_copyin,
14980 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
14981 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
14982 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
14983 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
14984 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
14985 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
14986 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
14987 acc_update_device, acc_update_device_32_h_,
14988 acc_update_device_64_h_, acc_update_device_array_h_,
14989 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
14990 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
14991 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
14992 acc_is_present_64_h_, acc_is_present_array_h_,
14993 acc_memcpy_to_device, acc_memcpy_from_device,
14994 acc_get_current_cuda_device, acc_get_current_cuda_context,
14995 acc_get_cuda_stream, acc_set_cuda_stream.
14996 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
14997 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
14998 GOACC_update, GOACC_wait, GOACC_get_thread_num,
14999 GOACC_get_num_threads.
15000 (GOMP_PLUGIN_1.0): New symbol version. Use for
15001 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
15002 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
15003 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
15004 GOMP_PLUGIN_acc_thread.
15005 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
15006 environment variable.
15007 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
15008 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
15009 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
15010 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
15011 (splay_tree_remove): New declarations.
15012 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
15013 (splay_tree_remove, splay_tree_lookup): Move into...
15014 * splay-tree.c: ... this new file.
15015 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
15016 (splay_tree_node, splay_tree, splay_tree_key)
15017 (struct target_mem_desc, struct splay_tree_key_s)
15018 (struct gomp_device_descr): Don't declare.
15019 (num_devices_openmp): New variable.
15020 (gomp_get_num_devices ): Use it.
15021 (gomp_init_targets_once): New function.
15022 (gomp_get_num_devices ): Use it.
15023 (get_kind, gomp_copy_from_async, gomp_free_memmap)
15024 (gomp_fini_device, gomp_register_image_for_device): New functions.
15025 (gomp_map_vars): Add devaddrs parameter.
15026 (gomp_update): Add mm parameter.
15027 (gomp_init_device): Move most of it into...
15028 (gomp_init_tables): ... this new function.
15029 (gomp_register_images_for_device): Remove function.
15030 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
15031 Make them hidden instead of static.
15032 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
15033 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
15034 (GOMP_target_end_data, GOMP_target_update)
15035 (gomp_load_plugin_for_device, gomp_target_init): Update for
15036 OpenACC changes.
15037 * oacc-async.c: New file.
15038 * oacc-cuda.c: Likewise.
15039 * oacc-host.c: Likewise.
15040 * oacc-init.c: Likewise.
15041 * oacc-int.h: Likewise.
15042 * oacc-mem.c: Likewise.
15043 * oacc-parallel.c: Likewise.
15044 * oacc-plugin.c: Likewise.
15045 * oacc-plugin.h: Likewise.
15046 * oacc-ptx.h: Likewise.
15047 * openacc.f90: Likewise.
15048 * openacc.h: Likewise.
15049 * openacc_lib.h: Likewise.
15050 * plugin/plugin-host.c: Likewise.
15051 * plugin/plugin-nvptx.c: Likewise.
15052 * libgomp-plugin.c: Likewise.
15053 * libgomp-plugin.h: Likewise.
15054 * libgomp_target.h: Remove file after merging content into the
15055 former file. Update all users.
15056 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
15057 (offload_targets_s, offload_targets_s_openacc): New variables.
15058 (check_effective_target_openacc_nvidia_accel_present)
15059 (check_effective_target_openacc_nvidia_accel_selected): New
15060 procedures.
15061 (libgomp_init): Update for OpenACC changes.
15062 * testsuite/libgomp-test-support.exp.in: New file.
15063 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
15064 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15065 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15066 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
15067 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
15068 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
15069 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
15070 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15071 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
15072 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
15073 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
15074 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
15075 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
15076 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
15077 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
15078 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
15079 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
15080 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
15081 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
15082 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
15083 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
15084 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
15085 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
15086 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
15087 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15088 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
15089 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
15090 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
15091 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
15092 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
15093 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15094 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
15095 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
15096 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
15097 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
15098 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15099 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
15100 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15101 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
15102 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
15103 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
15104 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
15105 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15106 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15107 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15108 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
15109 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15110 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15111 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15112 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15113 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15114 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
15115 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15116 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15117 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15118 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15119 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15120 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15121 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15122 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
15123 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
15124 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
15125 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15126 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15127 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15128 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
15129 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
15130 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15131 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15132 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15133 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
15134 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15135 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15136 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15137 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
15138 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
15139 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15140 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15141 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
15142 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
15143 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
15144 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
15145 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15146 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15147 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15148 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
15149 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
15150 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15151 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15152 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
15153 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
15154 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
15155 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
15156 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15157 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15158 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15159 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15160 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
15161 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15162 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15163 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
15164 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
15165 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
15166 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15167 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
15168 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
15169 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
15170 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
15171 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
15172 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15173 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
15174 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
15175 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15176 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
15177 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
15178 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
15179 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
15180 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
15181 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
15182 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
15183 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
15184 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
15185 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
15186 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
15187 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
15188 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
15189 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
15190 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
15191 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
15192 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
15193 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
15194 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
15195 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15196 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
15197 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
15198 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
15199 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
15200 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
15201 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
15202 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
15203 Likewise.
15204 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
15205 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
15206 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
15207 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
15208 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
15209 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
15210 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
15211 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15212 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15213 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15214 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
15215 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
15216 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
15217 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
15218 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
15219 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
15220 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
15221 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
15222 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
15223 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
15224 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
15225 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
15226 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
15227 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
15228 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
15229 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
15230 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15231 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15232 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
15233 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
15234 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
15235 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
15236 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
15237 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15238 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
15239 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
15240 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
15241 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
15242 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
15243 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
15244 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
15245 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
15246 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
15247 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
15248 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
15249 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
15250 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
15251 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
15252 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
15253 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
15254 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
15255 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
15256 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
15257 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
15258 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
15259 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
15260 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
15261 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
15262 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
15263 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
15264
15265 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
15266 Julian Brown <julian@codesourcery.com>
15267 David Malcolm <dmalcolm@redhat.com>
15268
15269 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
15270 to "GNU Offloading and Multi Processing Runtime Library". Change
15271 all users.
15272 * configure: Regenerate.
15273 * libgomp.texi: Update.
15274
15275 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
15276
15277 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
15278 "$tgt_dir/lib32".
15279 * configure: Regenerate.
15280
15281 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
15282 "intelmic" in $offload_targets.
15283
15284 2015-01-05 Jakub Jelinek <jakub@redhat.com>
15285
15286 Update copyright years.
15287
15288 * libgomp.texi: Bump @copying's copyright year.
15289
15290 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15291
15292 * testsuite/lib/libgomp.exp: Load target-utils.exp.
15293 Move load of target-supports.exp earlier.
15294
15295 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
15296
15297 * testsuite/libgomp.c/target-9.c: New test.
15298
15299 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
15300
15301 * config.h.in: Regenerate.
15302 * configure: Regenerate.
15303 * configure.ac: Add GCC_CHECK_EMUTLS.
15304 * libgomp.h: Add check for USE_EMUTLS: this case
15305 is equal to HAVE_TLS.
15306 * team.c: Likewise.
15307
15308 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
15309
15310 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
15311
15312 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
15313 Ilya Verbin <ilya.verbin@intel.com>
15314
15315 * testsuite/libgomp.c/target-critical-1.c: New test.
15316
15317 2014-11-26 Jakub Jelinek <jakub@redhat.com>
15318
15319 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
15320 to dg-options unless expensive testing is on.
15321 (TESTITERS): Define to N if not defined.
15322 (main): Use TESTITERS instead of N.
15323 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
15324 dg-additional-options depending on whether expensive testing is on.
15325 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
15326 Decrease N to 100000 and CHUNKSZ to 10000.
15327
15328 2014-11-24 Jakub Jelinek <jakub@redhat.com>
15329
15330 PR fortran/63938
15331 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
15332 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
15333
15334 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
15335
15336 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
15337
15338 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
15339
15340 PR bootstrap/63784
15341 * configure: Regenerated.
15342
15343 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
15344
15345 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
15346 vect_simd_clones effective target.
15347 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
15348
15349 2014-11-14 Jakub Jelinek <jakub@redhat.com>
15350
15351 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
15352 of 32 as block_size.
15353 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
15354 instead of 32 as block_size.
15355
15356 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
15357 Ilya Verbin <ilya.verbin@intel.com>
15358
15359 * Makefile.in: Regenerate.
15360 * configure: Regenerate.
15361 * configure.ac: Set up offload_additional_options,
15362 offload_additional_lib_paths and offload_targets.
15363 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
15364 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
15365 * testsuite/Makefile.in: Regenerate.
15366 * testsuite/lib/libgomp.exp (libgomp_init): Append
15367 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
15368 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
15369 build directory to LD_LIBRARY_PATH for intelmic offload targets.
15370
15371 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
15372 Ilya Verbin <ilya.verbin@intel.com>
15373 Kirill Yukhin <kirill.yukhin@intel.com>
15374 Ilya Tocar <ilya.tocar@intel.com>
15375
15376 * testsuite/lib/libgomp.exp
15377 (check_effective_target_offload_device): New.
15378 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
15379 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
15380 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
15381 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
15382 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
15383 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
15384 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
15385 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
15386 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
15387 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
15388 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
15389 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
15390 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
15391 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
15392 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
15393 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
15394 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
15395 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
15396 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
15397 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
15398 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
15399 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
15400 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
15401 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
15402 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
15403 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
15404 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
15405 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
15406 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
15407 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
15408 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
15409 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
15410 * testsuite/libgomp.c/target-7.c: Fix test.
15411 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
15412 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
15413 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
15414 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
15415 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
15416 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
15417 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
15418 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
15419 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
15420 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
15421 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
15422 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
15423 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
15424 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
15425 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
15426 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
15427 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
15428 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
15429 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
15430 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
15431 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
15432 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
15433 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
15434 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
15435 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
15436 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
15437 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
15438 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
15439 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
15440 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
15441 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
15442
15443 2014-11-13 Jakub Jelinek <jakub@redhat.com>
15444 Ilya Verbin <ilya.verbin@intel.com>
15445 Thomas Schwinge <thomas@codesourcery.com>
15446 Andrey Turetskiy <andrey.turetskiy@intel.com>
15447
15448 * libgomp.map (GOMP_4.0.1): New symbol version.
15449 Add GOMP_offload_register.
15450 * libgomp_target.h: New file.
15451 * splay-tree.h: New file.
15452 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
15453 (gomp_target_init): New forward declaration.
15454 (gomp_is_initialized): New static variable.
15455 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
15456 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
15457 New structures.
15458 (offload_images, num_offload_images, devices, num_devices): New static
15459 variables.
15460 (splay_compare): New static function.
15461 (struct gomp_device_descr): New structure.
15462 (gomp_get_num_devices): Call gomp_target_init.
15463 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
15464 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
15465 (GOMP_offload_register): New function.
15466 (GOMP_target): Arrange for host callback to be performed in a separate
15467 initial thread and contention group, inheriting ICVs from
15468 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
15469 Add device initialization and lookup for target function in splay tree.
15470 (GOMP_target_data): Add device initialization and call gomp_map_vars.
15471 (GOMP_target_end_data): Call gomp_unmap_vars.
15472 (GOMP_target_update): Add device initialization and call gomp_update.
15473 (gomp_load_plugin_for_device, gomp_register_images_for_device)
15474 (gomp_target_init): New static functions.
15475
15476 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
15477 Thomas Schwinge <thomas@codesourcery.com>
15478 Ilya Verbin <ilya.verbin@intel.com>
15479 Andrey Turetskiy <andrey.turetskiy@intel.com>
15480
15481 * config.h.in: Regenerate.
15482 * configure: Regenerate.
15483 * configure.ac: Check for libdl, required for plugin support.
15484 (PLUGIN_SUPPORT): Define if plugins are supported.
15485 (enable_offload_targets): Support Intel MIC targets.
15486 (OFFLOAD_TARGETS): List of target names suitable for offloading.
15487
15488 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15489
15490 PR target/63610
15491 * configure: Regenerate.
15492
15493 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15494
15495 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
15496
15497 2014-10-06 Marek Polacek <polacek@redhat.com>
15498
15499 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
15500 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
15501 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
15502 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
15503
15504 2014-10-06 Marek Polacek <polacek@redhat.com>
15505
15506 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
15507 * testsuite/libgomp.c/nqueens-1.c: Likewise.
15508 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15509 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15510 * testsuite/libgomp.c/pr36802-2.c: Likewise.
15511 * testsuite/libgomp.c/pr36802-3.c: Likewise.
15512 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
15513 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
15514 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
15515 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
15516 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
15517 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
15518 * testsuite/libgomp.c/omp-single-1.c: Likewise.
15519 * testsuite/libgomp.c/omp-single-2.c: Likewise.
15520 * testsuite/libgomp.c/omp_matvec.c: Likewise.
15521 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
15522 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
15523 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
15524 declarations.
15525
15526 2014-10-03 Jakub Jelinek <jakub@redhat.com>
15527
15528 PR libgomp/61200
15529 * testsuite/libgomp.c/pr61200.c: New test.
15530
15531 2014-09-18 Jakub Jelinek <jakub@redhat.com>
15532
15533 PR c++/63248
15534 * testsuite/libgomp.c++/pr63248.C: New test.
15535
15536 2014-08-04 Jakub Jelinek <jakub@redhat.com>
15537
15538 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
15539 is not zero, but taskgroup->children is NULL and there are
15540 any task->children, schedule those instead of waiting.
15541 * testsuite/libgomp.c/depend-6.c: New test.
15542 * testsuite/libgomp.c/depend-7.c: New test.
15543 * testsuite/libgomp.c/depend-8.c: New test.
15544 * testsuite/libgomp.c/depend-9.c: New test.
15545 * testsuite/libgomp.c/depend-10.c: New test.
15546
15547 2014-08-01 Jakub Jelinek <jakub@redhat.com>
15548
15549 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
15550 (struct gomp_taskwait): New type.
15551 (struct gomp_task): Add taskwait and parent_depends_on, remove
15552 in_taskwait and taskwait_sem fields.
15553 (gomp_finish_task): Don't destroy taskwait_sem.
15554 * task.c (gomp_init_task): Don't init in_taskwait, instead init
15555 taskwait and parent_depends_on.
15556 (GOMP_task): For if (0) tasks with depend clause that depend on
15557 earlier tasks don't defer them, instead call
15558 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
15559 Initialize redundant_out field, for redundant out entries just
15560 move them at the end of linked list instead of removing them
15561 completely, and set redundant_out flag instead of redundant.
15562 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
15563 that task.
15564 (gomp_task_run_post_handle_dependers): If parent is in
15565 gomp_task_maybe_wait_for_dependencies and newly runnable task
15566 is not parent_depends_on, queue it in parent->children linked
15567 list after all runnable tasks with parent_depends_on set.
15568 Adjust for addition of taskwait indirection.
15569 (gomp_task_run_post_remove_parent): If parent is in
15570 gomp_task_maybe_wait_for_dependencies and task to be removed
15571 is parent_depends_on, decrement n_depend and if needed awake
15572 parent. Adjust for addition of taskwait indirection.
15573 (GOMP_taskwait): Adjust for addition of taskwait indirection.
15574 (gomp_task_maybe_wait_for_dependencies): New function.
15575 * testsuite/libgomp.c/depend-5.c: New test.
15576
15577 2014-07-13 Tobias Burnus <burnus@net-b.de>
15578
15579 * testsuite/libgomp.fortran/pr34020.f90: Make compile
15580 with TS 18508/Fortran 2015.
15581
15582 2014-07-06 Marek Polacek <polacek@redhat.com>
15583
15584 PR c/6940
15585 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
15586
15587 2014-07-03 Jakub Jelinek <jakub@redhat.com>
15588
15589 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
15590 matches regex $lang_source_re, add $lang_include_flags to options.
15591 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
15592 * testsuite/libgomp.c++/c++.exp: Likewise.
15593 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
15594 and lang_include_flags instead of adding -fintrinsic-modules-path= to
15595 ALWAYS_CFLAGS.
15596 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
15597
15598 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
15599
15600 * testsuite/libgomp.fortran/fortran.exp: Explain
15601 gfortran-dg-runtest usage.
15602
15603 2014-06-25 Jakub Jelinek <jakub@redhat.com>
15604
15605 * testsuite/libgomp.fortran/simd5.f90: New test.
15606 * testsuite/libgomp.fortran/simd6.f90: New test.
15607 * testsuite/libgomp.fortran/simd7.f90: New test.
15608
15609 2014-06-24 Jakub Jelinek <jakub@redhat.com>
15610
15611 * testsuite/libgomp.c/for-2.c: Define SC to static for
15612 #pragma omp for simd testing.
15613 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
15614 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
15615 SC macro.
15616 * testsuite/libgomp.c/simd-14.c: New test.
15617 * testsuite/libgomp.c/simd-15.c: New test.
15618 * testsuite/libgomp.c/simd-16.c: New test.
15619 * testsuite/libgomp.c/simd-17.c: New test.
15620 * testsuite/libgomp.c++/for-10.C: Define SC to static for
15621 #pragma omp for simd testing.
15622 * testsuite/libgomp.c++/simd10.C: New test.
15623 * testsuite/libgomp.c++/simd11.C: New test.
15624 * testsuite/libgomp.c++/simd12.C: New test.
15625 * testsuite/libgomp.c++/simd13.C: New test.
15626
15627 * testsuite/libgomp.fortran/aligned1.f03: New test.
15628 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
15629 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
15630 tasks with !$omp parallel !$omp single.
15631 * testsuite/libgomp.fortran/target8.f90: New test.
15632 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
15633 not to use trim in the combiner, instead call elemental function.
15634 (fn): New elemental function.
15635 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
15636 Make elemental.
15637 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
15638 omp_in): Likewise.
15639 * testsuite/libgomp.fortran/udr12.f90: New test.
15640 * testsuite/libgomp.fortran/udr13.f90: New test.
15641 * testsuite/libgomp.fortran/udr14.f90: New test.
15642 * testsuite/libgomp.fortran/udr15.f90: New test.
15643
15644 2014-06-18 Jakub Jelinek <jakub@redhat.com>
15645
15646 * omp_lib.f90.in (openmp_version): Set to 201307.
15647 * omp_lib.h.in (openmp_version): Likewise.
15648 * testsuite/libgomp.c/target-8.c: New test.
15649 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
15650 and inbranch clauses.
15651 * testsuite/libgomp.fortran/depend-3.f90: New test.
15652 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
15653 openmp_version.
15654 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
15655 * testsuite/libgomp.fortran/target1.f90: New test.
15656 * testsuite/libgomp.fortran/target2.f90: New test.
15657 * testsuite/libgomp.fortran/target3.f90: New test.
15658 * testsuite/libgomp.fortran/target4.f90: New test.
15659 * testsuite/libgomp.fortran/target5.f90: New test.
15660 * testsuite/libgomp.fortran/target6.f90: New test.
15661 * testsuite/libgomp.fortran/target7.f90: New test.
15662
15663 2014-06-10 Jakub Jelinek <jakub@redhat.com>
15664
15665 PR fortran/60928
15666 * testsuite/libgomp.fortran/allocatable9.f90: New test.
15667 * testsuite/libgomp.fortran/allocatable10.f90: New test.
15668 * testsuite/libgomp.fortran/allocatable11.f90: New test.
15669 * testsuite/libgomp.fortran/allocatable12.f90: New test.
15670 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
15671 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
15672 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
15673 * testsuite/libgomp.fortran/associate1.f90: New test.
15674 * testsuite/libgomp.fortran/associate2.f90: New test.
15675 * testsuite/libgomp.fortran/procptr1.f90: New test.
15676
15677 2014-06-06 Jakub Jelinek <jakub@redhat.com>
15678
15679 * testsuite/libgomp.fortran/simd1.f90: New test.
15680 * testsuite/libgomp.fortran/udr1.f90: New test.
15681 * testsuite/libgomp.fortran/udr2.f90: New test.
15682 * testsuite/libgomp.fortran/udr3.f90: New test.
15683 * testsuite/libgomp.fortran/udr4.f90: New test.
15684 * testsuite/libgomp.fortran/udr5.f90: New test.
15685 * testsuite/libgomp.fortran/udr6.f90: New test.
15686 * testsuite/libgomp.fortran/udr7.f90: New test.
15687 * testsuite/libgomp.fortran/udr8.f90: New test.
15688 * testsuite/libgomp.fortran/udr9.f90: New test.
15689 * testsuite/libgomp.fortran/udr10.f90: New test.
15690 * testsuite/libgomp.fortran/udr11.f90: New test.
15691
15692 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
15693
15694 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
15695 vect_simd_clones effective target.
15696 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
15697
15698 2014-05-21 Jakub Jelinek <jakub@redhat.com>
15699
15700 PR middle-end/61252
15701 * testsuite/libgomp.c++/simd-9.C: New test.
15702
15703 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
15704
15705 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
15706 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
15707 texts according to their @menu entry positions.
15708
15709 2014-05-11 Jakub Jelinek <jakub@redhat.com>
15710
15711 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
15712 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
15713 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
15714 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
15715 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
15716 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
15717 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
15718 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
15719 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
15720 * testsuite/libgomp.fortran/depend-1.f90: New test.
15721 * testsuite/libgomp.fortran/depend-2.f90: New test.
15722 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
15723 * testsuite/libgomp.fortran/simd1.f90: New test.
15724 * testsuite/libgomp.fortran/simd2.f90: New test.
15725 * testsuite/libgomp.fortran/simd3.f90: New test.
15726 * testsuite/libgomp.fortran/simd4.f90: New test.
15727 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
15728
15729 2014-05-02 Jakub Jelinek <jakub@redhat.com>
15730
15731 * testsuite/libgomp.c/simd-10.c: New test.
15732 * testsuite/libgomp.c/simd-11.c: New test.
15733 * testsuite/libgomp.c/simd-12.c: New test.
15734 * testsuite/libgomp.c/simd-13.c: New test.
15735
15736 2014-04-24 Jakub Jelinek <jakub@redhat.com>
15737
15738 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
15739 atomic type clauses in any order and optional comma in between.
15740 * testsuite/libgomp.c++/atomic-15.C: Likewise.
15741 * testsuite/libgomp.c/atomic-17.c: Likewise.
15742
15743 * testsuite/libgomp.c/simd-7.c: New test.
15744 * testsuite/libgomp.c/simd-8.c: New test.
15745 * testsuite/libgomp.c/simd-9.c: New test.
15746 * testsuite/libgomp.c/loop-16.c: New test.
15747
15748 2014-04-02 Richard Henderson <rth@redhat.com>
15749
15750 * config/linux/futex.h (futex_wait): Get error value from errno.
15751 (futex_wake): Likewise.
15752
15753 2014-03-25 Jakub Jelinek <jakub@redhat.com>
15754
15755 PR c++/60331
15756 * testsuite/libgomp.c++/udr-11.C: New test.
15757 * testsuite/libgomp.c++/udr-12.C: New test.
15758 * testsuite/libgomp.c++/udr-13.C: New test.
15759 * testsuite/libgomp.c++/udr-14.C: New test.
15760 * testsuite/libgomp.c++/udr-15.C: New test.
15761 * testsuite/libgomp.c++/udr-16.C: New test.
15762 * testsuite/libgomp.c++/udr-17.C: New test.
15763 * testsuite/libgomp.c++/udr-18.C: New test.
15764 * testsuite/libgomp.c++/udr-19.C: New test.
15765
15766 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
15767
15768 Update copyright years
15769
15770 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
15771
15772 * hashtab.h: Use the standard form for the copyright notice.
15773
15774 2014-01-02 Tobias Burnus <burnus@net-b.de>
15775
15776 * libgomp.texi: Bump @copying's copyright year.
15777
15778 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
15779
15780 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
15781 alloca () with __builtin_alloca ().
15782 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
15783 * testsuite/libgomp.c/lock-3.c: Likewise.
15784 * testsuite/libgomp.c/pr48591.c: Likewise.
15785
15786 2013-12-17 Jakub Jelinek <jakub@redhat.com>
15787
15788 PR testsuite/59534
15789 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
15790 comparisons.
15791
15792 2013-12-16 Jakub Jelinek <jakub@redhat.com>
15793
15794 PR libgomp/58756
15795 * testsuite/libgomp.c/pr58756.c: New test.
15796
15797 2013-12-12 Jakub Jelinek <jakub@redhat.com>
15798
15799 PR libgomp/59467
15800 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
15801 !$omp parallel.
15802
15803 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
15804
15805 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
15806 ALWAYS_CFLAGS.
15807 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
15808 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
15809 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
15810 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
15811 Likewise.
15812
15813 * libgomp_g.h: Include <stddef.h> for size_t.
15814
15815 * libgomp.spec.in: Update comment about libgomp's dependencies.
15816 * configure.ac: Likewise.
15817 * configure: Regenerate.
15818
15819 2013-10-16 Tobias Burnus <burnus@net-b.de>
15820
15821 * libgomp.texi: (Runtime Library Routines): Update references for
15822 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
15823 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
15824 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
15825 (Environment Variables): Update references for OpenMP 4.0. Add
15826 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
15827 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
15828 order.
15829
15830 2013-10-14 Jakub Jelinek <jakub@redhat.com>
15831
15832 * env.c (parse_bind_var): Initialize value to avoid
15833 (false positive) warning.
15834
15835 2013-10-12 Jakub Jelinek <jakub@redhat.com>
15836
15837 PR libgomp/58691
15838 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
15839 to check variable.
15840 (gomp_init_num_threads): Move i variable declaration into
15841 #ifdef CPU_ALLOC_SIZE block.
15842 * config/linux/affinity.c (gomp_affinity_init_level): Test
15843 gomp_places_list_len == 0 rather than gomp_places_list == 0
15844 when checking for topology reading error.
15845 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
15846 * env.c (parse_affinity): Add ignore argument, if true, don't populate
15847 gomp_places_list, only parse env var and always return false.
15848 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
15849 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
15850 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
15851 and either of these variables were parsed correctly into a places
15852 list.
15853
15854 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
15855 Jakub Jelinek <jakub@redhat.com>
15856
15857 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
15858 of 5 loopfn matches.
15859 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
15860 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
15861 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
15862 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
15863 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
15864 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
15865 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
15866 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
15867
15868 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
15869
15870 * Makefile.am (omp_lib.mod): Streamline rule.
15871 * Makefile.in: Regenerate.
15872
15873 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
15874 exceptions.
15875
15876 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
15877 * testsuite/libgomp.fortran/lib1.f90: Likewise.
15878 * testsuite/libgomp.fortran/lib2.f: Likewise.
15879 * testsuite/libgomp.fortran/lib3.f: Likewise.
15880
15881 * configure.ac: Typo fix.
15882 * configure: Regenerate.
15883
15884 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
15885 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
15886
15887 * omp.h.in: Don't touch the user's namespace.
15888
15889 2013-10-11 Jakub Jelinek <jakub@redhat.com>
15890 Tobias Burnus <burnus@net-b.de>
15891 Richard Henderson <rth@redhat.com>
15892
15893 * target.c: New file.
15894 * Makefile.am (libgomp_la_SOURCES): Add target.c.
15895 * Makefile.in: Regenerated.
15896 * libgomp_g.h (GOMP_task): Add depend argument.
15897 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
15898 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
15899 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
15900 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
15901 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
15902 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
15903 GOMP_taskgroup_start, GOMP_taskgroup_end,
15904 GOMP_parallel_sections): New prototypes.
15905 * fortran.c (omp_is_initial_device): Add ialias_redirect.
15906 (omp_is_initial_device_): New function.
15907 (ULP, STR1, STR2, ialias_redirect): Removed.
15908 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
15909 omp_set_default_device_8_, omp_get_default_device_,
15910 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
15911 functions.
15912 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
15913 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
15914 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
15915 @@GOMP_4.0.
15916 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
15917 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
15918 omp_set_default_device, omp_set_default_device_,
15919 omp_set_default_device_8_, omp_get_default_device,
15920 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
15921 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
15922 omp_get_team_num_): Export @@OMP_4.0.
15923 * team.c (struct gomp_thread_start_data): Add place field.
15924 (gomp_thread_start): Clear thr->thread_pool and
15925 thr->task before returning. Use gomp_team_barrier_wait_final
15926 instead of gomp_team_barrier_wait. Initialize thr->place.
15927 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
15928 team_cancelled and task_queued_count fields.
15929 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
15930 before calling pthread_exit.
15931 (gomp_free_thread): No longer static. Use
15932 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
15933 (gomp_team_start): Add flags argument. Set
15934 thr->thread_pool->threads_busy to nthreads immediately after creating
15935 new pool. Use gomp_managed_threads_lock instead of
15936 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
15937 (gomp_team_end): Use gomp_managed_threads_lock instead of
15938 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
15939 of gomp_team_barrier_wait. If team->team_cancelled, call
15940 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
15941 rather than thr->ts.work_share.
15942 (initialize_team): Don't call gomp_sem_init here.
15943 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
15944 caller.
15945 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
15946 * env.c (gomp_global_icv): Add default_device_var, target_data and
15947 bind_var initializers.
15948 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
15949 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
15950 gomp_places_list_len): New variables.
15951 (parse_bind_var, parse_one_place, parse_places_var): New functions.
15952 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
15953 sized places.
15954 (gomp_cancel_var): New global variable.
15955 (parse_int): New function.
15956 (handle_omp_display_env): New function.
15957 (initialize_env): Use it. Initialize default_device_var.
15958 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
15959 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
15960 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
15961 been successfully parsed (and call gomp_init_affinity in that case).
15962 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
15963 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
15964 omp_get_team_num, omp_is_initial_device): New functions.
15965 * libgomp.h: Include stdlib.h.
15966 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
15967 Define.
15968 (struct target_mem_desc): Forward declare.
15969 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
15970 and thread_limit_var fields.
15971 (gomp_get_num_devices): New prototype.
15972 (gomp_cancel_var): New extern decl.
15973 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
15974 team_cancelled and task_queued_count fields. Add comments about
15975 task_{,queued_,running_}count.
15976 (gomp_cancel_kind): New enum.
15977 (gomp_work_share_end_cancel): New prototype.
15978 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
15979 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
15980 and depend fields.
15981 (struct gomp_taskgroup): New type.
15982 (struct gomp_task_depend_entry,
15983 struct gomp_dependers_vec): New types.
15984 (gomp_finish_task): Free depend_hash if non-NULL.
15985 (struct gomp_team_state): Add place_partition_off
15986 and place_partition_len fields.
15987 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
15988 gomp_places_list_len): New extern decls.
15989 (struct gomp_thread): Add place field.
15990 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
15991 (gomp_init_thread_affinity): Add place argument.
15992 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
15993 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
15994 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
15995 gomp_affinity_init_level, gomp_affinity_print_place): New
15996 prototypes.
15997 (gomp_team_start): Add flags argument.
15998 (gomp_thread_limit_var, gomp_remaining_threads_count,
15999 gomp_remaining_threads_lock): Remove.
16000 (gomp_managed_threads_lock): New variable.
16001 (struct gomp_thread_pool): Add threads_busy field.
16002 (gomp_free_thread): New prototype.
16003 * task.c: Include hashtab.h.
16004 (hash_entry_type): New typedef.
16005 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
16006 (gomp_init_task): Clear dependers, depend_hash, depend_count,
16007 copy_ctors_done and taskgroup fields.
16008 (GOMP_task): Add depend argument, handle depend clauses. If
16009 gomp_team_barrier_cancelled or if it's taskgroup has been
16010 cancelled, don't queue or start new tasks. Set copy_ctors_done
16011 field if needed. Initialize taskgroup field. If copy_ctors_done
16012 and already cancelled, don't discard the task. If taskgroup is
16013 non-NULL, enqueue the task into taskgroup queue. Increment
16014 num_children field in taskgroup. Increment task_queued_count.
16015 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
16016 gomp_task_run_post_remove_taskgroup): New inline functions.
16017 (gomp_task_run_post_handle_depend_hash,
16018 gomp_task_run_post_handle_dependers,
16019 gomp_task_run_post_handle_depend): New functions.
16020 (GOMP_taskwait): Use them. If more than one new tasks
16021 have been queued, wake other threads if needed.
16022 (gomp_barrier_handle_tasks): Likewise. If
16023 gomp_team_barrier_cancelled, don't start any new tasks, just free
16024 all tasks.
16025 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
16026 * omp_lib.f90.in
16027 (omp_proc_bind_kind, omp_proc_bind_false,
16028 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16029 omp_proc_bind_spread): New params.
16030 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16031 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16032 omp_get_team_num, omp_is_initial_device): New interfaces.
16033 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
16034 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
16035 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
16036 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
16037 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
16038 useless use omp_lib_kinds.
16039 * omp.h.in (omp_proc_bind_t): New typedef.
16040 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16041 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16042 omp_get_team_num, omp_is_initial_device): New prototypes.
16043 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
16044 through to gomp_team_start.
16045 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
16046 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
16047 Adjust gomp_parallel_loop_start callers.
16048 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16049 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16050 GOMP_loop_end_cancel): New functions.
16051 (GOMP_parallel_end): Add ialias_redirect.
16052 * hashtab.h: New file.
16053 * libgomp.texi (Environment Variables): Minor cleanup,
16054 update section refs to OpenMP 4.0rc2.
16055 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
16056 environment variables.
16057 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
16058 team->work_shares_to_free to thr->ts.work_share before calling
16059 free_work_share.
16060 (gomp_work_share_end_cancel): New function.
16061 * config/linux/proc.c: Include errno.h.
16062 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
16063 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
16064 sizeof (cpu_set_t) to determine number of iterations. Fix up check
16065 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
16066 gomp_cpuset_size is sizeof (cpu_set_t).
16067 (gomp_init_num_threads): Initialize gomp_cpuset_size,
16068 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
16069 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
16070 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
16071 contain any logical CPUs.
16072 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
16073 is NULL. Use gomp_cpusetp instead of &cpuset and pass
16074 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
16075 pthread_getaffinity_np. Check gomp_places_list instead of
16076 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
16077 * config/linux/bar.c (gomp_barrier_wait_end,
16078 gomp_barrier_wait_last): Use BAR_* defines.
16079 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
16080 from state where needed. Set work_share_cancelled to 0 on last
16081 thread.
16082 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
16083 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
16084 functions.
16085 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
16086 Add cpusetsize argument.
16087 (gomp_cpuset_size, gomp_cpusetp): Declare.
16088 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
16089 (affinity_counter): Remove.
16090 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
16091 if CPU_ALLOC_SIZE isn't defined.
16092 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
16093 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
16094 bind current thread to the first place.
16095 (gomp_init_thread_affinity): Rewritten. Add place argument, just
16096 pthread_setaffinity_np to gomp_places_list[place].
16097 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16098 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16099 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16100 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
16101 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16102 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16103 (gomp_barrier_t): Add awaited_final field.
16104 (gomp_barrier_init): Initialize awaited_final field.
16105 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
16106 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
16107 prototypes.
16108 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
16109 defines.
16110 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
16111 gomp_team_barrier_cancelled): New inline functions.
16112 (gomp_barrier_last_thread,
16113 gomp_team_barrier_set_task_pending,
16114 gomp_team_barrier_clear_task_pending,
16115 gomp_team_barrier_set_waiting_for_tasks,
16116 gomp_team_barrier_waiting_for_tasks,
16117 gomp_team_barrier_done): Use BAR_* defines.
16118 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
16119 (gomp_barrier_wait_end): Use BAR_* defines.
16120 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
16121 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
16122 Use BAR_* defines.
16123 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
16124 gomp_team_barrier_cancel): New functions.
16125 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
16126 argument.
16127 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16128 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16129 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16130 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
16131 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16132 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16133 (gomp_barrier_t): Add cancellable field.
16134 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
16135 gomp_team_barrier_cancel): New prototypes.
16136 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
16137 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
16138 gomp_team_barrier_cancelled): New inline functions.
16139 (gomp_barrier_wait_start, gomp_barrier_last_thread,
16140 gomp_team_barrier_set_task_pending,
16141 gomp_team_barrier_clear_task_pending,
16142 gomp_team_barrier_set_waiting_for_tasks,
16143 gomp_team_barrier_waiting_for_tasks,
16144 gomp_team_barrier_done): Use BAR_* defines.
16145 * barrier.c (GOMP_barrier_cancel): New function.
16146 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
16147 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16148 omp_proc_bind_spread): New params.
16149 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16150 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16151 omp_get_team_num, omp_is_initial_device): New externals.
16152 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
16153 New functions.
16154 (gomp_resolve_num_threads): Adjust for thread_limit now being in
16155 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
16156 infinity. If not nested, just return minimum of max_num_threads
16157 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
16158 to the returned value. Otherwise, don't update atomically
16159 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
16160 (GOMP_parallel_end): Adjust for thread_limit now being in
16161 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
16162 infinity. Adjust threads_busy in the pool rather than
16163 gomp_remaining_threads_count. Remember team->nthreads and call
16164 gomp_team_end before adjusting threads_busy, if not nested
16165 afterwards, just set it to 1 non-atomically. Add ialias.
16166 (GOMP_parallel_start): Adjust gomp_team_start caller.
16167 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
16168 * testsuite/libgomp.c/affinity-1.c: New test.
16169 * testsuite/libgomp.c/atomic-15.c: New test.
16170 * testsuite/libgomp.c/atomic-16.c: New test.
16171 * testsuite/libgomp.c/atomic-17.c: New test.
16172 * testsuite/libgomp.c/cancel-for-1.c: New test.
16173 * testsuite/libgomp.c/cancel-for-2.c: New test.
16174 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
16175 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
16176 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
16177 * testsuite/libgomp.c/cancel-sections-1.c: New test.
16178 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
16179 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
16180 * testsuite/libgomp.c/depend-1.c: New test.
16181 * testsuite/libgomp.c/depend-2.c: New test.
16182 * testsuite/libgomp.c/depend-3.c: New test.
16183 * testsuite/libgomp.c/depend-4.c: New test.
16184 * testsuite/libgomp.c/for-1.c: New test.
16185 * testsuite/libgomp.c/for-1.h: New file.
16186 * testsuite/libgomp.c/for-2.c: New test.
16187 * testsuite/libgomp.c/for-2.h: New file.
16188 * testsuite/libgomp.c/for-3.c: New test.
16189 * testsuite/libgomp.c/pr58392.c: New test.
16190 * testsuite/libgomp.c/simd-1.c: New test.
16191 * testsuite/libgomp.c/simd-2.c: New test.
16192 * testsuite/libgomp.c/simd-3.c: New test.
16193 * testsuite/libgomp.c/simd-4.c: New test.
16194 * testsuite/libgomp.c/simd-5.c: New test.
16195 * testsuite/libgomp.c/simd-6.c: New test.
16196 * testsuite/libgomp.c/target-1.c: New test.
16197 * testsuite/libgomp.c/target-2.c: New test.
16198 * testsuite/libgomp.c/target-3.c: New test.
16199 * testsuite/libgomp.c/target-4.c: New test.
16200 * testsuite/libgomp.c/target-5.c: New test.
16201 * testsuite/libgomp.c/target-6.c: New test.
16202 * testsuite/libgomp.c/target-7.c: New test.
16203 * testsuite/libgomp.c/taskgroup-1.c: New test.
16204 * testsuite/libgomp.c/thread-limit-1.c: New test.
16205 * testsuite/libgomp.c/thread-limit-2.c: New test.
16206 * testsuite/libgomp.c/thread-limit-3.c: New test.
16207 * testsuite/libgomp.c/udr-1.c: New test.
16208 * testsuite/libgomp.c/udr-2.c: New test.
16209 * testsuite/libgomp.c/udr-3.c: New test.
16210 * testsuite/libgomp.c++/affinity-1.C: New test.
16211 * testsuite/libgomp.c++/atomic-10.C: New test.
16212 * testsuite/libgomp.c++/atomic-11.C: New test.
16213 * testsuite/libgomp.c++/atomic-12.C: New test.
16214 * testsuite/libgomp.c++/atomic-13.C: New test.
16215 * testsuite/libgomp.c++/atomic-14.C: New test.
16216 * testsuite/libgomp.c++/atomic-15.C: New test.
16217 * testsuite/libgomp.c++/cancel-for-1.C: New test.
16218 * testsuite/libgomp.c++/cancel-for-2.C: New test.
16219 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
16220 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
16221 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
16222 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
16223 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
16224 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
16225 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
16226 * testsuite/libgomp.c++/cancel-test.h: New file.
16227 * testsuite/libgomp.c++/for-9.C: New test.
16228 * testsuite/libgomp.c++/for-10.C: New test.
16229 * testsuite/libgomp.c++/for-11.C: New test.
16230 * testsuite/libgomp.c++/simd-1.C: New test.
16231 * testsuite/libgomp.c++/simd-2.C: New test.
16232 * testsuite/libgomp.c++/simd-3.C: New test.
16233 * testsuite/libgomp.c++/simd-4.C: New test.
16234 * testsuite/libgomp.c++/simd-5.C: New test.
16235 * testsuite/libgomp.c++/simd-6.C: New test.
16236 * testsuite/libgomp.c++/simd-7.C: New test.
16237 * testsuite/libgomp.c++/simd-8.C: New test.
16238 * testsuite/libgomp.c++/target-1.C: New test.
16239 * testsuite/libgomp.c++/target-2.C: New test.
16240 * testsuite/libgomp.c++/target-2-aux.cc: New file.
16241 * testsuite/libgomp.c++/target-3.C: New test.
16242 * testsuite/libgomp.c++/taskgroup-1.C: New test.
16243 * testsuite/libgomp.c++/udr-1.C: New test.
16244 * testsuite/libgomp.c++/udr-2.C: New test.
16245 * testsuite/libgomp.c++/udr-3.C: New test.
16246 * testsuite/libgomp.c++/udr-4.C: New test.
16247 * testsuite/libgomp.c++/udr-5.C: New test.
16248 * testsuite/libgomp.c++/udr-6.C: New test.
16249 * testsuite/libgomp.c++/udr-7.C: New test.
16250 * testsuite/libgomp.c++/udr-8.C: New test.
16251 * testsuite/libgomp.c++/udr-9.C: New test.
16252
16253 2013-09-20 Jakub Jelinek <jakub@redhat.com>
16254
16255 PR testsuite/57605
16256 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
16257 ALWAYS_CFLAGS.
16258
16259 2013-09-20 Alan Modra <amodra@gmail.com>
16260
16261 * configure: Regenerate.
16262
16263 2013-09-19 Jakub Jelinek <jakub@redhat.com>
16264
16265 * testsuite/libgomp.c/sections-2.c: New test.
16266
16267 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
16268
16269 * testsuite/libgomp.fortran/strassen.f90:
16270 Add dg-skip-if aarch64_tiny.
16271
16272 2013-06-20 Iain Sandoe <iain@codesourcery.com>
16273 Cesar Philippidis <cesar@codesourcery.com>
16274
16275 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
16276 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
16277 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
16278 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16279 * testsuite/libgomp.graphite/graphite.exp: Likewise.
16280 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
16281 Use dg-runtest rather than gfortran-dg-runtest.
16282
16283 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
16284
16285 * testsuite/libgomp.c/icv-2.c: Extend current handling of
16286 Linux-based x86 systems to cover all GNU systems.
16287 * testsuite/libgomp.c/lock-3.c: Likewise.
16288 * testsuite/libgomp.c/pr48591.c: Likewise.
16289
16290 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
16291
16292 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
16293 GNU/Hurd, as done for Linux-based systems.
16294
16295 * config/posix/ptrlock.h: Fix comment.
16296
16297 2013-05-27 Tobias Burnus <burnus@net-b.de>
16298
16299 PR fortran/57423
16300 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
16301 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
16302 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
16303 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
16304 omp_destroy_nest_lock): Correct arguments to match the one in
16305 the OpenMP spec.
16306 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
16307 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
16308 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
16309 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
16310
16311 2013-05-16 Jakub Jelinek <jakub@redhat.com>
16312
16313 * testsuite/libgomp.c/loop-13.c: New test.
16314 * testsuite/libgomp.c/loop-14.c: New test.
16315 * testsuite/libgomp.c/loop-15.c: New test.
16316 * testsuite/libgomp.c++/loop-13.C: New test.
16317 * testsuite/libgomp.c++/loop-14.C: New test.
16318 * testsuite/libgomp.c++/loop-15.C: New test.
16319
16320 2013-02-06 Jakub Jelinek <jakub@redhat.com>
16321
16322 PR middle-end/56217
16323 * testsuite/libgomp.c++/pr56217.C: New test.
16324
16325 2013-02-01 Alan Modra <amodra@gmail.com>
16326
16327 * task.c (GOMP_task, GOMP_taskwait): Comment.
16328
16329 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
16330 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
16331
16332 PR libgomp/55561
16333 * config/linux/wait.h (do_spin): Use atomic load for addr.
16334 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
16335 for intptr and ptrlock.
16336 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
16337 for ptrlock.
16338
16339 2013-01-22 Alan Modra <amodra@gmail.com>
16340
16341 PR libgomp/51376
16342 PR libgomp/56073
16343 * task.c (GOMP_task): Revert 2011-12-09 change.
16344 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
16345 barrier to read task->children..
16346 (gomp_barrier_handle_tasks): ..and matching atomic store with
16347 release barrier here when setting parent->children to NULL.
16348
16349 2013-01-16 Jakub Jelinek <jakub@redhat.com>
16350 Tobias Burnus <burnus@net-b.de>
16351
16352 PR driver/55884
16353 * testsuite/libgomp.fortran/fortran.exp: Use
16354 -fintrinsic-modules-path= instead of
16355 -fintrinsic-modules-path.
16356
16357 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
16358
16359 Update copyright years.
16360
16361 2012-12-19 Tobias Burnus <burnus@net-b.de>
16362
16363 * testsuite/libgomp.fortran/fortran.exp: Set
16364 -fintrinsic-modules-path.
16365
16366 2012-12-19 Tobias Burnus <burnus@net-b.de>
16367
16368 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
16369 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
16370
16371 2012-11-21 Jakub Jelinek <jakub@redhat.com>
16372
16373 PR libgomp/55411
16374 * team.c (gomp_free_thread): Decrease gomp_managed_threads
16375 if pool had any threads_used.
16376
16377 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
16378
16379 * testsuite/libgomp.c++/pr24455.C: Use
16380 -Wl,-undefined,dynamic_lookup on darwin.
16381
16382 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
16383
16384 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
16385
16386 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
16387
16388 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
16389
16390 2012-10-23 Ian Bolton <ian.bolton@arm.com>
16391 Jim MacArthur <jim.macarthur@arm.com>
16392 Marcus Shawcroft <marcus.shawcroft@arm.com>
16393 Nigel Stephens <nigel.stephens@arm.com>
16394 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16395 Richard Earnshaw <rearnsha@arm.com>
16396 Sofiane Naci <sofiane.naci@arm.com>
16397 Stephen Thomas <stephen.thomas@arm.com>
16398 Tejas Belagod <tejas.belagod@arm.com>
16399 Yufeng Zhang <yufeng.zhang@arm.com>
16400
16401 * configure.tgt: Add AArch64.
16402
16403 2012-10-04 Jason Merrill <jason@redhat.com>
16404
16405 * testsuite/libgomp.c++/tls-init1.C: New.
16406
16407 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
16408
16409 * configure: Regenerated.
16410
16411 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
16412
16413 * config/linux/mips/futex.h (sys_futex0): Change to static
16414 function with noinline, nomips16 attributes under MIPS16. Adjust
16415 asm statement to place 'li v0,SYS_futex' immediately before
16416 syscall insn.
16417
16418 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
16419
16420 * libgomp.texi (Library Index): Renamed from "Index" to prevent
16421 conflict with index.html on case-insensitive file systems.
16422
16423 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
16424
16425 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
16426 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
16427
16428 2012-07-02 Richard Guenther <rguenther@suse.de>
16429 Michael Matz <matz@suse.de>
16430 Tobias Grosser <tobias@grosser.es>
16431 Sebastian Pop <sebpop@gmail.com>
16432
16433 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
16434 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16435 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16436 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16437
16438 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
16439
16440 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
16441
16442 2012-06-22 Richard Guenther <rguenther@suse.de>
16443
16444 Merge from graphite branch
16445 2012-01-13 Tobias Grosser <tobias@grosser.es>
16446
16447 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
16448 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16449
16450 2012-06-07 Jakub Jelinek <jakub@redhat.com>
16451
16452 PR middle-end/53580
16453 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
16454 use GOMP_barrier () call instead.
16455 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16456 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16457 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
16458 call GOMP_barrier instead.
16459 * testsuite/libgomp.fortran/vla5.f90: Likewise.
16460
16461 2012-06-06 Jakub Jelinek <jakub@redhat.com>
16462
16463 PR libgomp/52993
16464 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
16465 argument to memset call.
16466
16467 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
16468
16469 * configure: Regenerated.
16470
16471 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
16472
16473 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
16474
16475 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
16476
16477 PR bootstrap/52812
16478 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
16479
16480 2012-03-22 Jakub Jelinek <jakub@redhat.com>
16481
16482 PR middle-end/52547
16483 * testsuite/libgomp.c/pr52547.c: New test.
16484
16485 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
16486
16487 * testsuite/lib/libgomp.exp: load fortran-modules.exp
16488
16489 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16490
16491 * configure.tgt (mips-sgi-irix6*): Remove.
16492
16493 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16494
16495 * configure.tgt (alpha*-dec-osf*): Remove.
16496
16497 * config/osf/sem.h: Remove.
16498 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
16499
16500 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
16501
16502 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
16503
16504 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16505
16506 PR libstdc++/52188
16507 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
16508 Remove ENABLE_SYMVERS_SOL2.
16509 * configure: Regenerate.
16510 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
16511 (PREPROCESS): New variable.
16512 (libgomp.ver): New target.
16513 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
16514 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
16515 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
16516 Use libgomp.ver.
16517 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
16518 * Makefile.in: Regenerate.
16519
16520 2012-02-14 Walter Lee <walt@tilera.com>
16521
16522 * configure.tgt: Handle tilegx and tilepro.
16523 * config/linux/tile/futex.h: New file.
16524
16525 2012-02-08 Richard Guenther <rguenther@suse.de>
16526
16527 PR tree-optimization/46886
16528 * testsuite/libgomp.c/pr46886.c: New testcase.
16529
16530 2012-01-25 Matthias Klose <doko@ubuntu.com>
16531
16532 * config/linux/arm: Remove empty directory.
16533 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
16534
16535 2011-12-09 Alan Modra <amodra@gmail.com>
16536
16537 PR libgomp/51376
16538 * task.c (GOMP_taskwait): Don't access task->children outside of
16539 task_lock mutex region.
16540 (GOMP_task): Likewise.
16541
16542 2011-12-06 Jakub Jelinek <jakub@redhat.com>
16543
16544 PR libgomp/51132
16545 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
16546 to file scope.
16547 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16548 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16549 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16550 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16551 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16552
16553 2011-12-02 Alan Modra <amodra@gmail.com>
16554
16555 * config/linux/affinity.c: Use atomic rather than sync builtin.
16556 * config/linux/lock.c: Likewise.
16557 * config/linux/ptrlock.h: Likewise.
16558 * config/linux/ptrlock.c: Likewise.
16559 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
16560 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
16561 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
16562 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
16563 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
16564 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
16565 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
16566 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
16567 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
16568 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
16569
16570 2011-11-30 Alan Modra <amodra@gmail.com>
16571
16572 PR libgomp/51298
16573 * config/linux/bar.h: Use atomic rather than sync builtins.
16574 * config/linux/bar.c: Likewise. Add missing acquire
16575 synchronisation on generation field.
16576 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
16577 double unlock.
16578
16579 2011-11-30 Alan Modra <amodra@gmail.com>
16580
16581 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
16582 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
16583 * config/linux/mutex.h: Use atomic rather than sync builtins.
16584 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
16585 * config/linux/omp-lock.h: Comment fix.
16586 * config/linux/arm/mutex.h: Delete.
16587 * config/linux/powerpc/mutex.h: Delete.
16588 * config/linux/ia64/mutex.h: Delete.
16589 * config/linux/mips/mutex.h: Delete.
16590
16591 2011-11-30 Alan Modra <amodra@gmail.com>
16592
16593 PR libgomp/51249
16594 * config/linux/sem.h: Rewrite.
16595 * config/linux/sem.c: Rewrite.
16596
16597 2011-11-28 Richard Henderson <rth@redhat.com>
16598
16599 * libgomp.h (enum memmodel): New.
16600
16601 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
16602
16603 * configure: Regenerate.
16604
16605 2011-10-10 Matthias Klose <doko@ubuntu.com>
16606
16607 * config/posix95: Remove empty directory.
16608
16609 2011-08-26 Jakub Jelinek <jakub@redhat.com>
16610
16611 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
16612
16613 2011-08-19 Jakub Jelinek <jakub@redhat.com>
16614
16615 PR fortran/49792
16616 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
16617 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
16618
16619 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16620
16621 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
16622
16623 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16624
16625 PR libgomp/49965
16626 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
16627
16628 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
16629
16630 * config/linux/proc.h: New.
16631 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
16632 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
16633 (gomp_init_num_threads): Update call to cpuset_popcount.
16634 (get_num_procs): Ditto.
16635 * config/linux/affinity.c (gomp_init_affinity): Call
16636 gomp_cpuset_popcount.
16637
16638 2011-08-02 Jakub Jelinek <jakub@redhat.com>
16639
16640 PR fortran/42041
16641 PR fortran/46752
16642 * omp.h.in (omp_in_final): New prototype.
16643 * omp_lib.f90.in (omp_in_final): New interface.
16644 (omp_integer_kind, omp_logical_kind): Remove
16645 and replace all its uses in the module with 4.
16646 (openmp_version): Change to 201107.
16647 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
16648 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
16649 kind for the parameters.
16650 (omp_in_final): New external.
16651 (openmp_version): Change to 201107.
16652 * task.c (omp_in_final): New function.
16653 (gomp_init_task): Initialize final_task.
16654 (GOMP_task): Remove unused attribute from flags. Handle final
16655 tasks.
16656 (GOMP_taskyield): New function.
16657 (omp_in_final): Return true if if (false) or final (true) task
16658 or descendant of final (true).
16659 * fortran.c (omp_in_final_): New function.
16660 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
16661 (GOMP_3.0): Export GOMP_taskyield.
16662 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
16663 variables.
16664 (parse_unsigned_long_list): New function.
16665 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
16666 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
16667 even if parse_affinity returned false.
16668 * config/linux/affinity.c (gomp_init_affinity): Handle
16669 gomp_cpu_affinity_len == 0.
16670 * libgomp_g.h (GOMP_taskyield): New prototype.
16671 * libgomp.h (struct gomp_task): Add final_task field.
16672 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
16673 * team.c (gomp_team_start): Override new task's nthreads_var icv
16674 if list form OMP_NUM_THREADS has been used and it has value for
16675 the new nesting level.
16676
16677 * testsuite/libgomp.c/atomic-11.c: New test.
16678 * testsuite/libgomp.c/atomic-12.c: New test.
16679 * testsuite/libgomp.c/atomic-13.c: New test.
16680 * testsuite/libgomp.c/atomic-14.c: New test.
16681 * testsuite/libgomp.c/reduction-6.c: New test.
16682 * testsuite/libgomp.c/task-5.c: New test.
16683 * testsuite/libgomp.c++/atomic-2.C: New test.
16684 * testsuite/libgomp.c++/atomic-3.C: New test.
16685 * testsuite/libgomp.c++/atomic-4.C: New test.
16686 * testsuite/libgomp.c++/atomic-5.C: New test.
16687 * testsuite/libgomp.c++/atomic-6.C: New test.
16688 * testsuite/libgomp.c++/atomic-7.C: New test.
16689 * testsuite/libgomp.c++/atomic-8.C: New test.
16690 * testsuite/libgomp.c++/atomic-9.C: New test.
16691 * testsuite/libgomp.c++/task-8.C: New test.
16692 * testsuite/libgomp.c++/reduction-4.C: New test.
16693 * testsuite/libgomp.fortran/allocatable7.f90: New test.
16694 * testsuite/libgomp.fortran/allocatable8.f90: New test.
16695 * testsuite/libgomp.fortran/crayptr3.f90: New test.
16696 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
16697 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
16698 * testsuite/libgomp.fortran/pointer1.f90: New test.
16699 * testsuite/libgomp.fortran/pointer2.f90: New test.
16700 * testsuite/libgomp.fortran/task4.f90: New test.
16701
16702 2011-08-02 Tobias Burnus <burnus@net-b.de>
16703
16704 * libgomp.texi: Update OpenMP spec references to 3.1.
16705 (omp_in_final,OMP_PROC_BIND): New sections.
16706 (OMP_NUM_THREADS): Document that the value can be now a list.
16707 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
16708
16709 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
16710
16711 * config/linux/x86/futex.h: Check __x86_64__ instead of
16712 __LP64__.
16713
16714 2011-07-29 Jakub Jelinek <jakub@redhat.com>
16715
16716 PR middle-end/49897
16717 PR middle-end/49898
16718 * testsuite/libgomp.c/pr49897-1.c: New test.
16719 * testsuite/libgomp.c/pr49897-2.c: New test.
16720 * testsuite/libgomp.c/pr49898-1.c: New test.
16721 * testsuite/libgomp.c/pr49898-2.c: New test.
16722
16723 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
16724
16725 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
16726 for ia32 instead of ilp32.
16727
16728 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
16729 * testsuite/libgomp.c/atomic-6.c: Likewise.
16730
16731 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
16732
16733 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
16734 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
16735
16736 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16737
16738 PR libgomp/45351
16739 * config/osf/sem.h: New file.
16740 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
16741
16742 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16743
16744 PR target/49541
16745 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
16746 ldflags.
16747
16748 2011-07-15 Jakub Jelinek <jakub@redhat.com>
16749
16750 * config/linux/wait.h (do_spin): New inline, largely copied
16751 from do_wait, just don't do futex_wait here, instead return true if
16752 it should be done.
16753 (do_wait): Implement using do_spin.
16754 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
16755 to prototype.
16756 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
16757 __sync_bool_compare_and_swap, pass the oldval to
16758 gomp_mutex_lock_slow.
16759 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
16760 If all mutex contenders are just spinning and not sleeping, don't
16761 change state to 2 unnecessarily. Optimize the loop when state has
16762 already become 2 to use just one atomic operation per loop instead
16763 of two.
16764 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
16765 to prototype.
16766 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
16767 __sync_bool_compare_and_swap, pass the oldval to
16768 gomp_mutex_lock_slow.
16769
16770 2011-06-22 Jakub Jelinek <jakub@redhat.com>
16771
16772 PR libgomp/49490
16773 * iter.c (gomp_iter_static_next): For chunk size 0
16774 only use n ceil/ nthreads size for the first
16775 n % nthreads threads in the team instead of
16776 all threads except for the last few ones which
16777 get less work or none at all.
16778 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
16779 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
16780 chunk argument, set run_sched_modifier to 0 for static
16781 resp. 1 for other kinds. If chunk argument is 0
16782 and not static, set value to 1.
16783
16784 2011-05-19 Jakub Jelinek <jakub@redhat.com>
16785
16786 PR c++/49043
16787 * testsuite/libgomp.c++/pr49043.C: New test.
16788
16789 PR c++/48869
16790 * testsuite/libgomp.c++/pr48869.C: New test.
16791
16792 2011-05-06 Jakub Jelinek <jakub@redhat.com>
16793
16794 PR fortran/48894
16795 * fortran.c: Include limits.h.
16796 (TO_INT): Define.
16797 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
16798 *set.
16799 (omp_set_num_threads_8_, omp_set_schedule_8_,
16800 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
16801 omp_get_team_size_8_): Use TO_INT macro.
16802 * testsuite/libgomp.fortran/pr48894.f90: New test.
16803
16804 2011-04-13 Jakub Jelinek <jakub@redhat.com>
16805
16806 PR middle-end/48591
16807 * testsuite/libgomp.c/pr48591.c: New test.
16808
16809 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16810
16811 PR bootstrap/48135
16812 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
16813 * configure: Regenerate.
16814
16815 2011-02-27 Jakub Jelinek <jakub@redhat.com>
16816
16817 PR fortran/47886
16818 * testsuite/libgomp.fortran/task3.f90: New test.
16819
16820 2011-02-24 Tobias Burnus <burnus@net-b.de>
16821
16822 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
16823
16824 2011-02-23 Jakub Jelinek <jakub@redhat.com>
16825
16826 PR libgomp/47854
16827 * libgomp.texi (omp_get_wtime): Don't say time in the past
16828 must be Unix Epoch.
16829
16830 2011-02-18 Jakub Jelinek <jakub@redhat.com>
16831
16832 PR libgomp/47804
16833 * testsuite/libgomp.fortran/fortran.exp: Check for both
16834 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
16835 but $blddir != "", still append ${blddir}/${lang_library_path}
16836 to ld_library_path.
16837
16838 2011-02-16 Tobias Burnus <burnus@net-b.de>
16839
16840 PR libgomp/47758
16841 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
16842 of libquadmath.a before adding its libpath to ldflags.
16843
16844 2011-02-14 Jakub Jelinek <jakub@redhat.com>
16845
16846 PR libgomp/47731
16847 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
16848 to FUTEX_WAIT futex syscall.
16849 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
16850
16851 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16852
16853 * configure: Regenerate.
16854
16855 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
16856
16857 PR libstdc++/36104
16858 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
16859
16860 2011-01-16 Gerald Pfeifer
16861
16862 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
16863
16864 2010-12-14 Jakub Jelinek <jakub@redhat.com>
16865
16866 PR fortran/46874
16867 * libgomp.fortran/allocatable6.f90: New test.
16868
16869 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16870
16871 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
16872 * configure: Regenerate.
16873
16874 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
16875
16876 PR target/40125
16877 PR lto/46695
16878 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
16879 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
16880 * aclocal.m4: Regenerate.
16881 * configure: Regenerate.
16882 * Makefile.in: Regenerate.
16883 * testsuite/Makefile.in: Regenerate.
16884
16885 2010-12-02 Jakub Jelinek <jakub@redhat.com>
16886
16887 PR fortran/46753
16888 * libgomp.fortran/pr46753.f90: New test.
16889
16890 PR libgomp/43706
16891 * env.c (initialize_env): Default to spin count 300000
16892 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
16893 is specified.
16894
16895 PR libgomp/45240
16896 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
16897 at the end if sync builtins aren't supported.
16898
16899 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16900
16901 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
16902
16903 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16904
16905 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
16906
16907 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
16908
16909 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
16910
16911 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
16912 Tobias Burnus <burnus@net-b.de>
16913
16914 PR fortran/32049
16915 * configure.ac:
16916 * configure: Regenerate.
16917
16918 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
16919
16920 * config/linux/futex.h: New.
16921 * config/linux/arm/mutex.h: New.
16922 * configure.tgt (arm*-*-linux*): Add config path.
16923
16924 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
16925
16926 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
16927
16928 2010-09-23 Tobias Burnus <burnus@net-b.de>
16929
16930 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
16931 Change Fortran datatype to LOGICAL.
16932 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
16933 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
16934
16935 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16936
16937 * configure: Regenerate.
16938
16939 2010-07-26 Jakub Jelinek <jakub@redhat.com>
16940
16941 * libgomp.texi: Add function keyword to a couple of Fortran
16942 interfaces, use integer instead of int for Fortran.
16943
16944 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
16945
16946 * libgomp.texi: Fix spelling and pasto problems throughout.
16947 Adjust prototypes to match code.
16948
16949 2010-07-24 Tobias Burnus <burnus@net-b.de>
16950
16951 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
16952 silence -fwhole-file warning.
16953
16954 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16955
16956 * configure.tgt (*-*-solaris2.[56]*): Removed.
16957
16958 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16959
16960 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
16961 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
16962 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
16963 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
16964 targetting solaris2*.
16965 * configure: Regenerate.
16966 * config.h.in: Regenerate.
16967
16968 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
16969 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
16970 Add libgomp_version_dep.
16971 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
16972 versioning.
16973 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
16974 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
16975 * Makefile.in: Regenerate.
16976
16977 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
16978 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
16979 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
16980 to common block, protected by
16981 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
16982
16983 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
16984
16985 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
16986
16987 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
16988
16989 PR bootstrap/43170
16990 * configure: Regenerate.
16991
16992 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16993
16994 PR other/43620
16995 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
16996 * configure: Regenerate.
16997 * Makefile.in: Regenerate.
16998 * testsuite/Makefile.in: Regenerate.
16999
17000 2010-04-26 Jakub Jelinek <jakub@redhat.com>
17001
17002 PR c/43893
17003 * testsuite/libgomp.c/pr43893.c: New test.
17004 * testsuite/libgomp.c++/pr43893.C: New test.
17005
17006 2010-04-21 Jakub Jelinek <jakub@redhat.com>
17007
17008 PR middle-end/43570
17009 * testsuite/libgomp.fortran/vla8.f90: New test.
17010
17011 2010-04-20 Jakub Jelinek <jakub@redhat.com>
17012
17013 PR libgomp/43706
17014 * config/linux/affinity.c (gomp_init_affinity): Decrease
17015 gomp_available_cpus if affinity mask confines the process to fewer
17016 CPUs.
17017 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
17018 non-NULL, just return gomp_available_cpus.
17019
17020 PR libgomp/43569
17021 * sections.c (gomp_sections_init): Initialize ws->mode.
17022
17023 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
17024
17025 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
17026 not unused bar variable.
17027 * configure: Regenerate.
17028
17029 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17030
17031 * Makefile.in: Regenerate.
17032 * aclocal.m4: Regenerate.
17033 * testsuite/Makefile.in: Regenerate.
17034
17035 2010-03-22 Jakub Jelinek <jakub@redhat.com>
17036
17037 PR libgomp/42942
17038 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
17039 (initialize_env): Adjust callers.
17040 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
17041 when the argument is 0.
17042
17043 * testsuite/libgomp.c/pr42942.c: New test.
17044
17045 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
17046
17047 PR middle-end/42644
17048 PR middle-end/42130
17049 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17050 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
17051
17052 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17053
17054 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
17055 * testsuite/libgomp.c++/task-6.C: Likewise.
17056
17057 2010-01-28 Steve Ellcey <sje@cup.hp.com>
17058
17059 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
17060
17061 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
17062
17063 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
17064 * configure: Regenerate.
17065
17066 2010-01-26 Jakub Jelinek <jakub@redhat.com>
17067
17068 PR fortran/42866
17069 * testsuite/libgomp.fortran/allocatable5.f90: New test.
17070
17071 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
17072
17073 * configure.ac: Test for executability of GFORTRAN.
17074 * configure: Regenerate.
17075
17076 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17077
17078 * configure: Regenerate.
17079
17080 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
17081
17082 PR libgomp/42602
17083 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
17084
17085 2010-01-03 Richard Guenther <rguenther@suse.de>
17086
17087 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
17088
17089 2009-12-23 Sebastian Pop <sebpop@gmail.com>
17090
17091 * testsuite/libgomp.graphite/pr4118.c: New.
17092
17093 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
17094
17095 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
17096 for darwin, protect the test with require-effective-target tls_runtime.
17097 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
17098
17099 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
17100
17101 PR target/41605
17102 * testsuite/lib/libgomp.exp: Provide -B options to allow for
17103 link spec %s substitutions for static libraries.
17104
17105 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
17106
17107 PR testsuite/42135
17108 * libgomp.graphite/force-parallel-2.c: Reduce array size.
17109
17110 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17111
17112 * Makefile.in: Regenerate.
17113 * configure: Regenerate.
17114 * testsuite/Makefile.in: Regenerate.
17115
17116 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
17117
17118 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
17119 settings for LC_ALL and LANG.
17120
17121 2009-11-25 Jakub Jelinek <jakub@redhat.com>
17122
17123 PR fortran/42162
17124 * testsuite/libgomp.fortran/pr42162.f90: New test.
17125
17126 2009-11-13 Jakub Jelinek <jakub@redhat.com>
17127
17128 PR middle-end/42029
17129 * testsuite/libgomp.c/pr42029.c: New test.
17130
17131 2009-10-26 Jakub Jelinek <jakub@redhat.com>
17132
17133 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
17134 *s. Accept ld version without text in ()s.
17135 * configure: Regenerated.
17136
17137 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
17138
17139 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
17140
17141 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17142
17143 PR libgomp/41418
17144 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
17145 or a hyphen (happens with fortran language disabled).
17146 * configure: Regenerate.
17147
17148 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17149
17150 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
17151 use sed script portable to Solaris /bin/sed for extracting ld
17152 version.
17153 * configure: Regenerate.
17154
17155 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
17156
17157 * testsuite/libgomp.graphite/bounds.c: New test.
17158
17159 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17160
17161 * Makefile.am (libgomp_la_LINK): New.
17162 * Makefile.in: Regenerate.
17163
17164 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17165
17166 * configure.ac (AC_PREREQ): Bump to 2.64.
17167
17168 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17169
17170 * Makefile.am (install-html, install-pdf): Remove.
17171 * Makefile.in: Regenerate.
17172
17173 * Makefile.in: Regenerate.
17174 * aclocal.m4: Regenerate.
17175 * config.h.in: Regenerate.
17176 * configure: Regenerate.
17177 * testsuite/Makefile.in: Regenerate.
17178
17179 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17180
17181 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
17182 * Makefile.in: Regenerate.
17183
17184 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
17185
17186 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
17187 * Makefile.in: Regenerate.
17188
17189 2009-08-19 Tobias Burnus <burnus@net-b.de>
17190
17191 PR fortran/41102
17192 omp_lib.h.in: Fix -std=f95 errors.
17193
17194 2009-08-14 David Edelsohn <edelsohn@gnu.org>
17195
17196 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
17197 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
17198 * testsuite/libgomp.graphite/graphite.exp: New.
17199
17200 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
17201
17202 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
17203 only build.
17204
17205 2009-08-04 David Daney <ddaney@caviumnetworks.com>
17206
17207 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
17208 needed memory barrier semantics.
17209 * config/linux/mips/mutex.h: New file.
17210
17211 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17212
17213 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
17214
17215 2009-07-16 Joseph Myers <joseph@codesourcery.com>
17216
17217 * configure: Regenerate.
17218
17219 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
17220
17221 PR testsuite/40699
17222 PR testsuite/40707
17223 PR testsuite/40709
17224 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
17225 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
17226 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
17227
17228 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
17229
17230 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
17231 options when choosing a multilib.
17232
17233 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
17234
17235 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
17236 ld_library_path. Use add_path. Add just find_libgcc_s to
17237 ld_library_path, not every libgcc multilib directory.
17238 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
17239 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
17240 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
17241 Use add_path.
17242 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
17243
17244 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
17245
17246 * Makefile.am (LTLDFLAGS): Define.
17247 (LINK): Define.
17248 * Makefile.in: Regenerate.
17249
17250 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
17251
17252 PR fortran/39718
17253 * testsuite/libgomp.fortran/fortran.exp: Don't link with
17254 libgfortranbegin, check existence of libgfortran.a instead of
17255 libgfortranbegin.a.
17256
17257 2009-05-20 Jakub Jelinek <jakub@redhat.com>
17258
17259 PR libgomp/40174
17260 * team.c (gomp_thread_start): Destroy thr->release semaphore.
17261 (gomp_free_pool_helper): Likewise.
17262
17263 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
17264 Jakub Jelinek <jakub@redhat.com>
17265
17266 PR fortran/35423
17267 * testsuite/libgomp.fortran/workshare2.f90: New test.
17268
17269 2009-04-09 Nick Clifton <nickc@redhat.com>
17270
17271 * iter.c: Change copyright header to refer to version 3 of the
17272 GNU General Public License with version 3.1 of the GCC Runtime
17273 Library Exception and to point readers at the COPYING3 and
17274 COPYING3.RUNTIME files and the FSF's license web page.
17275 * alloc.c: Likewise.
17276 * barrier.c: Likewise.
17277 * config/bsd/proc.c: Likewise.
17278 * config/linux/affinity.c: Likewise.
17279 * config/linux/alpha/futex.h: Likewise.
17280 * config/linux/bar.c: Likewise.
17281 * config/linux/bar.h: Likewise.
17282 * config/linux/ia64/futex.h: Likewise.
17283 * config/linux/ia64/mutex.h: Likewise.
17284 * config/linux/lock.c: Likewise.
17285 * config/linux/mips/futex.h: Likewise.
17286 * config/linux/mutex.c: Likewise.
17287 * config/linux/mutex.h: Likewise.
17288 * config/linux/powerpc/futex.h: Likewise.
17289 * config/linux/proc.c: Likewise.
17290 * config/linux/ptrlock.c: Likewise.
17291 * config/linux/ptrlock.h: Likewise.
17292 * config/linux/s390/futex.h: Likewise.
17293 * config/linux/sem.c: Likewise.
17294 * config/linux/sem.h: Likewise.
17295 * config/linux/sparc/futex.h: Likewise.
17296 * config/linux/wait.h: Likewise.
17297 * config/linux/x86/futex.h: Likewise.
17298 * config/mingw32/proc.c: Likewise.
17299 * config/mingw32/time.c: Likewise.
17300 * config/posix/affinity.c: Likewise.
17301 * config/posix/bar.c: Likewise.
17302 * config/posix/bar.h: Likewise.
17303 * config/posix/lock.c: Likewise.
17304 * config/posix/mutex.h: Likewise.
17305 * config/posix/proc.c: Likewise.
17306 * config/posix/ptrlock.h: Likewise.
17307 * config/posix/sem.c: Likewise.
17308 * config/posix/sem.h: Likewise.
17309 * config/posix/time.c: Likewise.
17310 * config/posix95/lock.c: Likewise.
17311 * critical.c: Likewise.
17312 * env.c: Likewise.
17313 * error.c: Likewise.
17314 * fortran.c: Likewise.
17315 * iter_ull.c: Likewise.
17316 * libgomp.h: Likewise.
17317 * libgomp_f.h.in: Likewise.
17318 * libgomp_g.h: Likewise.
17319 * loop.c: Likewise.
17320 * loop_ull.c: Likewise.
17321 * omp.h.in: Likewise.
17322 * omp_lib.f90.in: Likewise.
17323 * omp_lib.h.in: Likewise.
17324 * ordered.c: Likewise.
17325 * parallel.c: Likewise.
17326 * sections.c: Likewise.
17327 * single.c: Likewise.
17328 * task.c: Likewise.
17329 * team.c: Likewise.
17330 * work.c: Likewise.
17331
17332 2009-04-09 Jakub Jelinek <jakub@redhat.com>
17333
17334 * testsuite/config/default.exp: Change copyright header to refer to
17335 version 3 of the GNU General Public License and to point readers
17336 at the COPYING3 file and the FSF's license web page.
17337
17338 2009-04-08 Jakub Jelinek <jakub@redhat.com>
17339
17340 PR middle-end/39573
17341 * libgomp.c++/pr39573.C: New test.
17342
17343 2009-04-01 Jakub Jelinek <jakub@redhat.com>
17344
17345 PR other/39591
17346 * testsuite/libgomp.c/pr39591-1.c: New test.
17347 * testsuite/libgomp.c/pr39591-2.c: New test.
17348 * testsuite/libgomp.c/pr39591-3.c: New test.
17349
17350 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
17351
17352 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
17353 * testsuite/libgomp.c/atomic-6.c: Ditto.
17354
17355 2009-03-23 Jakub Jelinek <jakub@redhat.com>
17356
17357 PR c/39495
17358 * testsuite/libgomp.c/loop-12.c: New test.
17359 * testsuite/libgomp.c/loop-11.c: New test.
17360 * testsuite/libgomp.c++/loop-11.C: New test.
17361 * testsuite/libgomp.c++/loop-12.C: New test.
17362 * testsuite/libgomp.c++/for-8.C: New test.
17363
17364 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17365
17366 * configure: Regenerate.
17367
17368 2009-02-11 Jakub Jelinek <jakub@redhat.com>
17369
17370 PR middle-end/39154
17371 * testsuite/libgomp.c/pr39154.c: New test.
17372
17373 2009-01-30 Ian Lance Taylor <iant@google.com>
17374
17375 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
17376 libgomp_ld_is_gold. Get gold version number.
17377 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
17378 * configure: Rebuild.
17379
17380 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
17381
17382 * testsuite/lib/libgomp.exp: Add -B option for targets that
17383 use libgfortran.a%s in their specs.
17384
17385 2009-01-07 Jakub Jelinek <jakub@redhat.com>
17386
17387 PR libgomp/38086
17388 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
17389 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
17390 HAVE_AS_SYMVER_DIRECTIVE is not defined.
17391 * configure: Regenerated.
17392 * config.h.in: Likewise.
17393
17394 2008-12-28 Jakub Jelinek <jakub@redhat.com>
17395
17396 PR c++/38650
17397 * testsuite/libgomp.c/pr38650.c: New test.
17398 * testsuite/libgomp.c++/pr38650.C: New test.
17399
17400 2008-12-27 Jakub Jelinek <jakub@redhat.com>
17401
17402 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
17403
17404 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
17405
17406 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
17407
17408 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17409
17410 * configure: Regenerate.
17411
17412 2008-12-08 Jakub Jelinek <jakub@redhat.com>
17413
17414 PR middle-end/36802
17415 * testsuite/libgomp.c/pr36802-1.c: New test.
17416 * testsuite/libgomp.c/pr36802-2.c: New test.
17417 * testsuite/libgomp.c/pr36802-3.c: New test.
17418
17419 2008-12-01 Janis Johnson <janis187@us.ibm.com>
17420
17421 PR libgomp/38270
17422 * config/linux/powerpc/mutex.h: New.
17423
17424 2008-12-01 Jakub Jelinek <jakub@redhat.com>
17425
17426 PR c++/38257
17427 * testsuite/libgomp.c++/for-7.C: New test.
17428
17429 PR c++/38348
17430 * testsuite/libgomp.c++/for-6.C: New test.
17431
17432 2008-11-26 Janis Johnson <janis187@us.ibm.com>
17433
17434 PR testsuite/28870
17435 * testsuite/lib/libgomp.exp: Include new timeout library files.
17436 (libgomp_target_compile): Set timeout value from new proc.
17437
17438 2008-11-13 Steve Ellcey <sje@cup.hp.com>
17439
17440 PR libgomp/37938
17441 * config/linux/ia64/mutex.h: New.
17442
17443 2008-11-04 Tobias Burnus <burnus@net-b.de>
17444
17445 PR libgomp/37935
17446 * libgomp.texi (Runtime library routines, environment variables):
17447 Update for OpenMP version 3.0.
17448
17449 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
17450 Steve Ellcey <sje@cup.hp.com>
17451
17452 * configure: Regenerate for new libtool.
17453 * Makefile.in: Ditto.
17454 * testsuite/Makefile.in: Ditto.
17455
17456 2008-09-19 Jakub Jelinek <jakub@redhat.com>
17457 Andreas Tobler <a.tobler@schweiz.org>
17458
17459 * config/bsd/proc.c: New file.
17460 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
17461 * configure.ac: Check for header <sys/sysctl.h>
17462 * configure: Regenerate.
17463 * config.h.in: Likewise.
17464
17465 2008-09-05 Janis Johnson <janis187@us.ibm.com>
17466
17467 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
17468
17469 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
17470
17471 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
17472 * Makefile.in: Regenerated.
17473 * testsuite/Makefile.in: Regenerated.
17474
17475 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
17476
17477 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
17478 depend on blddir if blddir exists.
17479 (libgomp_target_compile): Likewise.
17480 * testsuite/libgomp.c++/c++.exp: Likewise.
17481 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17482
17483 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17484
17485 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
17486 Do not list GPL as Invariant Section.
17487
17488 2008-07-28 Ilie Garbacea <ilie@mips.com>
17489 Chao-ying Fu <fu@mips.com>
17490
17491 * configure.tgt: Enable futex for MIPS.
17492 * config/linux/mips/futex.h: New file.
17493
17494 2008-07-16 Jakub Jelinek <jakub@redhat.com>
17495
17496 * team.c (gomp_team_end): Free team immediately if it has
17497 just one thread.
17498
17499 2008-07-08 David Edelsohn <edelsohn@gnu.org>
17500
17501 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
17502 * testsuite/libgomp.fortran/fortran.exp: Same.
17503 * testsuite/libgomp.c/c.exp: Same.
17504 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
17505 directory to library path first.
17506
17507 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
17508
17509 * env.c (parse_stacksize): Add cast to avoid warning.
17510 (parse_spincount): Likewise.
17511
17512 2008-06-27 Jakub Jelinek <jakub@redhat.com>
17513
17514 * testsuite/libgomp.c/loop-10.c: New test.
17515 * libgomp.c/loop-3.c (main): Add lastprivate clause.
17516 * libgomp.c++/loop-6.C (main): Likewise.
17517
17518 PR debug/36617
17519 * testsuite/libgomp.c/debug-1.c: New test.
17520
17521 2008-06-19 Jakub Jelinek <jakub@redhat.com>
17522
17523 * testsuite/libgomp.c/nqueens-1.c: New test.
17524
17525 PR c++/36523
17526 * testsuite/libgomp.c++/task-7.C: New function.
17527
17528 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17529
17530 * configure: Regenerate.
17531
17532 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17533
17534 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
17535 mutex when HAVE_SYNC_BUILTINS isn't defined.
17536
17537 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17538
17539 * libgomp.texi (omp_test_lock): Fix typo.
17540
17541 2008-06-12 Tobias Burnus <burnus@net-b.de>
17542
17543 * omp_lib.f90.in: Add "implicit none".
17544
17545 2008-06-12 Jakub Jelinek <jakub@redhat.com>
17546
17547 PR middle-end/36506
17548 * testsuite/libgomp.c/reduction-5.c: New test.
17549
17550 2008-06-11 Jakub Jelinek <jakub@redhat.com>
17551
17552 * libgomp.h (struct gomp_task): Add in_tied_task field.
17553 * task.c (gomp_init_task): Initialize it.
17554 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
17555 unconditionally. Don't call gomp_team_barrier_wake if
17556 current task is implicit or if(0) from implicit and number of
17557 running tasks is equal to nthreads - 1.
17558
17559 PR libgomp/36471
17560 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
17561 omp_get_team_size_8): Fix pastos.
17562
17563 PR libgomp/36469
17564 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
17565 * configure: Regenerated.
17566 * config.h.in: Regenerated.
17567 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
17568 defined.
17569
17570 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
17571
17572 PR bootstrap/36452
17573 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
17574 (GOMP_loop_ull_dynamic_start): Likewise.
17575 (GOMP_loop_ull_guided_start): Likewise.
17576 (GOMP_loop_ull_ordered_static_start): Likewise.
17577 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
17578 (GOMP_loop_ull_ordered_guided_start): Likewise.
17579
17580 2008-06-06 Jakub Jelinek <jakub@redhat.com>
17581 Richard Henderson <rth@redhat.com>
17582 Ulrich Drepper <drepper@redhat.com>
17583 Jakob Blomer <jakob.blomer@ira.uka.de>
17584
17585 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
17586 Substitute also OMP_*LOCK_25*.
17587 * configure: Regenerated.
17588 * config.h.in: Regenerated.
17589 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
17590 ptrlock.c and task.c.
17591 * Makefile.in: Regenerated.
17592 * testsuite/Makefile.in: Regenerated.
17593 * task.c: New file.
17594 * loop_ull.c: New file.
17595 * iter_ull.c: New file.
17596 * libgomp.h: Include ptrlock.h.
17597 (enum gomp_task_kind): New type.
17598 (struct gomp_team): Add task_lock, task_queue, task_count,
17599 task_running_count, single_count fields. Add
17600 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
17601 Remove work_share_lock, generation_mask,
17602 oldest_live_gen, num_live_gen and init_work_shares fields, add
17603 work work_share_list_alloc, work_share_list_free and work_share_chunk
17604 fields. Change work_shares from pointer to pointers into an array.
17605 Change ordered_release field into gomp_sem_t ** from flexible array
17606 member. Add implicit_task and initial_work_shares fields.
17607 Move close to the end of the struct.
17608 (struct gomp_team_state): Add single_count, last_work_share,
17609 active_level and level fields, remove work_share_generation.
17610 (gomp_barrier_handle_tasks): New prototype.
17611 (gomp_finish_task): New inline function.
17612 (struct gomp_work_share): Move chunk_size, end, incr into
17613 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
17614 next_ll fields. Reshuffle fields. Add next_alloc,
17615 next_ws, next_free and inline_ordered_team_ids fields, change
17616 ordered_team_ids into pointer from flexible array member.
17617 Add mode field. Put lock and next into a different cache line
17618 from most of the write-once fields.
17619 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
17620 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
17621 gomp_iter_ull_guided_next): New prototypes.
17622 (gomp_new_icv): New prototype.
17623 (struct gomp_thread): Add thread_pool and task fields.
17624 (struct gomp_thread_pool): New type.
17625 (gomp_new_team): New prototype.
17626 (gomp_team_start): Change type of last argument.
17627 (gomp_new_work_share): Removed.
17628 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
17629 (gomp_work_share_init_done): New static inline.
17630 (gomp_throttled_spin_count_var, gomp_available_cpus,
17631 gomp_managed_threads): New extern decls.
17632 (gomp_init_task): New prototype.
17633 (gomp_spin_count_var): New extern var decl.
17634 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
17635 or no alias support, or if not PIC.
17636 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
17637 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
17638 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
17639 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
17640 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
17641 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
17642 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
17643 gomp_test_nest_lock_25): New prototypes.
17644 (omp_lock_symver, strong_alias): Define.
17645 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
17646 decls.
17647 (gomp_end_task): New.
17648 (struct gomp_task_icv, gomp_global_icv): New.
17649 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
17650 (struct gomp_task): New.
17651 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
17652 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
17653 (gomp_icv): New.
17654 (gomp_schedule_type): Reorder enum to match
17655 omp_sched_t.
17656 * team.c (struct gomp_thread_start_data): Add thread_pool and task
17657 fields.
17658 (gomp_thread_start): Add gomp_team_barrier_wait call.
17659 For non-nested case remove clearing of docked thread thr fields.
17660 Use pool fields instead of global gomp_* variables. Use
17661 gomp_barrier_wait_last when needed. Initialize ts.active_level.
17662 Create tasks for each member thread.
17663 (free_team): Only destroy team barrier, task_lock here and free it.
17664 (gomp_free_thread): Free last_team if non-NULL.
17665 (gomp_team_end): Call gomp_team_barrier_wait instead of
17666 gomp_barrier_wait. For nested case call one extra
17667 gomp_barrier_wait. Move here some destruction from free_team.
17668 Call free_team on pool->last_team if any, rather than freeing
17669 current team. Destroy work_share_list_free_lock ifndef
17670 HAVE_SYNC_BUILTINS.
17671 (gomp_new_icv): New function.
17672 (gomp_threads, gomp_threads_size, gomp_threads_used,
17673 gomp_threads_dock): Removed.
17674 (gomp_thread_destructor): New variable.
17675 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
17676 functions.
17677 (gomp_team_start): Create new pool if current thread doesn't have
17678 one. Use pool fields instead of global gomp_* variables.
17679 Initialize thread_pool field for new threads. Clear single_count.
17680 Change last argument from ws to team, don't create
17681 new team, set ts.work_share to &team->work_shares[0] and clear
17682 ts.last_work_share. Don't clear ts.work_share_generation.
17683 If number of threads changed, adjust atomically gomp_managed_threads.
17684 Use gomp_init_task instead of gomp_new_task,
17685 set thr->task to the corresponding implicit_task array entry.
17686 Create tasks for each member thread. Initialize ts.level.
17687 (initialize_team): Call pthread_key_create on
17688 gomp_thread_destructor.
17689 (team_destructor): New function.
17690 (new_team): Removed.
17691 (gomp_new_team): New function.
17692 (free_team): Free gomp_work_share blocks chained through next_alloc,
17693 instead of freeing work_shares and destroying work_share_lock.
17694 (gomp_team_end): Call gomp_fini_work_share. If number of threads
17695 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
17696 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
17697 of gomp_barrier_wait.
17698 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
17699 instead of gomp_barrier_wait. Call gomp_work_share_init_done
17700 if gomp_work_share_start returned true. Don't unlock ws->lock.
17701 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
17702 of gomp_barrier_wait.
17703 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
17704 gomp_work_share_init_done if gomp_work_share_start returned true.
17705 Don't unlock ws->lock.
17706 * work.c: Include stddef.h.
17707 (free_work_share): Use work_share_list_free_lock instead
17708 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
17709 Call gomp_fini_work_share and then either free ws if orphaned, or
17710 put it into work_share_list_free list of the current team.
17711 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
17712 functions.
17713 (gomp_work_share_start, gomp_work_share_end,
17714 gomp_work_share_end_nowait): Rewritten.
17715 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
17716 (openmp_version): Set to 200805.
17717 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
17718 omp_sched_guided, omp_sched_auto): New parameters.
17719 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17720 omp_set_max_active_levels, omp_get_max_active_levels,
17721 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17722 omp_get_active_level): New interfaces.
17723 * omp_lib.h.in (openmp_version): Set to 200805.
17724 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
17725 omp_sched_guided, omp_sched_auto): New parameters.
17726 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17727 omp_set_max_active_levels, omp_get_max_active_levels,
17728 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17729 omp_get_active_level): New externals.
17730 * loop.c: Include limits.h.
17731 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
17732 GFS_AUTO.
17733 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
17734 Likewise. Use gomp_icv.
17735 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
17736 ts.static_trip here.
17737 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
17738 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
17739 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
17740 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
17741 don't unlock ws->lock, otherwise lock it.
17742 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
17743 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
17744 (gomp_parallel_loop_start): Call gomp_new_team instead of
17745 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
17746 Adjust gomp_team_start caller. Pass 0 as second argument to
17747 gomp_resolve_num_threads.
17748 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
17749 If adding ws->chunk_size nthreads + 1 times after end won't
17750 overflow, set ws->mode to 1.
17751 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
17752 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
17753 GOMP_loop_ull_ordered_static_start,
17754 GOMP_loop_ull_ordered_dynamic_start,
17755 GOMP_loop_ull_ordered_guided_start,
17756 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
17757 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
17758 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
17759 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
17760 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
17761 prototypes.
17762 * libgomp.map: Export lock routines also @@OMP_2.0.
17763 (GOMP_loop_ordered_dynamic_first,
17764 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
17765 GOMP_loop_ordered_static_first): Remove.
17766 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
17767 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
17768 GOMP_loop_ull_ordered_dynamic_next,
17769 GOMP_loop_ull_ordered_dynamic_start,
17770 GOMP_loop_ull_ordered_guided_next,
17771 GOMP_loop_ull_ordered_guided_start,
17772 GOMP_loop_ull_ordered_runtime_next,
17773 GOMP_loop_ull_ordered_runtime_start,
17774 GOMP_loop_ull_ordered_static_next,
17775 GOMP_loop_ull_ordered_static_start,
17776 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
17777 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
17778 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
17779 (omp_set_schedule, omp_get_schedule,
17780 omp_get_thread_limit, omp_set_max_active_levels,
17781 omp_get_max_active_levels, omp_get_level,
17782 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
17783 omp_set_schedule_, omp_set_schedule_8_,
17784 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
17785 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
17786 omp_get_max_active_levels_, omp_get_level_,
17787 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
17788 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
17789 New exports @@OMP_3.0.
17790 * omp.h.in (omp_sched_t): New type.
17791 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17792 omp_set_max_active_levels, omp_get_max_active_levels,
17793 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17794 omp_get_active_level): New prototypes.
17795 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
17796 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
17797 gomp_thread_limit_var, gomp_remaining_threads_count,
17798 gomp_remaining_threads_lock): New variables.
17799 (parse_spincount): New function.
17800 (initialize_env): Call gomp_init_num_threads unconditionally.
17801 Initialize gomp_available_cpus. Call parse_spincount,
17802 initialize gomp_{,throttled_}spin_count_var
17803 depending on presence and value of OMP_WAIT_POLICY and
17804 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
17805 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
17806 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
17807 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
17808 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
17809 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
17810 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
17811 (gomp_global_icv): New.
17812 (parse_schedule): Use it. Parse "auto".
17813 (omp_set_num_threads): Use gomp_icv.
17814 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
17815 Likewise.
17816 (omp_get_max_threads): Move from parallel.c.
17817 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17818 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
17819 add ialias.
17820 (parse_stacksize, parse_wait_policy): New functions.
17821 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
17822 both wrappers for compatibility and new locks.
17823 (omp_set_schedule, omp_get_schedule,
17824 omp_get_thread_limit, omp_set_max_active_levels,
17825 omp_get_max_active_levels, omp_get_level,
17826 omp_get_ancestor_thread_num, omp_get_team_size,
17827 omp_get_active_level): New ialias_redirect.
17828 (omp_set_schedule_, omp_set_schedule_8_,
17829 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
17830 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
17831 omp_get_max_active_levels_, omp_get_level_,
17832 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
17833 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
17834 New functions.
17835 * parallel.c: Include limits.h.
17836 (gomp_resolve_num_threads): Add count argument. Rewritten.
17837 (GOMP_parallel_start): Call gomp_new_team and pass that as last
17838 argument to gomp_team_start. Pass 0 as second argument to
17839 gomp_resolve_num_threads.
17840 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
17841 if gomp_thread_limit_var != ULONG_MAX.
17842 (omp_in_parallel): Implement using ts.active_level.
17843 (omp_get_max_threads): Move to env.c.
17844 (omp_get_level, omp_get_ancestor_thread_num,
17845 omp_get_team_size, omp_get_active_level): New functions,
17846 add ialias.
17847 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
17848 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
17849 gomp_iter_dynamic_next instead of the _locked variant and don't take
17850 lock around it, otherwise acquire it before calling
17851 gomp_iter_dynamic_next_locked.
17852 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
17853 gomp_iter_dynamic_next instead of the _locked variant and don't take
17854 lock around it.
17855 (GOMP_parallel_sections_start): Call gomp_new_team instead of
17856 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
17857 Adjust gomp_team_start caller. Pass count as second argument to
17858 gomp_resolve_num_threads, don't adjust num_threads after the call.
17859 Use gomp_icv.
17860 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
17861 ws->chunk_size by incr.
17862 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
17863 code.
17864 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
17865 types.
17866 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
17867 (omp_check_defines): Check even the compat defines.
17868 * config/linux/ptrlock.c: New file.
17869 * config/linux/ptrlock.h: New file.
17870 * config/linux/wait.h: New file.
17871 * config/posix/ptrlock.c: New file.
17872 * config/posix/ptrlock.h: New file.
17873 * config/linux/bar.h (gomp_team_barrier_wait,
17874 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
17875 (gomp_team_barrier_set_task_pending,
17876 gomp_team_barrier_clear_task_pending,
17877 gomp_team_barrier_set_waiting_for_tasks,
17878 gomp_team_barrier_waiting_for_tasks,
17879 gomp_team_barrier_done): New inlines.
17880 (gomp_barrier_t): Rewritten.
17881 (gomp_barrier_state_t): New typedef.
17882 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
17883 gomp_barrier_wait_start): Rewritten.
17884 (gomp_barrier_wait_end): Change second argument to
17885 gomp_barrier_state_t.
17886 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
17887 inlines.
17888 * config/linux/bar.c: Include wait.h instead of libgomp.h and
17889 futex.h.
17890 (gomp_barrier_wait_end): Rewritten.
17891 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
17892 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
17893 * config/posix/bar.h (gomp_barrier_t): Add generation field.
17894 (gomp_barrier_state_t): New typedef.
17895 (gomp_team_barrier_wait,
17896 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
17897 (gomp_barrier_wait_start): Or all but low 2 bits from generation
17898 into the return value. Return gomp_barrier_state_t.
17899 (gomp_team_barrier_set_task_pending,
17900 gomp_team_barrier_clear_task_pending,
17901 gomp_team_barrier_set_waiting_for_tasks,
17902 gomp_team_barrier_waiting_for_tasks,
17903 gomp_team_barrier_done): New inlines.
17904 (gomp_barrier_wait_end): Change second argument to
17905 gomp_barrier_state_t.
17906 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
17907 inlines.
17908 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
17909 (gomp_barrier_wait_end): Change second argument to
17910 gomp_barrier_state_t.
17911 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
17912 gomp_team_barrier_wake): New functions.
17913 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
17914 futex.h.
17915 (gomp_futex_wake, gomp_futex_wait): New variables.
17916 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
17917 * config/linux/lock.c: Rewrite to make locks task owned,
17918 for backwards compatibility provide the old entrypoints
17919 if symbol versioning. Include wait.h instead of libgomp.h and
17920 futex.h.
17921 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
17922 * config/posix95/lock.c: Rewrite to make locks task owned,
17923 for backwards compatibility provide the old entrypoints
17924 if symbol versioning.
17925 * config/posix/lock.c: Rewrite to make locks task owned,
17926 for backwards compatibility provide the old entrypoints
17927 if symbol versioning.
17928 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
17929 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
17930 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
17931 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17932 (sys_futex0): Return error code.
17933 (futex_wake, futex_wait): If ENOSYS was returned, clear
17934 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17935 (cpu_relax, atomic_write_barrier): New static inlines.
17936 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17937 (futex_wake, futex_wait): If ENOSYS was returned, clear
17938 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17939 (cpu_relax, atomic_write_barrier): New static inlines.
17940 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17941 (sys_futex0): Return error code.
17942 (futex_wake, futex_wait): If ENOSYS was returned, clear
17943 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17944 (cpu_relax, atomic_write_barrier): New static inlines.
17945 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17946 (sys_futex0): Return error code.
17947 (futex_wake, futex_wait): If ENOSYS was returned, clear
17948 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17949 (cpu_relax, atomic_write_barrier): New static inlines.
17950 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17951 (sys_futex0): Return error code.
17952 (futex_wake, futex_wait): If ENOSYS was returned, clear
17953 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17954 (cpu_relax, atomic_write_barrier): New static inlines.
17955 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
17956 (sys_futex0): Return error code.
17957 (futex_wake, futex_wait): If ENOSYS was returned, clear
17958 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
17959 (cpu_relax, atomic_write_barrier): New static inlines.
17960 * config/linux/sem.c: Include wait.h instead of libgomp.h and
17961 futex.h.
17962 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
17963 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
17964 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
17965 types.
17966 (omp_nest_lock_t): Change owner into void *, add lock field.
17967 * config/posix95/omp-lock.h: Include semaphore.h.
17968 (omp_lock_25_t, omp_nest_lock_25_t): New types.
17969 (omp_lock_t): Use sem_t instead of mutex if semaphores
17970 aren't broken.
17971 (omp_nest_lock_t): Likewise. Change owner to void *.
17972 * config/posix/omp-lock.h: Include semaphore.h.
17973 (omp_lock_25_t, omp_nest_lock_25_t): New types.
17974 (omp_lock_t): Use sem_t instead of mutex if semaphores
17975 aren't broken.
17976 (omp_nest_lock_t): Likewise. Add owner field.
17977
17978 2008-06-06 Jakub Jelinek <jakub@redhat.com>
17979
17980 * testsuite/libgomp.c/collapse-1.c: New test.
17981 * testsuite/libgomp.c/collapse-2.c: New test.
17982 * testsuite/libgomp.c/collapse-3.c: New test.
17983 * testsuite/libgomp.c/icv-1.c: New test.
17984 * testsuite/libgomp.c/icv-2.c: New test.
17985 * testsuite/libgomp.c/lib-2.c: New test.
17986 * testsuite/libgomp.c/lock-1.c: New test.
17987 * testsuite/libgomp.c/lock-2.c: New test.
17988 * testsuite/libgomp.c/lock-3.c: New test.
17989 * testsuite/libgomp.c/loop-4.c: New test.
17990 * testsuite/libgomp.c/loop-5.c: New test.
17991 * testsuite/libgomp.c/loop-6.c: New test.
17992 * testsuite/libgomp.c/loop-7.c: New test.
17993 * testsuite/libgomp.c/loop-8.c: New test.
17994 * testsuite/libgomp.c/loop-9.c: New test.
17995 * testsuite/libgomp.c/nested-3.c: New test.
17996 * testsuite/libgomp.c/nestedfn-6.c: New test.
17997 * testsuite/libgomp.c/sort-1.c: New test.
17998 * testsuite/libgomp.c/task-1.c: New test.
17999 * testsuite/libgomp.c/task-2.c: New test.
18000 * testsuite/libgomp.c/task-3.c: New test.
18001 * testsuite/libgomp.c/task-4.c: New test.
18002 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
18003 to C++ testsuite default compiler options.
18004 * testsuite/libgomp.c++/collapse-1.C: New test.
18005 * testsuite/libgomp.c++/collapse-2.C: New test.
18006 * testsuite/libgomp.c++/ctor-10.C: New test.
18007 * testsuite/libgomp.c++/for-1.C: New test.
18008 * testsuite/libgomp.c++/for-2.C: New test.
18009 * testsuite/libgomp.c++/for-3.C: New test.
18010 * testsuite/libgomp.c++/for-4.C: New test.
18011 * testsuite/libgomp.c++/for-5.C: New test.
18012 * testsuite/libgomp.c++/loop-8.C: New test.
18013 * testsuite/libgomp.c++/loop-9.C: New test.
18014 * testsuite/libgomp.c++/loop-10.C: New test.
18015 * testsuite/libgomp.c++/task-1.C: New test.
18016 * testsuite/libgomp.c++/task-2.C: New test.
18017 * testsuite/libgomp.c++/task-3.C: New test.
18018 * testsuite/libgomp.c++/task-4.C: New test.
18019 * testsuite/libgomp.c++/task-5.C: New test.
18020 * testsuite/libgomp.c++/task-6.C: New test.
18021 * testsuite/libgomp.fortran/allocatable1.f90: New test.
18022 * testsuite/libgomp.fortran/allocatable2.f90: New test.
18023 * testsuite/libgomp.fortran/allocatable3.f90: New test.
18024 * testsuite/libgomp.fortran/allocatable4.f90: New test.
18025 * testsuite/libgomp.fortran/collapse1.f90: New test.
18026 * testsuite/libgomp.fortran/collapse2.f90: New test.
18027 * testsuite/libgomp.fortran/collapse3.f90: New test.
18028 * testsuite/libgomp.fortran/collapse4.f90: New test.
18029 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
18030 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
18031 * testsuite/libgomp.fortran/lib4.f90: New test.
18032 * testsuite/libgomp.fortran/lock-1.f90: New test.
18033 * testsuite/libgomp.fortran/lock-2.f90: New test.
18034 * testsuite/libgomp.fortran/nested1.f90: New test.
18035 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
18036 * testsuite/libgomp.fortran/strassen.f90: New test.
18037 * testsuite/libgomp.fortran/tabs1.f90: New test.
18038 * testsuite/libgomp.fortran/tabs2.f: New test.
18039 * testsuite/libgomp.fortran/task1.f90: New test.
18040 * testsuite/libgomp.fortran/task2.f90: New test.
18041 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
18042 * testsuite/libgomp.fortran/vla5.f90: Likewise.
18043 * testsuite/libgomp.c/pr26943-2.c: Likewise.
18044 * testsuite/libgomp.c/pr26943-3.c: Likewise.
18045 * testsuite/libgomp.c/pr26943-4.c: Likewise.
18046
18047 2008-05-23 Jakub Jelinek <jakub@redhat.com>
18048
18049 PR c++/36308
18050 * testsuite/libgomp.c++/ctor-11.C: New test.
18051 * testsuite/libgomp.c++/ctor-12.C: New test.
18052
18053 2008-05-15 Janis Johnson <janis187@us.ibm.com>
18054
18055 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
18056
18057 2008-05-07 Jakub Jelinek <jakub@redhat.com>
18058
18059 PR middle-end/36106
18060 * testsuite/libgomp.c/atomic-5.c: New test.
18061 * testsuite/libgomp.c/atomic-6.c: New test.
18062 * testsuite/libgomp.c/autopar-1.c: New test.
18063
18064 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18065
18066 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
18067 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
18068 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
18069 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
18070 * configure: Regenerate.
18071 * Makefile.in, testsuite/Makefile.in: Likewise.
18072
18073 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
18074
18075 PR bootstrap/35457
18076 * aclocal.m4: Regenerate.
18077 * configure: Regenerate.
18078
18079 2008-03-18 Jakub Jelinek <jakub@redhat.com>
18080
18081 PR middle-end/35611
18082 * testsuite/libgomp.c/atomic-4.c: New test.
18083
18084 PR libgomp/35625
18085 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
18086 (gomp_iter_guided_next): Likewise.
18087 * testsuite/libgomp.c/pr35625.c: New test.
18088
18089 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18090
18091 * aclocal.m4: Regenerate.
18092 * configure: Likewise.
18093 * Makefile.in: Likewise.
18094 * testsuite/Makefile.in: Likewise.
18095
18096 2008-03-13 Jakub Jelinek <jakub@redhat.com>
18097
18098 PR middle-end/35185
18099 * testsuite/libgomp.c++/pr35185.C: New test.
18100
18101 2008-03-12 Jakub Jelinek <jakub@redhat.com>
18102
18103 PR middle-end/35549
18104 * testsuite/libgomp.c/pr35549.c: New test.
18105
18106 2008-03-06 Jakub Jelinek <jakub@redhat.com>
18107
18108 * testsuite/libgomp.c/atomic-3.c: New test.
18109
18110 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18111
18112 PR fortran/33197
18113 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
18114 .F08 file suffixes.
18115
18116 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
18117
18118 PR libgomp/33131
18119 * configure.ac: Add ACX_HEADER_STRING.
18120 * env.c: Include strings.h.
18121 * aclocal.m4: Regenerate.
18122 * config.h.in: Regenerate.
18123 * configure: Regenerate.
18124 * Makefile.in: Regenerate.
18125 * testsuite/Makefile.in: Regenerate.
18126
18127 2008-02-15 Jakub Jelinek <jakub@redhat.com>
18128
18129 PR middle-end/35196
18130 * testsuite/libgomp.c/pr35196.c: New test.
18131
18132 PR middle-end/35130
18133 * testsuite/libgomp.fortran/pr35130.f90: New test.
18134 * testsuite/libgomp.c/pr35130.c: New test.
18135
18136 2008-01-25 Jakub Jelinek <jakub@redhat.com>
18137
18138 PR middle-end/33880
18139 * testsuite/libgomp.c/pr33880.c: New test.
18140 * testsuite/libgomp.fortran/pr33880.f90: New test.
18141
18142 2008-01-24 David Edelsohn <edelsohn@gnu.org>
18143
18144 * configure: Regenerate.
18145
18146 2008-01-08 Jakub Jelinek <jakub@redhat.com>
18147
18148 * configure.ac: Move futex checking into ../config/futex.m4.
18149 * configure: Rebuilt.
18150 * aclocal.m4: Rebuilt.
18151 * Makefile.in: Rebuilt.
18152
18153 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
18154 2007-10-15 ../config/tls.m4 change.
18155
18156 2007-12-19 Jakub Jelinek <jakub@redhat.com>
18157
18158 PR c++/34513
18159 * testsuite/libgomp.c/pr34513.c: New test.
18160 * testsuite/libgomp.c++/pr34513.C: New test.
18161
18162 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
18163
18164 PR target/32765
18165 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
18166
18167 2007-12-04 Jakub Jelinek <jakub@redhat.com>
18168
18169 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
18170
18171 2007-12-03 Jakub Jelinek <jakub@redhat.com>
18172
18173 * testsuite/libgomp.c/private-1.c: New test.
18174
18175 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
18176 Paolo Bonzini <bonzini@gnu.org>
18177
18178 * Makefile.am: Use space as vpath separator. Use 'vpath %'
18179 instead of 'VPATH ='.
18180 * Makefile.in: Regenerate.
18181
18182 2007-11-23 Matthias Klose <doko@ubuntu.com>
18183
18184 * configure.ac: Adjust makeinfo version check.
18185 * configure: Regenerate.
18186
18187 2007-11-10 Jakub Jelinek <jakub@redhat.com>
18188
18189 PR fortran/34020
18190 * testsuite/libgomp.fortran/pr34020.f90: New test.
18191
18192 2007-11-06 Jakub Jelinek <jakub@redhat.com>
18193
18194 PR c++/33894
18195 * testsuite/libgomp.c++/atomic-1.C: New test.
18196
18197 2007-10-25 Jakub Jelinek <jakub@redhat.com>
18198
18199 PR libgomp/33275
18200 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
18201 Make x and y integers rather than (implicit) reals. Add private (j)
18202 clause to the last omp parallel.
18203
18204 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
18205
18206 * configure: Regenerate following changes to ../config/tls.m4.
18207
18208 2007-09-28 Jakub Jelinek <jakub@redhat.com>
18209
18210 * testsuite/libgomp.fortran/stack.f90: New test.
18211
18212 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
18213
18214 * config/mingw32/proc.c: New file.
18215
18216 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
18217
18218 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
18219 (main): Use __get_cpuid to get i386 target fetaures.
18220 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
18221 (main): Use __get_cpuid to get x86_64 target fetaures.
18222
18223 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
18224
18225 PR target/32765
18226 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
18227 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
18228
18229 2007-07-12 Jakub Jelinek <jakub@redhat.com>
18230
18231 PR fortran/32550
18232 * testsuite/libgomp.fortran/pr32550.f90: New test.
18233 * testsuite/libgomp.fortran/crayptr2.f90: New test.
18234
18235 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
18236
18237 * aclocal.m4: Regenerated.
18238
18239 2007-07-05 Tobias Burnus <burnus@net-b.de>
18240
18241 PR fortran/32359
18242 * testsuite/libgomp.fortran/pr32359.f90: New.
18243
18244 2007-07-02 Jakub Jelinek <jakub@redhat.com>
18245
18246 PR libgomp/32468
18247 * sections.c (GOMP_parallel_sections_start): Only decrease
18248 number of threads to COUNT if dyn_var is true.
18249 * testsuite/libgomp.c/pr32468.c: New test.
18250
18251 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18252
18253 PR libgomp/26308
18254 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
18255
18256 2007-06-21 Jakub Jelinek <jakub@redhat.com>
18257
18258 PR middle-end/32362
18259 * testsuite/libgomp.c/pr32362-1.c: New test.
18260 * testsuite/libgomp.c/pr32362-2.c: New test.
18261 * testsuite/libgomp.c/pr32362-3.c: New test.
18262
18263 2007-06-07 Jakub Jelinek <jakub@redhat.com>
18264
18265 * team.c (gomp_team_start): Fix setting up thread_attr
18266 stack size.
18267
18268 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
18269
18270 * configure: Regenerate.
18271
18272 2007-05-23 Steve Ellcey <sje@cup.hp.com>
18273
18274 * Makefile.in: Regenerate.
18275 * configure: Regenerate.
18276 * aclocal.m4: Regenerate.
18277 * testsuite/Makefile.in: Regenerate.
18278
18279 2007-05-04 Jakub Jelinek <jakub@redhat.com>
18280
18281 * config/linux/proc.c: New file.
18282
18283 PR libgomp/28482
18284 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
18285
18286 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
18287
18288 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
18289
18290 2007-04-16 Matthias Klose <doko@debian.org>
18291
18292 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
18293 flags if not building with -m64.
18294 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
18295 flag for i?86-*-* targets, if current target matches -m64.
18296
18297 2007-04-14 Steve Ellcey <sje@cup.hp.com>
18298
18299 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
18300 * Makefile.in: Regenerate.
18301
18302 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18303
18304 PR testsuite/31369
18305 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
18306 ld_library_path.
18307 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18308
18309 2007-04-04 Jakub Jelinek <jakub@redhat.com>
18310
18311 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
18312 decls.
18313 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
18314 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
18315 (parse_affinity): New function.
18316 (initialize_env): Call it and gomp_init_affinity.
18317 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
18318 create new pthread_attr_t and call gomp_init_thread_affinity
18319 on it for each thread before passing the attribute to pthread_create.
18320 * config/linux/affinity.c: New file.
18321 * config/posix/affinity.c: New file.
18322 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
18323 * configure: Rebuilt.
18324 * config.h.in: Rebuilt.
18325 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
18326 * Makefile.in: Rebuilt.
18327
18328 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
18329
18330 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
18331 *-*-darwin*.
18332 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
18333 and use it if found.
18334
18335 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
18336
18337 * testsuite/config/default.exp: New file.
18338 * testsuite/lib/libgomp.exp: New file.
18339 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
18340 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
18341 load_lib *, load_gcc_lib *): Move to libgomp.exp.
18342 (libgomp_load): Remove.
18343 * testsuite/lib/libgomp.exp (libgomp_init): Compute
18344 always_ld_library_path, not ld_library_path. Set additional_flags
18345 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
18346 (target_compile): Do not call libgomp_init. Append lang_library_path
18347 and lang_link_flags to options.
18348 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
18349 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
18350 here.
18351 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
18352 always_ld_library_path. Set LD_LIBRARY_PATH here.
18353 * testsuite/libgomp.fortran/fortran.exp: Ditto.
18354 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
18355 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
18356 CX8 flag.
18357 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
18358 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
18359 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
18360 * testsuite/libgomp.c/pr29947-1.c: Ditto.
18361 * testsuite/libgomp.c/atomic-10.c: Ditto.
18362
18363 2007-03-21 Jakub Jelinek <jakub@redhat.com>
18364
18365 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
18366 dg-final cleanup-modules line.
18367 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
18368 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
18369 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
18370 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
18371 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
18372 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
18373 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
18374
18375 2007-03-18 Andreas Schwab <schwab@suse.de>
18376
18377 * acinclude.m4: Adjust regular expression for ld version
18378 extraction.
18379 * configure: Regenerate.
18380
18381 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
18382
18383 * Makefile.am: Add install-pdf target as copied from
18384 automake v1.10 rules.
18385 * Makefile.in: Regenerate
18386
18387 2007-02-07 Jakub Jelinek <jakub@redhat.com>
18388
18389 PR libgomp/28486
18390 * configure: Regenerate.
18391
18392 PR c++/30703
18393 * testsuite/libgomp.c++/pr30703.C: New test.
18394
18395 2007-02-02 Jakub Jelinek <jakub@redhat.com>
18396
18397 Revert:
18398 2006-07-05 Eric Christopher <echristo@apple.com>
18399 * configure.ac: Depend addition of -pthread on host OS.
18400 * configure: Regenerate.
18401
18402 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18403
18404 * libgomp.texi: Fix spacing after abbreviations.
18405
18406 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
18407
18408 PR libgomp/30546
18409 * configure.ac: Add check for makeinfo
18410 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
18411 if an appropriate version of makeinfo is found.
18412 * aclocal.m4: Regenerated.
18413 * configure: Regenerated.
18414 * Makefile.in: Regenerated.
18415 * testsuite/Makefile.in: Regenerated.
18416
18417 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
18418
18419 PR libgomp/30540
18420 * libgomp.texi: More about implementation-dependent settings.
18421
18422 2007-01-26 Tobias Burnus <burnus@net-b.de>
18423
18424 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
18425
18426 2007-01-24 Jakub Jelinek <jakub@redhat.com>
18427
18428 PR middle-end/30494
18429 * testsuite/libgomp.c/pr30494.c: New test.
18430
18431 2007-01-15 Tom Tromey <tromey@redhat.com>
18432
18433 * configure: Rebuilt.
18434 * configure.ac: Fixed comment.
18435
18436 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
18437
18438 * libgomp.texi: Document implementation specific default values of
18439 environment variables.
18440
18441 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
18442
18443 PR libgomp/28209
18444 * libgomp.texi: New file.
18445 * configure.ac: Add --enable-generated-files-in-srcdir option.
18446 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
18447 files to srcdir.
18448 * Makefile.in: Regenerated.
18449 * config.h.in: Regenerated.
18450 * testsuite/Makefile.in: Regenerated.
18451 * NOTES: Removed.
18452
18453 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
18454
18455 PR libgomp/29949
18456 * env.c (omp_set_num_threads): Set illegal thread count to 1.
18457
18458 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
18459
18460 * configure: Regenerate.
18461
18462 2006-12-04 Jakub Jelinek <jakub@redhat.com>
18463
18464 PR libgomp/29947
18465 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
18466 start if there shouldn't be any loop iterations.
18467 (gomp_loop_ordered_static_start): Remove start == end test.
18468 * testsuite/libgomp.c/pr29947-1.c: New test.
18469 * testsuite/libgomp.c/pr29947-2.c: New test.
18470
18471 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
18472
18473 * configure.tgt: Force initial-exec TLS model on Linux only.
18474
18475 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
18476
18477 * configure: Regenerated.
18478
18479 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
18480
18481 * env.c (parse_schedule): Reject out of range values.
18482 (parse_unsigned_long): Reject out of range, negative or zero values.
18483
18484 2006-10-29 Jakub Jelinek <jakub@redhat.com>
18485
18486 PR fortran/29629
18487 * testsuite/libgomp.fortran/pr29629.f90: New test.
18488
18489 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
18490
18491 PR libgomp/29494
18492 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
18493 * config/posix95: New directory.
18494 * config/posix95/omp-lock.h: New file.
18495 * config/posix95/lock.c: Likewise.
18496
18497 2006-10-14 Geoffrey Keating <geoffk@apple.com>
18498
18499 * aclocal.m4: Regenerate.
18500 * configure: Regenerate.
18501
18502 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
18503
18504 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
18505 '<' to '<='.
18506
18507 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
18508
18509 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
18510 test.
18511 * configure: Regenerate.
18512 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
18513
18514 2006-09-26 Jakub Jelinek <jakub@redhat.com>
18515
18516 PR middle-end/25261
18517 PR middle-end/28790
18518 * testsuite/libgomp.c/nestedfn-4.c: New test.
18519 * testsuite/libgomp.c/nestedfn-5.c: New test.
18520 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
18521
18522 PR fortran/29097
18523 * testsuite/libgomp.fortran/condinc1.f: New test.
18524 * testsuite/libgomp.fortran/condinc2.f: New test.
18525 * testsuite/libgomp.fortran/condinc3.f90: New test.
18526 * testsuite/libgomp.fortran/condinc4.f90: New test.
18527 * testsuite/libgomp.fortran/condinc1.inc: New file.
18528
18529 2006-09-18 Tom Tromey <tromey@redhat.com>
18530
18531 * configure: Rebuilt.
18532
18533 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
18534
18535 PR c/28768
18536 PR preprocessor/14634
18537 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
18538 to AC_DEFINE.
18539 * configure: Regenerate.
18540
18541 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
18542
18543 * testsuite/libgomp.fortran/reduction3.f90: Change
18544 -2147483648 to -huge(i)-1 to avoid overflow.
18545 * testsuite/libgomp.fortran/reduction4.f90: Change
18546 Z'ffffffff' to not(0) to avoid overflow.
18547
18548 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
18549
18550 PR libgomp/25938
18551 * Makefile.am (libsubincludedir): New.
18552 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
18553 * Makefile.in: Regenerate.
18554
18555 2006-08-17 Jakub Jelinek <jakub@redhat.com>
18556
18557 PR libgomp/28725
18558 * env.c: Include ctype.h.
18559 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
18560 leading and/or trailing whitespace and compare strings case
18561 insensitively.
18562
18563 2006-07-16 Jakub Jelinek <jakub@redhat.com>
18564
18565 PR fortran/28390
18566 * testsuite/libgomp.fortran/pr28390.f: New test.
18567
18568 2006-07-05 Eric Christopher <echristo@apple.com>
18569
18570 * configure.ac: Depend addition of -pthread on host OS.
18571 * configure: Regenerate.
18572
18573 2006-06-21 Jakub Jelinek <jakub@redhat.com>
18574
18575 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
18576 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
18577 defined.
18578
18579 2006-06-20 Jakub Jelinek <jakub@redhat.com>
18580
18581 PR libgomp/26175
18582 PR libgomp/26477
18583 * configure.ac: If neither --enable-linux-futex nor
18584 --disable-linux-futex is passed, determine the default by checking
18585 for compiling and/or running against NPTL. With --enable-linux-futex,
18586 check if SYS_gettid and SYS_futex are defined.
18587 * configure: Rebuilt.
18588
18589 2006-06-14 Richard Henderson <rth@redhat.com>
18590
18591 PR libgomp/28008
18592 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
18593 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
18594
18595 2006-06-09 Richard Henderson <rth@redhat.com>
18596
18597 * env.c (gomp_nthreads_var): Change to unsigned long.
18598 (gomp_run_sched_chunk): Likewise.
18599 (parse_unsigned_long): Rename from parse_num_threads and generalize.
18600 (initialize_env): Initialize gomp_thread_attr.
18601 * libgomp.h (gomp_nthreads_var): Update decl.
18602 (gomp_run_sched_chunk): Likewise.
18603 (gomp_thread_attr): Declare.
18604 * team.c (gomp_thread_attr): Export.
18605 (initialize_team): Don't initialize it.
18606
18607 2006-06-09 Jakub Jelinek <jakub@redhat.com>
18608
18609 PR fortran/27916
18610 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
18611 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
18612
18613 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
18614
18615 * config/mingw32/time.c: New file.
18616 * configure.tgt: Use it.
18617
18618 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
18619
18620 * Makefile.am: Add install-html target. Add install-html to .PHONY
18621 * Makefile.in: Regenerate.
18622
18623 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18624
18625 PR libgomp/27612
18626 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
18627 * testsuite/libgomp.c/critical-1.c: Likewise.
18628 * testsuite/libgomp.c/loop-1.c: Likewise.
18629 * testsuite/libgomp.c/loop-2.c: Likewise.
18630 * testsuite/libgomp.c/single-1.c: Likewise.
18631 * testsuite/libgomp.c/ordered-1.c: Likewise.
18632 * testsuite/libgomp.c/ordered-2.c: Likewise.
18633
18634 2006-05-15 Jakub Jelinek <jakub@redhat.com>
18635
18636 PR middle-end/27416
18637 * libgomp.fortran/pr27416-1.f90: New test.
18638
18639 2006-05-03 Jakub Jelinek <jakub@redhat.com>
18640
18641 PR fortran/27395
18642 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
18643 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
18644
18645 2006-05-02 Jakub Jelinek <jakub@redhat.com>
18646
18647 PR c++/26943
18648 * testsuite/libgomp.c/pr26943-1.c: New test.
18649 * testsuite/libgomp.c/pr26943-2.c: New test.
18650 * testsuite/libgomp.c/pr26943-3.c: New test.
18651 * testsuite/libgomp.c/pr26943-4.c: New test.
18652 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
18653 * testsuite/libgomp.c++/pr26943.C: New test.
18654
18655 2006-05-02 Jakub Jelinek <jakub@redhat.com>
18656
18657 PR middle-end/27337
18658 * testsuite/libgomp.c++/pr27337.C: New test.
18659
18660 2006-04-26 Jakub Jelinek <jakub@redhat.com>
18661
18662 PR c/26171
18663 * testsuite/libgomp.c/pr26171.c: New test.
18664
18665 2006-04-25 Richard Henderson <rth@redhat.com>
18666
18667 PR libgomp/25865
18668 * configure.ac: Use GCC_CHECK_TLS.
18669 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
18670 * Makefile.in, aclocal.m4, configure: Regenerate.
18671
18672 2006-04-10 Matthias Klose <doko@debian.org>
18673
18674 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
18675 directory names containing underscores.
18676
18677 2006-03-21 Jakub Jelinek <jakub@redhat.com>
18678
18679 PR c++/26691
18680 * testsuite/libgomp.c++/pr26691.C: New test.
18681
18682 2006-03-13 Jakub Jelinek <jakub@redhat.com>
18683
18684 * testsuite/libgomp.fortran/retval2.f90: New test.
18685
18686 2006-03-09 Diego Novillo <dnovillo@redhat.com>
18687
18688 * testsuite/libgomp.c++: New directory.
18689
18690 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
18691
18692 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
18693 * config/posix/sem.c: Implement the above.
18694
18695 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
18696
18697 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
18698 define HAVE_BROKEN_POSIX_SEMAPHORES.
18699 * configure: Rebuilt.
18700 * config.h.in: Rebuilt.
18701
18702 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
18703
18704 PR bootstrap/26161
18705 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
18706 for the other pthread check.
18707 * configure: Regenerate.
18708 * config.h.in: Regenerate.
18709
18710 2006-02-15 Jakub Jelinek <jakub@redhat.com>
18711
18712 PR libgomp/25938
18713 PR libgomp/25984
18714 * Makefile.am (fincludedir): New variable.
18715 (nodist_include_HEADERS): Remove Fortran files.
18716 (nodist_finclude_HEADERS): New variable.
18717 * Makefile.in: Regenerated.
18718
18719 2006-02-13 Jakub Jelinek <jakub@redhat.com>
18720
18721 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
18722 Remove tests for returning assumed character length arrays.
18723
18724 2006-02-12 Roger Sayle <roger@eyesopen.com>
18725 John David Anglin <dave@hiauly1.hia.nrc.ca>
18726
18727 PR libgomp/25936
18728 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
18729
18730 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
18731
18732 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
18733
18734 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
18735
18736 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
18737 part of LD_LIBRARY_PATH manually.
18738
18739 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
18740
18741 PR libgomp/25852
18742 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
18743 libgomp_init.
18744
18745 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
18746
18747 PR libgomp/25884
18748 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
18749 * configure.ac (PERL): Don't set.
18750 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
18751 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
18752 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
18753 * omp.h.in: Wrap the new configure substitutions with @ characters.
18754 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
18755 * aclocal.m4, configure, Makefile.in: Regenerate.
18756 * mkomp_h.pl: Delete.
18757
18758 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
18759
18760 PR libgomp/25259
18761 * configure.ac: Use GCC_HEADER_STDINT.
18762 * libgomp.h: Include gstdint.h.
18763 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
18764 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
18765
18766 2006-01-24 Richard Henderson <rth@redhat.com>
18767
18768 PR libgomp/25942
18769 * configure.ac: Add AM_MAINTAINER_MODE.
18770 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
18771
18772 2006-01-24 Diego Novillo <dnovillo@redhat.com>
18773
18774 * Makefile.in: Regenerate.
18775 * testsuite/Makefile.in: Regenerate.
18776 * aclocal.m4: Regenerate.
18777
18778 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
18779
18780 * config/posix/proc.c: Conditional include of sys/loadavg.h for
18781 Solaris.
18782 * configure.ac: Add check for loadavg.h.
18783 (link_gomp): Adjust comment.
18784 * configure: Regenerate.
18785 * config.h.in: Regenerate.
18786
18787 2006-01-21 Steve Ellcey <sje@cup.hp.com>
18788
18789 PR libgomp/25877
18790 * configure.ac: Remove check for alloca.h.
18791 * configure: Regenerate.
18792 * config.h.in: Regenerate.
18793 * libgomp.h: define gomp_alloca to be __builtin_alloca.
18794 * team.c: Remove use of alloca.h.
18795 Call gomp_alloca instead of alloca.
18796
18797 2006-01-20 Steve Ellcey <sje@cup.hp.com>
18798
18799 PR libgomp/25877
18800 * team.c: Add include of alloca.h.
18801 * configure.ac: Add check for alloca.h.
18802 * configure: Regenerate.
18803 * config.h.in: Regenerate.
18804
18805 2006-01-17 Jakub Jelinek <jakub@redhat.com>
18806
18807 PR fortran/25219
18808 * testsuite/libgomp.fortran/pr25219.f90: New test.
18809
18810 2005-12-05 Uros Bizjak <uros@kss-loka.si>
18811
18812 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
18813 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
18814 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
18815 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
18816 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
18817 testsuite/libgomp.fortran/threadprivate1.f90,
18818 testsuite/libgomp.fortran/threadprivate2.f90,
18819 testsuite/libgomp.fortran/threadprivate3.f90,
18820 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
18821 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
18822 testsuite/libgomp.fortran/omp_parse3.f90: Change required
18823 effective-target to TLS runtime.
18824
18825 * testsuite/libgomp.fortran/pr25162.f: Require
18826 effective-target TLS runtime.
18827
18828 2005-12-01 Jakub Jelinek <jakub@redhat.com>
18829
18830 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
18831 * testsuite/libgomp.c/nestedfn-3.c: New test.
18832
18833 2005-11-30 Jakub Jelinek <jakub@redhat.com>
18834
18835 PR fortran/25162
18836 * testsuite/libgomp.fortran/pr25162.f: New test.
18837
18838 2005-11-28 Jakub Jelinek <jakub@redhat.com>
18839
18840 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
18841 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
18842
18843 2005-11-25 Jakub Jelinek <jakub@redhat.com>
18844
18845 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
18846 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
18847 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
18848 single.c, team.c, work.c, config/linux/alpha/futex.h,
18849 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
18850 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
18851 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
18852 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
18853 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
18854 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
18855 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
18856 FSF address.
18857
18858 2005-11-18 Jakub Jelinek <jakub@redhat.com>
18859
18860 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
18861 to nodist_noinst_HEADERS.
18862 * Makefile.in: Rebuilt.
18863
18864 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
18865 add integer count field.
18866 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
18867 omp_nest_lock_t type change.
18868 (omp_init_nest_lock): Likewise. Initialize count to 0.
18869 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
18870 Increment count.
18871 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
18872 Decrement count.
18873 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
18874 Increment count if successful and return the new nesting level.
18875 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
18876 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
18877 * testsuite/libgomp.c/lib-1.c: New test.
18878 * testsuite/libgomp.fortran/lib1.f90: New test.
18879 * testsuite/libgomp.fortran/lib2.f: New test.
18880 * testsuite/libgomp.fortran/lib3.f: New test.
18881
18882 2005-11-17 Richard Henderson <rth@redhat.com>
18883
18884 PR 24845
18885 * Makefile.am (nodist_toolexeclib_HEADERS): New.
18886 * configure.ac (link_gomp): New. Substitute it.
18887 (AC_CONFIG_FILES): Add libgomp.spec.
18888 * libgomp.spec.in: New file.
18889 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
18890 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
18891
18892 2005-11-18 Jakub Jelinek <jakub@redhat.com>
18893
18894 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
18895 reduction(-:var) behaving the same as reduction(+:var).
18896 * testsuite/libgomp.c/reduction-4.c: New test.
18897
18898 2005-11-15 Uros Bizjak <uros@kss-loka.si>
18899
18900 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
18901 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
18902 testsuite/libgomp.c/copyin-3.c,
18903 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
18904 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
18905 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
18906 testsuite/libgomp.c++/pr24455.C,
18907 testsuite/libgomp.fortran/threadprivate1.f90,
18908 testsuite/libgomp.fortran/threadprivate2.f90,
18909 testsuite/libgomp.fortran/threadprivate3.f90,
18910 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
18911 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
18912 testsuite/libgomp.fortran/omp_parse3.f90: Require
18913 effective-target TLS.
18914
18915 2005-11-14 Diego Novillo <dnovillo@redhat.com>
18916
18917 * HEADER: Remove.
18918
18919 2005-11-13 Jakub Jelinek <jakub@redhat.com>
18920
18921 PR libgomp/24797
18922 * team.c (initialize_team): Pass NULL rather than free as
18923 pthread_key_create destructor. Initialize thread specific data
18924 pointer in initial thread to a static local variable rather than
18925 malloced memory.
18926
18927 2005-11-11 Uros Bizjak <uros@kss-loka.si>
18928
18929 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
18930 its location to ld_library_path.
18931
18932 2005-11-10 Diego Novillo <dnovillo@redhat.com>
18933
18934 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
18935
18936 2005-11-10 Diego Novillo <dnovillo@redhat.com>
18937
18938 * testsuite/libgomp.c: Rename from libgomp.dg.
18939
18940 2005-11-09 Diego Novillo <dnovillo@redhat.com>
18941
18942 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
18943 threadprivate variable 'i'.
18944
18945 2005-11-09 Jakub Jelinek <jakub@redhat.com>
18946
18947 * config/linux/s390/futex.h: New file.
18948 * configure.tgt: Use it.
18949
18950 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
18951 before the parallel.
18952
18953 2005-11-08 Jakub Jelinek <jakub@redhat.com>
18954
18955 PR c++/24734
18956 * testsuite/libgomp.c++/master-1.C: New test.
18957
18958 2005-11-07 Jakub Jelinek <jakub@redhat.com>
18959
18960 * testsuite/libgomp.dg/copyin-3.c: New test.
18961
18962 2005-11-07 Jakub Jelinek <jakub@redhat.com>
18963
18964 * testsuite/libgomp.fortran/retval1.f90: New test.
18965 * testsuite/libgomp.fortran/vla7.f90: New test.
18966
18967 2005-11-06 Jakub Jelinek <jakub@redhat.com>
18968
18969 * testsuite/libgomp.fortran/vla2.f90: New test.
18970 * testsuite/libgomp.fortran/vla3.f90: New test.
18971 * testsuite/libgomp.fortran/vla4.f90: New test.
18972 * testsuite/libgomp.fortran/vla5.f90: New test.
18973 * testsuite/libgomp.fortran/vla6.f90: New test.
18974
18975 2005-11-01 Jakub Jelinek <jakub@redhat.com>
18976
18977 * config/linux/sparc/futex.h: New file.
18978 * configure.tgt: Use it.
18979 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
18980
18981 * critical.c: Include stdlib.h.
18982 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
18983 ignoring return value.
18984 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
18985 LIBGOMP_CHECK_SYNC_BUILTINS check.
18986 * configure: Rebuilt.
18987
18988 2005-10-31 Jakub Jelinek <jakub@redhat.com>
18989
18990 * testsuite/libgomp.fortran/vla1.f90: New test.
18991
18992 2005-10-31 Richard Henderson <rth@redhat.com>
18993
18994 * testsuite/libgomp.fortran/character2.f90: Fix race condition
18995 setting 's' in different threads.
18996
18997 2005-10-31 Jakub Jelinek <jakub@redhat.com>
18998
18999 * libgomp.h (attribute_hidden, ialias): Define.
19000 * config/posix/proc.c (omp_get_num_procs): Add ialias.
19001 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
19002 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
19003 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
19004 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
19005 omp_test_lock, omp_test_nest_lock): Likewise.
19006 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
19007 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
19008 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
19009 omp_test_lock, omp_test_nest_lock): Likewise.
19010 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
19011 omp_get_dynamic, omp_get_nested): Likewise.
19012 * parallel.c (omp_get_num_threads, omp_get_max_threads,
19013 omp_get_thread_num, omp_in_parallel): Likewise.
19014 * fortran.c (ialias_redirect): Define.
19015 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
19016 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
19017 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
19018 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
19019 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
19020 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
19021 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
19022 omp_get_wtime): Add ialias_redirect.
19023
19024 2005-10-30 Jakub Jelinek <jakub@redhat.com>
19025
19026 * fortran.c: Include stdlib.h.
19027
19028 2005-10-29 Jakub Jelinek <jakub@redhat.com>
19029
19030 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
19031 * Makefile.in: Regenerated.
19032
19033 2005-10-28 Jakub Jelinek <jakub@redhat.com>
19034
19035 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
19036 * libgomp_f.h.in (omp_check_defines): New function.
19037 * env.c: Include libgomp_f.h.
19038 (initialize_env): Call omp_check_defines.
19039
19040 * testsuite/libgomp.dg/copyin-2.c: New test.
19041 * testsuite/libgomp.c++/copyin-2.C: New test.
19042 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
19043
19044 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
19045 * testsuite/libgomp.fortran/sharing2.f90: New test.
19046
19047 * testsuite/libgomp.dg/copyin-1.c: New test.
19048 * testsuite/libgomp.c++/copyin-1.C: New test.
19049
19050 2005-10-26 Jakub Jelinek <jakub@redhat.com>
19051
19052 * testsuite/libgomp.fortran/crayptr1.f90: New test.
19053
19054 * testsuite/libgomp.fortran/workshare1.f90: New test.
19055
19056 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
19057 only test.
19058 * libgomp.fortran/sharing1.f90: New test.
19059
19060 2005-10-24 Jakub Jelinek <jakub@redhat.com>
19061
19062 PR c++/24502
19063 * testsuite/libgomp.c++/loop-7.C: New test.
19064
19065 * testsuite/libgomp.dg/nestedfn-2.c: New test.
19066
19067 * testsuite/libgomp.dg/nestedfn-1.c: New test.
19068 * testsuite/libgomp.fortran/reduction6.f90: New test.
19069 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
19070
19071 2005-10-23 Richard Henderson <rth@redhat.com>
19072
19073 * testsuite/libgomp.c++/ctor-1.C: New.
19074 * testsuite/libgomp.c++/ctor-2.C: New.
19075 * testsuite/libgomp.c++/ctor-3.C: New.
19076 * testsuite/libgomp.c++/ctor-4.C: New.
19077 * testsuite/libgomp.c++/ctor-5.C: New.
19078 * testsuite/libgomp.c++/ctor-6.C: New.
19079 * testsuite/libgomp.c++/ctor-7.C: New.
19080 * testsuite/libgomp.c++/ctor-8.C: New.
19081 * testsuite/libgomp.c++/ctor-9.C: New.
19082
19083 2005-10-21 Diego Novillo <dnovillo@redhat.com>
19084
19085 PR 24455
19086 * testsuite/libgomp.c++/pr24455-1.C: New test.
19087 * testsuite/libgomp.c++/pr24455.C: New test.
19088 * testsuite/libgomp.dg/pr24455-1.c: New test.
19089 * testsuite/libgomp.dg/pr24455.c: New test.
19090
19091 2005-10-20 Richard Henderson <rth@redhat.com>
19092
19093 * testsuite/libgomp.c++/loop-6.C: New.
19094 * testsuite/libgomp.dg/loop-3.c: New.
19095
19096 2005-10-20 Jakub Jelinek <jakub@redhat.com>
19097
19098 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
19099 explicitly private.
19100 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
19101 explicitly shared.
19102
19103 2005-10-19 Diego Novillo <dnovillo@redhat.com>
19104
19105 * testsuite/libgomp.fortran/jacobi.f: New test.
19106
19107 2005-10-19 Richard Henderson <rth@redhat.com>
19108
19109 * configure.tgt (i?86-linux): Default to with_arch instead of
19110 CFLAGS. Add -mtune to match target_cpu.
19111 (x86_64-linux): Tune to i686.
19112
19113 * fortran.c (omp_test_nest_lock_): Fix typo.
19114
19115 2005-10-19 Jakub Jelinek <jakub@redhat.com>
19116
19117 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
19118 gomp_ordered_sync): Do nothing if team->nthreads == 1.
19119 * testsuite/libgomp.dg/ordered-3.c: New test.
19120
19121 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
19122 Remove volatile keyword.
19123
19124 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
19125 in COMMON block to avoid warnings on 64-bit targets.
19126
19127 2005-10-18 Diego Novillo <dnovillo@redhat.com>
19128
19129 * testsuite/libgomp.dg/shared-3.c: New test.
19130
19131 2005-10-18 Jakub Jelinek <jakub@redhat.com>
19132
19133 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
19134 * testsuite/libgomp.fortran/reduction5.f90: New test.
19135
19136 2005-10-18 Jakub Jelinek <jakub@redhat.com>
19137
19138 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
19139 dg-options.
19140 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
19141 flush loop now that __sync_synchronize has proper memory barrier.
19142 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
19143 Add -ffixed-form to dg-options.
19144
19145 2005-10-17 Diego Novillo <dnovillo@redhat.com>
19146
19147 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
19148 from subdirectories.
19149 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
19150 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
19151 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
19152 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
19153 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
19154 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
19155 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
19156 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
19157 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
19158 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
19159 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
19160 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
19161 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
19162 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
19163 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
19164 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
19165 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
19166 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
19167 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
19168 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
19169 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
19170 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
19171 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
19172 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
19173 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
19174
19175 2005-10-17 Jakub Jelinek <jakub@redhat.com>
19176
19177 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
19178 lang_library_path exists. Use find instead of glob to gather tests.
19179 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
19180
19181 2005-10-17 Diego Novillo <dnovillo@redhat.com>
19182
19183 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
19184 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
19185 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
19186 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
19187 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
19188 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
19189 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
19190 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
19191 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
19192 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
19193 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
19194 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
19195 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
19196
19197 2005-10-15 Jakub Jelinek <jakub@redhat.com>
19198
19199 * testsuite/libgomp.dg/vla-1.c: New test.
19200
19201 * testsuite/libgomp.fortran/reference2.f90: New test.
19202
19203 * testsuite/libgomp.fortran/character2.f90: Remove explicit
19204 declaration of omp_get_thread_num.
19205 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
19206 use omp_lib.
19207
19208 * testsuite/libgomp.fortran/reduction1.f90: New test.
19209 * testsuite/libgomp.fortran/reduction2.f90: New test.
19210 * testsuite/libgomp.fortran/reduction3.f90: New test.
19211 * testsuite/libgomp.fortran/reduction4.f90: New test.
19212
19213 2005-10-13 Richard Henderson <rth@redhat.com>
19214
19215 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
19216 * Makefile.in: Regenerate.
19217 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
19218 * libgomp.h: Include bar.h.
19219 (struct gomp_barrier): Remove.
19220 (struct gomp_team): Add barrier. Replace master_barrier with
19221 master_release. Replace threads with ordered_release.
19222 (struct gomp_thread): Replace barrier with release.
19223 * ordered.c (gomp_ordered_first): Update for ordered_release change.
19224 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
19225 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
19226 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
19227 (GOMP_single_copy_end): Likewise.
19228 * team.c (gomp_threads_dock): New.
19229 (gomp_barrier_init, gomp_barrier_destroy): Remove.
19230 (gomp_thread_start): Use gomp_barrier_wait.
19231 (new_team, free_team): Update for gomp_team changes.
19232 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
19233 (gomp_team_end): Use gomp_barrier_wait.
19234 (initialize_team): Update for gomp_thread changes.
19235 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
19236 (gomp_work_share_end_nowait): Use atomic ops when available.
19237 * config/linux/bar.c, config/linux/bar.h: New files.
19238 * config/posix/bar.c, config/posix/bar.h: New files.
19239
19240 2005-10-13 Jakub Jelinek <jakub@redhat.com>
19241
19242 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
19243 * testsuite/libgomp.dg/single-2.c: New test.
19244
19245 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
19246 lang_link_flags): Unset, so that they aren't inherited from previously
19247 sourced *.exp.
19248
19249 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
19250
19251 2005-10-12 Richard Henderson <rth@redhat.com>
19252
19253 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
19254 (libgomp_init): Use lang_test_file, lang_library_path, and
19255 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
19256
19257 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
19258 (lang_test_file, lang_link_flags): New.
19259 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
19260
19261 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
19262 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
19263 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
19264 testsuite/libgomp.c++/parallel-1.C,
19265 testsuite/libgomp.c++/reduction-1.C,
19266 testsuite/libgomp.c++/reduction-2.C,
19267 testsuite/libgomp.c++/reduction-3.C,
19268 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
19269 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
19270 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
19271 New files, largely cribbed from the C testsuite.
19272
19273 2005-10-12 Jakub Jelinek <jakub@redhat.com>
19274
19275 * testsuite/libgomp.fortran/character1.f90: New test.
19276 * testsuite/libgomp.fortran/character2.f90: New test.
19277
19278 * testsuite/libgomp.dg/nested-1.c: New test.
19279 * testsuite/libgomp.dg/nested-2.c: New test.
19280 * testsuite/libgomp.fortran/do1.f90: New test.
19281 * testsuite/libgomp.fortran/do2.f90: New test.
19282
19283 * testsuite/libgomp.fortran/reference1.f90: New test.
19284
19285 2005-10-11 Jakub Jelinek <jakub@redhat.com>
19286
19287 * testsuite/libgomp.dg/reduction-1.c: New test.
19288 * testsuite/libgomp.dg/reduction-2.c: New test.
19289 * testsuite/libgomp.dg/reduction-3.c: New test.
19290
19291 2005-10-10 Jakub Jelinek <jakub@redhat.com>
19292
19293 * testsuite/libgomp.dg/atomic-1.c: New test.
19294 * testsuite/libgomp.dg/atomic-2.c: New test.
19295
19296 2005-10-09 Richard Henderson <rth@redhat.com>
19297
19298 * critical.c (atomic_lock): New.
19299 (initialize_critical): Initialize it.
19300 (GOMP_atomic_start, GOMP_atomic_end): New.
19301 * libgomp.map: Export them.
19302 * libgomp_g.h: Declare them.
19303
19304 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
19305
19306 2005-10-02 Richard Henderson <rth@redhat.com>
19307
19308 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
19309 to XCFLAGS instead of CFLAGS.
19310
19311 2005-09-30 Richard Henderson <rth@redhat.com>
19312
19313 * configure.ac: Determine whether -pthread or -lpthread is needed.
19314 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
19315 * Makefile.in, configure: Rebuild.
19316
19317 2005-09-28 Richard Henderson <rth@redhat.com>
19318
19319 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
19320 * testsuite/libgomp.dg/omp-single-3.c: New test.
19321
19322 2005-09-28 Diego Novillo <dnovillo@redhat.com>
19323
19324 * testsuite/libgomp.dg/omp-single-2.c: New test.
19325 * testsuite/libgomp.dg/shared-2.c: Fix return code.
19326
19327 2005-09-27 Richard Henderson <rth@redhat.com>
19328
19329 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
19330 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
19331
19332 2005-09-27 Jakub Jelinek <jakub@redhat.com>
19333
19334 * testsuite/libgomp.dg/omp-loop03.c: New test.
19335
19336 2005-09-27 Diego Novillo <dnovillo@redhat.com>
19337
19338 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
19339
19340 2005-09-27 Diego Novillo <dnovillo@redhat.com>
19341
19342 * testsuite/libgomp.dg/omp-single-1.c: New test.
19343 * testsuite/libgomp.dg/shared-1.c: Return 0.
19344 Add prototype for abort.
19345 * testsuite/libgomp.dg/shared-2.c: Likewise.
19346
19347 2005-09-26 Jakub Jelinek <jakub@redhat.com>
19348
19349 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
19350 constructs.
19351
19352 2005-09-26 Diego Novillo <dnovillo@redhat.com>
19353
19354 * testsuite/libgomp.dg/shared-1.c: New test.
19355 * testsuite/libgomp.dg/shared-2.c: New test.
19356
19357 2005-09-24 Richard Henderson <rth@redhat.com>
19358
19359 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
19360
19361 2005-09-24 Richard Henderson <rth@redhat.com>
19362
19363 * iter.c (gomp_iter_static_next): Round up when computing number
19364 of iterations. Don't bother distributing a remainder equally.
19365
19366 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
19367 Don't call srand. Zero b before testing.
19368 (main): New.
19369
19370 2005-09-24 Jakub Jelinek <jakub@redhat.com>
19371
19372 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
19373 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
19374
19375 2005-09-23 Jakub Jelinek <jakub@redhat.com>
19376
19377 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
19378 without !$omp end do, followed immediately by subroutine end.
19379
19380 2005-09-23 Diego Novillo <dnovillo@redhat.com>
19381
19382 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
19383
19384 2005-09-22 Richard Henderson <rth@redhat.com>
19385
19386 * critical.c (GOMP_critical_name_start): Change argument to void**.
19387 Reuse the pointer space if the mutex fits.
19388 (GOMP_critical_name_end): Likewise.
19389 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
19390 * libgomp_g.h (GOMP_critical_name_start): Update decl.
19391 (GOMP_critical_name_end): Likewise.
19392 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
19393 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
19394
19395 2005-09-20 Richard Henderson <rth@redhat.com>
19396
19397 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
19398 (create_lock_lock): New.
19399 (initialize_critical): Initialize it.
19400 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
19401 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
19402
19403 2005-09-20 Diego Novillo <dnovillo@redhat.com>
19404
19405 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
19406
19407 2005-09-20 Diego Novillo <dnovillo@redhat.com>
19408
19409 * testsuite/libgomp.dg/omp-loop01.c: New test.
19410 * testsuite/libgomp.dg/omp-loop02.c: New test.
19411
19412 2005-09-20 Jakub Jelinek <jakub@redhat.com>
19413
19414 * configure.ac (AC_PROG_FC): Add.
19415 (USE_FORTRAN): New automake conditional.
19416 * configure: Rebuilt.
19417 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
19418 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
19419 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
19420 Add rules to build them.
19421 * Makefile.in: Rebuilt.
19422 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
19423 OMP_NEST_LOCK_KIND.
19424 * libgomp.map: Add Fortran wrappers.
19425 * libgomp_f.h.in: New file.
19426 * omp_lib.h.in: New file.
19427 * omp_lib.f90.in: New file.
19428 * fortran.c: New file.
19429 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
19430 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
19431 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
19432 libgfortran has been built.
19433 * testsuite/libgomp.fortran/fortran.exp: New file.
19434 * testsuite/libgomp.fortran/omp_cond1.f: New test.
19435 * testsuite/libgomp.fortran/omp_cond2.f: New test.
19436 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
19437 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
19438 * testsuite/libgomp.fortran/omp_hello.f: New test.
19439 * testsuite/libgomp.fortran/omp_orphan.f: New test.
19440 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
19441 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
19442 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
19443 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
19444 * testsuite/libgomp.fortran/omp_reduction.f: New test.
19445 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
19446 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
19447
19448 2005-08-30 Richard Henderson <rth@redhat.com>
19449
19450 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
19451 function for when aliases are not usable.
19452 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
19453 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
19454 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
19455 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
19456 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
19457 GOMP_loop_ordered_guided_next): Likewise.
19458 * ordered.c (GOMP_ordered_start): Likewise.
19459
19460 2005-08-01 Diego Novillo <dnovillo@redhat.com>
19461
19462 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
19463 * testsuite/libgomp.dg/omp_hello.c: Fix return code
19464 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
19465 * testsuite/libgomp.dg/omp_orphan.c: Likewise
19466 * testsuite/libgomp.dg/omp_reduction.c: Likewise
19467 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
19468 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
19469 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
19470 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
19471
19472 2005-07-07 Eric Christopher <echristo@redhat.com>
19473 Diego Novillo <dnovillo@redhat.com>
19474
19475 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
19476 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
19477 up code.
19478 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
19479 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
19480 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
19481 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
19482 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
19483 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
19484 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
19485
19486 2005-06-13 Diego Novillo <dnovillo@redhat.com>
19487
19488 * TOPLEVEL.patch: Remove.
19489
19490 2005-05-16 Richard Henderson <rth@redhat.com>
19491
19492 * configure.ac: Test for clock_gettime.
19493 * config.h.in, configure: Rebuild.
19494 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
19495 (omp_get_wtime): Use clock_gettime if available.
19496 (omp_get_wtick): Use clock_getres if available.
19497
19498 2005-05-11 Richard Henderson <rth@redhat.com>
19499
19500 * config/linux/ia64/futex.h: New file.
19501 * configure.tgt: Use it.
19502
19503 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
19504
19505 2005-05-07 Richard Henderson <rth@redhat.com>
19506
19507 * config/linux/powerpc/futex.h: New file.
19508 * configure.tgt: Use it.
19509
19510 * config/linux/i486/futex.h: Merge ...
19511 * config/linux/x86_64/futex.h: ... into ...
19512 * config/linux/x86/futex.h: ... here.
19513 * configure.tgt: Update to match.
19514
19515 2005-05-06 Richard Henderson <rth@redhat.com>
19516
19517 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
19518 * config/linux/i486/futex.h: Likewise.
19519 * config/linux/x86_64/futex.h: Likewise.
19520
19521 * config/linux/lock.c: New file.
19522 * config/linux/omp-lock.h: New file.
19523
19524 * critical.c, env.h: Don't include omp.h
19525 * config/posix/lock.c: Include libgomp.h instead of omp.h.
19526 * config/posix/time.c: Likewise.
19527 * config/posix/omp-lock.h: New file.
19528 * libgomp.h: Include omp-lock.h and omp.h.
19529 * Makefile.am (nodist_include_HEADERS): New.
19530 (omp.h): New rule.
19531 * configure.ac (PERL): New.
19532 * mkomp_h.pl: New file.
19533 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
19534 with templates.
19535 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
19536
19537 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
19538 build directory. Re-add -march=i486 hack.
19539
19540 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
19541 (libgomp_link_flags): Remove.
19542 (libgomp_initialized): Remove.
19543 (libgomp_init): Don't protect from reinitialization. Copy code
19544 from libstdc++ for getting the multilib set correctly.
19545
19546 2005-05-05 Richard Henderson <rth@redhat.com>
19547
19548 * config/linux/alpha/futex.h: New file.
19549 * configure.tgt (alpha*-*-linux*): Use it.
19550
19551 * config/posix/mutex.c: New file.
19552 * config/posix/sem.c: Use libgomp.h.
19553
19554 * configure.tgt (x86_64-linux): Also test CC for -m32.
19555 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
19556
19557 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
19558 after $gccpath.
19559
19560 * Makefile.am (SUBDIRS): New.
19561 (libgomp_la_LDFLAGS): Add -lpthread.
19562 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
19563 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
19564
19565 * libgomp_g.h: New file.
19566 * libgomp.h: Split out all public declarations to libgomp_g.h.
19567 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
19568 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
19569 * config/linux/sem.h: Likewise.
19570 * config/posix/sem.h: Likewise.
19571
19572 * Makefile.am (AM_LDFLAGS): New.
19573 (libgomp_version_script): Split out from ...
19574 (libgomp_la_LDFLAGS): ... here.
19575 (libgomp_version_info): New.
19576 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
19577 (LIBGOMP_ENABLE): New.
19578 (LIBGOMP_CHECK_LINKER_FEATURES): New.
19579 (LIBGOMP_ENABLE_SYMVERS): New.
19580 * configure.ac (AC_INIT): Version 1.0.
19581 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
19582 (enable-linux-futex): Likewise. Rename from enable-futex.
19583 (libtool_VERSION): New.
19584 (LIBGOMP_ENABLE_SYMVERS): Use it.
19585 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
19586 * Makefile.in, aclocal.m4, configure: Rebuild.
19587
19588 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
19589 (gomp_mutex_unlock_slow): Fix typo.
19590 * config/linux/sem.c: Similarly.
19591 (gomp_sem_post_slow): Fix typo.
19592 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
19593 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
19594 [__PIC__] (sys_futex0): Don't use tmp output in asm.
19595
19596 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
19597 (libgomp_la_LDFLAGS): Add top_srcdir to path.
19598 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
19599 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
19600 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
19601 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
19602 LDFLAGS. Pull enable_futex check to top-level.
19603 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
19604 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
19605
19606 First attempt at real configury.
19607 * Makefile, config.h: Remove file.
19608 * Makefile.am, Makefile.in: New file.
19609 * acinclude.m4 aclocal.m4: New file.
19610 * configure.ac, configure.tgt, configure: New file.
19611
19612 * config/posix/lock.c: Rename from sys-lock.c.
19613 * config/posix/mutex.h: Rename from sys-mutex.h.
19614 * config/posix/sem.c: Rename from sys-sem.c.
19615 * config/posix/sem.h: Rename from sys-sem.h.
19616 * config/posix/proc.c: Rename from sys-proc.c.
19617 * config/posix/time.c: Rename from sys-proc.c.
19618
19619 * config/linux/mutex.c: New file.
19620 * config/linux/mutex.h: New file.
19621 * config/linux/sem.c: New file.
19622 * config/linux/sem.h: New file.
19623 * config/linux/i486/futex.h: New file.
19624 * config/linux/x86_64/futex.h: New file.
19625
19626 2005-05-04 Richard Henderson <rth@redhat.com>
19627
19628 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
19629 * libgomp.h: Declare them.
19630 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
19631 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
19632
19633 2005-05-04 Richard Henderson <rth@redhat.com>
19634
19635 * libgomp-1 code drop
19636
19637 2005-05-04 Richard Henderson <rth@redhat.com>
19638
19639 * iter.c (gomp_iter_static_next): Return tri-state on 0.
19640 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
19641 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
19642 (gomp_iter_static_next): Update.
19643 (gomp_ordered_static_next): Update.
19644 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
19645 (gomp_loop_ordered_static_start): Likewise. Exit early for a
19646 totally empty range.
19647 (gomp_loop_ordered_static_next): Refine test for calling
19648 gomp_ordered_static_next.
19649 * testsuite/ordered-1.c: Add case for more threads than iterations.
19650
19651 * iter.c (gomp_iter_runtime_next_locked): Remove.
19652 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
19653 gomp_loop_guided_start, gomp_loop_ordered_static_start,
19654 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
19655 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
19656 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
19657 gomp_loop_ordered_guided_next): Downcase name, make static, add
19658 an external alias with the old name.
19659 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
19660 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
19661 switch and call one of the above static functions.
19662 * libgomp.h: Update.
19663
19664 * work.c (gomp_work_share_start): Lock the mutex for !first too.
19665 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
19666 GOMP_loop_guided_start, GOMP_loop_runtime_start,
19667 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
19668 GOMP_loop_ordered_guided_start): Update to match.
19669 * sections.c (GOMP_sections_start): Likewise.
19670 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
19671
19672 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
19673 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
19674 Use bounds check instead of modulus.
19675 (gomp_ordered_sync): Split out of GOMP_ordered_start.
19676 (gomp_ordered_last): Don't sync with ordered_owner here.
19677 (gomp_ordered_next): Likewise.
19678 (gomp_ordered_static_loop_next): Likewise.
19679 * loop.c, libgomp.h: Update to match.
19680
19681 * libgomp.h (GOMP_barrier): Declare.
19682
19683 * testsuite/barrier-1.c: New file.
19684 * testsuite/critical-1.c: New file.
19685 * testsuite/ordered-2.c: New file.
19686 * testsuite/ordered-1.c: New file.
19687 * testsuite/sections-1.c: New file.
19688 * testsuite/single-1.c: New file.
19689 * testsuite/Makefile (TESTS): Add them.
19690
19691 2005-05-04 Richard Henderson <rth@redhat.com>
19692
19693 * libgomp.h (struct gomp_work_share): Add ordered_owner.
19694 * loop.c (GOMP_loop_static_start): If not the startup thread,
19695 acquire the mutex to wait for initialization complete.
19696 (GOMP_loop_ordered_static_start): Likewise.
19697 (GOMP_loop_ordered_runtime_start): Likewise.
19698 (GOMP_loop_ordered_static_first): Remove.
19699 (GOMP_loop_ordered_dynamic_first): Remove.
19700 (GOMP_loop_ordered_guided_first): Remove.
19701 (GOMP_loop_ordered_runtime_first): Remove.
19702 * ordered.c (gomp_ordered_loop_first): Post to own release when
19703 we're the first thread.
19704 (gomp_ordered_loop_last): Wait on release if not owner.
19705 (gomp_ordered_loop_next): Likewise.
19706 (gomp_ordered_static_loop_init): New.
19707 (gomp_ordered_static_loop_next): Use ordered_owner.
19708 (GOMP_ordered_start): Likewise.
19709 * work.c (gomp_new_work_share): Initialize ordered_owner.
19710
19711 2005-05-03 Richard Henderson <rth@redhat.com>
19712
19713 * Makefile (OPT): New.
19714 (CFLAGS): Use it.
19715
19716 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
19717 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
19718 * libgomp.h, libgomp.map, NOTES: Update to match.
19719
19720 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
19721 Add initialized and thr members.
19722 (gomp_thread_start): Pause when initially spawned to wait for
19723 the whole team to be created.
19724 (gomp_team_start): Release team members at the end.
19725
19726 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
19727 (f_foo_1): Use GOMP_loop_end.
19728 (f_foo_2): Use GOMP_loop_end_nowait.
19729
19730 * testsuite/loop-2.c: New file.
19731 * testsuite/Makefile (TESTS): Add it.
19732
19733 2005-05-03 Richard Henderson <rth@redhat.com>
19734
19735 * iter.c (gomp_iter_static_next): Fix overflow check typo.
19736 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
19737 * team.c (new_team): Initialize oldest_live_gen to 1 if no
19738 initial work_share.
19739
19740 * testsuite/Makefile: New file.
19741 * testsuite/loop-1.c: New file.
19742
19743 2005-05-03 Richard Henderson <rth@redhat.com>
19744
19745 Initial implementation and checkin.
19746 \f
19747 Copyright (C) 2005-2023 Free Software Foundation, Inc.
19748
19749 Copying and distribution of this file, with or without modification,
19750 are permitted in any medium without royalty provided the copyright
19751 notice and this notice are preserved.