]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
5df01f89
GA
12023-05-19 Jakub Jelinek <jakub@redhat.com>
2
3 PR libgomp/109904
4 * configure.ac (link_gomp): Include also $DL_LIBS.
5 * configure: Regenerated.
6
ff2dcddf
GA
72023-05-17 Tobias Burnus <tobias@codesourcery.com>
8
9 * testsuite/libgomp.fortran/target-enter-data-3.f90: Uncomment
10 'target exit data'.
11 * testsuite/libgomp.fortran/target-enter-data-4.f90: New test.
12 * testsuite/libgomp.fortran/target-enter-data-5.f90: New test.
13 * testsuite/libgomp.fortran/target-enter-data-6.f90: New test.
14 * testsuite/libgomp.fortran/target-enter-data-7.f90: New test.
15
3427b51b
GA
162023-05-15 Thomas Schwinge <thomas@codesourcery.com>
17
18 PR testsuite/66005
19 * configure.ac: Look for 'flock'.
20 * testsuite/Makefile.am (gcc_test_parallel_slots): Enable parallel testing.
21 * testsuite/config/default.exp: Don't 'load_lib "standard.exp"' here...
22 * testsuite/lib/libgomp.exp: ... but here, instead.
23 (libgomp_load): Override for parallel testing.
24 * testsuite/libgomp-site-extra.exp.in (FLOCK): Set.
25 * configure: Regenerate.
26 * Makefile.in: Regenerate.
27 * testsuite/Makefile.in: Regenerate.
28
292023-05-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
30 Thomas Schwinge <thomas@codesourcery.com>
31
32 PR testsuite/66005
33 * testsuite/Makefile.am (PWD_COMMAND): New variable.
34 (%/site.exp): New target.
35 (check_p_numbers0, check_p_numbers1, check_p_numbers2)
36 (check_p_numbers3, check_p_numbers4, check_p_numbers5)
37 (check_p_numbers6, check_p_numbers, gcc_test_parallel_slots)
38 (check_p_subdirs)
39 (check_DEJAGNU_libgomp_targets): New variables.
40 ($(check_DEJAGNU_libgomp_targets)): New target.
41 ($(check_DEJAGNU_libgomp_targets)): New dependency.
42 (check-DEJAGNU $(check_DEJAGNU_libgomp_targets)): New targets.
43 * testsuite/Makefile.in: Regenerate.
44 * testsuite/lib/libgomp.exp: For parallel testing,
45 'load_file ../libgomp-test-support.exp'.
46
472023-05-15 Thomas Schwinge <thomas@codesourcery.com>
48
49 PR testsuite/91884
50 * configure.ac: 'AC_SUBST(CXX)'.
51 * configure: Regenerate.
52 * Makefile.in: Likewise.
53 * testsuite/Makefile.in: Likewise.
54 * testsuite/libgomp-site-extra.exp.in (GXX_UNDER_TEST)
55 (GFORTRAN_UNDER_TEST): Set.
56 * testsuite/lib/libgomp.exp (libgomp_init): Adjust.
57 * testsuite/libgomp.c++/c++.exp: Use 'GXX_UNDER_TEST'.
58 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
59 * testsuite/libgomp.fortran/fortran.exp: Use
60 'GFORTRAN_UNDER_TEST'.
61 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
62
632023-05-15 Thomas Schwinge <thomas@codesourcery.com>
64
65 PR testsuite/91884
66 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't
67 specify compiler.
68 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Specify compiler.
69 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
70 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
71 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
72 Likewise.
73 * testsuite/libgomp.oacc-c++/c++.exp (ALWAYS_CFLAGS): Likewise.
74 * testsuite/libgomp.oacc-c/c.exp (ALWAYS_CFLAGS): Likewise.
75 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS):
76 Likewise.
77
20ca33db
GA
782023-05-12 Tobias Burnus <tobias@codesourcery.com>
79
80 PR libstdc++/109816
81 * testsuite/libgomp.c++/target-map-class-1.C: New test.
82 * testsuite/libgomp.c++/target-map-class-2.C: New test.
83
842023-05-12 Thomas Schwinge <thomas@codesourcery.com>
85
86 * testsuite/lib/libgomp.exp (libgomp_target_compile): Generalize
87 'lang_library_path' into a list of 'lang_library_paths'.
88 * testsuite/libgomp.c++/c++.exp: Adjust.
89 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
90 * testsuite/libgomp.fortran/fortran.exp: Adjust. Use that for
91 libquadmath, too.
92 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
93
942023-05-12 Thomas Schwinge <thomas@codesourcery.com>
95
96 * testsuite/lib/libgomp.exp (libgomp_target_compile): Don't look
97 at 'lang_test_file_found'.
98 * testsuite/libgomp.c++/c++.exp: Don't set and use it, and instead
99 'return' early if not able to test. Simplify 'ld_library_path' setup.
100 * testsuite/libgomp.fortran/fortran.exp: Likewise.
101 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
102 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
103
1042023-05-12 Thomas Schwinge <thomas@codesourcery.com>
105
106 * testsuite/libgomp.c++/c++.exp: Resolve 'lang_test_file_found'
107 first.
108 * testsuite/libgomp.fortran/fortran.exp: Likewise.
109 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
110 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
111
1122023-05-12 Thomas Schwinge <thomas@codesourcery.com>
113
114 * testsuite/libgomp.c++/c++.exp: Localize 'lang_[...]' etc.
115 * testsuite/libgomp.c/c.exp: Likewise.
116 * testsuite/libgomp.fortran/fortran.exp: Likewise.
117 * testsuite/libgomp.graphite/graphite.exp: Likewise.
118 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
119 * testsuite/libgomp.oacc-c/c.exp: Likewise.
120 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
121
35e324da
GA
1222023-05-09 Thomas Schwinge <thomas@codesourcery.com>
123
124 * testsuite/libgomp.c++/c++.exp: Don't set 'lang_test_file'.
125 * testsuite/libgomp.fortran/fortran.exp: Likewise.
126 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
127 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
128 * testsuite/libgomp.c/c.exp: Unset 'lang_test_file_found' instead of
129 'lang_test_file'.
130 * testsuite/libgomp.oacc-c/c.exp: Likewise.
131 * testsuite/libgomp.graphite/graphite.exp: Likewise.
132 * testsuite/lib/libgomp.exp (libgomp_target_compile): Look for
133 'lang_test_file_found' instead of 'lang_test_file'.
134
1352023-05-09 Thomas Schwinge <thomas@codesourcery.com>
136
137 * testsuite/lib/libgomp.exp (libgomp_init): Only use 'blddir' if
138 set.
139 * testsuite/libgomp.c++/c++.exp: Likewise.
140 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
141
1422023-05-09 Thomas Schwinge <thomas@codesourcery.com>
143
144 * testsuite/libgomp.c++/c++.exp (blddir): Don't set.
145 * testsuite/libgomp.oacc-c++/c++.exp (blddir): Likewise.
146
212905a4
GA
1472023-05-08 Thomas Schwinge <thomas@codesourcery.com>
148
149 * testsuite/libgomp.c++/c++.exp: Use 'lang_include_flags' instead
150 of 'libstdcxx_includes'.
151 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
152
1532023-05-08 Thomas Schwinge <thomas@codesourcery.com>
154
155 * target.c (gomp_target_rev): Instead of 'dev_to_host_cpy',
156 'host_to_dev_cpy', 'token', take a single 'goacc_asyncqueue'.
157 * libgomp.h (gomp_target_rev): Adjust.
158 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): Adjust.
159 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): Adjust.
160 * plugin/plugin-gcn.c (process_reverse_offload): Adjust.
161 * plugin/plugin-nvptx.c (rev_off_dev_to_host_cpy)
162 (rev_off_host_to_dev_cpy): Remove.
163 (GOMP_OFFLOAD_run): Adjust.
164
fde093b7
GA
1652023-05-04 Julian Brown <julian@codesourcery.com>
166
167 PR fortran/109622
168 * testsuite/libgomp.fortran/pr109622.f90: Move test...
169 * testsuite/libgomp.oacc-fortran/pr109622.f90: ...to here. Ignore
170 vector length warning.
171 * testsuite/libgomp.fortran/pr109622-2.f90: Move test...
172 * testsuite/libgomp.oacc-fortran/pr109622-2.f90: ...to here. Add
173 missing copyin/copyout variable. Ignore vector length warnings.
174 * testsuite/libgomp.fortran/pr109622-3.f90: Move test...
175 * testsuite/libgomp.oacc-fortran/pr109622-3.f90: ...to here. Ignore
176 vector length warnings.
177 * testsuite/libgomp.oacc-fortran/pr109622-4.f90: New test.
178
50205195
GA
1792023-04-28 Julian Brown <julian@codesourcery.com>
180
181 PR fortran/109622
182 * testsuite/libgomp.fortran/pr109622.f90: New test.
183 * testsuite/libgomp.fortran/pr109622-2.f90: New test.
184 * testsuite/libgomp.fortran/pr109622-3.f90: New test.
185
49cea02d
GA
1862023-04-25 Tobias Burnus <tobias@codesourcery.com>
187
188 * testsuite/libgomp.c-c++-common/scan-1.c: New test.
189 * testsuite/libgomp.c/scan-23.c: New test.
190 * testsuite/libgomp.fortran/scan-2.f90: New test.
191
579cdc1e
GA
1922023-03-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
193
194 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Add
195 weak_undefined options.
196
13ec81eb
GA
1972023-03-24 Tobias Burnus <tobias@codesourcery.com>
198
199 * libgomp.texi (Offload-Target Specifics): Grammar fix.
200
2012023-03-24 Thomas Schwinge <thomas@codesourcery.com>
202
203 PR fortran/104949
204 * target.c (gomp_map_vars_internal) <GOMP_MAP_FIRSTPRIVATE>: Add
205 caveat/safeguard.
206
c8065441
GA
2072023-03-10 Thomas Schwinge <thomas@codesourcery.com>
208
209 PR libgomp/90596
210 * target.c (gomp_map_vars_internal): Allow for
211 'param_kind == GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_TARGET'.
212 * oacc-parallel.c (GOACC_parallel_keyed): Pass
213 'GOMP_MAP_VARS_TARGET' to 'goacc_map_vars'.
214 * plugin/plugin-gcn.c (alloc_by_agent, gcn_exec)
215 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
216 Adjust, simplify.
217 (gomp_offload_free): Remove.
218 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
219 (GOMP_OFFLOAD_openacc_async_exec): Adjust, simplify.
220 (cuda_free_argmem): Remove.
221 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
222 Adjust.
223
2242023-03-10 Thomas Schwinge <thomas@codesourcery.com>
225
226 * target.c (gomp_copy_host2dev, gomp_map_vars_internal): Allow
227 libgomp 'cbuf' buffering with OpenACC 'async' for 'ephemeral'
228 data.
229
2302023-03-10 Thomas Schwinge <thomas@codesourcery.com>
231
232 * target.c (gomp_map_vars_internal): Use 'OFFSET_INLINED' for
233 'GOMP_MAP_IF_PRESENT'.
234 * plugin/plugin-gcn.c (gcn_exec, GOMP_OFFLOAD_openacc_exec)
235 (GOMP_OFFLOAD_openacc_async_exec): Adjust.
236 * plugin/plugin-nvptx.c (nvptx_exec, GOMP_OFFLOAD_openacc_exec)
237 (GOMP_OFFLOAD_openacc_async_exec): Likewise.
238 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: Add 'async'
239 testing.
240 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: Likewise.
241
2422023-03-10 Thomas Schwinge <thomas@codesourcery.com>
243
244 * oacc-async.c (goacc_wait): Remove 'acc_async_test' -> skip
245 shortcut.
246
2472023-03-10 Thomas Schwinge <thomas@codesourcery.com>
248
249 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Document/verify
250 another aspect of OpenACC 'async' semantics.
251
2522023-03-10 Thomas Schwinge <thomas@codesourcery.com>
253
254 * plugin/plugin-gcn.c (gcn_exec): Fix 'acc_ev_enqueue_launch_end'
255 position.
256 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
257 Verify 'acc_ev_alloc', 'acc_ev_free'.
258
da2b9c6e
GA
2592023-03-09 Hongyu Wang <hongyu.wang@intel.com>
260
261 PR libgomp/109062
262 * env.c (wait_policy): Initialize to -1.
263 (initialize_icvs): Initialize icvs->wait_policy to -1.
264 * testsuite/libgomp.c-c++-common/pr109062.c: New test.
265
6a87fdd3
GA
2662023-03-08 Tobias Burnus <tobias@codesourcery.com>
267
268 * libgomp.texi (Offload-Target Specifics): Mention GCN_STACK_SIZE.
269
14db9ed5
GA
2702023-03-02 Kwok Cheung Yeung <kcy@codesourcery.com>
271 Paul-Antoine Arras <pa@codesourcery.com>
272
273 * testsuite/libgomp.c/simd-math-1.c: New testcase.
274
c88a7c63
GA
2752023-03-01 Tobias Burnus <tobias@codesourcery.com>
276
277 PR middle-end/108546
278 * testsuite/libgomp.fortran/is_device_ptr-3.f90: New test.
279 * testsuite/libgomp.fortran/use_device_ptr-optional-4.f90: New test.
280
b6f98991
GA
2812023-02-22 Thomas Schwinge <thomas@codesourcery.com>
282
283 * testsuite/libgomp.fortran/alloc-10.f90: Use
284 '-Wno-complain-wrong-lang'.
285 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
286 * testsuite/libgomp.fortran/alloc-7.f90: Likewise.
287 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
288 * testsuite/libgomp.fortran/allocate-1.f90: Likewise.
289 * testsuite/libgomp.fortran/depend-4.f90: Likewise.
290 * testsuite/libgomp.fortran/depend-5.f90: Likewise.
291 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
292 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
293 * testsuite/libgomp.fortran/depend-inoutset-1.f90: Likewise.
294 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90:
295 Likewise.
296 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90:
297 Likewise.
298 * testsuite/libgomp.fortran/order-reproducible-1.f90: Likewise.
299 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
300 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
301 * testsuite/libgomp.fortran/task-detach-6.f90: Remove left-over
302 'dg-prune-output'.
303
88cc4495
GA
3042023-02-16 Jakub Jelinek <jakub@redhat.com>
305
306 * libgomp.texi: Fix typos - theads -> threads.
307
3082023-02-16 Jakub Jelinek <jakub@redhat.com>
309
310 * testsuite/libgomp.fortran/target-nowait-array-section.f90: Fix
311 comment typo and improve its wording.
312
29a35391
GA
3132023-02-15 Tobias Burnus <tobias@codesourcery.com>
314
315 * target.c (gomp_target_rev): Dereference ptr
316 to get device address.
317 * testsuite/libgomp.fortran/reverse-offload-5.f90: Add test
318 for unallocated allocatable.
319
3202023-02-15 Tobias Burnus <tobias@codesourcery.com>
321
322 * target.c (gomp_map_vars_internal): Add 'i > 0' before doing a
323 kind check.
324 (GOMP_target_enter_exit_data): If the next map item is
325 GOMP_MAP_ALWAYS_POINTER map it together with the current item.
326 * testsuite/libgomp.fortran/target-enter-data-3.f90: New test.
327
e92e2c96
GA
3282023-02-09 Tobias Burnus <tobias@codesourcery.com>
329
330 PR fortran/107424
331 * testsuite/libgomp.fortran/non-rectangular-loop-1.f90: New test.
332 * testsuite/libgomp.fortran/non-rectangular-loop-1a.f90: New test.
333 * testsuite/libgomp.fortran/non-rectangular-loop-2.f90: New test.
334 * testsuite/libgomp.fortran/non-rectangular-loop-3.f90: New test.
335 * testsuite/libgomp.fortran/non-rectangular-loop-4.f90: New test.
336 * testsuite/libgomp.fortran/non-rectangular-loop-5.f90: New test.
337
8f3b85ef
GA
3382023-02-07 Thomas Schwinge <thomas@codesourcery.com>
339
340 * testsuite/libgomp.fortran/reverse-offload-6.f90: Fix nvptx
341 offloading compilation.
342
49e52115
GA
3432023-02-03 Tobias Burnus <tobias@codesourcery.com>
344
345 * target.c (gomp_target_rev): Handle mapnum == 0 and avoid
346 freeing not allocated memory.
347 * testsuite/libgomp.fortran/reverse-offload-6.f90: New test.
348
3492023-02-03 Tobias Burnus <tobias@codesourcery.com>
350
351 * libgomp.texi (5.0 Impl. Status, gcn specifics): Update for
352 reverse offload.
353 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Accept
354 reverse-offload requirement.
355
a37a0cb3
GA
3562023-02-02 Andrew Stubbs <ams@codesourcery.com>
357
358 * config/gcn/libgomp-gcn.h (DEFAULT_GCN_STACK_SIZE): New define.
359 (DEFAULT_TEAM_ARENA_SIZE): New define.
360 (struct heap): Move to this file.
361 (struct kernargs_abi): Likewise.
362 * config/gcn/team.c (gomp_gcn_enter_kernel): Use team arena size from
363 the kernargs.
364 * libgomp.h: Include libgomp-gcn.h.
365 (TEAM_ARENA_SIZE): Remove.
366 (team_malloc): Update the error message.
367 * plugin/plugin-gcn.c (struct kernargs): Move common content to
368 struct kernargs_abi.
369 (struct agent_info): Rename team arenas to ephemeral memories.
370 (struct team_arena_list): Rename ....
371 (struct ephemeral_memories_list): to this.
372 (struct heap): Delete.
373 (team_arena_size): New variable.
374 (stack_size): New variable.
375 (print_kernel_dispatch): Update debug messages.
376 (init_environment_variables): Read GCN_TEAM_ARENA_SIZE.
377 Read GCN_STACK_SIZE.
378 (get_team_arena): Rename ...
379 (configure_ephemeral_memories): ... to this, and set up stacks.
380 (release_team_arena): Rename ...
381 (release_ephemeral_memories): ... to this.
382 (destroy_team_arenas): Rename ...
383 (destroy_ephemeral_memories): ... to this.
384 (create_kernel_dispatch): Add num_threads parameter.
385 Adjust for kernargs_abi refactor and ephemeral memories.
386 (release_kernel_dispatch): Adjust for ephemeral memories.
387 (run_kernel): Pass thread-count to create_kernel_dispatch.
388 (GOMP_OFFLOAD_init_device): Adjust for ephemeral memories.
389 (GOMP_OFFLOAD_fini_device): Adjust for ephemeral memories.
390
3912023-02-02 Tobias Burnus <tobias@codesourcery.com>
392
393 * libgomp.texi (OpenMP TR11): Fix item for 'strict' modifier.
394
0a251e74
GA
3952023-02-01 Tobias Burnus <tobias@codesourcery.com>
396
397 * testsuite/libgomp.fortran/allocate-3.f90: Fix ALIGN
398 usage, remove unused -fdump-tree-original.
399 * testsuite/libgomp.fortran/allocate-4.f90: New.
400
4012023-02-01 Tobias Burnus <tobias@codesourcery.com>
402
403 * libgomp.texi (5.0 Impl. Status): Update 'requires' and 'ancestor'.
404 (GCN): Add item about 'omp requires'.
405 (nvptx): Likewise; add item about reverse offload.
406
338eb0f0
GA
4072023-01-27 Tobias Burnus <tobias@codesourcery.com>
408
409 PR fortran/108558
410 * testsuite/libgomp.fortran/has_device_addr.f90: New test.
411
607f278a
GA
4122023-01-23 Tobias Burnus <tobias@codesourcery.com>
413
414 * libgomp.texi (OpenMP 5.0): Set non-rectangular
415 loop nest back to 'P' as Fortran support is incomplete.
416
0846336d
GA
4172023-01-19 Jakub Jelinek <jakub@redhat.com>
418
419 PR middle-end/108459
420 * testsuite/libgomp.c/pr108459.c: New test.
421
8d07b193
GA
4222023-01-17 Martin Liska <mliska@suse.cz>
423
424 * Makefile.in: Regenerate.
425 * configure: Regenerate.
426
d901bf8a
GA
4272023-01-07 LIU Hao <lh_mouse@126.com>
428
429 PR middle-end/108300
430 * config/mingw32/proc.c: Define `WIN32_LEAN_AND_MEAN` before
431 <windows.h>.
432
53ef7c1d
GA
4332023-01-05 Jakub Jelinek <jakub@redhat.com>
434
435 PR c++/108286
436 * testsuite/libgomp.c++/pr108286.C: New test.
437
fee53a31
GA
4382023-01-02 Jakub Jelinek <jakub@redhat.com>
439
440 * libgomp.texi: Bump @copying's copyright year.
441
de282a20
GA
4422022-12-21 Chung-Lin Tang <cltang@codesourcery.com>
443
444 PR target/99555
445 * config/nvptx/bar.c (generation_to_barrier): Remove.
446 (futex_wait,futex_wake,do_spin,do_wait): Remove.
447 (GOMP_WAIT_H): Remove.
448 (#include "../linux/bar.c"): Remove.
449 (gomp_barrier_wait_end): New function.
450 (gomp_barrier_wait): Likewise.
451 (gomp_barrier_wait_last): Likewise.
452 (gomp_team_barrier_wait_end): Likewise.
453 (gomp_team_barrier_wait): Likewise.
454 (gomp_team_barrier_wait_final): Likewise.
455 (gomp_team_barrier_wait_cancel_end): Likewise.
456 (gomp_team_barrier_wait_cancel): Likewise.
457 (gomp_team_barrier_cancel): Likewise.
458 * config/nvptx/bar.h (gomp_barrier_t): Remove waiters, lock fields.
459 (gomp_barrier_init): Remove init of waiters, lock fields.
460 (gomp_team_barrier_wake): Remove prototype, add new static inline
461 function.
462
4632022-12-21 Jakub Jelinek <jakub@redhat.com>
464
465 PR c++/108180
466 * testsuite/libgomp.c++/pr108180.C: New test.
467
5fb1e674
GA
4682022-12-16 Tobias Burnus <tobias@codesourcery.com>
469
470 PR libfortran/108056
471 * testsuite/libgomp.fortran/allocate-4.f90: Remove
472 accidentally added file.
473
c8f767b2
GA
4742022-12-15 Tobias Burnus <tobias@codesourcery.com>
475
476 PR libfortran/108056
477 * testsuite/libgomp.fortran/allocate-4.f90: New file.
478
26f4aefa
GA
4792022-12-14 Julian Brown <julian@codesourcery.com>
480
481 * testsuite/libgomp.fortran/combined-directive-splitting-1.f90: New
482 test.
483
c6b12b80
GA
4842022-12-10 Tobias Burnus <tobias@codesourcery.com>
485
486 * libgomp.h (struct target_mem_desc): Predeclare; move
487 below after 'reverse_splay_tree_node' and add rev_array
488 member.
489 (struct reverse_splay_tree_key_s, reverse_splay_compare): New.
490 (reverse_splay_tree_node, reverse_splay_tree,
491 reverse_splay_tree_key): New typedef.
492 (struct gomp_device_descr): Add mem_map_rev member.
493 * oacc-host.c (host_dispatch): NULL init .mem_map_rev.
494 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Claim
495 support for GOMP_REQUIRES_REVERSE_OFFLOAD.
496 * splay-tree.h (splay_tree_callback_stop): New typedef; like
497 splay_tree_callback but returning int not void.
498 (splay_tree_foreach_lazy): Define; like splay_tree_foreach but
499 taking splay_tree_callback_stop as argument.
500 * splay-tree.c (splay_tree_foreach_internal_lazy,
501 splay_tree_foreach_lazy): New; but early exit if callback returns
502 nonzero.
503 * target.c: Instatiate splay_tree_c with splay_tree_prefix 'reverse'.
504 (gomp_map_lookup_rev): New.
505 (gomp_load_image_to_device): Handle reverse-offload function
506 lookup table.
507 (gomp_unload_image_from_device): Free devicep->mem_map_rev.
508 (struct gomp_splay_tree_rev_lookup_data, gomp_splay_tree_rev_lookup,
509 gomp_map_rev_lookup, struct cpy_data, gomp_map_cdata_lookup_int,
510 gomp_map_cdata_lookup): New auxiliary structs and functions for
511 gomp_target_rev.
512 (gomp_target_rev): Implement reverse offloading and its mapping.
513 (gomp_target_init): Init current_device.mem_map_rev.root.
514 * testsuite/libgomp.fortran/reverse-offload-2.f90: New test.
515 * testsuite/libgomp.fortran/reverse-offload-3.f90: New test.
516 * testsuite/libgomp.fortran/reverse-offload-4.f90: New test.
517 * testsuite/libgomp.fortran/reverse-offload-5.f90: New test.
518 * testsuite/libgomp.fortran/reverse-offload-5a.f90: New test without
519 mapping of on-device allocated variables.
520
40ce6485
GA
5212022-12-09 Tobias Burnus <tobias@codesourcery.com>
522
523 * libgomp.texi (5.1 Impl. Status): Split allocate clause/directive
524 item about 'align'; mark clause as 'Y' and directive as 'N'.
525 * testsuite/libgomp.fortran/allocate-2.f90: New test.
526 * testsuite/libgomp.fortran/allocate-3.f90: New test.
527
3fe66f7f
GA
5282022-12-06 Marcel Vollweiler <marcel@codesourcery.com>
529
530 * config/gcn/icv-device.c (omp_get_teams_thread_limit): Added to
531 allow processing of device-specific values.
532 (omp_set_teams_thread_limit): Likewise.
533 (ialias): Likewise.
534 * config/nvptx/icv-device.c (omp_get_teams_thread_limit): Likewise.
535 (omp_set_teams_thread_limit): Likewise.
536 (ialias): Likewise.
537 * icv-device.c (omp_get_teams_thread_limit): Likewise.
538 (ialias): Likewise.
539 (omp_set_teams_thread_limit): Likewise.
540 * icv.c (omp_set_teams_thread_limit): Removed.
541 (omp_get_teams_thread_limit): Likewise.
542 (ialias): Likewise.
543 * libgomp.texi: Updated documentation for nvptx and gcn corresponding
544 to the limitation of the number of teams.
545 * plugin/plugin-gcn.c (limit_teams): New helper function that limits
546 the number of teams by twice the number of compute units.
547 (parse_target_attributes): Limit the number of teams on gcn offload
548 devices.
549 * target.c (get_gomp_offload_icvs): Added teams_thread_limit_var
550 handling.
551 (gomp_load_image_to_device): Added a size check for the ICVs struct
552 variable.
553 (gomp_copy_back_icvs): New function that is used in GOMP_target_ext to
554 copy back the ICV values from device to host.
555 (GOMP_target_ext): Update the number of teams and threads in the kernel
556 args also considering device-specific values.
557 * testsuite/libgomp.c-c++-common/icv-4.c: Fixed an error in the reading
558 of OMP_TEAMS_THREAD_LIMIT from the environment.
559 * testsuite/libgomp.c-c++-common/icv-5.c: Extended.
560 * testsuite/libgomp.c-c++-common/icv-6.c: Extended.
561 * testsuite/libgomp.c-c++-common/icv-7.c: Extended.
562 * testsuite/libgomp.c-c++-common/icv-9.c: New test.
563 * testsuite/libgomp.fortran/icv-5.f90: New test.
564 * testsuite/libgomp.fortran/icv-6.f90: New test.
565
5662022-12-06 Tobias Burnus <tobias@codesourcery.com>
567
568 * libgomp.texi (OpenMP 5.2): Add missing 'the'.
569 (TR11): Add missing '@tab N @tab'.
570
6eea85a9
GA
5712022-11-30 Tobias Burnus <tobias@codesourcery.com>
572
573 * libgomp.texi (OpenMP Context Selectors): Add 'gfx803' to gcn's isa.
574
5752022-11-30 Paul-Antoine Arras <pa@codesourcery.com>
576
577 * testsuite/libgomp.c/declare-variant-4-fiji.c: New test.
578 * testsuite/libgomp.c/declare-variant-4-gfx803.c: New test.
579 * testsuite/libgomp.c/declare-variant-4-gfx900.c: New test.
580 * testsuite/libgomp.c/declare-variant-4-gfx906.c: New test.
581 * testsuite/libgomp.c/declare-variant-4-gfx908.c: New test.
582 * testsuite/libgomp.c/declare-variant-4-gfx90a.c: New test.
583 * testsuite/libgomp.c/declare-variant-4.h: New header file.
584
b7748535
GA
5852022-11-28 Tobias Burnus <tobias@codesourcery.com>
586
587 * libgomp.texi (OpenMP 5.2): Mark end-directive as Y.
588
d769c504
GA
5892022-11-25 Sandra Loosemore <sandra@codesourcery.com>
590
591 * testsuite/lib/libgomp.exp: Load scanoffloadipa.exp library.
592 * testsuite/libgomp.c/target-simd-clone-1.c: New.
593 * testsuite/libgomp.c/target-simd-clone-2.c: New.
594 * testsuite/libgomp.c/target-simd-clone-3.c: New.
595
5962022-11-25 Tobias Burnus <tobias@codesourcery.com>
597
598 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Use unsigned int
599 for 'i' to match 'fn_entries'; regard absent GOMP_REV_OFFLOAD_VAR
600 as valid and the code having no reverse-offload code.
601 * testsuite/libgomp.c-c++-common/reverse-offload-2.c: New test.
602
6032022-11-25 Tobias Burnus <tobias@codesourcery.com>
604
605 * libgomp.texi (OpenMP Implementation Status): Add three 5.1 items
606 and status for Technical Report (TR) 11.
607
8b7fee1d
GA
6082022-11-21 Tobias Burnus <tobias@codesourcery.com>
609
610 * config/gcn/libgomp-gcn.h (struct output):
611 Remove 'msg_u64' from the union, change
612 value_u64[2] to value_u64[6].
613 * config/gcn/target.c (GOMP_target_ext): Update accordingly.
614 * plugin/plugin-gcn.c (process_reverse_offload, console_output):
615 Likewise.
616
fb98ede8
GA
6172022-11-19 Tobias Burnus <tobias@codesourcery.com>
618
619 * config/gcn/libgomp-gcn.h: New file; contains
620 struct output, declared previously in plugin-gcn.c.
621 * config/gcn/target.c: Include it.
622 (GOMP_ADDITIONAL_ICVS): Declare as extern var.
623 (GOMP_target_ext): Handle reverse offload.
624 * plugin/plugin-gcn.c: Include libgomp-gcn.h.
625 (struct kernargs): Replace struct def by the one
626 from libgomp-gcn.h for output_data.
627 (process_reverse_offload): New.
628 (console_output): Call it.
629
80909529
GA
6302022-11-16 Tobias Burnus <tobias@codesourcery.com>
631 Andrew Stubbs <ams@codesourcery.com>
632
633 * config/gcn/team.c (gomp_gcn_enter_kernel): Use
634 __builtin_gcn_kernarg_ptr instead of asm ("s8").
635
83d400bd
GA
6362022-11-14 Martin Liska <mliska@suse.cz>
637
638 Revert:
639 2022-11-14 Martin Liska <mliska@suse.cz>
640
641 * doc/amd-radeon-gcn.rst: New file.
642 * doc/conf.py: New file.
643 * doc/copyright.rst: New file.
644 * doc/cuda-streams-usage.rst: New file.
645 * doc/enabling-openacc.rst: New file.
646 * doc/enabling-openmp.rst: New file.
647 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
648 * doc/first-invocation-openacc-library-api.rst: New file.
649 * doc/funding.rst: New file.
650 * doc/general-public-license-3.rst: New file.
651 * doc/gnu-free-documentation-license.rst: New file.
652 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
653 * doc/index.rst: New file.
654 * doc/indices-and-tables.rst: New file.
655 * doc/introduction.rst: New file.
656 * doc/memory-allocation-with-libmemkind.rst: New file.
657 * doc/nvptx.rst: New file.
658 * doc/offload-target-specifics.rst: New file.
659 * doc/openacc-environment-variables.rst: New file.
660 * doc/openacc-environment-variables/accdevicenum.rst: New file.
661 * doc/openacc-environment-variables/accdevicetype.rst: New file.
662 * doc/openacc-environment-variables/accproflib.rst: New file.
663 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
664 * doc/openacc-introduction.rst: New file.
665 * doc/openacc-library-and-environment-variables.rst: New file.
666 * doc/openacc-library-interoperability.rst: New file.
667 * doc/openacc-profiling-interface.rst: New file.
668 * doc/openacc-runtime-library-routines.rst: New file.
669 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
670 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
671 * doc/openacc-runtime-library-routines/accattach.rst: New file.
672 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
673 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
674 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
675 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
676 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
677 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
678 * doc/openacc-runtime-library-routines/accfree.rst: New file.
679 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
680 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
681 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
682 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
683 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
684 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
685 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
686 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
687 * doc/openacc-runtime-library-routines/accinit.rst: New file.
688 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
689 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
690 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
691 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
692 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
693 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
694 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
695 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
696 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
697 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
698 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
699 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
700 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
701 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
702 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
703 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
704 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
705 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
706 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
707 * doc/openacc-runtime-library-routines/accwait.rst: New file.
708 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
709 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
710 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
711 * doc/openmp-context-selectors.rst: New file.
712 * doc/openmp-environment-variables.rst: New file.
713 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
714 * doc/openmp-environment-variables/gompdebug.rst: New file.
715 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
716 * doc/openmp-environment-variables/gompspincount.rst: New file.
717 * doc/openmp-environment-variables/gompstacksize.rst: New file.
718 * doc/openmp-environment-variables/ompcancellation.rst: New file.
719 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
720 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
721 * doc/openmp-environment-variables/ompdynamic.rst: New file.
722 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
723 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
724 * doc/openmp-environment-variables/ompnested.rst: New file.
725 * doc/openmp-environment-variables/ompnumteams.rst: New file.
726 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
727 * doc/openmp-environment-variables/ompplaces.rst: New file.
728 * doc/openmp-environment-variables/ompprocbind.rst: New file.
729 * doc/openmp-environment-variables/ompschedule.rst: New file.
730 * doc/openmp-environment-variables/ompstacksize.rst: New file.
731 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
732 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
733 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
734 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
735 * doc/openmp-implementation-specifics.rst: New file.
736 * doc/openmp-implementation-status.rst: New file.
737 * doc/openmp-implementation-status/openmp-45.rst: New file.
738 * doc/openmp-implementation-status/openmp-50.rst: New file.
739 * doc/openmp-implementation-status/openmp-51.rst: New file.
740 * doc/openmp-implementation-status/openmp-52.rst: New file.
741 * doc/openmp-runtime-library-routines.rst: New file.
742 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
743 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
744 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
745 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
746 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
747 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
748 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
749 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
750 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
751 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
752 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
753 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
754 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
755 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
756 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
757 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
758 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
759 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
760 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
761 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
762 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
763 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
764 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
765 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
766 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
767 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
768 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
769 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
770 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
771 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
772 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
773 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
774 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
775 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
776 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
777 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
778 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
779 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
780 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
781 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
782 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
783 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
784 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
785 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
786 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
787 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
788 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
789 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
790 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
791 * doc/reporting-bugs.rst: New file.
792 * doc/the-libgomp-abi.rst: New file.
793 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
794 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
795 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
796 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
797 New file.
798 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
799 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
800 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
801 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
802 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
803 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
804 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
805 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
806 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
807 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
808 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
809
8102022-11-14 Martin Liska <mliska@suse.cz>
811
812 Revert:
813 2022-11-14 Martin Liska <mliska@suse.cz>
814
815 * Makefile.in: Support Sphinx based documentation.
816
8172022-11-14 Martin Liska <mliska@suse.cz>
818
819 Revert:
820 2022-11-14 Martin Liska <mliska@suse.cz>
821
822 * libgomp.texi: Removed.
823
8242022-11-14 Martin Liska <mliska@suse.cz>
825
826 Revert:
827 2022-11-14 Martin Liska <mliska@suse.cz>
828
829 * Makefile.in: Support --with-sphinx-build.
830 * configure.ac: Likewise..
831 * configure: Regenerate.
832
8332022-11-14 Martin Liska <mliska@suse.cz>
834
835 Revert:
836 2022-11-09 Martin Liska <mliska@suse.cz>
837
838 * Makefile.in: Build info pages conditionally.
839
8402022-11-14 Martin Liska <mliska@suse.cz>
841
842 Revert:
843 2022-11-14 Martin Liska <mliska@suse.cz>
844
845 * doc/amd-radeon-gcn.rst:
3d3b561f 846 Add trailing newline.
83d400bd 847 * doc/copyright.rst:
3d3b561f 848 Add trailing newline.
83d400bd 849 * doc/cuda-streams-usage.rst:
3d3b561f 850 Add trailing newline.
83d400bd 851 * doc/enabling-openacc.rst:
3d3b561f 852 Add trailing newline.
83d400bd 853 * doc/enabling-openmp.rst:
3d3b561f 854 Add trailing newline.
83d400bd 855 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 856 Add trailing newline.
83d400bd 857 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 858 Add trailing newline.
83d400bd 859 * doc/funding.rst:
3d3b561f 860 Add trailing newline.
83d400bd 861 * doc/general-public-license-3.rst:
3d3b561f 862 Add trailing newline.
83d400bd 863 * doc/gnu-free-documentation-license.rst:
3d3b561f 864 Add trailing newline.
83d400bd 865 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 866 Add trailing newline.
83d400bd 867 * doc/index.rst:
3d3b561f 868 Add trailing newline.
83d400bd 869 * doc/indices-and-tables.rst:
3d3b561f 870 Add trailing newline.
83d400bd 871 * doc/introduction.rst:
3d3b561f 872 Add trailing newline.
83d400bd 873 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 874 Add trailing newline.
83d400bd 875 * doc/nvptx.rst:
3d3b561f 876 Add trailing newline.
83d400bd 877 * doc/offload-target-specifics.rst:
3d3b561f 878 Add trailing newline.
83d400bd 879 * doc/openacc-environment-variables.rst:
3d3b561f 880 Add trailing newline.
83d400bd 881 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 882 Add trailing newline.
83d400bd 883 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 884 Add trailing newline.
83d400bd 885 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 886 Add trailing newline.
83d400bd 887 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 888 Add trailing newline.
83d400bd 889 * doc/openacc-introduction.rst:
3d3b561f 890 Add trailing newline.
83d400bd 891 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 892 Add trailing newline.
83d400bd 893 * doc/openacc-library-interoperability.rst:
3d3b561f 894 Add trailing newline.
83d400bd 895 * doc/openacc-profiling-interface.rst:
3d3b561f 896 Add trailing newline.
83d400bd 897 * doc/openacc-runtime-library-routines.rst:
3d3b561f 898 Add trailing newline.
83d400bd 899 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 900 Add trailing newline.
83d400bd 901 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 902 Add trailing newline.
83d400bd 903 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 904 Add trailing newline.
83d400bd 905 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 906 Add trailing newline.
83d400bd 907 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 908 Add trailing newline.
83d400bd 909 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 910 Add trailing newline.
83d400bd 911 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 912 Add trailing newline.
83d400bd 913 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 914 Add trailing newline.
83d400bd 915 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 916 Add trailing newline.
83d400bd 917 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 918 Add trailing newline.
83d400bd 919 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 920 Add trailing newline.
83d400bd 921 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 922 Add trailing newline.
83d400bd 923 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 924 Add trailing newline.
83d400bd 925 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 926 Add trailing newline.
83d400bd 927 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 928 Add trailing newline.
83d400bd 929 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 930 Add trailing newline.
83d400bd 931 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 932 Add trailing newline.
83d400bd 933 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 934 Add trailing newline.
83d400bd 935 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 936 Add trailing newline.
83d400bd 937 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 938 Add trailing newline.
83d400bd 939 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 940 Add trailing newline.
83d400bd 941 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 942 Add trailing newline.
83d400bd 943 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 944 Add trailing newline.
83d400bd 945 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 946 Add trailing newline.
83d400bd 947 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 948 Add trailing newline.
83d400bd 949 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 950 Add trailing newline.
83d400bd 951 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 952 Add trailing newline.
83d400bd 953 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 954 Add trailing newline.
83d400bd 955 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 956 Add trailing newline.
83d400bd 957 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 958 Add trailing newline.
83d400bd 959 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 960 Add trailing newline.
83d400bd 961 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 962 Add trailing newline.
83d400bd 963 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 964 Add trailing newline.
83d400bd 965 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 966 Add trailing newline.
83d400bd 967 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 968 Add trailing newline.
83d400bd 969 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 970 Add trailing newline.
83d400bd 971 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 972 Add trailing newline.
83d400bd 973 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 974 Add trailing newline.
83d400bd 975 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 976 Add trailing newline.
83d400bd 977 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 978 Add trailing newline.
83d400bd 979 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 980 Add trailing newline.
83d400bd 981 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 982 Add trailing newline.
83d400bd 983 * doc/openmp-context-selectors.rst:
3d3b561f 984 Add trailing newline.
83d400bd 985 * doc/openmp-environment-variables.rst:
3d3b561f 986 Add trailing newline.
83d400bd 987 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 988 Add trailing newline.
83d400bd 989 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 990 Add trailing newline.
83d400bd 991 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 992 Add trailing newline.
83d400bd 993 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 994 Add trailing newline.
83d400bd 995 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 996 Add trailing newline.
83d400bd 997 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 998 Add trailing newline.
83d400bd 999 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 1000 Add trailing newline.
83d400bd 1001 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 1002 Add trailing newline.
83d400bd 1003 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 1004 Add trailing newline.
83d400bd 1005 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 1006 Add trailing newline.
83d400bd 1007 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 1008 Add trailing newline.
83d400bd 1009 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 1010 Add trailing newline.
83d400bd 1011 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 1012 Add trailing newline.
83d400bd 1013 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 1014 Add trailing newline.
83d400bd 1015 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 1016 Add trailing newline.
83d400bd 1017 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 1018 Add trailing newline.
83d400bd 1019 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 1020 Add trailing newline.
83d400bd 1021 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 1022 Add trailing newline.
83d400bd 1023 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 1024 Add trailing newline.
83d400bd 1025 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 1026 Add trailing newline.
83d400bd 1027 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 1028 Add trailing newline.
83d400bd 1029 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 1030 Add trailing newline.
83d400bd 1031 * doc/openmp-implementation-specifics.rst:
3d3b561f 1032 Add trailing newline.
83d400bd 1033 * doc/openmp-implementation-status.rst:
3d3b561f 1034 Add trailing newline.
83d400bd 1035 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 1036 Add trailing newline.
83d400bd 1037 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 1038 Add trailing newline.
83d400bd 1039 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 1040 Add trailing newline.
83d400bd 1041 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 1042 Add trailing newline.
83d400bd 1043 * doc/openmp-runtime-library-routines.rst:
3d3b561f 1044 Add trailing newline.
83d400bd 1045 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 1046 Add trailing newline.
83d400bd 1047 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 1048 Add trailing newline.
83d400bd 1049 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 1050 Add trailing newline.
83d400bd 1051 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 1052 Add trailing newline.
83d400bd 1053 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 1054 Add trailing newline.
83d400bd 1055 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 1056 Add trailing newline.
83d400bd 1057 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 1058 Add trailing newline.
83d400bd 1059 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 1060 Add trailing newline.
83d400bd 1061 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 1062 Add trailing newline.
83d400bd 1063 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 1064 Add trailing newline.
83d400bd 1065 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 1066 Add trailing newline.
83d400bd 1067 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 1068 Add trailing newline.
83d400bd 1069 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 1070 Add trailing newline.
83d400bd 1071 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 1072 Add trailing newline.
83d400bd 1073 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 1074 Add trailing newline.
83d400bd 1075 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 1076 Add trailing newline.
83d400bd 1077 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 1078 Add trailing newline.
83d400bd 1079 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 1080 Add trailing newline.
83d400bd 1081 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 1082 Add trailing newline.
83d400bd 1083 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 1084 Add trailing newline.
83d400bd 1085 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 1086 Add trailing newline.
83d400bd 1087 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 1088 Add trailing newline.
83d400bd 1089 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 1090 Add trailing newline.
83d400bd 1091 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 1092 Add trailing newline.
83d400bd 1093 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 1094 Add trailing newline.
83d400bd 1095 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 1096 Add trailing newline.
83d400bd 1097 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 1098 Add trailing newline.
83d400bd 1099 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 1100 Add trailing newline.
83d400bd 1101 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 1102 Add trailing newline.
83d400bd 1103 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 1104 Add trailing newline.
83d400bd 1105 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 1106 Add trailing newline.
83d400bd 1107 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 1108 Add trailing newline.
83d400bd 1109 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 1110 Add trailing newline.
83d400bd 1111 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 1112 Add trailing newline.
83d400bd 1113 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 1114 Add trailing newline.
83d400bd 1115 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 1116 Add trailing newline.
83d400bd 1117 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 1118 Add trailing newline.
83d400bd 1119 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 1120 Add trailing newline.
83d400bd 1121 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 1122 Add trailing newline.
83d400bd 1123 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 1124 Add trailing newline.
83d400bd 1125 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 1126 Add trailing newline.
83d400bd 1127 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 1128 Add trailing newline.
83d400bd 1129 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 1130 Add trailing newline.
83d400bd 1131 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 1132 Add trailing newline.
83d400bd 1133 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 1134 Add trailing newline.
83d400bd 1135 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 1136 Add trailing newline.
83d400bd 1137 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 1138 Add trailing newline.
83d400bd 1139 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 1140 Add trailing newline.
83d400bd 1141 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 1142 Add trailing newline.
83d400bd 1143 * doc/reporting-bugs.rst:
3d3b561f 1144 Add trailing newline.
83d400bd 1145 * doc/the-libgomp-abi.rst:
3d3b561f 1146 Add trailing newline.
83d400bd 1147 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 1148 Add trailing newline.
83d400bd 1149 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 1150 Add trailing newline.
83d400bd 1151 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 1152 Add trailing newline.
83d400bd 1153 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 1154 Add trailing newline.
83d400bd 1155 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 1156 Add trailing newline.
83d400bd 1157 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 1158 Add trailing newline.
83d400bd 1159 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 1160 Add trailing newline.
83d400bd 1161 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 1162 Add trailing newline.
83d400bd 1163 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 1164 Add trailing newline.
83d400bd 1165 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 1166 Add trailing newline.
83d400bd 1167 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 1168 Add trailing newline.
83d400bd 1169 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 1170 Add trailing newline.
83d400bd 1171 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 1172 Add trailing newline.
83d400bd 1173 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 1174 Add trailing newline.
83d400bd 1175 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 1176 Add trailing newline.
83d400bd
GA
1177
11782022-11-14 Martin Liska <mliska@suse.cz>
1179
1180 Revert:
1181 2022-11-09 Martin Liska <mliska@suse.cz>
1182
1183 * Makefile.in: Add missing HAS_SPHINX_BUILD.
1184
11852022-11-14 Martin Liska <mliska@suse.cz>
1186
1187 Revert:
1188 2022-11-14 Martin Liska <mliska@suse.cz>
1189
1190 * doc/conf.py: Add newline at last line.
1191
11922022-11-14 Martin Liska <mliska@suse.cz>
1193
1194 Revert:
1195 2022-11-14 Martin Liska <mliska@suse.cz>
1196
1197 PR other/107620
1198 * configure: Regenerate.
1199 * configure.ac: Always set sphinx-build.
1200
eefbfbc7
GA
12012022-11-13 Martin Liska <mliska@suse.cz>
1202
1203 PR other/107620
1204 * configure: Regenerate.
1205 * configure.ac: Always set sphinx-build.
1206
30d77d49
GA
12072022-11-12 Jakub Jelinek <jakub@redhat.com>
1208
1209 PR libgomp/107641
1210 * env.c (parse_unsigned_long): Cast params[2] to uintptr_t rather than
1211 unsigned long. Change type of upper from unsigned to unsigned long.
1212
f225b813
GA
12132022-11-10 Martin Liska <mliska@suse.cz>
1214
1215 * doc/conf.py: Add newline at last line.
1216
1cdfd0e5
GA
12172022-11-09 Martin Liska <mliska@suse.cz>
1218
1219 * Makefile.in: Add missing HAS_SPHINX_BUILD.
1220
12212022-11-09 Martin Liska <mliska@suse.cz>
1222
1223 * doc/amd-radeon-gcn.rst:
3d3b561f 1224 Add trailing newline.
1cdfd0e5 1225 * doc/copyright.rst:
3d3b561f 1226 Add trailing newline.
1cdfd0e5 1227 * doc/cuda-streams-usage.rst:
3d3b561f 1228 Add trailing newline.
1cdfd0e5 1229 * doc/enabling-openacc.rst:
3d3b561f 1230 Add trailing newline.
1cdfd0e5 1231 * doc/enabling-openmp.rst:
3d3b561f 1232 Add trailing newline.
1cdfd0e5 1233 * doc/first-invocation-nvidia-cublas-library-api.rst:
3d3b561f 1234 Add trailing newline.
1cdfd0e5 1235 * doc/first-invocation-openacc-library-api.rst:
3d3b561f 1236 Add trailing newline.
1cdfd0e5 1237 * doc/funding.rst:
3d3b561f 1238 Add trailing newline.
1cdfd0e5 1239 * doc/general-public-license-3.rst:
3d3b561f 1240 Add trailing newline.
1cdfd0e5 1241 * doc/gnu-free-documentation-license.rst:
3d3b561f 1242 Add trailing newline.
1cdfd0e5 1243 * doc/implementation-status-and-implementation-defined-behavior.rst:
3d3b561f 1244 Add trailing newline.
1cdfd0e5 1245 * doc/index.rst:
3d3b561f 1246 Add trailing newline.
1cdfd0e5 1247 * doc/indices-and-tables.rst:
3d3b561f 1248 Add trailing newline.
1cdfd0e5 1249 * doc/introduction.rst:
3d3b561f 1250 Add trailing newline.
1cdfd0e5 1251 * doc/memory-allocation-with-libmemkind.rst:
3d3b561f 1252 Add trailing newline.
1cdfd0e5 1253 * doc/nvptx.rst:
3d3b561f 1254 Add trailing newline.
1cdfd0e5 1255 * doc/offload-target-specifics.rst:
3d3b561f 1256 Add trailing newline.
1cdfd0e5 1257 * doc/openacc-environment-variables.rst:
3d3b561f 1258 Add trailing newline.
1cdfd0e5 1259 * doc/openacc-environment-variables/accdevicenum.rst:
3d3b561f 1260 Add trailing newline.
1cdfd0e5 1261 * doc/openacc-environment-variables/accdevicetype.rst:
3d3b561f 1262 Add trailing newline.
1cdfd0e5 1263 * doc/openacc-environment-variables/accproflib.rst:
3d3b561f 1264 Add trailing newline.
1cdfd0e5 1265 * doc/openacc-environment-variables/gccaccnotify.rst:
3d3b561f 1266 Add trailing newline.
1cdfd0e5 1267 * doc/openacc-introduction.rst:
3d3b561f 1268 Add trailing newline.
1cdfd0e5 1269 * doc/openacc-library-and-environment-variables.rst:
3d3b561f 1270 Add trailing newline.
1cdfd0e5 1271 * doc/openacc-library-interoperability.rst:
3d3b561f 1272 Add trailing newline.
1cdfd0e5 1273 * doc/openacc-profiling-interface.rst:
3d3b561f 1274 Add trailing newline.
1cdfd0e5 1275 * doc/openacc-runtime-library-routines.rst:
3d3b561f 1276 Add trailing newline.
1cdfd0e5 1277 * doc/openacc-runtime-library-routines/accasynctest.rst:
3d3b561f 1278 Add trailing newline.
1cdfd0e5 1279 * doc/openacc-runtime-library-routines/accasynctestall.rst:
3d3b561f 1280 Add trailing newline.
1cdfd0e5 1281 * doc/openacc-runtime-library-routines/accattach.rst:
3d3b561f 1282 Add trailing newline.
1cdfd0e5 1283 * doc/openacc-runtime-library-routines/acccopyin.rst:
3d3b561f 1284 Add trailing newline.
1cdfd0e5 1285 * doc/openacc-runtime-library-routines/acccopyout.rst:
3d3b561f 1286 Add trailing newline.
1cdfd0e5 1287 * doc/openacc-runtime-library-routines/acccreate.rst:
3d3b561f 1288 Add trailing newline.
1cdfd0e5 1289 * doc/openacc-runtime-library-routines/accdelete.rst:
3d3b561f 1290 Add trailing newline.
1cdfd0e5 1291 * doc/openacc-runtime-library-routines/accdetach.rst:
3d3b561f 1292 Add trailing newline.
1cdfd0e5 1293 * doc/openacc-runtime-library-routines/accdeviceptr.rst:
3d3b561f 1294 Add trailing newline.
1cdfd0e5 1295 * doc/openacc-runtime-library-routines/accfree.rst:
3d3b561f 1296 Add trailing newline.
1cdfd0e5 1297 * doc/openacc-runtime-library-routines/accgetcudastream.rst:
3d3b561f 1298 Add trailing newline.
1cdfd0e5 1299 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
3d3b561f 1300 Add trailing newline.
1cdfd0e5 1301 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
3d3b561f 1302 Add trailing newline.
1cdfd0e5 1303 * doc/openacc-runtime-library-routines/accgetdevicenum.rst:
3d3b561f 1304 Add trailing newline.
1cdfd0e5 1305 * doc/openacc-runtime-library-routines/accgetdevicetype.rst:
3d3b561f 1306 Add trailing newline.
1cdfd0e5 1307 * doc/openacc-runtime-library-routines/accgetnumdevices.rst:
3d3b561f 1308 Add trailing newline.
1cdfd0e5 1309 * doc/openacc-runtime-library-routines/accgetproperty.rst:
3d3b561f 1310 Add trailing newline.
1cdfd0e5 1311 * doc/openacc-runtime-library-routines/acchostptr.rst:
3d3b561f 1312 Add trailing newline.
1cdfd0e5 1313 * doc/openacc-runtime-library-routines/accinit.rst:
3d3b561f 1314 Add trailing newline.
1cdfd0e5 1315 * doc/openacc-runtime-library-routines/accispresent.rst:
3d3b561f 1316 Add trailing newline.
1cdfd0e5 1317 * doc/openacc-runtime-library-routines/accmalloc.rst:
3d3b561f 1318 Add trailing newline.
1cdfd0e5 1319 * doc/openacc-runtime-library-routines/accmapdata.rst:
3d3b561f 1320 Add trailing newline.
1cdfd0e5 1321 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
3d3b561f 1322 Add trailing newline.
1cdfd0e5 1323 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
3d3b561f 1324 Add trailing newline.
1cdfd0e5 1325 * doc/openacc-runtime-library-routines/accondevice.rst:
3d3b561f 1326 Add trailing newline.
1cdfd0e5 1327 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
3d3b561f 1328 Add trailing newline.
1cdfd0e5 1329 * doc/openacc-runtime-library-routines/accpresentorcreate.rst:
3d3b561f 1330 Add trailing newline.
1cdfd0e5 1331 * doc/openacc-runtime-library-routines/accproflookup.rst:
3d3b561f 1332 Add trailing newline.
1cdfd0e5 1333 * doc/openacc-runtime-library-routines/accprofregister.rst:
3d3b561f 1334 Add trailing newline.
1cdfd0e5 1335 * doc/openacc-runtime-library-routines/accprofunregister.rst:
3d3b561f 1336 Add trailing newline.
1cdfd0e5 1337 * doc/openacc-runtime-library-routines/accregisterlibrary.rst:
3d3b561f 1338 Add trailing newline.
1cdfd0e5 1339 * doc/openacc-runtime-library-routines/accsetcudastream.rst:
3d3b561f 1340 Add trailing newline.
1cdfd0e5 1341 * doc/openacc-runtime-library-routines/accsetdevicenum.rst:
3d3b561f 1342 Add trailing newline.
1cdfd0e5 1343 * doc/openacc-runtime-library-routines/accsetdevicetype.rst:
3d3b561f 1344 Add trailing newline.
1cdfd0e5 1345 * doc/openacc-runtime-library-routines/accshutdown.rst:
3d3b561f 1346 Add trailing newline.
1cdfd0e5 1347 * doc/openacc-runtime-library-routines/accunmapdata.rst:
3d3b561f 1348 Add trailing newline.
1cdfd0e5 1349 * doc/openacc-runtime-library-routines/accupdatedevice.rst:
3d3b561f 1350 Add trailing newline.
1cdfd0e5 1351 * doc/openacc-runtime-library-routines/accupdateself.rst:
3d3b561f 1352 Add trailing newline.
1cdfd0e5 1353 * doc/openacc-runtime-library-routines/accwait.rst:
3d3b561f 1354 Add trailing newline.
1cdfd0e5 1355 * doc/openacc-runtime-library-routines/accwaitall.rst:
3d3b561f 1356 Add trailing newline.
1cdfd0e5 1357 * doc/openacc-runtime-library-routines/accwaitallasync.rst:
3d3b561f 1358 Add trailing newline.
1cdfd0e5 1359 * doc/openacc-runtime-library-routines/accwaitasync.rst:
3d3b561f 1360 Add trailing newline.
1cdfd0e5 1361 * doc/openmp-context-selectors.rst:
3d3b561f 1362 Add trailing newline.
1cdfd0e5 1363 * doc/openmp-environment-variables.rst:
3d3b561f 1364 Add trailing newline.
1cdfd0e5 1365 * doc/openmp-environment-variables/gompcpuaffinity.rst:
3d3b561f 1366 Add trailing newline.
1cdfd0e5 1367 * doc/openmp-environment-variables/gompdebug.rst:
3d3b561f 1368 Add trailing newline.
1cdfd0e5 1369 * doc/openmp-environment-variables/gomprtemsthreadpools.rst:
3d3b561f 1370 Add trailing newline.
1cdfd0e5 1371 * doc/openmp-environment-variables/gompspincount.rst:
3d3b561f 1372 Add trailing newline.
1cdfd0e5 1373 * doc/openmp-environment-variables/gompstacksize.rst:
3d3b561f 1374 Add trailing newline.
1cdfd0e5 1375 * doc/openmp-environment-variables/ompcancellation.rst:
3d3b561f 1376 Add trailing newline.
1cdfd0e5 1377 * doc/openmp-environment-variables/ompdefaultdevice.rst:
3d3b561f 1378 Add trailing newline.
1cdfd0e5 1379 * doc/openmp-environment-variables/ompdisplayenv.rst:
3d3b561f 1380 Add trailing newline.
1cdfd0e5 1381 * doc/openmp-environment-variables/ompdynamic.rst:
3d3b561f 1382 Add trailing newline.
1cdfd0e5 1383 * doc/openmp-environment-variables/ompmaxactivelevels.rst:
3d3b561f 1384 Add trailing newline.
1cdfd0e5 1385 * doc/openmp-environment-variables/ompmaxtaskpriority.rst:
3d3b561f 1386 Add trailing newline.
1cdfd0e5 1387 * doc/openmp-environment-variables/ompnested.rst:
3d3b561f 1388 Add trailing newline.
1cdfd0e5 1389 * doc/openmp-environment-variables/ompnumteams.rst:
3d3b561f 1390 Add trailing newline.
1cdfd0e5 1391 * doc/openmp-environment-variables/ompnumthreads.rst:
3d3b561f 1392 Add trailing newline.
1cdfd0e5 1393 * doc/openmp-environment-variables/ompplaces.rst:
3d3b561f 1394 Add trailing newline.
1cdfd0e5 1395 * doc/openmp-environment-variables/ompprocbind.rst:
3d3b561f 1396 Add trailing newline.
1cdfd0e5 1397 * doc/openmp-environment-variables/ompschedule.rst:
3d3b561f 1398 Add trailing newline.
1cdfd0e5 1399 * doc/openmp-environment-variables/ompstacksize.rst:
3d3b561f 1400 Add trailing newline.
1cdfd0e5 1401 * doc/openmp-environment-variables/omptargetoffload.rst:
3d3b561f 1402 Add trailing newline.
1cdfd0e5 1403 * doc/openmp-environment-variables/ompteamsthreadlimit.rst:
3d3b561f 1404 Add trailing newline.
1cdfd0e5 1405 * doc/openmp-environment-variables/ompthreadlimit.rst:
3d3b561f 1406 Add trailing newline.
1cdfd0e5 1407 * doc/openmp-environment-variables/ompwaitpolicy.rst:
3d3b561f 1408 Add trailing newline.
1cdfd0e5 1409 * doc/openmp-implementation-specifics.rst:
3d3b561f 1410 Add trailing newline.
1cdfd0e5 1411 * doc/openmp-implementation-status.rst:
3d3b561f 1412 Add trailing newline.
1cdfd0e5 1413 * doc/openmp-implementation-status/openmp-45.rst:
3d3b561f 1414 Add trailing newline.
1cdfd0e5 1415 * doc/openmp-implementation-status/openmp-50.rst:
3d3b561f 1416 Add trailing newline.
1cdfd0e5 1417 * doc/openmp-implementation-status/openmp-51.rst:
3d3b561f 1418 Add trailing newline.
1cdfd0e5 1419 * doc/openmp-implementation-status/openmp-52.rst:
3d3b561f 1420 Add trailing newline.
1cdfd0e5 1421 * doc/openmp-runtime-library-routines.rst:
3d3b561f 1422 Add trailing newline.
1cdfd0e5 1423 * doc/openmp-runtime-library-routines/ompdestroylock.rst:
3d3b561f 1424 Add trailing newline.
1cdfd0e5 1425 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
3d3b561f 1426 Add trailing newline.
1cdfd0e5 1427 * doc/openmp-runtime-library-routines/ompfulfillevent.rst:
3d3b561f 1428 Add trailing newline.
1cdfd0e5 1429 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
3d3b561f 1430 Add trailing newline.
1cdfd0e5 1431 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
3d3b561f 1432 Add trailing newline.
1cdfd0e5 1433 * doc/openmp-runtime-library-routines/ompgetcancellation.rst:
3d3b561f 1434 Add trailing newline.
1cdfd0e5 1435 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
3d3b561f 1436 Add trailing newline.
1cdfd0e5 1437 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
3d3b561f 1438 Add trailing newline.
1cdfd0e5 1439 * doc/openmp-runtime-library-routines/ompgetdynamic.rst:
3d3b561f 1440 Add trailing newline.
1cdfd0e5 1441 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
3d3b561f 1442 Add trailing newline.
1cdfd0e5 1443 * doc/openmp-runtime-library-routines/ompgetlevel.rst:
3d3b561f 1444 Add trailing newline.
1cdfd0e5 1445 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
3d3b561f 1446 Add trailing newline.
1cdfd0e5 1447 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
3d3b561f 1448 Add trailing newline.
1cdfd0e5 1449 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
3d3b561f 1450 Add trailing newline.
1cdfd0e5 1451 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
3d3b561f 1452 Add trailing newline.
1cdfd0e5 1453 * doc/openmp-runtime-library-routines/ompgetnested.rst:
3d3b561f 1454 Add trailing newline.
1cdfd0e5 1455 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
3d3b561f 1456 Add trailing newline.
1cdfd0e5 1457 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
3d3b561f 1458 Add trailing newline.
1cdfd0e5 1459 * doc/openmp-runtime-library-routines/ompgetnumteams.rst:
3d3b561f 1460 Add trailing newline.
1cdfd0e5 1461 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
3d3b561f 1462 Add trailing newline.
1cdfd0e5 1463 * doc/openmp-runtime-library-routines/ompgetprocbind.rst:
3d3b561f 1464 Add trailing newline.
1cdfd0e5 1465 * doc/openmp-runtime-library-routines/ompgetschedule.rst:
3d3b561f 1466 Add trailing newline.
1cdfd0e5 1467 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
3d3b561f 1468 Add trailing newline.
1cdfd0e5 1469 * doc/openmp-runtime-library-routines/ompgetteamnum.rst:
3d3b561f 1470 Add trailing newline.
1cdfd0e5 1471 * doc/openmp-runtime-library-routines/ompgetteamsize.rst:
3d3b561f 1472 Add trailing newline.
1cdfd0e5 1473 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
3d3b561f 1474 Add trailing newline.
1cdfd0e5 1475 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
3d3b561f 1476 Add trailing newline.
1cdfd0e5 1477 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
3d3b561f 1478 Add trailing newline.
1cdfd0e5 1479 * doc/openmp-runtime-library-routines/ompgetwtick.rst:
3d3b561f 1480 Add trailing newline.
1cdfd0e5 1481 * doc/openmp-runtime-library-routines/ompgetwtime.rst:
3d3b561f 1482 Add trailing newline.
1cdfd0e5 1483 * doc/openmp-runtime-library-routines/ompinfinal.rst:
3d3b561f 1484 Add trailing newline.
1cdfd0e5 1485 * doc/openmp-runtime-library-routines/ompinitlock.rst:
3d3b561f 1486 Add trailing newline.
1cdfd0e5 1487 * doc/openmp-runtime-library-routines/ompinitnestlock.rst:
3d3b561f 1488 Add trailing newline.
1cdfd0e5 1489 * doc/openmp-runtime-library-routines/ompinparallel.rst:
3d3b561f 1490 Add trailing newline.
1cdfd0e5 1491 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
3d3b561f 1492 Add trailing newline.
1cdfd0e5 1493 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
3d3b561f 1494 Add trailing newline.
1cdfd0e5 1495 * doc/openmp-runtime-library-routines/ompsetdynamic.rst:
3d3b561f 1496 Add trailing newline.
1cdfd0e5 1497 * doc/openmp-runtime-library-routines/ompsetlock.rst:
3d3b561f 1498 Add trailing newline.
1cdfd0e5 1499 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
3d3b561f 1500 Add trailing newline.
1cdfd0e5 1501 * doc/openmp-runtime-library-routines/ompsetnested.rst:
3d3b561f 1502 Add trailing newline.
1cdfd0e5 1503 * doc/openmp-runtime-library-routines/ompsetnestlock.rst:
3d3b561f 1504 Add trailing newline.
1cdfd0e5 1505 * doc/openmp-runtime-library-routines/ompsetnumteams.rst:
3d3b561f 1506 Add trailing newline.
1cdfd0e5 1507 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
3d3b561f 1508 Add trailing newline.
1cdfd0e5 1509 * doc/openmp-runtime-library-routines/ompsetschedule.rst:
3d3b561f 1510 Add trailing newline.
1cdfd0e5 1511 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
3d3b561f 1512 Add trailing newline.
1cdfd0e5 1513 * doc/openmp-runtime-library-routines/omptestlock.rst:
3d3b561f 1514 Add trailing newline.
1cdfd0e5 1515 * doc/openmp-runtime-library-routines/omptestnestlock.rst:
3d3b561f 1516 Add trailing newline.
1cdfd0e5 1517 * doc/openmp-runtime-library-routines/ompunsetlock.rst:
3d3b561f 1518 Add trailing newline.
1cdfd0e5 1519 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
3d3b561f 1520 Add trailing newline.
1cdfd0e5 1521 * doc/reporting-bugs.rst:
3d3b561f 1522 Add trailing newline.
1cdfd0e5 1523 * doc/the-libgomp-abi.rst:
3d3b561f 1524 Add trailing newline.
1cdfd0e5 1525 * doc/the-libgomp-abi/implementing-atomic-construct.rst:
3d3b561f 1526 Add trailing newline.
1cdfd0e5 1527 * doc/the-libgomp-abi/implementing-barrier-construct.rst:
3d3b561f 1528 Add trailing newline.
1cdfd0e5 1529 * doc/the-libgomp-abi/implementing-critical-construct.rst:
3d3b561f 1530 Add trailing newline.
1cdfd0e5 1531 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
3d3b561f 1532 Add trailing newline.
1cdfd0e5 1533 * doc/the-libgomp-abi/implementing-flush-construct.rst:
3d3b561f 1534 Add trailing newline.
1cdfd0e5 1535 * doc/the-libgomp-abi/implementing-for-construct.rst:
3d3b561f 1536 Add trailing newline.
1cdfd0e5 1537 * doc/the-libgomp-abi/implementing-master-construct.rst:
3d3b561f 1538 Add trailing newline.
1cdfd0e5 1539 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
3d3b561f 1540 Add trailing newline.
1cdfd0e5 1541 * doc/the-libgomp-abi/implementing-ordered-construct.rst:
3d3b561f 1542 Add trailing newline.
1cdfd0e5 1543 * doc/the-libgomp-abi/implementing-parallel-construct.rst:
3d3b561f 1544 Add trailing newline.
1cdfd0e5 1545 * doc/the-libgomp-abi/implementing-private-clause.rst:
3d3b561f 1546 Add trailing newline.
1cdfd0e5 1547 * doc/the-libgomp-abi/implementing-reduction-clause.rst:
3d3b561f 1548 Add trailing newline.
1cdfd0e5 1549 * doc/the-libgomp-abi/implementing-sections-construct.rst:
3d3b561f 1550 Add trailing newline.
1cdfd0e5 1551 * doc/the-libgomp-abi/implementing-single-construct.rst:
3d3b561f 1552 Add trailing newline.
1cdfd0e5 1553 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
3d3b561f 1554 Add trailing newline.
1cdfd0e5
GA
1555
15562022-11-09 Martin Liska <mliska@suse.cz>
1557
1558 * Makefile.in: Build info pages conditionally.
1559
15602022-11-09 Martin Liska <mliska@suse.cz>
1561
1562 * Makefile.in: Support --with-sphinx-build.
1563 * configure.ac: Likewise..
1564 * configure: Regenerate.
1565
15662022-11-09 Martin Liska <mliska@suse.cz>
1567
1568 * libgomp.texi: Removed.
1569
15702022-11-09 Martin Liska <mliska@suse.cz>
1571
1572 * Makefile.in: Support Sphinx based documentation.
1573
15742022-11-09 Martin Liska <mliska@suse.cz>
1575
1576 * doc/amd-radeon-gcn.rst: New file.
1577 * doc/conf.py: New file.
1578 * doc/copyright.rst: New file.
1579 * doc/cuda-streams-usage.rst: New file.
1580 * doc/enabling-openacc.rst: New file.
1581 * doc/enabling-openmp.rst: New file.
1582 * doc/first-invocation-nvidia-cublas-library-api.rst: New file.
1583 * doc/first-invocation-openacc-library-api.rst: New file.
1584 * doc/funding.rst: New file.
1585 * doc/general-public-license-3.rst: New file.
1586 * doc/gnu-free-documentation-license.rst: New file.
1587 * doc/implementation-status-and-implementation-defined-behavior.rst: New file.
1588 * doc/index.rst: New file.
1589 * doc/indices-and-tables.rst: New file.
1590 * doc/introduction.rst: New file.
1591 * doc/memory-allocation-with-libmemkind.rst: New file.
1592 * doc/nvptx.rst: New file.
1593 * doc/offload-target-specifics.rst: New file.
1594 * doc/openacc-environment-variables.rst: New file.
1595 * doc/openacc-environment-variables/accdevicenum.rst: New file.
1596 * doc/openacc-environment-variables/accdevicetype.rst: New file.
1597 * doc/openacc-environment-variables/accproflib.rst: New file.
1598 * doc/openacc-environment-variables/gccaccnotify.rst: New file.
1599 * doc/openacc-introduction.rst: New file.
1600 * doc/openacc-library-and-environment-variables.rst: New file.
1601 * doc/openacc-library-interoperability.rst: New file.
1602 * doc/openacc-profiling-interface.rst: New file.
1603 * doc/openacc-runtime-library-routines.rst: New file.
1604 * doc/openacc-runtime-library-routines/accasynctest.rst: New file.
1605 * doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
1606 * doc/openacc-runtime-library-routines/accattach.rst: New file.
1607 * doc/openacc-runtime-library-routines/acccopyin.rst: New file.
1608 * doc/openacc-runtime-library-routines/acccopyout.rst: New file.
1609 * doc/openacc-runtime-library-routines/acccreate.rst: New file.
1610 * doc/openacc-runtime-library-routines/accdelete.rst: New file.
1611 * doc/openacc-runtime-library-routines/accdetach.rst: New file.
1612 * doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
1613 * doc/openacc-runtime-library-routines/accfree.rst: New file.
1614 * doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
1615 * doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
1616 * doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
1617 * doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
1618 * doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
1619 * doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
1620 * doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
1621 * doc/openacc-runtime-library-routines/acchostptr.rst: New file.
1622 * doc/openacc-runtime-library-routines/accinit.rst: New file.
1623 * doc/openacc-runtime-library-routines/accispresent.rst: New file.
1624 * doc/openacc-runtime-library-routines/accmalloc.rst: New file.
1625 * doc/openacc-runtime-library-routines/accmapdata.rst: New file.
1626 * doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
1627 * doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
1628 * doc/openacc-runtime-library-routines/accondevice.rst: New file.
1629 * doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
1630 * doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
1631 * doc/openacc-runtime-library-routines/accproflookup.rst: New file.
1632 * doc/openacc-runtime-library-routines/accprofregister.rst: New file.
1633 * doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
1634 * doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
1635 * doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
1636 * doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
1637 * doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
1638 * doc/openacc-runtime-library-routines/accshutdown.rst: New file.
1639 * doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
1640 * doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
1641 * doc/openacc-runtime-library-routines/accupdateself.rst: New file.
1642 * doc/openacc-runtime-library-routines/accwait.rst: New file.
1643 * doc/openacc-runtime-library-routines/accwaitall.rst: New file.
1644 * doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
1645 * doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
1646 * doc/openmp-context-selectors.rst: New file.
1647 * doc/openmp-environment-variables.rst: New file.
1648 * doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
1649 * doc/openmp-environment-variables/gompdebug.rst: New file.
1650 * doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
1651 * doc/openmp-environment-variables/gompspincount.rst: New file.
1652 * doc/openmp-environment-variables/gompstacksize.rst: New file.
1653 * doc/openmp-environment-variables/ompcancellation.rst: New file.
1654 * doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
1655 * doc/openmp-environment-variables/ompdisplayenv.rst: New file.
1656 * doc/openmp-environment-variables/ompdynamic.rst: New file.
1657 * doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
1658 * doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
1659 * doc/openmp-environment-variables/ompnested.rst: New file.
1660 * doc/openmp-environment-variables/ompnumteams.rst: New file.
1661 * doc/openmp-environment-variables/ompnumthreads.rst: New file.
1662 * doc/openmp-environment-variables/ompplaces.rst: New file.
1663 * doc/openmp-environment-variables/ompprocbind.rst: New file.
1664 * doc/openmp-environment-variables/ompschedule.rst: New file.
1665 * doc/openmp-environment-variables/ompstacksize.rst: New file.
1666 * doc/openmp-environment-variables/omptargetoffload.rst: New file.
1667 * doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
1668 * doc/openmp-environment-variables/ompthreadlimit.rst: New file.
1669 * doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
1670 * doc/openmp-implementation-specifics.rst: New file.
1671 * doc/openmp-implementation-status.rst: New file.
1672 * doc/openmp-implementation-status/openmp-45.rst: New file.
1673 * doc/openmp-implementation-status/openmp-50.rst: New file.
1674 * doc/openmp-implementation-status/openmp-51.rst: New file.
1675 * doc/openmp-implementation-status/openmp-52.rst: New file.
1676 * doc/openmp-runtime-library-routines.rst: New file.
1677 * doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
1678 * doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
1679 * doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
1680 * doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
1681 * doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
1682 * doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
1683 * doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
1684 * doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
1685 * doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
1686 * doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
1687 * doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
1688 * doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
1689 * doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
1690 * doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
1691 * doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
1692 * doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
1693 * doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
1694 * doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
1695 * doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
1696 * doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
1697 * doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
1698 * doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
1699 * doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
1700 * doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
1701 * doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
1702 * doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
1703 * doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
1704 * doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
1705 * doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
1706 * doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
1707 * doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
1708 * doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
1709 * doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
1710 * doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
1711 * doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
1712 * doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
1713 * doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
1714 * doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
1715 * doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
1716 * doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
1717 * doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
1718 * doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
1719 * doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
1720 * doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
1721 * doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
1722 * doc/openmp-runtime-library-routines/omptestlock.rst: New file.
1723 * doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
1724 * doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
1725 * doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
1726 * doc/reporting-bugs.rst: New file.
1727 * doc/the-libgomp-abi.rst: New file.
1728 * doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
1729 * doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
1730 * doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
1731 * doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
1732 New file.
1733 * doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
1734 * doc/the-libgomp-abi/implementing-for-construct.rst: New file.
1735 * doc/the-libgomp-abi/implementing-master-construct.rst: New file.
1736 * doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
1737 * doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
1738 * doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
1739 * doc/the-libgomp-abi/implementing-private-clause.rst: New file.
1740 * doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
1741 * doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
1742 * doc/the-libgomp-abi/implementing-single-construct.rst: New file.
1743 * doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.
1744
89d0a14a
JJ
17452022-11-04 Thomas Schwinge <thomas@codesourcery.com>
1746
1747 * libgomp-plugin.h (OFFLOAD_TARGET_TYPE_INTEL_MIC): Remove.
1748 * libgomp.texi (OpenMP Context Selectors): Remove Intel MIC
1749 documentation.
1750 * plugin/configfrag.ac <enable_offload_targets>
1751 [*-intelmic-* | *-intelmicemul-*]: Remove.
1752 * configure: Regenerate.
1753 * testsuite/lib/libgomp.exp (libgomp_init): Remove 'liboffloadmic'
1754 handling.
1755 (offload_target_to_openacc_device_type)
1756 [$offload_target = *-intelmic*]: Remove.
1757 (check_effective_target_offload_device_intel_mic)
1758 (check_effective_target_offload_device_any_intel_mic): Remove.
1759 * testsuite/libgomp.c-c++-common/on_device_arch.h
1760 (device_arch_intel_mic, on_device_arch_intel_mic, any_device_arch)
1761 (any_device_arch_intel_mic): Remove.
1762 * testsuite/libgomp.c-c++-common/target-45.c: Remove
1763 'offload_device_any_intel_mic' XFAIL.
1764 * testsuite/libgomp.fortran/target10.f90: Likewise.
1765
d29260ce
GA
17662022-11-03 Tobias Burnus <tobias@codesourcery.com>
1767
1768 * testsuite/libgomp.fortran/target-11.f90: New test.
1769 * testsuite/libgomp.fortran/target-13.f90: New test.
1770
58035eee
GA
17712022-11-02 Thomas Schwinge <thomas@codesourcery.com>
1772
1773 PR libgomp/106643
1774 PR fortran/96668
1775 * oacc-mem.c (goacc_enter_data_internal): Support
1776 OpenACC 'declare create' with Fortran allocatable arrays, part II.
1777 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
1778 Adjust.
1779 * testsuite/libgomp.oacc-fortran/pr106643-1.f90: New.
1780
17812022-11-02 Thomas Schwinge <thomas@codesourcery.com>
1782
1783 PR libgomp/106643
1784 * oacc-mem.c (goacc_enter_data_internal): Support
1785 OpenACC 'declare create' with Fortran allocatable arrays, part I.
1786 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-directive.f90:
1787 New.
1788 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-directive.f90:
1789 New.
1790
17912022-11-02 Thomas Schwinge <thomas@codesourcery.com>
1792
1793 * testsuite/libgomp.oacc-fortran/declare-allocatable-array_descriptor-1-runtime.f90:
1794 New.
1795
17962022-11-02 Thomas Schwinge <thomas@codesourcery.com>
1797
1798 * testsuite/libgomp.oacc-fortran/declare-allocatable-1-runtime.f90:
1799 New.
1800
18012022-11-02 Cesar Philippidis <cesar@codesourcery.com>
1802 Thomas Schwinge <thomas@codesourcery.com>
1803
1804 * testsuite/libgomp.oacc-fortran/declare-allocatable-1.f90: New.
1805
3055829a
GA
18062022-10-28 Julian Brown <julian@codesourcery.com>
1807 Thomas Schwinge <thomas@codesourcery.com>
1808
1809 PR middle-end/90115
1810 * testsuite/libgomp.oacc-fortran/declare-1.f90: Adjust scan output.
1811 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
1812 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1813 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
1814 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1815
4e939ae1
GA
18162022-10-24 Thomas Schwinge <thomas@codesourcery.com>
1817
1818 * plugin/plugin-nvptx.c (nvptx_open_device): Initialize
1819 'ptx_dev->rev_data'.
1820
18212022-10-24 Tobias Burnus <tobias@codesourcery.com>
1822
1823 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Remove
1824 'static' for this variable.
1825 * config/nvptx/libgomp-nvptx.h: New file.
1826 * config/nvptx/target.c: Include it.
1827 (GOMP_ADDITIONAL_ICVS): Declare extern var.
1828 (GOMP_REV_OFFLOAD_VAR): Declare var.
1829 (GOMP_target_ext): Handle reverse offload.
1830 * libgomp-plugin.h (GOMP_PLUGIN_target_rev): New prototype.
1831 * libgomp-plugin.c (GOMP_PLUGIN_target_rev): New, call ...
1832 * target.c (gomp_target_rev): ... this new stub function.
1833 * libgomp.h (gomp_target_rev): Declare.
1834 * libgomp.map (GOMP_PLUGIN_1.4): New; add GOMP_PLUGIN_target_rev.
1835 * plugin/cuda-lib.def (cuMemHostAlloc): Add.
1836 * plugin/plugin-nvptx.c: Include libgomp-nvptx.h.
1837 (struct ptx_device): Add rev_data member.
1838 (nvptx_open_device): Remove async_engines query, last used in
1839 r10-304-g1f4c5b9b; add unified-address assert check.
1840 (GOMP_OFFLOAD_get_num_devices): Claim unified address
1841 support.
1842 (GOMP_OFFLOAD_load_image): Free rev_fn_table if no
1843 offload functions exist. Make offload var available
1844 on host and device.
1845 (rev_off_dev_to_host_cpy, rev_off_host_to_dev_cpy): New.
1846 (GOMP_OFFLOAD_run): Handle reverse offload.
1847
10439719
GA
18482022-10-21 Thomas Schwinge <thomas@codesourcery.com>
1849
1850 PR tree-optimization/107195
1851 PR target/107344
1852 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Restore SESE
1853 regions checking.
1854
47a6ae56
GA
18552022-10-20 Tobias Burnus <tobias@codesourcery.com>
1856
1857 * testsuite/lib/libgomp.exp (check_effective_target_offload_device_gcn):
1858 New.
1859 * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_gcn,
1860 on_device_arch_gcn): New.
1861 * testsuite/libgomp.c-c++-common/requires-4a.c: New test; copied from
1862 requires-4.c but using heap-allocated memory.
1863
18642022-10-20 Thomas Schwinge <thomas@codesourcery.com>
1865
1866 PR target/105421
1867 * testsuite/libgomp.oacc-c-c++-common/private-big-1.c: New.
1868
6237663c
GA
18692022-10-17 Thomas Schwinge <thomas@codesourcery.com>
1870
1871 * testsuite/libgomp.c/reverse-offload-sm30.c: Fix nvptx-specific
1872 '-foffload-options' syntax.
1873
621a911d
GA
18742022-10-13 Tobias Burnus <tobias@codesourcery.com>
1875
1876 * testsuite/libgomp.fortran/task-7.f90: New test.
1877 * testsuite/libgomp.fortran/task-8.f90: New test.
1878 * testsuite/libgomp.fortran/task-in-explicit-1.f90: New test.
1879 * testsuite/libgomp.fortran/task-in-explicit-2.f90: New test.
1880 * testsuite/libgomp.fortran/task-in-explicit-3.f90: New test.
1881 * testsuite/libgomp.fortran/task-reduction-17.f90: New test.
1882 * testsuite/libgomp.fortran/task-reduction-18.f90: New test.
1883
781f477a
GA
18842022-10-12 Jakub Jelinek <jakub@redhat.com>
1885
1886 * libgomp.texi (OpenMP 5.2): Fix up allocator -> allocate directive
1887 in deprecation bullet.
1888
18892022-10-12 Jakub Jelinek <jakub@redhat.com>
1890
1891 * omp.h.in (omp_in_explicit_task): Declare.
1892 * omp_lib.h.in (omp_in_explicit_task): Likewise.
1893 * omp_lib.f90.in (omp_in_explicit_task): New interface.
1894 * libgomp.map (OMP_5.2): New symbol version, export
1895 omp_in_explicit_task and omp_in_explicit_task_.
1896 * task.c (omp_in_explicit_task): New function.
1897 * fortran.c (omp_in_explicit_task): Add ialias_redirect.
1898 (omp_in_explicit_task_): New function.
1899 * libgomp.texi (OpenMP 5.2): Mark omp_in_explicit_task as implemented.
1900 * testsuite/libgomp.c-c++-common/task-in-explicit-1.c: New test.
1901 * testsuite/libgomp.c-c++-common/task-in-explicit-2.c: New test.
1902 * testsuite/libgomp.c-c++-common/task-in-explicit-3.c: New test.
1903
19042022-10-12 Jakub Jelinek <jakub@redhat.com>
1905
1906 * task.c (gomp_create_artificial_team): Fix up handling of invocations
1907 from within explicit task.
1908 * target.c (GOMP_target_ext): Likewise.
1909 * testsuite/libgomp.c/task-7.c: New test.
1910 * testsuite/libgomp.c/task-8.c: New test.
1911 * testsuite/libgomp.c-c++-common/task-reduction-17.c: New test.
1912 * testsuite/libgomp.c-c++-common/task-reduction-18.c: New test.
1913
19142022-10-12 Martin Liska <mliska@suse.cz>
1915
1916 * configure: Regenerate.
1917
ab332cd7
GA
19182022-10-11 Olivier Hainque <hainque@adacore.com>
1919 Olivier Hainque <hainque@adacore.com>
1920
1921 * configure: Regenerate.
1922
966010b2
GA
19232022-10-05 Tobias Burnus <tobias@codesourcery.com>
1924
1925 * libgomp.texi (OpenMP 5.1 Impl. Status): Mark 'assume' as 'Y'.
1926
85872a69
GA
19272022-10-04 Jakub Jelinek <jakub@redhat.com>
1928
1929 * libgomp.texi (Support begin/end declare target syntax in C/C++):
1930 Mark as implemented.
1931
3a221b73
GA
19322022-09-30 Tobias Burnus <tobias@codesourcery.com>
1933
1934 PR fortran/105318
1935 * testsuite/libgomp.fortran/is_device_ptr-2.f90: New test.
1936
9e79a25b
GA
19372022-09-28 Tobias Burnus <tobias@codesourcery.com>
1938
1939 * libgomp.texi (OpenMP 5.1): Mark 'assume' as implemented
1940 for C/C++. Remove duplicated 'begin declare target' entry.
1941
28a61ecd
GA
19422022-09-24 Jakub Jelinek <jakub@redhat.com>
1943
1944 PR c/106981
1945 * testsuite/libgomp.c-c++-common/pr106981.c: New test.
1946
ff822367
GA
19472022-09-14 Julian Brown <julian@codesourcery.com>
1948
1949 * testsuite/libgomp.oacc-c-c++-common/deep-copy-15.c: New test.
1950 * testsuite/libgomp.oacc-c-c++-common/deep-copy-16.c: New test.
1951 * testsuite/libgomp.oacc-c++/deep-copy-17.C: New test.
1952 * testsuite/libgomp.oacc-c-c++-common/deep-copy-arrayofstruct.c: Move
1953 test to here, make "run" test.
1954
1995a022
GA
19552022-09-13 Jakub Jelinek <jakub@redhat.com>
1956
1957 PR libgomp/106906
1958 * env.c (get_icv_member_addr): Cast false to void * before assigning
1959 it to icv_addr[1], and comment the whole assignment out.
1960
19612022-09-13 Tobias Burnus <tobias@codesourcery.com>
1962
1963 * libgomp.texi (gcn): Move misplaced -march=sm_30 remark to ...
1964 (nvptx): ... here.
1965
b5f09bd7
GA
19662022-09-12 Tobias Burnus <tobias@codesourcery.com>
1967
1968 * libgomp.texi (Offload-Target Specifics: nvptx): Document
1969 that reverse offload requires >= -march=sm_35.
1970 * testsuite/libgomp.c-c++-common/requires-4.c: Build for nvptx
1971 with -misa=sm_35.
1972 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
1973 * testsuite/libgomp.c-c++-common/requires-6.c: Likewise.
1974 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: Likewise.
1975 * testsuite/libgomp.fortran/reverse-offload-1.f90: Likewise.
1976 * testsuite/libgomp.c/reverse-offload-sm30.c: New test.
1977
19782022-09-12 Tobias Burnus <tobias@codesourcery.com>
1979
1980 * libgomp.texi (OpenMP 5.1 Impl. Status): Add two new minor items.
1981 (OpenMP 5.2 Impl. Status): Improve omp/omx/ompx wording.
1982
19832022-09-12 Jakub Jelinek <jakub@redhat.com>
1984
1985 PR libgomp/106894
1986 * testsuite/libgomp.c-c++-common/icv-6.c: Include string.h.
1987 (main): Avoid tests for which corresponding non-_ALL suffixed variable
1988 is in the environment, or for OMP_NUM_TEAMS on the device
1989 OMP_NUM_TEAMS_DEV_?.
1990
5b3496e2
GA
19912022-09-10 Iain Sandoe <iain@sandoe.co.uk>
1992
1993 * env.c (initialize_env): Include libiberty environ.h.
1994
861d1a11
GA
19952022-09-09 Tobias Burnus <tobias@codesourcery.com>
1996
1997 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Read offload
1998 function address table '$offload_func_table' if rev_fn_table
1999 is not NULL.
2000
20012022-09-09 Tobias Burnus <tobias@codesourcery.com>
2002
2003 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Read
2004 .offload_func_table to populate rev_fn_table when requested.
2005
20062022-09-09 Tobias Burnus <tobias@codesourcery.com>
2007
2008 * libgomp-plugin.h (GOMP_OFFLOAD_load_image): Add
2009 'uint64_t **rev_fn_table' argument.
2010 * oacc-host.c (host_load_image): Likewise.
2011 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Likewise;
2012 currently unused.
2013 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2014 * target.c (gomp_load_image_to_device): Update call but pass
2015 NULL for now.
2016
20172022-09-09 Jakub Jelinek <jakub@redhat.com>
2018
2019 PR libgomp/106894
2020 * env.c (initialize_env) <case PARSE_BIND>: Use char ** instead of
2021 char * for dest[1] initialization from params[1]. Formatting fixes.
2022
2e7ad70c
GA
20232022-09-08 Tobias Burnus <tobias@codesourcery.com>
2024
2025 PR fortran/106670
2026 * libgomp.texi (OpenMP 5.2): Add comment to ompx/omx entry.
2027
20282022-09-08 Tobias Burnus <tobias@codesourcery.com>
2029
2030 * libgomp.texi (OpenMP-Implementation Specifics): New; add libmemkind
2031 section; move OpenMP Context Selectors from ...
2032 (Offload-Target Specifics): ... here; add 'AMD Radeo (GCN)' and
2033 'nvptx' sections.
2034
20352022-09-08 Marcel Vollweiler <marcel@codesourcery.com>
2036
2037 * config/gcn/icv-device.c (omp_get_default_device): Return device-
2038 specific ICV.
2039 (omp_get_max_teams): Added for GCN devices.
2040 (omp_set_num_teams): Likewise.
2041 (ialias): Likewise.
2042 * config/nvptx/icv-device.c (omp_get_default_device): Return device-
2043 specific ICV.
2044 (omp_get_max_teams): Added for NVPTX devices.
2045 (omp_set_num_teams): Likewise.
2046 (ialias): Likewise.
2047 * env.c (struct gomp_icv_list): New struct to store entries of initial
2048 ICV values.
2049 (struct gomp_offload_icv_list): New struct to store entries of device-
2050 specific ICV values that are copied to the device and back.
2051 (struct gomp_default_icv_values): New struct to store default values of
2052 ICVs according to the OpenMP standard.
2053 (parse_schedule): Generalized for different variants of OMP_SCHEDULE.
2054 (print_env_var_error): Function that prints an error for invalid values
2055 for ICVs.
2056 (parse_unsigned_long_1): Removed getenv. Generalized.
2057 (parse_unsigned_long): Likewise.
2058 (parse_int_1): Likewise.
2059 (parse_int): Likewise.
2060 (parse_int_secure): Likewise.
2061 (parse_unsigned_long_list): Likewise.
2062 (parse_target_offload): Likewise.
2063 (parse_bind_var): Likewise.
2064 (parse_stacksize): Likewise.
2065 (parse_boolean): Likewise.
2066 (parse_wait_policy): Likewise.
2067 (parse_allocator): Likewise.
2068 (omp_display_env): Extended to output different variants of environment
2069 variables.
2070 (print_schedule): New helper function for omp_display_env which prints
2071 the values of run_sched_var.
2072 (print_proc_bind): New helper function for omp_display_env which prints
2073 the values of proc_bind_var.
2074 (enum gomp_parse_type): Collection of types used for parsing environment
2075 variables.
2076 (ENTRY): Preprocess string lengths of environment variables.
2077 (OMP_VAR_CNT): Preprocess table size.
2078 (OMP_HOST_VAR_CNT): Likewise.
2079 (INT_MAX_STR_LEN): Constant for the maximal number of digits of a device
2080 number.
2081 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
2082 (gomp_set_icv_flag): Sets a flag for a particular ICV.
2083 (print_device_specific_icvs): New helper function for omp_display_env to
2084 print device specific ICV values.
2085 (get_device_num): New helper function for parse_device_specific.
2086 Extracts the device number from an environment variable name.
2087 (get_icv_member_addr): Gets the memory address for a particular member
2088 of an ICV struct.
2089 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
2090 (initialize_icvs): New function to initialize a gomp_initial_icvs
2091 struct.
2092 (add_initial_icv_to_list): Adds an ICV struct to gomp_initial_icv_list.
2093 (startswith): Checks if a string starts with a given prefix.
2094 (initialize_env): Extended to parse the new syntax of environment
2095 variables.
2096 * icv-device.c (omp_get_max_teams): Added.
2097 (ialias): Likewise.
2098 (omp_set_num_teams): Likewise.
2099 * icv.c (omp_set_num_teams): Moved to icv-device.c.
2100 (omp_get_max_teams): Likewise.
2101 (ialias): Likewise.
2102 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Removed.
2103 (GOMP_ADDITIONAL_ICVS): New target-side struct that
2104 holds the designated ICVs of the target device.
2105 * libgomp.h (enum gomp_icvs): Collection of ICVs.
2106 (enum gomp_device_num): Definition of device numbers for _ALL, _DEV, and
2107 no suffix.
2108 (enum gomp_env_suffix): Collection of possible suffixes of environment
2109 variables.
2110 (struct gomp_initial_icvs): Contains all ICVs for which we need to store
2111 initial values.
2112 (struct gomp_default_icv):New struct to hold ICVs for which we need
2113 to store initial values.
2114 (struct gomp_icv_list): Definition of a linked list that is used for
2115 storing ICVs for the devices and also for _DEV, _ALL, and without
2116 suffix.
2117 (struct gomp_offload_icvs): New struct to hold ICVs that are copied to
2118 a device.
2119 (struct gomp_offload_icv_list): Definition of a linked list that holds
2120 device-specific ICVs that are copied to devices.
2121 (gomp_get_initial_icv_item): Get a list item of gomp_initial_icv_list.
2122 (gomp_get_icv_flag): Returns if a flag for a particular ICV is set.
2123 * libgomp.texi: Updated.
2124 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Extended to read
2125 further ICVs from the offload image.
2126 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
2127 * target.c (gomp_get_offload_icv_item): Get a list item of
2128 gomp_offload_icv_list.
2129 (get_gomp_offload_icvs): New. Returns the ICV values
2130 depending on the device num and the variable hierarchy.
2131 (gomp_load_image_to_device): Extended to copy further ICVs to a device.
2132 * testsuite/libgomp.c-c++-common/icv-5.c: New test.
2133 * testsuite/libgomp.c-c++-common/icv-6.c: New test.
2134 * testsuite/libgomp.c-c++-common/icv-7.c: New test.
2135 * testsuite/libgomp.c-c++-common/icv-8.c: New test.
2136 * testsuite/libgomp.c-c++-common/omp-display-env-1.c: New test.
2137 * testsuite/libgomp.c-c++-common/omp-display-env-2.c: New test.
2138
21392022-09-08 Jakub Jelinek <jakub@redhat.com>
2140
2141 * libgomp.texi (OpenMP 5.2): Mention that omp_cur_iteration is now
2142 fully supported.
2143 * testsuite/libgomp.c/doacross-4.c: New test.
2144 * testsuite/libgomp.c/doacross-5.c: New test.
2145 * testsuite/libgomp.c/doacross-6.c: New test.
2146 * testsuite/libgomp.c/doacross-7.c: New test.
2147
47d2dcd1
GA
21482022-09-05 Tobias Burnus <tobias@codesourcery.com>
2149
2150 * libgomp.texi (OpenMP 5.2): Update doacross/omp_cur_iteration status.
2151
16f542d6
GA
21522022-08-26 Tobias Burnus <tobias@codesourcery.com>
2153
2154 * libgomp.texi (OpenMP 5.0): Mark 'ancestor' as implemented but
2155 refer to 'requires'.
2156 * testsuite/libgomp.c-c++-common/reverse-offload-1-aux.c: New test.
2157 * testsuite/libgomp.c-c++-common/reverse-offload-1.c: New test.
2158 * testsuite/libgomp.fortran/reverse-offload-1-aux.f90: New test.
2159 * testsuite/libgomp.fortran/reverse-offload-1.f90: New test.
2160
0342f034
GA
21612022-08-17 Tobias Burnus <tobias@codesourcery.com>
2162
2163 PR middle-end/106548
2164 * testsuite/libgomp.c/linear-2.c: New test.
2165
21662022-08-17 Tobias Burnus <tobias@codesourcery.com>
2167
2168 * splay-tree.h: Fix splay_* macro unsetting if
2169 splay_tree_prefix is defined.
2170
b2bf0473
GA
21712022-07-29 Tobias Burnus <tobias@codesourcery.com>
2172
2173 * testsuite/libgomp.c-c++-common/pr106449-2.c: New test.
2174
21752022-07-29 Jakub Jelinek <jakub@redhat.com>
2176
2177 PR middle-end/106449
2178 * testsuite/libgomp.c-c++-common/pr106449.c: New test.
2179
43997608
GA
21802022-07-12 Tobias Burnus <tobias@codesourcery.com>
2181
2182 * target.c (gomp_target_init): Added tailing '\n' to gomp_debug.
2183
21842022-07-12 Thomas Schwinge <thomas@codesourcery.com>
2185
2186 PR middle-end/101551
2187 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: XFAIL
2188 'offloading_enabled' diagnostics issue.
2189
c72d4714
GA
21902022-07-11 Thomas Schwinge <thomas@codesourcery.com>
2191
2192 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Enhance
2193 '_Pragma' diagnostics verification.
2194
b53ebbc5
GA
21952022-07-10 Lewis Hyatt <lhyatt@gmail.com>
2196
2197 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Adapt for
2198 improved warning locations.
2199 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Likewise.
2200
0fe604a2
GA
22012022-07-08 Thomas Schwinge <thomas@codesourcery.com>
2202
2203 * testsuite/libgomp.c-c++-common/requires-1.c: Add 'dg-note's.
2204 * testsuite/libgomp.c-c++-common/requires-2.c: Likewise.
2205 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2206 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2207 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2208
6345c414
GA
22092022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2210
2211 * target.c (GOMP_offload_register, GOMP_offload_unregister):
2212 Denote as legacy entry points.
2213 * testsuite/lib/libgomp.exp
2214 (check_effective_target_offload_target_any): New proc.
2215 * testsuite/libgomp.c-c++-common/requires-1.c: Enable for
2216 'offload_target_any'.
2217 * testsuite/libgomp.c-c++-common/requires-3.c: Likewise.
2218 * testsuite/libgomp.c-c++-common/requires-7.c: Likewise.
2219 * testsuite/libgomp.fortran/requires-1.f90: Likewise.
2220
22212022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2222
2223 * testsuite/libgomp.c-c++-common/requires-4.c: Enhance testing.
2224 * testsuite/libgomp.c-c++-common/requires-5.c: Likewise.
2225
22262022-07-07 Thomas Schwinge <thomas@codesourcery.com>
2227
2228 * testsuite/libgomp.c-c++-common/requires-3.c: Adjust.
2229
4bc92c3b
GA
22302022-07-06 Thomas Schwinge <thomas@codesourcery.com>
2231
2232 * target.c (GOMP_offload_register_ver): Clarify 'target_data' ->
2233 'data'.
2234 (GOMP_offload_unregister_ver): Likewise. Fix up 'target_data'.
2235
8467574d
GA
22362022-07-04 Tobias Burnus <tobias@codesourcery.com>
2237 Jakub Jelinek <jakub@redhat.com>
2238
2239 * libgomp.texi (OpenMP 5.2): Mark linear-clause change as 'Y'.
2240
22412022-07-04 Tobias Burnus <tobias@codesourcery.com>
2242 Chung-Lin Tang <cltang@codesourcery.com>
2243 Thomas Schwinge <thomas@codesourcery.com>
2244
2245 * libgomp-plugin.h (GOMP_OFFLOAD_get_num_devices): Add
2246 omp_requires_mask arg.
2247 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_num_devices): Likewise;
2248 return -1 when device available but omp_requires_mask != 0.
2249 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_get_num_devices): Likewise.
2250 * oacc-host.c (host_get_num_devices, host_openacc_get_property):
2251 Update call.
2252 * oacc-init.c (resolve_device, acc_init_1, acc_shutdown_1,
2253 goacc_attach_host_thread_to_device, acc_get_num_devices,
2254 acc_set_device_num, get_property_any): Likewise.
2255 * target.c (omp_requires_mask): New global var.
2256 (gomp_requires_to_name): New.
2257 (GOMP_offload_register_ver): Handle passed omp_requires_mask.
2258 (gomp_target_init): Handle omp_requires_mask.
2259 * libgomp.texi (OpenMP 5.0): Update requires impl. status.
2260 (OpenMP 5.1): Add a missed item.
2261 (OpenMP 5.2): Mark linear-clause change as supported in C/C++.
2262 * testsuite/libgomp.c-c++-common/requires-1-aux.c: New test.
2263 * testsuite/libgomp.c-c++-common/requires-1.c: New test.
2264 * testsuite/libgomp.c-c++-common/requires-2-aux.c: New test.
2265 * testsuite/libgomp.c-c++-common/requires-2.c: New test.
2266 * testsuite/libgomp.c-c++-common/requires-3-aux.c: New test.
2267 * testsuite/libgomp.c-c++-common/requires-3.c: New test.
2268 * testsuite/libgomp.c-c++-common/requires-4-aux.c: New test.
2269 * testsuite/libgomp.c-c++-common/requires-4.c: New test.
2270 * testsuite/libgomp.c-c++-common/requires-5-aux.c: New test.
2271 * testsuite/libgomp.c-c++-common/requires-5.c: New test.
2272 * testsuite/libgomp.c-c++-common/requires-6.c: New test.
2273 * testsuite/libgomp.c-c++-common/requires-7-aux.c: New test.
2274 * testsuite/libgomp.c-c++-common/requires-7.c: New test.
2275 * testsuite/libgomp.fortran/requires-1-aux.f90: New test.
2276 * testsuite/libgomp.fortran/requires-1.f90: New test.
2277
ed974488
GA
22782022-07-01 Tobias Burnus <tobias@codesourcery.com>
2279
2280 * libgomp.texi (OpenMP 5.2): Mark target enter/exit data
2281 with fromto as implemented.
2282
fb29fdea
GA
22832022-06-28 Martin Liska <mliska@suse.cz>
2284
2285 * acinclude.m4: Fix typo in mold linker detection.
2286 * Makefile.in: Regenerate.
2287 * configure: Regenerate.
2288
de89b078
GA
22892022-06-21 Jakub Jelinek <jakub@redhat.com>
2290 Paul Iannetta <piannetta@kalrayinc.com>
2291
2292 PR libgomp/106045
2293 * testsuite/libgomp.c/target-31.c: Add private (i) clause.
2294
5a66d7dd
GA
22952022-06-17 Martin Liska <mliska@suse.cz>
2296
2297 * libgomp.texi: Add table header for new features of
2298 OpenMP 5.2.
2299
499b9c5f
GA
23002022-06-15 Jakub Jelinek <jakub@redhat.com>
2301
2302 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c (main): Initialize
2303 q to ddress of an automatic variable. Use -5 instead of -1 in
2304 omp_get_mapped_ptr call. Add test with omp_initial_device.
2305 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90 (main): Use -5 instead
2306 of -1 in omp_get_mapped_ptr call. Add test with omp_initial_device.
2307 Renumber stop arguments afterwards.
2308
c3642271
GA
23092022-06-13 Jakub Jelinek <jakub@redhat.com>
2310
2311 * omp.h.in (omp_initial_device, omp_invalid_device): New enumerators.
2312 * omp_lib.f90.in (omp_initial_device, omp_invalid_device): New
2313 parameters.
2314 * omp_lib.h.in (omp_initial_device, omp_invalid_device): Likewise.
2315 * target.c (resolve_device): Add remapped argument, handle
2316 GOMP_DEVICE_ICV only if remapped is true (and clear remapped),
2317 for negative values, treat GOMP_DEVICE_FALLBACK as fallback only
2318 if remapped, otherwise treat omp_initial_device that way. For
2319 omp_invalid_device, always emit gomp_fatal, even when
2320 OMP_TARGET_OFFLOAD isn't mandatory.
2321 (GOMP_target, GOMP_target_ext, GOMP_target_data, GOMP_target_data_ext,
2322 GOMP_target_update, GOMP_target_update_ext,
2323 GOMP_target_enter_exit_data): Pass true as remapped argument to
2324 resolve_device.
2325 (omp_target_alloc, omp_target_free, omp_target_is_present,
2326 omp_target_memcpy_check, omp_target_associate_ptr,
2327 omp_target_disassociate_ptr, omp_get_mapped_ptr,
2328 omp_target_is_accessible): Pass false as remapped argument to
2329 resolve_device. Treat omp_initial_device the same as
2330 gomp_get_num_devices (). Don't bypass resolve_device calls if
2331 device_num is negative.
2332 (omp_pause_resource): Treat omp_initial_device the same as
2333 gomp_get_num_devices (). Call resolve_device.
2334 * icv-device.c (omp_set_default_device): Always set to device_num
2335 even when it is negative.
2336 * libgomp.texi: Document that Conforming device numbers,
2337 omp_initial_device and omp_invalid_device is implemented.
2338 * testsuite/libgomp.c/target-41.c (main): Add test with
2339 omp_initial_device.
2340 * testsuite/libgomp.c/target-45.c: New test.
2341 * testsuite/libgomp.c/target-46.c: New test.
2342 * testsuite/libgomp.c/target-47.c: New test.
2343 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c (main): Add
2344 test with omp_initial_device. Use -5 instead of -1 for negative value
2345 test.
2346 * testsuite/libgomp.fortran/target-is-accessible-1.f90 (main):
2347 Likewise. Reorder stop numbers.
2348
ef1e4d80
GA
23492022-06-10 Jakub Jelinek <jakub@redhat.com>
2350
2351 * allocator.c (gomp_init_memkind): Call dlopen with "libmemkind.so.0"
2352 rather than "libmemkind.so".
2353
23542022-06-10 Thomas Schwinge <thomas@codesourcery.com>
2355
2356 * plugin/Makefrag.am: Evaluate 'if PLUGIN_NVPTX_DYNAMIC' to true.
2357 * plugin/configfrag.ac (--with-cuda-driver)
2358 (--with-cuda-driver-include, --with-cuda-driver-lib)
2359 (CUDA_DRIVER_INCLUDE, CUDA_DRIVER_LIB, PLUGIN_NVPTX_CPPFLAGS)
2360 (PLUGIN_NVPTX_LDFLAGS, PLUGIN_NVPTX_LIBS, PLUGIN_NVPTX_DYNAMIC):
2361 Remove.
2362 * testsuite/libgomp-test-support.exp.in (cuda_driver_include)
2363 (cuda_driver_lib): Remove.
2364 * testsuite/lib/libgomp.exp (libgomp_init): Don't consider these.
2365 * Makefile.in: Regenerate.
2366 * configure: Likewise.
2367 * testsuite/Makefile.in: Likewise.
2368
e3bba42f
GA
23692022-06-09 Jakub Jelinek <jakub@redhat.com>
2370
2371 * config/linux/allocator.c: Fix up #include directive.
2372
23732022-06-09 Jakub Jelinek <jakub@redhat.com>
2374
2375 * allocator.c: Include dlfcn.h if LIBGOMP_USE_MEMKIND is defined.
2376 (enum gomp_memkind_kind): New type.
2377 (struct omp_allocator_data): Add memkind field if LIBGOMP_USE_MEMKIND
2378 is defined.
2379 (struct gomp_memkind_data): New type.
2380 (memkind_data, memkind_data_once): New variables.
2381 (gomp_init_memkind, gomp_get_memkind): New functions.
2382 (omp_init_allocator): Initialize data.memkind, don't fail for
2383 omp_high_bw_mem_space if libmemkind supports it.
2384 (omp_aligned_alloc, omp_free, omp_aligned_calloc, omp_realloc): Add
2385 memkind support of LIBGOMP_USE_MEMKIND is defined.
2386 * config/linux/allocator.c: New file.
2387
58b67140
GA
23882022-06-03 Tobias Burnus <tobias@codesourcery.com>
2389
2390 * libgomp.texi (OpenMP 5.2): Mark scope w/ firstprivate/allocate as Y.
2391 * testsuite/libgomp.fortran/scope-2.f90: New test.
2392
b168441c
GA
23932022-06-02 David Malcolm <dmalcolm@redhat.com>
2394
2395 * testsuite/lib/libgomp.exp: Add load_gcc_lib of scansarif.exp.
2396
820ead45
GA
23972022-05-31 Jakub Jelinek <jakub@redhat.com>
2398
2399 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add testcase for
2400 scope construct with allocate clause.
2401 * testsuite/libgomp.c-c++-common/allocate-3.c (foo): Likewise.
2402 * testsuite/libgomp.c-c++-common/scope-2.c: New test.
2403
37b3b5da
GA
24042022-05-28 Tobias Burnus <tobias@codesourcery.com>
2405
2406 * libgomp.texi (OpenMP 5.2): Mark 'enter' clause as supported.
2407 * testsuite/libgomp.fortran/declare-target-1.f90: Extend to test
2408 explicit 'to' and 'enter' clause.
2409 * testsuite/libgomp.fortran/declare-target-2.f90: Update accordingly.
2410
24112022-05-28 Jakub Jelinek <jakub@redhat.com>
2412
2413 PR libgomp/105745
2414 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Don't define for
2415 defined(HAVE__ALIGNED_MALLOC) case.
2416 * alloc.c (gomp_aligned_alloc): Move defined(HAVE__ALIGNED_MALLOC)
2417 handling as last option before fallback instead of first.
2418 (gomp_aligned_free): For defined(HAVE__ALIGNED_MALLOC) call
2419 _aligned_free.
2420
d9176e64
GA
24212022-05-27 Jakub Jelinek <jakub@redhat.com>
2422
2423 * testsuite/libgomp.c-c++-common/target-40.c: Modify some existing to
2424 clauses to enter.
2425 * testsuite/libgomp.c/target-41.c: Likewise.
2426
24272022-05-27 Tobias Burnus <tobias@codesourcery.com>
2428
2429 * libgomp.texi (Other new OpenMP 5.1 features): Add
2430 'begin declare target'.
2431 (Other new OpenMP 5.2 features): New.
2432
3dff965c
GA
24332022-05-25 Jakub Jelinek <jakub@redhat.com>
2434
2435 * task.c (gomp_task_run_post_handle_dependers): If empty_task
2436 is the last task taskwait depend depends on, wake it up.
2437 Similarly if it is the last child of a taskgroup, use atomic
2438 store instead of decrement and awak taskgroup wait if any.
2439 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-2.c: New test.
2440
768f49a2
GA
24412022-05-24 Andrew Stubbs <ams@codesourcery.com>
2442
2443 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2444 EF_AMDGPU_MACH_AMDGCN_GFX90a.
2445 (gcn_gfx90a_s): New.
2446 (isa_hsa_name): Support gfx90a.
2447 (isa_code): Likewise.
2448
24492022-05-24 Tobias Burnus <tobias@codesourcery.com>
2450
2451 PR c/105378
2452 * libgomp.texi (OpenMP 5.1): Set 'taskwait nowait' to 'Y'.
2453 * testsuite/libgomp.fortran/taskwait-depend-nowait-1.f90: New.
2454
24552022-05-24 Jakub Jelinek <jakub@redhat.com>
2456
2457 PR c/105378
2458 * libgomp_g.h (GOMP_taskwait_depend_nowait): Declare.
2459 * libgomp.map (GOMP_taskwait_depend_nowait): Export at GOMP_5.1.1.
2460 * task.c (empty_task): New function.
2461 (gomp_task_run_post_handle_depend_hash): Declare earlier.
2462 (gomp_task_run_post_handle_depend): Declare.
2463 (GOMP_task): Optimize fn == empty_task if there is nothing to wait
2464 for.
2465 (gomp_task_run_post_handle_dependers): Optimize task->fn == empty_task.
2466 (GOMP_taskwait_depend_nowait): New function.
2467 * testsuite/libgomp.c-c++-common/taskwait-depend-nowait-1.c: New test.
2468
168fc8bd
GA
24692022-05-23 Tobias Burnus <tobias@codesourcery.com>
2470
2471 PR fortran/104949
2472 * target.c (gomp_map_vars_internal, copy_firstprivate_data):
2473 Support attach for GOMP_MAP_FIRSTPRIVATE.
2474 * testsuite/libgomp.fortran/target-firstprivate-1.f90: New test.
2475 * testsuite/libgomp.fortran/target-firstprivate-2.f90: New test.
2476 * testsuite/libgomp.fortran/target-firstprivate-3.f90: New test.
2477
57f2ce6a
GA
24782022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
2479
2480 * libgomp.map: Added omp_target_memcpy_async and
2481 omp_target_memcpy_rect_async.
2482 * libgomp.texi: Both functions are now supported.
2483 * omp.h.in: Added omp_target_memcpy_async and
2484 omp_target_memcpy_rect_async.
2485 * omp_lib.f90.in: Added interfaces for both new functions.
2486 * omp_lib.h.in: Likewise.
2487 * target.c (ialias_redirect): Added for GOMP_task.
2488 (omp_target_memcpy): Restructured into check and copy part.
2489 (omp_target_memcpy_check): New helper function for omp_target_memcpy and
2490 omp_target_memcpy_async that checks requirements.
2491 (omp_target_memcpy_copy): New helper function for omp_target_memcpy and
2492 omp_target_memcpy_async that performs the memcpy.
2493 (omp_target_memcpy_async_helper): New helper function that is used in
2494 omp_target_memcpy_async for the asynchronous task.
2495 (omp_target_memcpy_async): Added.
2496 (omp_target_memcpy_rect): Restructured into check and copy part.
2497 (omp_target_memcpy_rect_check): New helper function for
2498 omp_target_memcpy_rect and omp_target_memcpy_rect_async that checks
2499 requirements.
2500 (omp_target_memcpy_rect_copy): New helper function for
2501 omp_target_memcpy_rect and omp_target_memcpy_rect_async that performs
2502 the memcpy.
2503 (omp_target_memcpy_rect_async_helper): New helper function that is used
2504 in omp_target_memcpy_rect_async for the asynchronous task.
2505 (omp_target_memcpy_rect_async): Added.
2506 * task.c (ialias): Added for GOMP_task.
2507 * testsuite/libgomp.c-c++-common/target-memcpy-async-1.c: New test.
2508 * testsuite/libgomp.c-c++-common/target-memcpy-async-2.c: New test.
2509 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-1.c: New test.
2510 * testsuite/libgomp.c-c++-common/target-memcpy-rect-async-2.c: New test.
2511 * testsuite/libgomp.fortran/target-memcpy-async-1.f90: New test.
2512 * testsuite/libgomp.fortran/target-memcpy-async-2.f90: New test.
2513 * testsuite/libgomp.fortran/target-memcpy-rect-async-1.f90: New test.
2514 * testsuite/libgomp.fortran/target-memcpy-rect-async-2.f90: New test.
2515
1cda629f
GA
25162022-05-18 Tobias Burnus <tobias@codesourcery.com>
2517
2518 * libgomp.texi (OpenMP 5.1): Set 'inoutset' to Y.
2519 (OpenMP Context Selectors): Add missing comma.
2520 * testsuite/libgomp.fortran/depend-5.f90: Add inoutset test.
2521 * testsuite/libgomp.fortran/depend-6.f90: Likewise.
2522 * testsuite/libgomp.fortran/depend-7.f90: Likewise.
2523 * testsuite/libgomp.fortran/depend-inoutset-1.f90: New test.
2524
3d9439b1
GA
25252022-05-17 Jakub Jelinek <jakub@redhat.com>
2526
2527 * libgomp.texi (OpenMP 5.1): Remove "Not inside target regions"
2528 comment for omp_display_env feature.
2529
25302022-05-17 Tobias Burnus <tobias@codesourcery.com>
2531
2532 * libgomp.texi (Offload-Target Specifics): New chapter; add section
2533 to document OpenMP context selectors.
2534
25352022-05-17 Jakub Jelinek <jakub@redhat.com>
2536
2537 * libgomp.h (struct gomp_task_depend_entry): Change is_in type
2538 from bool to unsigned char.
2539 * task.c (gomp_task_handle_depend): Handle GOMP_DEPEND_INOUTSET.
2540 Ignore dependencies where
2541 task->depend[i].is_in && task->depend[i].is_in == ent->is_in
2542 rather than just task->depend[i].is_in && ent->is_in. Remember
2543 whether GOMP_DEPEND_IN loop is needed and guard the loop with that
2544 conditional.
2545 (gomp_task_maybe_wait_for_dependencies): Handle GOMP_DEPEND_INOUTSET.
2546 Ignore dependencies where elem.is_in && elem.is_in == ent->is_in
2547 rather than just elem.is_in && ent->is_in.
2548 * testsuite/libgomp.c-c++-common/depend-1.c (test): Add task with
2549 inoutset depend-kind.
2550 * testsuite/libgomp.c-c++-common/depend-2.c (test): Likewise.
2551 * testsuite/libgomp.c-c++-common/depend-3.c (test): Likewise.
2552 * testsuite/libgomp.c-c++-common/depend-inoutset-1.c: New test.
2553
25542022-05-17 Tobias Burnus <tobias@codesourcery.com>
2555
2556 * libgomp.texi (OpenMP Implementation Status): Add 5.2 table.
2557
25582022-05-17 Tobias Burnus <tobias@codesourcery.com>
2559
2560 * libgomp.texi (OpenMP 5.1): Set omp_all_memory to 'Y'.
2561 * testsuite/libgomp.fortran/depend-5.f90: New test.
2562 * testsuite/libgomp.fortran/depend-6.f90: New test.
2563 * testsuite/libgomp.fortran/depend-7.f90: New test.
2564
702bd11f
GA
25652022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
2566
2567 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
2568 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
2569 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
2570
9df4ffe4
GA
25712022-05-13 Tobias Burnus <tobias@codesourcery.com>
2572
2573 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
2574
25752022-05-13 Tobias Burnus <tobias@codesourcery.com>
2576
2577 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
2578
25792022-05-13 Thomas Schwinge <thomas@codesourcery.com>
2580
2581 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
2582 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
2583 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
2584 append '$(PLUGIN_NVPTX_LDFLAGS)'.
2585 * Makefile.in: Regenerate.
2586
49ace834
GA
25872022-05-12 Thomas Schwinge <thomas@codesourcery.com>
2588
2589 * Makefile.am (libgomp_la_LIBADD): Initialize.
2590 * plugin/configfrag.ac (DL_LIBS): New.
2591 (PLUGIN_GCN_LIBS): Remove.
2592 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
2593 * plugin/Makefrag.am (libgomp_la_LIBADD)
2594 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
2595 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
2596 * Makefile.in: Regenerate.
2597 * config.h.in: Likewise.
2598 * configure: Likewise.
2599 * testsuite/Makefile.in: Likewise.
2600
26012022-05-12 Thomas Schwinge <thomas@codesourcery.com>
2602
2603 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
2604 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
2605 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
2606 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
2607 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
2608 'PLUGIN_NVPTX_LINK_LIBCUDA'.
2609 * Makefile.in: Regenerate.
2610 * config.h.in: Likewise.
2611 * configure: Likewise.
2612
26132022-05-12 Thomas Schwinge <thomas@codesourcery.com>
2614
2615 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
2616 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
2617 * Makefile.in: Regenerate.
2618 * config.h.in: Likewise.
2619 * configure: Likewise.
2620 * testsuite/Makefile.in: Likewise.
2621
26222022-05-12 Jakub Jelinek <jakub@redhat.com>
2623
2624 * libgomp.h (struct gomp_task): Add depend_all_memory member.
2625 * task.c (gomp_init_task): Initialize depend_all_memory.
2626 (gomp_task_handle_depend): Handle omp_all_memory.
2627 (gomp_task_run_post_handle_depend_hash): Clear
2628 parent->depend_all_memory if equal to current task.
2629 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
2630 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
2631 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
2632 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
2633
d0d513b5
GA
26342022-05-11 Thomas Schwinge <thomas@codesourcery.com>
2635
2636 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
2637 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
2638 * Makefile.in: Regenerate.
2639 * configure: Likewise.
2640 * testsuite/Makefile.in: Likewise.
2641
26422022-05-11 Thomas Schwinge <thomas@codesourcery.com>
2643
2644 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
2645 consider 'PLUGIN_GCN_CPPFLAGS'.
2646 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
2647 'PLUGIN_GCN_LDFLAGS'.
2648 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
2649 Remove.
2650 * Makefile.in: Regenerate.
2651 * configure: Likewise.
2652 * testsuite/Makefile.in: Likewise.
2653
26542022-05-11 Thomas Schwinge <thomas@codesourcery.com>
2655
2656 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
2657 (HSA_RUNTIME_LDFLAGS): Remove.
2658 * configure: Regenerate.
2659
26602022-05-11 Thomas Schwinge <thomas@codesourcery.com>
2661
2662 * testsuite/lib/libgomp.exp (libgomp_init): Don't
2663 'append always_ld_library_path ":$hsa_runtime_lib"'.
2664 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
2665
e8778989
GA
26662022-05-10 Thomas Schwinge <thomas@codesourcery.com>
2667
2668 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
2669 multi-device testing.
2670
ea3fbfda
GA
26712022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
2672
2673 * libgomp.map: Added omp_target_is_accessible.
2674 * libgomp.texi: Tagged omp_target_is_accessible as supported.
2675 * omp.h.in: Added omp_target_is_accessible.
2676 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
2677 * omp_lib.h.in: Likewise.
2678 * target.c (omp_target_is_accessible): Added implementation of
2679 omp_target_is_accessible.
2680 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
2681 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
2682
ab869e7f
GA
26832022-05-05 Sandra Loosemore <sandra@codesourcery.com>
2684
2685 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
2686
3e7db517
GA
26872022-05-04 Tobias Burnus <tobias@codesourcery.com>
2688
2689 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
2690
26912022-05-04 Tobias Burnus <tobias@codesourcery.com>
2692
2693 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
2694
e66af28d
GA
26952022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
2696
2697 * libgomp.map: Added omp_get_mapped_ptr.
2698 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
2699 * omp.h.in: Added omp_get_mapped_ptr.
2700 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
2701 * omp_lib.h.in: Likewise.
2702 * target.c (omp_get_mapped_ptr): Added implementation of
2703 omp_get_mapped_ptr.
2704 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
2705 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
2706 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
2707 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
2708 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
2709 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
2710 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
2711 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
2712
6b6f53d8
GA
27132022-04-28 Thomas Schwinge <thomas@codesourcery.com>
2714
2715 PR fortran/104717
2716 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
2717 privatization scanning. For GCN offloading compilation, raise
2718 '-mgang-private-size'.
2719
01ad093b
GA
27202022-04-26 Jakub Jelinek <jakub@redhat.com>
2721
2722 PR libgomp/105358
2723 * work.c (gomp_init_work_share): Don't mask of adjustment for
2724 dynamic long long realignment if struct gomp_work_share has smaller
2725 alignof than long long.
2726 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
2727 struct gomp_work_share has smaller alignof than long long or if
2728 sizeof (struct gomp_work_share) is smaller than
2729 INLINE_ORDERED_TEAM_IDS_OFF.
2730 * loop_ull.c (GOMP_loop_ull_start): Likewise.
2731 * sections.c (GOMP_sections2_start): Likewise.
2732
98de0da6
GA
27332022-04-25 Jakub Jelinek <jakub@redhat.com>
2734 Thomas Schwinge <thomas@codesourcery.com>
2735
2736 PR fortran/104717
2737 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
2738
247bbed1
GA
27392022-04-13 Jakub Jelinek <jakub@redhat.com>
2740
2741 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
2742
80eb8ec6
GA
27432022-04-06 Thomas Schwinge <thomas@codesourcery.com>
2744
2745 * plugin/cuda/cuda.h: Remove file.
2746 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
2747 "cuda/cuda.h" instead of <cuda.h>.
2748 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
2749 'PLUGIN_NVPTX_CPPFLAGS'.
2750 * configure: Regenerate.
2751
9d84ed68
GA
27522022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
2753
2754 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
2755
5e09bb1b
GA
27562022-04-04 Tom de Vries <tdevries@suse.de>
2757
2758 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
2759 on_device_arch_nvptx instead of offload_target_nvptx.
2760 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2761
8af4270d
GA
27622022-04-01 Tom de Vries <tdevries@suse.de>
2763
2764 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
2765 and use REC_DEPTH.
2766 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2767
27682022-04-01 Tom de Vries <tdevries@suse.de>
2769
2770 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
2771 num_workers check.
2772
9f774626
GA
27732022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
2774 Lulu Cheng <chenglulu@loongson.cn>
2775
2776 * configure.tgt: Add LoongArch triplet.
2777
aab0127d
GA
27782022-03-28 Tom de Vries <tdevries@suse.de>
2779
2780 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
2781 instead of /libexec/.
2782 * configure: Regenerate.
2783
31e989a2
GA
27842022-03-25 Tom de Vries <tdevries@suse.de>
2785
2786 PR libgomp/105042
2787 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
2788 execution time.
2789 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
2790 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
2791
d1ca63a1
GA
27922022-03-23 Tobias Burnus <tobias@codesourcery.com>
2793
2794 PR middle-end/104285
2795 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
2796 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
2797 * testsuite/libgomp.c++/target-same-name-2.C: New test.
2798 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
2799 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
2800 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
2801
a2287813
GA
28022022-03-22 Tom de Vries <tdevries@suse.de>
2803
2804 PR target/104916
2805 PR target/104783
2806 * testsuite/libgomp.c/pr104783-2.c: New test.
2807
8ca61ad1
GA
28082022-03-18 Tobias Burnus <tobias@codesourcery.com>
2809
2810 PR fortran/103039
2811 * testsuite/libgomp.fortran/associate4.f90: New test.
2812
28132022-03-18 Tom de Vries <tdevries@suse.de>
2814
2815 PR target/104952
2816 * testsuite/libgomp.c/pr104952-1.c: New test.
2817 * testsuite/libgomp.c/pr104952-2.c: New test.
2818
28192022-03-18 Jakub Jelinek <jakub@redhat.com>
2820
2821 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
2822 variable next to pl variable.
2823
e9ea3016
GA
28242022-03-17 Thomas Schwinge <thomas@codesourcery.com>
2825
2826 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2827 Enhance.
2828 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
2829 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2830
28312022-03-17 Thomas Schwinge <thomas@codesourcery.com>
2832
2833 PR middle-end/90115
2834 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
2835 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2836
9fc8f278
GA
28372022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
2838
2839 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
2840 omp_set_max_active_levels.
2841 * testsuite/libgomp.fortran/icv-8.f90: New test.
2842
28432022-03-16 Thomas Schwinge <thomas@codesourcery.com>
2844
2845 PR testsuite/102841
2846 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
2847
b9756c08
GA
28482022-03-13 Tobias Burnus <tobias@codesourcery.com>
2849
2850 * libgomp.texi: Fix typo.
2851
57eeedda
GA
28522022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2853
2854 PR middle-end/100280
2855 PR middle-end/104892
2856 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
2857 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
2858 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2859 Likewise.
2860 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2861 Likewise.
2862 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2863 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
2864 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2865 Likewise.
2866
28672022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2868
2869 PR middle-end/104892
2870 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
2871 to PR104892.
2872 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
2873 enable '--param=openacc-kernels=decompose' and adjust.
2874 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2875 Likewise.
2876 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2877 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2878 Likewise.
2879
28802022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2881
2882 PR middle-end/90115
2883 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
2884 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
2885 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2886 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
2887
28882022-03-12 Thomas Schwinge <thomas@codesourcery.com>
2889
2890 PR middle-end/100280
2891 PR middle-end/104086
2892 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2893 Merge this...
2894 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2895 ..., and this...
2896 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
2897 this, and adjust.
2898 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2899 Extend.
2900
5e28be89
GA
29012022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
2902
2903 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
2904 trait. Test last index in w and v array. Remove redundant
2905 assignment to V(1). Move alignment checks at the end of
2906 parallel region.
2907
29082022-03-10 Tom de Vries <tdevries@suse.de>
2909
2910 * testsuite/libgomp.c/pr104783.c: New test.
2911
29122022-03-10 Thomas Schwinge <thomas@codesourcery.com>
2913
2914 PR middle-end/90115
2915 PR middle-end/102330
2916 PR middle-end/104774
2917 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2918 Enhance.
2919 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2920 Adjust.
2921 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2922 Likewise.
2923 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2924 Likewise.
2925 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2926 Likewise.
2927 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2928 Likewise.
2929 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2930 Likewise.
2931 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2932 Likewise.
2933 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2934 Likewise.
2935 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2936 Likewise.
2937 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2938 Likewise.
2939 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2940 Likewise.
2941 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2942 Likewise.
2943 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2944 Likewise.
2945 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2946 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
2947 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2948
29492022-03-10 Thomas Schwinge <thomas@codesourcery.com>
2950
2951 PR middle-end/90115
2952 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
2953 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2954 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2955 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2956
8d96e14c
GA
29572022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2958
2959 PR testsuite/104791
2960 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
2961 expected diagnostics.
2962
29632022-03-04 Thomas Schwinge <thomas@codesourcery.com>
2964
2965 PR middle-end/104784
2966 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2967 Test with '--param=openacc-kernels=decompose'.
2968 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2969 Likewise.
2970 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2971 Likewise.
2972 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2973 Likewise.
2974 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2975 Likewise.
2976 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2977 Likewise.
2978 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2979 Likewise.
2980 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2981 Likewise.
2982 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2983 Likewise.
2984 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2985 Likewise.
2986 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2987 Likewise.
2988 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2989 Likewise.
2990 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2991 Likewise.
2992 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2993 Likewise.
2994 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2995 Likewise.
2996 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2997 Likewise.
2998 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2999 Likewise.
3000 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3001 Likewise.
3002 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3003 Likewise.
3004 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3005 Likewise.
3006 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3007 Likewise.
3008 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3009 Likewise.
3010 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3011 Likewise.
3012 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3013 Likewise.
3014 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3015 Likewise.
3016 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3017 Likewise.
3018 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3019 Likewise.
3020 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3021 Likewise.
3022 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3023 Likewise.
3024 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3025 Likewise.
3026 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3027 Likewise.
3028 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3029 Likewise.
3030 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3031 Likewise.
3032
30332022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3034
3035 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
3036 Test '-fopt-info-omp-all'.
3037 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
3038 Likewise.
3039 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
3040 Likewise.
3041 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
3042 Likewise.
3043 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
3044 Likewise.
3045 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
3046 Likewise.
3047 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
3048 Likewise.
3049 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
3050 Likewise.
3051 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
3052 Likewise.
3053 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
3054 Likewise.
3055 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
3056 Likewise.
3057 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
3058 Likewise.
3059 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
3060 Likewise.
3061 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
3062 Likewise.
3063 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
3064 Likewise.
3065 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
3066 Likewise.
3067 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
3068 Likewise.
3069 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
3070 Likewise.
3071 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
3072 Likewise.
3073 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
3074 Likewise.
3075 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
3076 Likewise.
3077 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
3078 Likewise.
3079 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
3080 Likewise.
3081 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
3082 Likewise.
3083 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
3084 Likewise.
3085 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
3086 Likewise.
3087 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
3088 Likewise.
3089 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
3090 Likewise.
3091 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
3092 Likewise.
3093 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
3094 Likewise.
3095 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
3096 Likewise.
3097 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
3098 Likewise.
3099 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
3100 Likewise.
3101
31022022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3103
3104 PR middle-end/100280
3105 PR middle-end/104132
3106 PR middle-end/104133
3107 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3108 Extend.
3109
31102022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3111
3112 PR middle-end/100280
3113 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
3114 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3115 Likewise.
3116
31172022-03-04 Thomas Schwinge <thomas@codesourcery.com>
3118
3119 PR middle-end/100280
3120 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
3121 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3122 Likewise.
3123
a35f1697
GA
31242022-02-28 Tom de Vries <tdevries@suse.de>
3125
3126 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
3127 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
3128 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
3129 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
3130 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
3131 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
3132
756a6185
GA
31332022-02-24 Tom de Vries <tdevries@suse.de>
3134
3135 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
3136 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
3137 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
3138 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
3139 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
3140 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
3141 * testsuite/libgomp.c/declare-variant-3.h: New header file.
3142
2cfb33fc
GA
31432022-02-22 Thomas Schwinge <thomas@codesourcery.com>
3144
3145 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
3146 gang-redundant execution.
3147
31482022-02-22 Tom de Vries <tdevries@suse.de>
3149
3150 PR target/99555
3151 * config/nvptx/bar.c (generation_to_barrier): New function, copied
3152 from config/rtems/bar.c.
3153 (futex_wait, futex_wake): New function.
3154 (do_spin, do_wait): New function, copied from config/linux/wait.h.
3155 (gomp_barrier_wait_end, gomp_barrier_wait_last)
3156 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
3157 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
3158 and replace with include of config/linux/bar.c.
3159 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
3160 (gomp_barrier_init): Init new fields.
3161 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
3162 workarounds.
3163 * testsuite/libgomp.c/pr99555-1.c: Same.
3164 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
3165
31662022-02-22 Tom de Vries <tdevries@suse.de>
3167
3168 PR testsuite/104146
3169 * testsuite/libgomp.c++/pr96390.C: Add additional-option
3170 -foffload=-Wa,--verify for nvptx.
3171 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
3172
875e493b
GA
31732022-02-15 Tobias Burnus <tobias@codesourcery.com>
3174
3175 * testsuite/libgomp.fortran/depend-4.f90: New test.
3176
a645583d
GA
31772022-02-10 Tobias Burnus <tobias@codesourcery.com>
3178
3179 PR c++/102204
3180 * testsuite/libgomp.c++/target-virtual-1.C: New test.
3181
31822022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
3183
3184 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
3185 * target.c (copy_firstprivate_data): Copy only if host address is not
3186 NULL.
3187 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
3188 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
3189 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
3190 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
3191 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
3192 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
3193 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
3194 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
3195 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
3196 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
3197
2a2fda2d
GA
31982022-02-08 Jakub Jelinek <jakub@redhat.com>
3199
3200 PR libgomp/104385
3201 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
3202 clear task->parent.
3203 * testsuite/libgomp.c/pr104385.c: New test.
3204
3c1cbde1
GA
32052022-02-04 Tobias Burnus <tobias@codesourcery.com>
3206
3207 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
3208 STOP of previous commit.
3209
32102022-02-04 Tobias Burnus <tobias@codesourcery.com>
3211
3212 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
3213 from is_64bit_aligned_.
3214 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
3215 and use it, more implicit none, remove unused argument.
3216
682ede39
GA
32172022-02-03 David Seifert <soap@gentoo.org>
3218 Jakub Jelinek <jakub@redhat.com>
3219
3220 * configure.ac: Support --disable-werror.
3221 * configure: Regenerate.
3222
ae7e4af9
GA
32232022-02-01 Tom de Vries <tdevries@suse.de>
3224
3225 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
3226 PR83812 workaround.
3227 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
3228 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
3229
32302022-02-01 Tom de Vries <tdevries@suse.de>
3231
3232 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
3233 num_workers for nvidia accelerator to fix libgomp error 'insufficient
3234 resources'.
3235 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
3236 Same.
3237 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
3238
32392022-02-01 Tom de Vries <tdevries@suse.de>
3240
3241 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3242 recursion depth.
3243 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3244
1bb52662
GA
32452022-01-31 Martin Liska <mliska@suse.cz>
3246
3247 * acinclude.m4: Detect *_ld_is_mold and use it.
3248 * configure: Regenerate.
3249
99f17e99
GA
32502022-01-27 Tobias Burnus <tobias@codesourcery.com>
3251
3252 * libgomp.texi (OpenMP 5.0): Update implementation status.
3253
9dd44357
GA
32542022-01-21 Thomas Schwinge <thomas@codesourcery.com>
3255
3256 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
3257 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
3258 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3259 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3260 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3261 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3262 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3263 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3264 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3265 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3266 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3267 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3268 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3269 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3270 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3271
fe1ad141
GA
32722022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
3273
3274 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
3275 "static") to make the device num available in the offload image.
3276
32772022-01-19 Martin Liska <mliska@suse.cz>
3278 Thomas Schwinge <thomas@codesourcery.com>
3279
3280 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
3281 patterns.
3282 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3283 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
3284 Likewise.
3285 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3286 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3287 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3288 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3289 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
3290 Likewise.
3291 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
3292 Likewise.
3293 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
3294 Likewise.
3295 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
3296 Likewise.
3297 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
3298 Likewise.
3299 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
3300 Likewise.
3301 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3302 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3303 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3304
7a761ae6
GA
33052022-01-18 Martin Liska <mliska@suse.cz>
3306
3307 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
3308 in dg-warning.
3309 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3310 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
3311 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
3312 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3313 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3314 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
3315 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
3316 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
3317 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
3318 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
3319 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
3320 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
3321 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3322 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
3323 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3324
fc829782
GA
33252022-01-17 Thomas Schwinge <thomas@codesourcery.com>
3326
3327 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
3328 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
3329 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
3330
33312022-01-17 Julian Brown <julian@codesourcery.com>
3332 Thomas Schwinge <thomas@codesourcery.com>
3333
3334 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
3335 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
3336 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
3337
1e942d7c
GA
33382022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
3339 Andrew Stubbs <ams@codesourcery.com>
3340
3341 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
3342 the number of teams and threads if necessary.
3343 (gcn_exec): Automatically set the number of gangs and workers if
3344 necessary.
3345
ad3f0d08
GA
33462022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
3347
3348 * testsuite/libgomp.fortran/allocate-1.c: New test.
3349 * testsuite/libgomp.fortran/allocate-1.f90: New test.
3350 * libgomp.texi: Remove string that says that allocate clause
3351 support is for C/C++ only.
3352
33532022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3354
3355 * testsuite/libgomp.c-c++-common/on_device_arch.h
3356 (any_device_arch, any_device_arch_intel_mic): New.
3357 * testsuite/lib/libgomp.exp
3358 (check_effective_target_offload_device_any_intel_mic): New.
3359 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
3360 * testsuite/libgomp.fortran/target10.f90: Likewise.
3361
33622022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3363
3364 PR tree-optimization/102192
3365 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
3366 '-Wuninitialized' diagnostics.
3367
33682022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3369
3370 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
3371 current '-Wuninitialized' diagnostics.
3372 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
3373 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
3374 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
3375 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
3376 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3377 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3378 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
3379 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
3380 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3381 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3382 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
3383 Likewise.
3384
33852022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3386
3387 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
3388 for 'offload_device_intel_mic'.
3389
33902022-01-13 Julian Brown <julian@codesourcery.com>
3391 Thomas Schwinge <thomas@codesourcery.com>
3392
3393 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
3394 offloading execution XFAIL.
3395
33962022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3397
3398 PR middle-end/100280
3399 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3400 Update.
3401 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3402 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3403 Likewise.
3404
34052022-01-13 Thomas Schwinge <thomas@codesourcery.com>
3406
3407 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3408 Enhance.
3409 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3410 Likewise.
3411 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
3412 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
3413 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
3414 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
3415 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3416 Likewise.
3417 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3418 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3419 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3420 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3421
7d11b64b
GA
34222022-01-04 Tobias Burnus <tobias@codesourcery.com>
3423
3424 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
3425 * testsuite/libgomp.fortran/target10.f90: Likewise.
3426
34272022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
3428
3429 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
3430 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
3431 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
3432
a4ae8c37
GA
34332022-01-03 Jakub Jelinek <jakub@redhat.com>
3434
3435 * libgomp.texi: Bump @copying's copyright year.
3436
7f1239cb
GA
34372021-12-13 Tobias Burnus <tobias@codesourcery.com>
3438
3439 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
3440 * testsuite/libgomp.fortran/atomic-19.f90: New test.
3441
0bceef16
GA
34422021-12-10 Andrew Stubbs <ams@codesourcery.com>
3443
3444 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
3445 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
3446 table, not individual symbols.
3447
4b4839e3
GA
34482021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
3449
3450 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
3451 "target offload_device_nonshared_as"
3452 * testsuite/libgomp.c++/target-this-3.C: Likewise.
3453 * testsuite/libgomp.c++/target-this-4.C: Likewise.
3454
641ff219
GA
34552021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
3456
3457 * target.c (gomp_map_vars_existing): Make sure attached pointer is
3458 not overwritten during cross-host/device copying.
3459 (gomp_update): Likewise.
3460 (gomp_exit_data): Likewise.
3461 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
3462 * testsuite/libgomp.c++/target-12.C: Likewise.
3463 * testsuite/libgomp.c++/target-15.C: Likewise.
3464 * testsuite/libgomp.c++/target-16.C: Likewise.
3465 * testsuite/libgomp.c++/target-17.C: Likewise.
3466 * testsuite/libgomp.c++/target-21.C: Likewise.
3467 * testsuite/libgomp.c++/target-23.C: Likewise.
3468 * testsuite/libgomp.c/target-23.c: Likewise.
3469 * testsuite/libgomp.c/target-29.c: Likewise.
3470 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
3471
34722021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
3473
3474 PR middle-end/92120
3475 * libgomp.h (gomp_attach_pointer): Add bool parameter.
3476 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
3477 (goacc_enter_data_internal): Likewise.
3478 * target.c (gomp_map_vars_existing): Update assert condition to
3479 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
3480 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
3481 parameter, add support for mapping a pointer with NULL target.
3482 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
3483 parameter, add support for attaching a pointer with NULL target.
3484 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
3485 gomp_attach_pointer, add handling for
3486 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
3487 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
3488 * testsuite/libgomp.c++/target-23.C: New testcase.
3489 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
3490 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
3491 * testsuite/libgomp.c++/target-this-1.C: New testcase.
3492 * testsuite/libgomp.c++/target-this-2.C: New testcase.
3493 * testsuite/libgomp.c++/target-this-3.C: New testcase.
3494 * testsuite/libgomp.c++/target-this-4.C: New testcase.
3495 * testsuite/libgomp.c++/target-this-5.C: New testcase.
3496
70e4cb66
GA
34972021-12-04 Tobias Burnus <tobias@codesourcery.com>
3498
3499 * libgomp.texi (OpenMP 5.1): Update status.
3500
35012021-12-04 Tobias Burnus <tobias@codesourcery.com>
3502
3503 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
3504
ea6ef320
GA
35052021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
3506
3507 PR fortran/90030
3508 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
3509 * testsuite/libgomp.fortran/pr90030.f90: New test.
3510
c177e806
GA
35112021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
3512 Thomas Schwinge <thomas@codesourcery.com>
3513
3514 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
3515 temporary skip.
3516
35172021-11-30 Cesar Philippidis <cesar@codesourcery.com>
3518 Thomas Schwinge <thomas@codesourcery.com>
3519
3520 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
3521 skip.
3522
87cd82c8
GA
35232021-11-29 Richard Biener <rguenther@suse.de>
3524
3525 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
3526 return.
3527
d9ca4b45
GA
35282021-11-24 Jakub Jelinek <jakub@redhat.com>
3529
3530 PR middle-end/103384
3531 * testsuite/libgomp.c/declare-variant-2.c: New test.
3532
483092d3
GA
35332021-11-18 David Edelsohn <dje.gcc@gmail.com>
3534
3535 * alloc.c (gomp_aligned_alloc): Fix typo.
3536
35372021-11-18 Jakub Jelinek <jakub@redhat.com>
3538
3539 PR libgomp/102838
3540 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
3541 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
3542 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
3543 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
3544 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
3545 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
3546 gomp_aligned_alloc instead of team_malloc.
3547
35482021-11-18 Jakub Jelinek <jakub@redhat.com>
3549
3550 PR libgomp/102838
3551 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
3552 memalign over posix_memalign over aligned_alloc over fallback
3553 with malloc instead of aligned_alloc over _aligned_alloc over
3554 posix_memalign over memalign over fallback with malloc. For
3555 aligned_alloc, round up size up to multiple of al.
3556
6b1695f4
GA
35572021-11-16 Jakub Jelinek <jakub@redhat.com>
3558
3559 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
3560 construct as implemented.
3561
e2b57363
GA
35622021-11-15 Tobias Burnus <tobias@codesourcery.com>
3563
3564 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
3565
35662021-11-15 Jakub Jelinek <jakub@redhat.com>
3567
3568 * task.c (gomp_create_target_task): Copy args array as well.
3569 * target.c (gomp_target_fallback): Add args argument.
3570 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
3571 (GOMP_target): Adjust gomp_target_fallback caller.
3572 (GOMP_target_ext): Likewise.
3573 (gomp_target_task_fn): Likewise.
3574 * config/nvptx/team.c (gomp_nvptx_main): Set
3575 gomp_global_icv.thread_limit_var.
3576 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
3577
35782021-11-15 Jakub Jelinek <jakub@redhat.com>
3579
3580 * config/nvptx/team.c (__gomp_team_num): Define as
3581 __attribute__((shared)) var.
3582 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
3583 * config/nvptx/target.c (__gomp_team_num): Declare as
3584 extern __attribute__((shared)) var.
3585 (GOMP_teams4): Use __gomp_team_num as the team number instead of
3586 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
3587 is bigger than num_blocks, use num_teams_lower teams and arrange for
3588 bumping of __gomp_team_num if !first and returning false once we run
3589 out of teams.
3590 * config/nvptx/teams.c (__gomp_team_num): Declare as
3591 extern __attribute__((shared)) var.
3592 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
3593
35942021-11-15 Jakub Jelinek <jakub@redhat.com>
3595
3596 * testsuite/libgomp.c/teams-5.c: New test.
3597
af2852b9
GA
35982021-11-12 Jakub Jelinek <jakub@redhat.com>
3599
3600 PR target/103201
3601 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
3602 to ...
3603 * config/gcn/teams.c: ... here. New file.
3604
36052021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
3606
3607 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
3608 implicit map handling to allow a "superset" existing map as valid case.
3609 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
3610 (get_implicit): New function to extract implicit status.
3611 (gomp_map_fields_existing): Adjust arguments in calls to
3612 gomp_map_vars_existing, and add uses of get_implicit.
3613 (gomp_map_vars_internal): Likewise.
3614 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
3615
36162021-11-12 Jakub Jelinek <jakub@redhat.com>
3617
3618 * libgomp_g.h (GOMP_teams4): Declare.
3619 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
3620 * target.c (GOMP_teams4): New function.
3621 * config/nvptx/target.c (GOMP_teams): Remove.
3622 (GOMP_teams4): New function.
3623 * config/gcn/target.c (GOMP_teams): Remove.
3624 (GOMP_teams4): New function.
3625 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
3626 teams instead of <= 2.
3627 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
3628
b39265d4
GA
36292021-11-11 Tobias Burnus <tobias@codesourcery.com>
3630
3631 * testsuite/libgomp.fortran/teams-1.f90: New test.
3632
36332021-11-11 Jakub Jelinek <jakub@redhat.com>
3634
3635 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
3636 * team.c (struct gomp_thread_start_data): Likewise.
3637 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
3638 (gomp_team_start): Initialize start_data->num_teams and
3639 start_data->team_num. Update nthr->num_teams and nthr->team_num.
3640 * teams.c (gomp_num_teams, gomp_team_num): Remove.
3641 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
3642 instead of gomp_num_teams and gomp_team_num.
3643 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
3644 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
3645 * testsuite/libgomp.c/teams-4.c: New test.
3646
36472021-11-11 Jakub Jelinek <jakub@redhat.com>
3648
3649 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
3650
c9b1334e
GA
36512021-11-09 Thomas Schwinge <thomas@codesourcery.com>
3652
3653 * env.c (parse_gomp_openacc_dim): Restore parsing.
3654
0ef94462
GA
36552021-10-30 Tobias Burnus <tobias@codesourcery.com>
3656
3657 PR middle-end/102972
3658 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
3659 parallel construct.
3660 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
3661 * testsuite/libgomp.c/target-3.c: Likewise.
3662 * testsuite/libgomp.c/target-5.c: Likewise.
3663 * testsuite/libgomp.c/target-6.c: Likewise.
3664 * testsuite/libgomp.c/target-teams-1.c: Likewise.
3665 * testsuite/libgomp.c/teams-1.c: Likewise.
3666 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3667 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
3668 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3669 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
3670 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
3671 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
3672 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3673
4c61300f
GA
36742021-10-29 Aldy Hernandez <aldyh@redhat.com>
3675
3676 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
3677 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
3678
04a2cf3f
GA
36792021-10-27 Jakub Jelinek <jakub@redhat.com>
3680
3681 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
3682 aren't implemented for Fortran yet.
3683
36842021-10-27 Jakub Jelinek <jakub@redhat.com>
3685
3686 * testsuite/libgomp.c/loop-26.c: New test.
3687 * testsuite/libgomp.c/loop-27.c: New test.
3688
b621508d
GA
36892021-10-25 Tobias Burnus <tobias@codesourcery.com>
3690
3691 PR testsuite/102910
3692 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
3693 instead of #include <alloca.h> + alloca.
3694
ae5c5406
GA
36952021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
3696
3697 * libgomp.texi (Support of strictly structured blocks in Fortran):
3698 Adjust to 'Y'.
3699 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
3700
674dda6b
GA
37012021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
3702
3703 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
3704 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
3705
37062021-10-20 Jakub Jelinek <jakub@redhat.com>
3707
3708 PR libgomp/102838
3709 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
3710 (struct gomp_work_share): Only use aligned(64) attribute if
3711 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
3712 add padding before lock to ensure lock is at offset 64 bytes
3713 into the structure.
3714 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
3715 New poor man's static assertions.
3716 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
3717 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
3718
37192021-10-20 Aldy Hernandez <aldyh@redhat.com>
3720 Richard Biener <rguenther@suse.de>
3721
3722 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
3723
ce4d1f63
GA
37242021-10-18 Jakub Jelinek <jakub@redhat.com>
3725
3726 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
3727 && gomp_places_list_len < count after nfirst <= nlast loop condition.
3728
37292021-10-18 Tobias Burnus <tobias@codesourcery.com>
3730
3731 PR fortran/102086
3732 PR fortran/92189
3733 PR fortran/92621
3734 PR fortran/101308
3735 PR fortran/101309
3736 PR fortran/101635
3737 PR fortran/92482
3738 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
3739
93d183a5
GA
37402021-10-15 Jakub Jelinek <jakub@redhat.com>
3741
3742 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
3743 type from char [50] to const char *.
3744 (places_array): Add a testcase for simplified syntax place followed
3745 by length or length and stride.
3746
37472021-10-15 Jakub Jelinek <jakub@redhat.com>
3748
3749 * env.c (parse_one_place): Handle non-negative-number the same
3750 as { non-negative-number }. Reject even !number:1 and
3751 !number:1:stride or !place:1 or !place:1:stride instead of just
3752 length other than 1.
3753 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
3754 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
3755 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
3756 as implemented.
3757 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
3758 simplified syntax.
3759
37602021-10-15 Jakub Jelinek <jakub@redhat.com>
3761
3762 * env.c (parse_schedule): For strtoul or strtoull calls which don't
3763 clearly reject return value 0 as invalid handle the case where end
3764 pointer is the same as first argument as invalid.
3765 (parse_unsigned_long_1): Likewise.
3766 (parse_one_place): Likewise.
3767 (parse_places_var): Likewise.
3768 (parse_stacksize): Likewise.
3769 (parse_spincount): Likewise.
3770 (parse_affinity): Likewise.
3771 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
3772 Make code valid C89.
3773 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
3774 For strtoul calls which don't clearly reject return value 0 as
3775 invalid handle the case where end pointer is the same as first
3776 argument as invalid.
3777 (gomp_affinity_init_level_1): Likewise.
3778 (gomp_affinity_init_numa_domains): Likewise.
3779 * config/rtems/proc.c (parse_thread_pools): Likewise.
3780
37812021-10-15 Jakub Jelinek <jakub@redhat.com>
3782
3783 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
3784 after creating count places clean up and return immediately.
3785 * testsuite/libgomp.c/places-6.c: New test.
3786 * testsuite/libgomp.c/places-7.c: New test.
3787 * testsuite/libgomp.c/places-8.c: New test.
3788 * testsuite/libgomp.c/places-9.c: New test.
3789 * testsuite/libgomp.c/places-10.c: New test.
3790
37912021-10-15 Jakub Jelinek <jakub@redhat.com>
3792
3793 * env.c (parse_places_var): Handle numa_domains as level 5.
3794 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
3795 function.
3796 (gomp_affinity_init_level): Use it instead of
3797 gomp_affinity_init_level_1 for level == 5.
3798 * testsuite/libgomp.c/places-5.c: New test.
3799
38002021-10-15 Jakub Jelinek <jakub@redhat.com>
3801
3802 * env.c (parse_places_var): Handle ll_caches as level 4.
3803 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
3804 function.
3805 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
3806 last level cache.
3807 (gomp_affinity_init_level): Likewise.
3808 * testsuite/libgomp.c/places-1.c: New test.
3809 * testsuite/libgomp.c/places-2.c: New test.
3810 * testsuite/libgomp.c/places-3.c: New test.
3811 * testsuite/libgomp.c/places-4.c: New test.
3812
5d5885c9
GA
38132021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
3814
3815 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
3816 directive.
3817
38182021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
3819
3820 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
3821
52055987
GA
38222021-10-12 Julian Brown <julian@codesourcery.com>
3823
3824 * target.c (gomp_copy_host2dev): Release device lock on cbuf
3825 error path.
3826
38272021-10-12 Tobias Burnus <tobias@codesourcery.com>
3828
3829 * testsuite/libgomp.fortran/icv-3.f90: New.
3830 * testsuite/libgomp.fortran/icv-4.f90: New.
3831
38322021-10-12 Jakub Jelinek <jakub@redhat.com>
3833
3834 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
3835 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
3836 OMP_TEAMS_THREAD_LIMIT): Document.
3837
38382021-10-12 Jakub Jelinek <jakub@redhat.com>
3839
3840 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
3841 to avoid makeinfo warnings.
3842
38432021-10-12 Jakub Jelinek <jakub@redhat.com>
3844
3845 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
3846 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
3847
38482021-10-12 Jakub Jelinek <jakub@redhat.com>
3849
3850 PR libgomp/102628
3851 PR libgomp/102668
3852 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
3853 allocation sizes from 420 to 320 and from 768 to 568.
3854 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
3855 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
3856 for cr from 16 to 4.
3857
38582021-10-12 Jakub Jelinek <jakub@redhat.com>
3859
3860 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
3861 * testsuite/libgomp.c/scan-12.c: Likewise.
3862 * testsuite/libgomp.c/scan-13.c: Likewise.
3863 * testsuite/libgomp.c/scan-14.c: Likewise.
3864 * testsuite/libgomp.c/scan-15.c: Likewise.
3865 * testsuite/libgomp.c/scan-16.c: Likewise.
3866 * testsuite/libgomp.c/scan-17.c: Likewise.
3867 * testsuite/libgomp.c/scan-18.c: Likewise.
3868 * testsuite/libgomp.c/scan-19.c: Likewise.
3869 * testsuite/libgomp.c/scan-20.c: Likewise.
3870 * testsuite/libgomp.c/scan-21.c: Likewise.
3871 * testsuite/libgomp.c/scan-22.c: Likewise.
3872 * testsuite/libgomp.c++/scan-9.C: Likewise.
3873 * testsuite/libgomp.c++/scan-10.C: Likewise.
3874 * testsuite/libgomp.c++/scan-11.C: Likewise.
3875 * testsuite/libgomp.c++/scan-12.C: Likewise.
3876 * testsuite/libgomp.c++/scan-13.C: Likewise.
3877 * testsuite/libgomp.c++/scan-14.C: Likewise.
3878 * testsuite/libgomp.c++/scan-15.C: Likewise.
3879 * testsuite/libgomp.c++/scan-16.C: Likewise.
3880
38812021-10-12 Kewen Lin <linkw@linux.ibm.com>
3882
3883 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
3884
732d7638
GA
38852021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
3886
3887 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
3888 omp_atv_serialized.
3889 * omp.h.in: Add deprecated flag for omp_atv_sequential.
3890 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
3891 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
3892 * testsuite/libgomp.fortran/alloc-12.f90: New test.
3893
38942021-10-11 Jakub Jelinek <jakub@redhat.com>
3895
3896 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
3897 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3898 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
3899 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3900 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
3901 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
3902 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
3903 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
3904 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
3905 omp_set_teams_thread_limit{,_,_8_}.
3906 * icv.c (omp_set_num_teams, omp_get_max_teams,
3907 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
3908 functions.
3909 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
3910 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
3911 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
3912 vars.
3913 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
3914 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
3915 is not specified, use gomp_nteams_var.
3916 * fortran.c (omp_set_num_teams, omp_get_max_teams,
3917 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
3918 ialias_redirect.
3919 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
3920 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
3921 omp_get_teams_thread_limit_): New functions.
3922
c9db17b8
GA
39232021-10-09 liuhongt <hongtao.liu@intel.com>
3924
3925 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
3926 * testsuite/libgomp.c++/scan-11.C: Ditto.
3927 * testsuite/libgomp.c++/scan-12.C: Ditto.
3928 * testsuite/libgomp.c++/scan-13.C: Ditto.
3929 * testsuite/libgomp.c++/scan-14.C: Ditto.
3930 * testsuite/libgomp.c++/scan-15.C: Ditto.
3931 * testsuite/libgomp.c++/scan-16.C: Ditto.
3932 * testsuite/libgomp.c++/scan-9.C: Ditto.
3933 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
3934 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
3935 * testsuite/libgomp.c/scan-11.c: Ditto.
3936 * testsuite/libgomp.c/scan-12.c: Ditto.
3937 * testsuite/libgomp.c/scan-13.c: Ditto.
3938 * testsuite/libgomp.c/scan-14.c: Ditto.
3939 * testsuite/libgomp.c/scan-15.c: Ditto.
3940 * testsuite/libgomp.c/scan-16.c: Ditto.
3941 * testsuite/libgomp.c/scan-17.c: Ditto.
3942 * testsuite/libgomp.c/scan-18.c: Ditto.
3943 * testsuite/libgomp.c/scan-19.c: Ditto.
3944 * testsuite/libgomp.c/scan-20.c: Ditto.
3945 * testsuite/libgomp.c/scan-21.c: Ditto.
3946 * testsuite/libgomp.c/scan-22.c: Ditto.
3947
39482021-10-09 Jakub Jelinek <jakub@redhat.com>
3949
3950 * libgomp.texi (OpenMP 5.1): Mention implemented support for
3951 structured block sequences in C/C++. Mention support for
3952 unconstrained/reproducible modifiers on order clause.
3953 Mention partial (C/C++ only) support of extentensions to atomics
3954 construct. Mention partial (C/C++ on clause only) support of
3955 align/allocator modifiers on allocate clause.
3956
e3e07b89
GA
39572021-10-02 Tobias Burnus <tobias@codesourcery.com>
3958
3959 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
3960 based on libgomp.c-c++-common/order-reproducible-1.c.
3961 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
3962 * testsuite/libgomp.fortran/my-usleep.c: New test.
3963
9d116bcc
GA
39642021-10-01 Tobias Burnus <tobias@codesourcery.com>
3965
3966 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
3967 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
3968 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
3969 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
3970 based on libgomp.c-c++-common/alloc-9.c.
3971
39722021-10-01 Jakub Jelinek <jakub@redhat.com>
3973
3974 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
3975 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
3976
39772021-10-01 Jakub Jelinek <jakub@redhat.com>
3978
3979 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
3980 ialias_redirect.
3981 * env.c (handle_omp_display_env): Use ialias_call.
3982 * icv-device.c: Move ialias right below each function.
3983 (omp_get_device_num): Use ialias_call.
3984 * fortran.c (omp_fulfill_event): Add ialias_redirect.
3985 * icv.c (omp_get_active_level): Add ialias_redirect.
3986
39872021-10-01 Jakub Jelinek <jakub@redhat.com>
3988
3989 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
3990 __alloc_align__ (1) attribute.
3991 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
3992
24679983
GA
39932021-09-30 Tobias Burnus <tobias@codesourcery.com>
3994
3995 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
3996 for -fintrinsic-modules-path= warning of the C compiler.
3997 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
3998 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
3999
40002021-09-30 Tobias Burnus <tobias@codesourcery.com>
4001
4002 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
4003 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
4004 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4005 omp_realloc): Add.
4006 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
4007 omp_realloc): Add.
4008 * testsuite/libgomp.fortran/alloc-10.f90: New test.
4009 * testsuite/libgomp.fortran/alloc-6.f90: New test.
4010 * testsuite/libgomp.fortran/alloc-7.c: New test.
4011 * testsuite/libgomp.fortran/alloc-7.f90: New test.
4012 * testsuite/libgomp.fortran/alloc-8.f90: New test.
4013 * testsuite/libgomp.fortran/alloc-9.f90: New test.
4014
40152021-09-30 Jakub Jelinek <jakub@redhat.com>
4016
4017 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
4018 omp_realloc): New prototypes.
4019 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
4020 attribute.
4021 * allocator.c: Include string.h.
4022 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
4023 variable and use it instead of alignment so that when retrying the old
4024 alignment is used again. Don't retry if new alignment is the same
4025 as old alignment, unless allocator had pool size.
4026 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
4027 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
4028 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
4029 omp_aligned_calloc and omp_realloc.
4030 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
4031 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
4032 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
4033 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
4034 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
4035 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
4036
fd133479
GA
40372021-09-28 Tobias Burnus <tobias@codesourcery.com>
4038
4039 PR libgomp/96661
4040 * configure.ac: Only check for int-type = 2*size_t support when
4041 building with Fortran support.
4042 * configure: Regenerate.
4043
40442021-09-28 Thomas Schwinge <thomas@codesourcery.com>
4045
4046 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
4047 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4048
cf966403
GA
40492021-09-27 Aldy Hernandez <aldyh@redhat.com>
4050
4051 * team.c: Initialize start_data.
4052 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
4053 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
4054
40552021-09-27 Tobias Burnus <tobias@codesourcery.com>
4056
4057 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
4058 dg-message back to dg-note.
4059
40602021-09-27 Tobias Burnus <tobias@codesourcery.com>
4061
4062 PR fortran/94070
4063 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
4064 expected dg-note output.
4065
e4777439
GA
40662021-09-22 Tobias Burnus <tobias@codesourcery.com>
4067
4068 PR fortran/55534
4069 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
4070 r12-3722 by removing -Wno-missing-include-dirs.
4071 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4072
40732021-09-22 Jakub Jelinek <jakub@redhat.com>
4074
4075 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
4076 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
4077
2c41dd82
GA
40782021-09-21 Tobias Burnus <tobias@codesourcery.com>
4079
4080 PR fortran/55534
4081 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
4082 to ALWAYS_CFLAGS.
4083 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4084
cf74e7b5
GA
40852021-09-18 Jakub Jelinek <jakub@redhat.com>
4086
4087 * testsuite/libgomp.c++/default-1.C: New test.
4088 * testsuite/libgomp.c-c++-common/default-1.c: New test.
4089 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
4090 to default clause in C and C++" as implemented.
4091
0a4cb439
GA
40922021-09-17 Julian Brown <julian@codesourcery.com>
4093
4094 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
4095
40962021-09-17 Julian Brown <julian@codesourcery.com>
4097
4098 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
4099
41002021-09-17 Jakub Jelinek <jakub@redhat.com>
4101
4102 * libgomp.texi (OpenMP 5.1): Spelling fix,
4103 declare variante -> declare variant.
4104
41052021-09-17 Jakub Jelinek <jakub@redhat.com>
4106
4107 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
4108 Use /* */ comments instead of //.
4109 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
4110 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
4111 * testsuite/libgomp.c++/atomic-16.C: New test.
4112 * testsuite/libgomp.c++/atomic-17.C: New test.
4113
a26206ec
GA
41142021-09-10 Jakub Jelinek <jakub@redhat.com>
4115
4116 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
4117 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
4118 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
4119
b2748138
GA
41202021-09-07 Tobias Burnus <tobias@codesourcery.com>
4121
4122 * libgomp.texi (OpenMP Implementation Status): Extend
4123 OpenMP 5.0 section.
4124 (OpenACC Profiling Interface): Fix typo.
4125
41262021-09-07 Tobias Burnus <tobias@codesourcery.com>
4127
4128 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
4129 not to 4.5; link to new section.
4130 (OpenMP Implementation Status): New.
4131
9f99555f
GA
41322021-09-06 Thomas Schwinge <thomas@codesourcery.com>
4133
4134 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
4135
7b739540
GA
41362021-09-03 Tobias Burnus <tobias@codesourcery.com>
4137
4138 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
4139 dg-output.
4140 * testsuite/libgomp.fortran/error-1.f90: Likewise.
4141
38b19c5b
GA
41422021-08-23 Thomas Schwinge <thomas@codesourcery.com>
4143 Jakub Jelinek <jakub@redhat.com>
4144
4145 * testsuite/libgomp.c/address-space-1.c: New file.
4146
41472021-08-23 Thomas Schwinge <thomas@codesourcery.com>
4148
4149 * testsuite/lib/libgomp.exp
4150 (check_effective_target_offload_target_intelmic): Remove 'proc'.
4151 (check_effective_target_offload_device_intel_mic): New 'proc'.
4152 * testsuite/libgomp.c-c++-common/on_device_arch.h
4153 (device_arch_intel_mic, on_device_arch_intel_mic): New.
4154 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
4155 'dg-xfail-run-if'.
4156 * testsuite/libgomp.fortran/target10.f90: Likewise.
4157
41582021-08-23 Tobias Burnus <tobias@codesourcery.com>
4159
4160 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
4161 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
4162 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
4163 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
4164
41652021-08-23 Jakub Jelinek <jakub@redhat.com>
4166
4167 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
4168 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
4169 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
4170
5b2876f9
GA
41712021-08-22 Thomas Schwinge <thomas@codesourcery.com>
4172
4173 * config/nvptx/error.c (fwrite, exit): Override, too.
4174 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
4175 of offloading testing.
4176 * testsuite/libgomp.fortran/error-1.f90: Likewise.
4177
7c9e1645
GA
41782021-08-20 Tobias Burnus <tobias@codesourcery.com>
4179
4180 * testsuite/libgomp.fortran/error-1.f90: New test.
4181
41822021-08-20 Jakub Jelinek <jakub@redhat.com>
4183
4184 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
4185 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
4186 * error.c (GOMP_warning, GOMP_error): New functions.
4187 * testsuite/libgomp.c-c++-common/error-1.c: New test.
4188
6e529985
GA
41892021-08-18 Tobias Burnus <tobias@codesourcery.com>
4190
4191 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
4192 omp_target_free. omp_target_is_present, omp_target_memcpy,
4193 omp_target_memcpy_rect, omp_target_associate_ptr,
4194 omp_target_disassociate_ptr): Add interface.
4195 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
4196 omp_target_free. omp_target_is_present, omp_target_memcpy,
4197 omp_target_memcpy_rect, omp_target_associate_ptr,
4198 omp_target_disassociate_ptr): Add interface.
4199 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
4200 interface block for omp_alloc + omp_free.
4201 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
4202 * testsuite/libgomp.fortran/refcount-1.f90: New test.
4203 * testsuite/libgomp.fortran/target-12.f90: New test.
4204
42052021-08-18 Jakub Jelinek <jakub@redhat.com>
4206
4207 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
4208
2d14d64b
GA
42092021-08-17 Tobias Burnus <tobias@codesourcery.com>
4210
4211 * testsuite/libgomp.fortran/scope-1.f90: New test.
4212 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
4213
42142021-08-17 Jakub Jelinek <jakub@redhat.com>
4215
4216 * Makefile.am (libgomp_la_SOURCES): Add scope.c
4217 * Makefile.in: Regenerated.
4218 * libgomp_g.h (GOMP_scope_start): Declare.
4219 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
4220 * scope.c: New file.
4221 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
4222 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
4223
9d1d9fc8
GA
42242021-08-16 Thomas Schwinge <thomas@codesourcery.com>
4225
4226 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
4227 '?:' issues.
4228
42292021-08-16 Tobias Burnus <tobias@codesourcery.com>
4230
4231 * testsuite/libgomp.fortran/masked-1.f90: New test.
4232
261512fa
GA
42332021-08-13 Thomas Schwinge <thomas@codesourcery.com>
4234
4235 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
4236
72be20e2
GA
42372021-08-12 Jakub Jelinek <jakub@redhat.com>
4238
4239 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
4240
42412021-08-12 Tobias Burnus <tobias@codesourcery.com>
4242
4243 * env.c (parse_bind_var): Accept 'primary' as alias for
4244 'master'.
4245 (omp_display_env): Add TODO comment to
4246 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
4247 * libgomp.texi: Change 'master thread' to 'primary thread'
4248 in line with OpenMP 5.1.
4249 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
4250 omp_proc_bind_master is an alias of it.
4251 (OMP_PROC_BIND): Mention 'PRIMARY'.
4252 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
4253 (omp_proc_bind_primary): Add.
4254 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4255 * omp_lib.f90.in (omp_proc_bind_primary): Add.
4256 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
4257 * omp_lib.h.in (omp_proc_bind_primary): Add.
4258 * testsuite/libgomp.c/affinity-1.c: Check that
4259 'primary' works and is identical to 'master'.
4260
37768150
GA
42612021-08-09 Julian Brown <julian@codesourcery.com>
4262 Kwok Cheung Yeung <kcy@codesourcery.com>
4263 Thomas Schwinge <thomas@codesourcery.com>
4264
4265 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
4266 16.
4267 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4268 [acc_device_radeon]: Update.
4269 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
4270 [ACC_DEVICE_TYPE_radeon]: Likewise.
4271 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4272 [acc_device_radeon]: Likewise.
4273 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
4274 [ACC_DEVICE_TYPE_radeon]: Likewise.
4275 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
4276 'openacc_radeon_accel_selected' and '-O0'.
4277 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
4278
8ebf4fb5
GA
42792021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
4280
4281 * icv-device.c (omp_get_device_num): New API function, host side.
4282 * fortran.c (omp_get_device_num_): New interface function.
4283 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
4284 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
4285 omp_get_device_num_.
4286 * libgomp.texi (omp_get_device_num): Add documentation for new API
4287 function.
4288 * omp.h.in (omp_get_device_num): Add declaration.
4289 * omp_lib.f90.in (omp_get_device_num): Likewise.
4290 * omp_lib.h.in (omp_get_device_num): Likewise.
4291 * target.c (gomp_load_image_to_device): If additional entry for device
4292 number exists at end of returned entries from 'load_image_func' hook,
4293 copy the assigned device number over to the device variable.
4294 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4295 (omp_get_device_num): New API function, device side.
4296 * plugin/plugin-gcn.c ("symcat.h"): Add include.
4297 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4298 at end of returned 'target_table' entries.
4299 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
4300 (omp_get_device_num): New API function, device side.
4301 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
4302 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
4303 at end of returned 'target_table' entries.
4304 * testsuite/lib/libgomp.exp
4305 (check_effective_target_offload_target_intelmic): New function for
4306 testing for intelmic offloading.
4307 * testsuite/libgomp.c-c++-common/target-45.c: New test.
4308 * testsuite/libgomp.fortran/target10.f90: New test.
4309
4d17ca1b
GA
43102021-07-30 Thomas Schwinge <thomas@codesourcery.com>
4311 Ulrich Drepper <drepper@redhat.com>
4312
4313 * fortran.c (omp_display_env_, omp_display_env_8_): Only
4314 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
4315
43162021-07-29 Thomas Schwinge <thomas@codesourcery.com>
4317 Julian Brown <julian@codesourcery.com>
4318 Kwok Cheung Yeung <kcy@codesourcery.com>
4319
4320 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
4321 's%oaccdevlow%oaccloops%g'.
4322 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
4323 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
4324 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
4325 Likewise.
4326 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
4327 Likewise.
4328 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
4329 Likewise.
4330 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
4331 Likewise.
4332 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
4333 Likewise.
4334 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
4335 Likewise.
4336 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
4337 Likewise.
4338 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
4339 Likewise.
4340 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
4341
872c1a56
ML
43422021-07-29 Aldy Hernandez <aldyh@redhat.com>
4343
4344 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
4345 threader.
4346 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4347
af3f12e6
GA
43482021-07-27 Ulrich Drepper <drepper@gmail.com>
4349
4350 * env.c (wait_policy, stacksize): New static variables,
4351 move out of handle_omp_display_env.
4352 (omp_display_env): New function. The meat of the old
4353 handle_omp_display_env function.
4354 (handle_omp_display_env): Change to not take parameters
4355 and instead use the global variables. Only perform
4356 parsing, defer to omp_display_env for the implementation.
4357 (initialize_env): Remove local variables wait_policy and
4358 stacksize. Don't pass parameters to handle_omp_display_env.
4359 * fortran.c: Add ialias_redirect for omp_display_env.
4360 (omp_display_env_, omp_display_env_8_): New functions.
4361 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
4362 omp_display_env_, and omp_display_env_8_.
4363 * omp.h.in: Declare omp_display_env.
4364 * omp_lib.f90.in: Likewise.
4365 * omp_lib.h.in: Likewise.
4366
43672021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4368 Julian Brown <julian@codesourcery.com>
4369
4370 * target.c (gomp_coalesce_buf_add): Update comment.
4371 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
4372 'aq && cbuf'.
4373 (gomp_map_vars_internal): Only 'if (!aq)', do
4374 'gomp_coalesce_buf_add'.
4375 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
4376 XFAIL.
4377
43782021-07-27 Julian Brown <julian@codesourcery.com>
4379 Thomas Schwinge <thomas@codesourcery.com>
4380
4381 * libgomp.h (gomp_copy_host2dev): Update prototype.
4382 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
4383 argument to gomp_copy_host2dev (false).
4384 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
4385 (copy_data): Don't free src.
4386 (queue_push_copy): Remove free_src handling.
4387 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
4388 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
4389 snapshotting.
4390 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
4391 queue_push_copy.
4392 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
4393 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
4394 data when true, and set up deferred freeing of temporary buffer.
4395 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
4396 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
4397 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
4398 calls to gomp_copy_host2dev with appropriate ephemeral argument.
4399 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
4400 XFAIL.
4401
44022021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4403 Tom de Vries <tom@codesourcery.com>
4404
4405 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
4406 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
4407
44082021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4409
4410 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
4411 sequencing of 'async' data copying vs. profiling events.
4412 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
4413 Likewise.
4414
44152021-07-27 Thomas Schwinge <thomas@codesourcery.com>
4416 Julian Brown <julian@codesourcery.com>
4417
4418 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
4419 'async'/'wait' issue.
4420 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
4421 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
4422 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
4423
419c6c68
GA
44242021-07-21 Thomas Schwinge <thomas@codesourcery.com>
4425 Joseph Myers <joseph@codesourcery.com>
4426 Cesar Philippidis <cesar@codesourcery.com>
4427
4428 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
4429 file.
4430 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
4431 Likewise.
4432 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
4433 Likewise.
4434 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
4435
92d45509
GA
44362021-07-20 Thomas Schwinge <thomas@codesourcery.com>
4437
4438 PR target/101484
4439 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
4440 '-Wno-error=array-bounds'.
4441 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
4442 * libgomp.h [__AMDGCN__]: Likewise.
4443
21ea2f93
GA
44442021-07-19 Thomas Schwinge <thomas@codesourcery.com>
4445
4446 PR target/101484
4447 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
4448 * libgomp.h [__AMDGCN__]: Likewise.
4449
0e775456
GA
44502021-07-13 Jakub Jelinek <jakub@redhat.com>
4451 Florian Weimer <fweimer@redhat.com>
4452
4453 * config/linux/sem.h: Don't include limits.h.
4454 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
4455 * config/linux/affinity.c: Include limits.h.
4456
bea7c16a
GA
44572021-07-01 Jakub Jelinek <jakub@redhat.com>
4458
4459 PR middle-end/94366
4460 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
4461
6bc18203
GA
44622021-06-29 Tobias Burnus <tobias@codesourcery.com>
4463
4464 PR other/67300
4465 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
4466 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
4467 avoid disabling other offload targets.
4468 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
4469 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
4470 * testsuite/libgomp.c/target-44.c: Likewise.
4471
44722021-06-29 Tobias Burnus <tobias@codesourcery.com>
4473
4474 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
4475 target has shared memory and disable some scalar pointer/allocatable
4476 checks if not as firstprivate does not work.
4477
90708f87
GA
44782021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
4479
4480 PR testsuite/101114
4481 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
4482 Add "target offload_device_nonshared_as" condition for enabling test.
4483
9aa8327e
GA
44842021-06-24 Jakub Jelinek <jakub@redhat.com>
4485
4486 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
4487 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
4488 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
4489 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
4490
fcf617f0
GA
44912021-06-23 Jakub Jelinek <jakub@redhat.com>
4492
4493 PR middle-end/101167
4494 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
4495
688359a2
GA
44962021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
4497
4498 * hashtab.h (htab_clear): New function with initialization code
4499 factored out from...
4500 (htab_create): ...here, adjust to use htab_clear function.
4501 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
4502 special refcount values, add comments.
4503 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
4504 (REFCOUNT_LINK): Likewise.
4505 (REFCOUNT_STRUCTELEM): New special refcount range for structure
4506 element siblings.
4507 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
4508 sibling maps.
4509 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
4510 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
4511 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
4512 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
4513 (struct splay_tree_key_s): Add structelem_refcount and
4514 structelem_refcount_ptr fields into a union with dynamic_refcount.
4515 Add comments.
4516 (gomp_map_vars): Delete declaration.
4517 (gomp_map_vars_async): Likewise.
4518 (gomp_unmap_vars): Likewise.
4519 (gomp_unmap_vars_async): Likewise.
4520 (goacc_map_vars): New declaration.
4521 (goacc_unmap_vars): Likewise.
4522 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
4523 (goacc_enter_datum): Likewise.
4524 (goacc_enter_data_internal): Likewise.
4525 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
4526 and goacc_unmap_vars.
4527 (GOACC_data_start): Adjust to use goacc_map_vars.
4528 (GOACC_data_end): Adjust to use goacc_unmap_vars.
4529 * target.c (hash_entry_type): New typedef.
4530 (htab_alloc): New function hook for hashtab.h.
4531 (htab_free): Likewise.
4532 (htab_hash): Likewise.
4533 (htab_eq): Likewise.
4534 (hashtab.h): Add file include.
4535 (gomp_increment_refcount): New function.
4536 (gomp_decrement_refcount): Likewise.
4537 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
4538 gomp_increment_refcount.
4539 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
4540 to gomp_map_vars_existing.
4541 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
4542 variable to guard OpenMP specific paths, adjust calls to
4543 gomp_map_vars_existing, add structure element sibling splay_tree_key
4544 sequence creation code, adjust Fortran map case to avoid increment
4545 under OpenMP.
4546 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
4547 local refcount_set if caller passed in NULL, adjust call to
4548 gomp_map_vars_internal.
4549 (gomp_map_vars_async): Adjust and rename into...
4550 (goacc_map_vars): ...this new function, adjust call to
4551 gomp_map_vars_internal.
4552 (gomp_remove_splay_tree_key): New function with code factored out from
4553 gomp_remove_var_internal.
4554 (gomp_remove_var_internal): Add code to handle removing multiple
4555 splay_tree_key sequence for structure elements, adjust code to use
4556 gomp_remove_splay_tree_key for splay-tree key removal.
4557 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
4558 gomp_decrement_refcount.
4559 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
4560 local refcount_set if caller passed in NULL, adjust call to
4561 gomp_unmap_vars_internal.
4562 (gomp_unmap_vars_async): Adjust and rename into...
4563 (goacc_unmap_vars): ...this new function, adjust call to
4564 gomp_unmap_vars_internal.
4565 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
4566 gomp_unmap_vars.
4567 (GOMP_target_ext): Likewise.
4568 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
4569 (GOMP_target_data): Likewise.
4570 (GOMP_target_data_ext): Likewise.
4571 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
4572 (gomp_exit_data): Add refcount_set parameter, adjust to use
4573 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
4574 after main loop.
4575 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
4576 gomp_map_vars and gomp_exit_data.
4577 (gomp_target_task_fn): Likewise.
4578 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
4579 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
4580 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
4581 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
4582 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
4583 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
4584
ede6c356
GA
45852021-06-15 Tobias Burnus <tobias@codesourcery.com>
4586
4587 PR fortran/92568
4588 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
4589
43c35d0d
GA
45902021-06-10 Andrew Stubbs <ams@codesourcery.com>
4591 Thomas Schwinge <thomas@codesourcery.com>
4592
4593 * libgomp.map (GOACC_2.0.2): New symbol version.
4594 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
4595 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
4596
45972021-06-10 Thomas Schwinge <thomas@codesourcery.com>
4598 Andrew Stubbs <ams@codesourcery.com>
4599
4600 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
4601 extracted from...
4602 (GOACC_enter_exit_data): ... here.
4603 (GOACC_declare): Use it.
4604
46052021-06-10 Thomas Schwinge <thomas@codesourcery.com>
4606
4607 * oacc-parallel.c (GOACC_declare): Move...
4608 * oacc-mem.c: ... here.
4609 * libgomp_g.h: Adjust.
4610
46112021-06-10 Andrew Stubbs <ams@codesourcery.com>
4612 Thomas Schwinge <thomas@codesourcery.com>
4613
4614 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
4615 handling.
4616
46172021-06-10 Jakub Jelinek <jakub@redhat.com>
4618
4619 PR tree-optimization/100981
4620 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
4621 dsdotr and dsdoti to 0.
4622
4f625f47
GA
46232021-06-09 H.J. Lu <hjl.tools@gmail.com>
4624
4625 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
4626 if atomic compare-and-swap is supported on 'int'.
4627
46282021-06-09 Richard Biener <rguenther@suse.de>
4629
4630 PR tree-optimization/100981
4631 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
4632
c6038721
GA
46332021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4634
4635 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
4636 unconditionally.
4637 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
4638 Update.
4639 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4640 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4641
46422021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4643
4644 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
4645 '-DACC_MEM_SHARED=0'.
4646 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4647 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4648 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4649 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4650 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4651 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4652 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4653 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4654 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4655 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4656 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4657 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4658 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4659 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
4660 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
4661 'acc_device_radeon' testing.
4662 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4663 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4664 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4665 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
4666 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4667 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4668 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4669 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4670 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4671 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4672 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
4673 for non-'openacc_nvidia_accel_selected'.
4674 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4675 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
4676 all implement this checking".
4677 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4678 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4679 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4680 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4681 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4682
46832021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4684
4685 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
4686 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
4687
46882021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4689
4690 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
4691 for 'acc_device_radeon'.
4692
46932021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4694
4695 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
4696 for non-'acc_device_nvidia'.
4697
46982021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4699
4700 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
4701 'acc_device_radeon' testing.
4702 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4703 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4704 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4705
47062021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4707
4708 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
4709 require 'openacc_nvidia_accel_selected'. Fix up for
4710 'ACC_DEVICE_TYPE_radeon'.
4711
47122021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4713
4714 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
4715 'openacc_nvidia_accel_selected'.
4716 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
4717
47182021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4719
4720 * testsuite/lib/libgomp.exp
4721 (check_effective_target_openacc_radeon_accel_selected):
4722 Streamline.
4723
47242021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4725
4726 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
4727 PR80547 workaround.
4728
47292021-06-08 Thomas Schwinge <thomas@codesourcery.com>
4730
4731 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4732 <acc_device_nvidia>: Update comment.
4733
48166757
GA
47342021-05-28 Tobias Burnus <tobias@codesourcery.com>
4735
4736 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
4737
cd62d089
GA
47382021-05-27 Jakub Jelinek <jakub@redhat.com>
4739
4740 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
4741 check_effective_target_openacc_cublas,
4742 check_effective_target_openacc_cudart): New.
4743 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
4744 target openacc_cublas.
4745 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
4746 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
4747 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
4748 target openacc_cuda.
4749 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4750 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4751 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4752 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4753 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4754 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4755 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4756 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4757 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
4758 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4759 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4760 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4761 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4762 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4763 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4764 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4765 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
4766 targets openacc_cublas and openacc_cudart.
4767 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4768 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4769 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4770 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4771 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
4772 Require effective target openacc_cudart.
4773 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
4774 for effective target openacc_cuda and add && defined USE_CUDA_H to
4775 preprocessor conditionals. Guard -lcuda also on openacc_cuda
4776 effective target.
4777
01c59ef2
GA
47782021-05-26 Jakub Jelinek <jakub@redhat.com>
4779
4780 PR libgomp/100573
4781 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
4782 GOMP_target_end_data, GOMP_target_update_ext,
4783 GOMP_target_enter_exit_data): New dummy entrypoints.
4784 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
4785 GOMP_target_end_data, GOMP_target_update_ext,
4786 GOMP_target_enter_exit_data): Likewise.
4787 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
4788 OMPFROM, OMPTO): Define.
4789 (main): Remove #pragma omp target teams around all the tests.
4790 * testsuite/libgomp.c-c++-common/target-41.c: New test.
4791 * testsuite/libgomp.c-c++-common/target-42.c: New test.
4792
2bc6dace
GA
47932021-05-25 Jakub Jelinek <jakub@redhat.com>
4794
4795 PR middle-end/99928
4796 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
4797
637569df
GA
47982021-05-24 Tobias Burnus <tobias@codesourcery.com>
4799
4800 PR fortran/86470
4801 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
4802 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
4803 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
4804
15d30d2f
GA
48052021-05-22 Thomas Schwinge <thomas@codesourcery.com>
4806
4807 PR testsuite/90115
4808 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
4809 uninteresting/varying diagnostics.
4810
2832d51b
GA
48112021-05-21 Thomas Schwinge <thomas@codesourcery.com>
4812
4813 PR middle-end/90115
4814 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
4815 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4816
48172021-05-21 Thomas Schwinge <thomas@codesourcery.com>
4818
4819 PR middle-end/90115
4820 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
4821 file.
4822 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4823 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
4824 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
4825 Likewise.
4826 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
4827 Likewise.
4828 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
4829 Likewise.
4830 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
4831 Likewise.
4832 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
4833 Likewise.
4834 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
4835 Likewise.
4836 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
4837 Likewise.
4838 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
4839 Likewise.
4840 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
4841 Likewise.
4842 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
4843 Likewise.
4844 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
4845 Likewise.
4846 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
4847 Likewise.
4848 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
4849 Likewise.
4850 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
4851 Likewise.
4852 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
4853 Likewise.
4854 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
4855 Likewise.
4856 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
4857 Likewise.
4858 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
4859 Likewise.
4860 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
4861 Likewise.
4862 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
4863 Likewise.
4864 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
4865 Likewise.
4866 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4867 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4868 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4869 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
4870 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4871 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4872 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4873 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4874 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4875 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4876 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4877 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4878 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4879 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4880 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
4881 Likewise.
4882 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
4883 Likewise.
4884 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
4885 Likewise.
4886 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4887 Likewise.
4888 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4889 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
4890 Likewise.
4891 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4892 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4893 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4894 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4895 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
4896 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4897 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
4898 Likewise.
4899 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
4900 Likewise.
4901 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
4902 Likewise.
4903 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
4904 Likewise.
4905 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
4906 Likewise.
4907 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
4908 Likewise.
4909 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
4910 Likewise.
4911 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
4912 Likewise.
4913 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
4914 Likewise.
4915 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
4916 Likewise.
4917 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
4918 Likewise.
4919 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
4920 Likewise.
4921 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
4922 Likewise.
4923 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
4924 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
4925 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
4926 Likewise.
4927 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
4928 Likewise.
4929 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4930 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
4931 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
4932
49332021-05-21 Julian Brown <julian@codesourcery.com>
4934 Chung-Lin Tang <cltang@codesourcery.com>
4935 Thomas Schwinge <thomas@codesourcery.com>
4936
4937 PR middle-end/90115
4938 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
4939 test.
4940 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
4941 Likewise.
4942 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
4943 Likewise.
4944
49452021-05-21 Thomas Schwinge <thomas@codesourcery.com>
4946
4947 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
4948 for nvptx offloading.
4949
49502021-05-21 Tobias Burnus <tobias@codesourcery.com>
4951
4952 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
4953
65f32e5d
GA
49542021-05-19 Thomas Schwinge <thomas@codesourcery.com>
4955
4956 PR target/83812
4957 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
4958
49592021-05-19 Julian Brown <julian@codesourcery.com>
4960
4961 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
4962
a8daf9a1
GA
49632021-05-18 Thomas Schwinge <thomas@codesourcery.com>
4964
4965 * testsuite/lib/libgomp.exp
4966 (check_effective_target_offload_target_nvptx): Don't shadow global
4967 'offload_targets' variable.
4968
49692021-05-18 Thomas Schwinge <thomas@codesourcery.com>
4970
4971 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
4972 '-latomic' to nvptx offloading compilation.
4973 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
4974
49752021-05-18 Thomas Schwinge <thomas@codesourcery.com>
4976
4977 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
4978 offloading compilation.
4979
a7ffc1ef
GA
49802021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
4981
4982 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
4983 if new tasks generated.
4984 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
4985
87a7d10c
GA
49862021-05-14 Tobias Burnus <tobias@codesourcery.com>
4987
4988 * testsuite/libgomp.fortran/parallel-master.f90: New test.
4989
f9af11c7
GA
49902021-05-13 Martin Liska <mliska@suse.cz>
4991
4992 PR testsuite/100569
4993 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
4994 * testsuite/libgomp.c/pr46032-2.c: Likewise.
4995 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
4996 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
4997
0ff3a0f2
GA
49982021-05-12 Tobias Burnus <tobias@codesourcery.com>
4999
5000 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
5001 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
5002
037e3661
GA
50032021-05-11 Jakub Jelinek <jakub@redhat.com>
5004
5005 PR middle-end/100471
5006 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
5007 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
5008 reduction pointer.
5009 * testsuite/libgomp.c/task-reduction-4.c: New test.
5010
62d87a32
GA
50112021-05-07 Tobias Burnus <tobias@codesourcery.com>
5012 Tom de Vries <tdevries@suse.de>
5013
5014 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
5015 complex/floating-point || + && reduction with 'omp target'.
5016 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
5017
99e8df7a
GA
50182021-05-04 Tobias Burnus <tobias@codesourcery.com>
5019
5020 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
5021 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
5022 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
5023 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
5024
50252021-05-04 Tobias Burnus <tobias@codesourcery.com>
5026
5027 PR testsuite/100397
5028 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
5029 declaration to scope of non-'depend'-guarded assignment to avoid races.
5030
e690396d
GA
50312021-05-03 Tom de Vries <tdevries@suse.de>
5032
5033 PR target/100321
5034 * testsuite/libgomp.c/target-44.c: New test.
5035
9326049e
GA
50362021-04-30 Roman Zhuykov <zhroma@ispras.ru>
5037
5038 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
5039
3c8e539d
GA
50402021-04-29 Tom de Vries <tdevries@suse.de>
5041
5042 * testsuite/libgomp.c/pr81778.c: New test.
5043
50442021-04-29 Tom de Vries <tdevries@suse.de>
5045
5046 PR target/100232
5047 * testsuite/libgomp.c/target-43.c: New file.
5048
e4ff4ffb
GA
50492021-04-28 Jakub Jelinek <jakub@redhat.com>
5050 Tobias Burnus <tobias@codesourcery.com>
5051
5052 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
5053 * target.c (gomp_load_plugin_for_device): If set and if a plugin
5054 can't be dlopened, silently assume it has no devices.
5055 * Makefile.in: Regenerate.
5056 * config.h.in: Regenerate.
5057 * configure: Regenerate.
5058
c0fa3f2f
GA
50592021-04-26 Tobias Burnus <tobias@codesourcery.com>
5060
5061 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
5062 Use [Ww]arning in dg-bogus as FE diagnostic and default
5063 diagnostic differ and the result depends on ENABLE_OFFLOAD.
5064 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5065 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5066 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5067
50682021-04-26 Tobias Burnus <tobias@codesourcery.com>
5069
5070 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
5071 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
5072 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5073 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5074 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5075
50762021-04-26 Thomas Schwinge <thomas@codesourcery.com>
5077 Nathan Sidwell <nathan@codesourcery.com>
5078 Tom de Vries <vries@codesourcery.com>
5079 Julian Brown <julian@codesourcery.com>
5080 Kwok Cheung Yeung <kcy@codesourcery.com>
5081
5082 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
5083 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
5084 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5085 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5086 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5087 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5088 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
5089 Likewise.
5090 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5091 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5092 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5093 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5094 Likewise.
5095 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
5096 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5097 Likewise.
5098 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5099 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5100 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5101 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5102 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5103 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
5104 Likewise.
5105 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
5106 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
5107 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
5108 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
5109 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5110 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
5111 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5112 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5113 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5114 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5115 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
5116
51172021-04-26 Thomas Schwinge <thomas@codesourcery.com>
5118
5119 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
5120 compile with '-w'.
5121 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5122 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
5123 Likewise.
5124 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5125 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
5126 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
5127 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5128 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5129 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5130 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
5131
e3948473
GA
51322021-04-22 Richard Biener <rguenther@suse.de>
5133
5134 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
5135 only on nvptx-none.
5136
c1ef0c92
GA
51372021-04-21 Tobias Burnus <tobias@codesourcery.com>
5138
5139 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
5140 omp_depend_kind instead of defining it as 16.
5141
51422021-04-21 Tobias Burnus <tobias@codesourcery.com>
5143
5144 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5145 New, based on check_effective_target_offload_target_nvptx.
5146 (check_effective_target_offload_target_nvptx): Call it.
5147 (check_effective_target_offload_target_amdgcn): New.
5148 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
5149 Require target offload_target_nvptx || offload_target_amdgcn.
5150 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
5151 * testsuite/libgomp.c/pr86416-1.c: Likewise.
5152 * testsuite/libgomp.c/pr86416-2.c: Likewise.
5153
51542021-04-21 Tobias Burnus <tobias@codesourcery.com>
5155
5156 * testsuite/libgomp.fortran/depobj-1.f90: New test.
5157
6e81e015
GA
51582021-04-19 Thomas Schwinge <thomas@codesourcery.com>
5159
5160 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
5161 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
5162 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
5163 Likewise.
5164 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5165 Likewise.
5166 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5167
ee351f7f
GA
51682021-04-15 Thomas Schwinge <thomas@codesourcery.com>
5169
5170 PR target/99555
5171 * testsuite/lib/libgomp.exp
5172 (check_effective_target_offload_device_nvptx): New.
5173 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
5174 resolved, make sure that we exit quickly, with error status,
5175 XFAILed.
5176 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
5177 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5178
df3b1289
GA
51792021-04-14 Jakub Jelinek <jakub@redhat.com>
5180
5181 PR testsuite/100071
5182 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
5183 cp = omp_alloc with cp, p arguments instead of cq, q and call
5184 c_f_pointer after last cq = omp_alloc with cq, q.
5185
a0ecde22
GA
51862021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
5187
5188 PR middle-end/98088
5189 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
5190 for loop with GT/GE condition.
5191 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
5192
3115aba8
GA
51932021-04-09 Thomas Schwinge <thomas@codesourcery.com>
5194
5195 PR middle-end/84991
5196 PR middle-end/84992
5197 PR middle-end/90779
5198 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
5199
52002021-04-09 Jakub Jelinek <jakub@redhat.com>
5201
5202 PR libgomp/99984
5203 * team.c (gomp_thread_start): Call pthread_setspecific for
5204 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
5205 has been initialized to avoid false positive warning.
5206
65374af2
GA
52072021-03-29 Tobias Burnus <tobias@codesourcery.com>
5208
5209 PR target/99555
5210 * testsuite/lib/on_device_arch.c: Move to ...
5211 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
5212 * testsuite/libgomp.fortran/on_device_arch.c: New file;
5213 #include on_device_arch.h.
5214 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
5215 on_device_arch.h instead of using dg-additional-source.
5216 * testsuite/libgomp.c/pr99555-1.c: Likewise.
5217 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
5218 on_device_arch.c without relative paths.
5219
4493b1c1
GA
52202021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5221
5222 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
5223 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
5224 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
5225 * config.h.in: Regenerate.
5226 * configure: Likewise.
5227
52282021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5229
5230 PR target/99555
5231 * testsuite/lib/on_device_arch.c: New file.
5232 * testsuite/libgomp.c/pr99555-1.c: Likewise.
5233 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
5234 skip for nvptx offloading, with error status.
5235 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
5236
52372021-03-25 Thomas Schwinge <thomas@codesourcery.com>
5238
5239 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
5240 OpenACC 'serial' construct diagnostic for nvptx offloading.
5241
3c5b6d24
GA
52422021-03-15 Tobias Burnus <tobias@codesourcery.com>
5243
5244 PR c++/99509
5245 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
5246
6da2762a
GA
52472021-03-12 Tobias Burnus <tobias@codesourcery.com>
5248
5249 PR fortran/98858
5250 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
5251
67f10d28
GA
52522021-03-04 Jakub Jelinek <jakub@redhat.com>
5253
5254 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
5255 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
5256 checking of -m32 or -mx32 options on the command line.
5257 * config.h.in: Regenerated.
5258 * configure: Regenerated.
5259
ec9dc4fa
GA
52602021-02-27 Iain Sandoe <iain@sandoe.co.uk>
5261
5262 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
5263 support from the target.
5264
daa68844
GA
52652021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
5266 Jakub Jelinek <jakub@redhat.com>
5267
5268 PR libgomp/98738
5269 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
5270 (struct gomp_task): Replace detach and completion_sem fields with
5271 union containing completion_sem and detach_team. Add deferred_p
5272 field.
5273 (struct gomp_team): Remove task_detach_queue.
5274 * task.c: Include assert.h.
5275 (gomp_init_task): Initialize deferred_p and completion_sem fields.
5276 Rearrange initialization order of fields.
5277 (task_fulfilled_p): Delete.
5278 (GOMP_task): Use address of task as the event handle. Remove
5279 initialization of detach field. Initialize deferred_p field.
5280 Use automatic local for completion_sem. Initialize detach_team field
5281 for deferred tasks.
5282 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
5283 Set kind of suspended detach task to GOMP_TASK_DETACHED and
5284 decrement task_running_count. Move finish_cancelled block out of
5285 else branch. Relocate call to gomp_team_barrier_done.
5286 (GOMP_taskwait): Handle tasks with completion events that have not
5287 been fulfilled.
5288 (GOMP_taskgroup_end): Likewise.
5289 (omp_fulfill_event): Use address of task as event handle. Post to
5290 completion_sem for undeferred tasks. Clear detach_team if task
5291 has not finished. For finished tasks, handle post-execution tasks,
5292 call gomp_team_barrier_wake if necessary, and free task.
5293 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
5294 (free_team): Remove free of task_detach_queue.
5295 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
5296 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
5297 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
5298 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
5299 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
5300 Change data-sharing of detach events on enclosing parallel to private.
5301 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
5302 taskwait directive.
5303 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
5304 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
5305 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
5306 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
5307 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
5308 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
5309 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
5310 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
5311 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
5312 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
5313 Change data-sharing of detach events on enclosing parallel to private.
5314 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
5315 taskwait directive.
5316 * testsuite/libgomp.fortran/task-detach-7.f90: New.
5317 * testsuite/libgomp.fortran/task-detach-8.f90: New.
5318 * testsuite/libgomp.fortran/task-detach-9.f90: New.
5319 * testsuite/libgomp.fortran/task-detach-10.f90: New.
5320 * testsuite/libgomp.fortran/task-detach-11.f90: New.
5321
2f5765cf
GA
53222021-02-22 Tobias Burnus <tobias@codesourcery.com>
5323
5324 PR fortran/99171
5325 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
5326
acc0ee5c
GA
53272021-02-17 Julian Brown <julian@codesourcery.com>
5328
5329 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
5330 expected errors.
5331
53322021-02-17 Julian Brown <julian@codesourcery.com>
5333
5334 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
5335 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
5336
0c5cdb31
GA
53372021-02-11 Uroš Bizjak <ubizjak@gmail.com>
5338
5339 * config/linux/x86/futex.h (__futex_wait):
5340 Revert output type back to long.
5341 (__futex_wake): Ditto.
5342 (futex_wait): Update for revert.
5343 (futex_wake): Ditto.
5344
53452021-02-11 Uroš Bizjak <ubizjak@gmail.com>
5346
5347 * config/linux/x86/futex.h (__futex_wait): New static inline
5348 wrapper function. Correct output type to int and
5349 timeout type to void *.
5350 (__futex_wake): New static inline wrapper function.
5351 Correct output type to int.
5352 (futex_wait): Use __futex_wait.
5353 (futex_wake): Use __futex_wake.
5354
4b37c3ea
GA
53552021-02-10 Julian Brown <julian@codesourcery.com>
5356
5357 PR fortran/98979
5358 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
5359 errors.
5360
a19dd5e6
GA
53612021-02-04 Julian Brown <julian@codesourcery.com>
5362
5363 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
5364
9faaa807
GA
53652021-02-03 Andrew Stubbs <ams@codesourcery.com>
5366
5367 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
5368 EF_AMDGPU_MACH_AMDGCN_GFX908.
5369 (gcn_gfx908_s): New constant string.
5370 (isa_hsa_name): Add gfx908.
5371 (isa_code): Add gfx908.
5372
161e4c08
GA
53732021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
5374
5375 * libgomp.texi (omp_fulfill_event): New entry.
5376
b93d0e36
GA
53772021-01-20 Jakub Jelinek <jakub@redhat.com>
5378
5379 * task.c (GOMP_task): Rename priority argument to priority_arg,
5380 add priority automatic variable and modify that variable. Instead of
5381 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
5382 check flags for that bit.
5383
f35a4f96
GA
53842021-01-19 Tobias Burnus <tobias@codesourcery.com>
5385
5386 PR fortran/98476
5387 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
5388
ef1f8ee6
GA
53892021-01-18 Andreas Schwab <schwab@suse.de>
5390
5391 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
5392
53932021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
5394
5395 * config/rtems/sem.h (gomp_sem_getcount): New function.
5396
53972021-01-18 Jakub Jelinek <jakub@redhat.com>
5398
5399 * config/linux/sem.h (gomp_sem_getcount): New function.
5400 * config/posix/sem.h (gomp_sem_getcount): New function.
5401 * config/posix/sem.c (gomp_sem_getcount): New function.
5402 * config/accel/sem.h (gomp_sem_getcount): New function.
5403 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
5404 (omp_fulfill_event): Likewise.
5405
59cf67d1
GA
54062021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
5407
5408 * fortran.c (omp_fulfill_event_): New.
5409 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
5410 (struct gomp_team): Add task_detach_queue and task_detach_count
5411 fields.
5412 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
5413 * libgomp_g.h (GOMP_task): Add extra argument.
5414 * omp.h.in (enum omp_event_handle_t): New.
5415 (omp_fulfill_event): New.
5416 * omp_lib.f90.in (omp_event_handle_kind): New.
5417 (omp_fulfill_event): New.
5418 * omp_lib.h.in (omp_event_handle_kind): New.
5419 (omp_fulfill_event): Declare.
5420 * priority_queue.c (priority_tree_find): New.
5421 (priority_list_find): New.
5422 (priority_queue_find): New.
5423 * priority_queue.h (priority_queue_predicate): New.
5424 (priority_queue_find): New.
5425 * task.c (gomp_init_task): Initialize detach field.
5426 (task_fulfilled_p): New.
5427 (GOMP_task): Add detach argument. Ignore detach argument if
5428 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
5429 field. Copy address of completion_sem into detach argument and
5430 into the start of the data record. Wait for detach event if task
5431 not deferred.
5432 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
5433 Remove completed tasks and requeue dependent tasks.
5434 (omp_fulfill_event): New.
5435 * team.c (gomp_new_team): Initialize task_detach_queue and
5436 task_detach_count fields.
5437 (free_team): Free task_detach_queue field.
5438 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
5439 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
5440 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
5441 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
5442 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
5443 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
5444 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
5445 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
5446 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
5447 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
5448 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
5449 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
5450
2f7f0d32
GA
54512021-01-15 Jakub Jelinek <jakub@redhat.com>
5452
5453 PR target/70454
5454 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
5455 be added through preprocessor check on
5456 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
5457
5fff80fd
GA
54582021-01-14 Thomas Schwinge <thomas@codesourcery.com>
5459
5460 PR libgomp/65099
5461 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
5462 configurations.
5463 * configure: Regenerate.
5464 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
5465 check.
5466
651b8a50
GA
54672021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
5468
5469 * configure: Re-generate.
5470
54712021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
5472
5473 * configure: Re-generate.
5474
54752021-01-05 Julian Brown <julian@codesourcery.com>
5476
5477 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
5478 (struct ptx_device): Add omp_stacks struct.
5479 (nvptx_open_device): Initialise cached-stacks housekeeping info.
5480 (nvptx_close_device): Free cached stacks block and mutex.
5481 (nvptx_stacks_free): New function.
5482 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
5483 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
5484 (nvptx_stacks_alloc): Rename to...
5485 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
5486 size or smaller is required.
5487 (nvptx_stacks_free): Remove.
5488 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
5489 during kernel execution.
5490
b6dd195a
GA
54912021-01-01 Jakub Jelinek <jakub@redhat.com>
5492
5493 * libgomp.texi: Bump @copying's copyright year.
5494
2d3425a5
GA
54952020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
5496
5497 * libgomp.texi (Top): Avoid bad "up" link.
5498
b1a2242e
GA
54992020-12-18 Jakub Jelinek <jakub@redhat.com>
5500
5501 * testsuite/libgomp.c/task-6.c: New test.
5502
ca2bd949
GA
55032020-12-09 Andrew Stubbs <ams@codesourcery.com>
5504
5505 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
5506 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
5507
f6e8e279
GA
55082020-12-08 Tobias Burnus <tobias@codesourcery.com>
5509
5510 * testsuite/libgomp.fortran/scan-1.f90: New test.
5511
6e1edf48
GA
55122020-12-05 Iain Sandoe <iain@sandoe.co.uk>
5513
5514 PR target/97865
5515 * configure: Regenerate.
5516
a9625c50
GA
55172020-11-29 John David Anglin <danglin@gcc.gnu.org>
5518
5519 * configure: Regenerate.
5520
360258da
GA
55212020-11-25 Thomas Schwinge <thomas@codesourcery.com>
5522
5523 * testsuite/libgomp.oacc-c++/cache-1.C: New.
5524 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
5525
55262020-11-25 Andrew Stubbs <ams@codesourcery.com>
5527
5528 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
5529 expected results.
5530
1e2c9a27
GA
55312020-11-24 Andrew Stubbs <ams@codesourcery.com>
5532
5533 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
5534 (reserved): Delete unused define.
5535
55362020-11-24 Thomas Schwinge <thomas@codesourcery.com>
5537
5538 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
5539 Tcl 8.5-specific behavior.
5540 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5541
25bb75f8
GA
55422020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
5543
5544 * env.c (gomp_global_icv): Remove nest_var field. Add
5545 max_active_levels_var field.
5546 (gomp_max_active_levels_var): Remove.
5547 (parse_boolean): Return true on success.
5548 (handle_omp_display_env): Express OMP_NESTED in terms of
5549 max_active_levels_var. Change format specifier for
5550 max_active_levels_var.
5551 (initialize_env): Set max_active_levels_var from
5552 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
5553 OMP_PROC_BIND.
5554 * icv.c (omp_set_nested): Express in terms of
5555 max_active_levels_var.
5556 (omp_get_nested): Likewise.
5557 (omp_set_max_active_levels): Use max_active_levels_var field instead
5558 of gomp_max_active_levels_var.
5559 (omp_get_max_active_levels): Likewise.
5560 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
5561 max_active_levels_var field.
5562 (gomp_supported_active_levels): Set to UCHAR_MAX.
5563 (gomp_max_active_levels_var): Delete.
5564 * libgomp.texi (omp_get_nested): Update documentation.
5565 (omp_set_nested): Likewise.
5566 (OMP_MAX_ACTIVE_LEVELS): Likewise.
5567 (OMP_NESTED): Likewise.
5568 (OMP_NUM_THREADS): Likewise.
5569 (OMP_PROC_BIND): Likewise.
5570 * parallel.c (gomp_resolve_num_threads): Replace reference
5571 to nest_var with max_active_levels_var. Use max_active_levels_var
5572 field instead of gomp_max_active_levels_var.
5573
55742020-11-18 Tobias Burnus <tobias@codesourcery.com>
5575
5576 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
5577 nvptx_usleep; use also for device={arch(gcn)}.
5578
faab61b5
GA
55792020-11-14 Jakub Jelinek <jakub@redhat.com>
5580
5581 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
5582 (foo): Add tests for non-VLA private and firstprivate clauses on
5583 omp task.
5584 (bar): Likewise. Remove taking of address from private/firstprivate
5585 variables.
5586 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
5587 (foo): Add p, q, px and s arguments. Add tests for array reductions
5588 and for non-VLA private and firstprivate clauses on omp task.
5589 (bar): Removed.
5590 (main): Adjust foo caller. Don't call bar.
5591
77f67db2
GA
55922020-11-13 Gergö Barany <gergo@codesourcery.com>
5593 Thomas Schwinge <thomas@codesourcery.com>
5594
5595 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
5596 New.
5597 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
5598 Likewise.
5599 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
5600 Likewise.
5601 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
5602 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
5603
56042020-11-13 Gergö Barany <gergo@codesourcery.com>
5605 Thomas Schwinge <thomas@codesourcery.com>
5606
5607 PR fortran/94358
5608 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
5609
56102020-11-13 Jakub Jelinek <jakub@redhat.com>
5611
5612 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
5613 for array reductions.
5614 (main): Adjust foo callers.
5615
a5a11525
GA
56162020-11-12 Jakub Jelinek <jakub@redhat.com>
5617
5618 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
5619 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
5620 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
5621 * allocator.c (omp_aligned_alloc): New for now static function,
5622 add alignment argument and handle it.
5623 (omp_alloc): Reimplement using omp_aligned_alloc.
5624 (GOMP_alloc, GOMP_free): New functions.
5625 (omp_free): Add ialias.
5626 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
5627 * testsuite/libgomp.c++/allocate-1.C: New test.
5628
56292020-11-12 Thomas Schwinge <thomas@codesourcery.com>
5630
5631 PR fortran/97782
5632 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
5633
bb622641
GA
56342020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
5635
5636 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
5637 usable.
5638 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
5639 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
5640 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
5641 (goacc_enter_data_internal): Likewise.
5642 * target.c (gomp_map_vars_internal):
5643 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
5644 of gomp_attach_pointer for OpenMP cases.
5645 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
5646 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
5647 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
5648
0cfd9109
GA
56492020-11-05 Ulrich Drepper <drepper@redhat.com>
5650 Kwok Cheung Yeung <kcy@codesourcery.com>
5651
5652 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
5653 * Makefile.in: Regenerate.
5654 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
5655 pragmas to ignore -Wdeprecated-declarations warnings.
5656 * icv.c: Likewise.
5657 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
5658 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
5659 and omp_get_nested with __GOMP_DEPRECATED_5_0.
5660 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
5661 deprecated.
5662 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
5663 to test options.
5664 * testsuite/libgomp.c/affinity-1.c: Likewise.
5665 * testsuite/libgomp.c/affinity-2.c: Likewise.
5666 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
5667 * testsuite/libgomp.c/lib-1.c: Likewise.
5668 * testsuite/libgomp.c/nested-1.c: Likewise.
5669 * testsuite/libgomp.c/nested-2.c: Likewise.
5670 * testsuite/libgomp.c/nested-3.c: Likewise.
5671 * testsuite/libgomp.c/pr32362-1.c: Likewise.
5672 * testsuite/libgomp.c/pr32362-2.c: Likewise.
5673 * testsuite/libgomp.c/pr32362-3.c: Likewise.
5674 * testsuite/libgomp.c/pr35549.c: Likewise.
5675 * testsuite/libgomp.c/pr42942.c: Likewise.
5676 * testsuite/libgomp.c/pr61200.c: Likewise.
5677 * testsuite/libgomp.c/sort-1.c: Likewise.
5678 * testsuite/libgomp.c/target-5.c: Likewise.
5679 * testsuite/libgomp.c/target-6.c: Likewise.
5680 * testsuite/libgomp.c/teams-1.c: Likewise.
5681 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
5682 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5683 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
5684 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
5685 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5686 * testsuite/libgomp.fortran/lib2.f: Likewise.
5687 * testsuite/libgomp.fortran/nested1.f90: Likewise.
5688 * testsuite/libgomp.fortran/teams1.f90: Likewise.
5689
88ce3d5f
GA
56902020-11-02 Thomas Schwinge <thomas@codesourcery.com>
5691
5692 PR target/85486
5693 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
5694 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
5695 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
5696
56972020-11-02 Thomas Schwinge <thomas@codesourcery.com>
5698
5699 PR testsuite/80219
5700 PR testsuite/85303
5701 * testsuite/lib/libgomp.exp (libgomp_init): Set
5702 'gcc_warning_prefix', 'gcc_error_prefix'.
5703
57042020-10-30 Jakub Jelinek <jakub@redhat.com>
5705
5706 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
5707 even in field_tgt_clear initializer.
5708
e93aae4a
GA
57092020-10-28 Jakub Jelinek <jakub@redhat.com>
5710
5711 * testsuite/libgomp.c/target-42.c: New test.
5712
57132020-10-28 Jakub Jelinek <jakub@redhat.com>
5714 Tom de Vries <tdevries@suse.de>
5715
5716 PR testsuite/81690
5717 * testsuite/libgomp.c/usleep.h: New file.
5718 * testsuite/libgomp.c/target-32.c: Include usleep.h.
5719 (main): Use tgt_usleep instead of usleep.
5720 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
5721 (main): Use tgt_usleep instead of usleep.
5722
57232020-10-28 Jakub Jelinek <jakub@redhat.com>
5724
5725 PR lto/96680
5726 * testsuite/libgomp.c/declare-variant-1.c: New test.
5727
56ddd5e2
GA
57282020-10-22 Jakub Jelinek <jakub@redhat.com>
5729
5730 * testsuite/libgomp.c/target-41.c: New test.
5731
57322020-10-22 Jakub Jelinek <jakub@redhat.com>
5733
5734 * icv.c (omp_get_initial_device): Remove including corresponding
5735 ialias.
5736 * icv-device.c (omp_get_initial_device): New function. Return
5737 gomp_get_num_devices (). Add ialias.
5738 * target.c (resolve_device): Don't fail with
5739 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
5740 gomp_get_num_devices ().
5741 (omp_target_alloc, omp_target_free, omp_target_is_present,
5742 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
5743 omp_target_disassociate_ptr, omp_pause_resource): Use
5744 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
5745 first use in the functions, in uses dominated by the
5746 gomp_get_num_devices call use num_devices_openmp instead.
5747 * libgomp.texi (omp_get_initial_device): Document.
5748 * config/gcn/icv-device.c (omp_get_initial_device): New function.
5749 Add ialias.
5750 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
5751 * testsuite/libgomp.c/target-40.c: New test.
5752
57532020-10-21 Jakub Jelinek <jakub@redhat.com>
5754
5755 * env.c (parse_target_offload): Change new_offload var type to int,
5756 preinitialize to -1, remove found var and test new_offload != -1
5757 instead of found.
5758
e2e04288
GA
57592020-10-20 Jakub Jelinek <jakub@redhat.com>
5760
5761 * target.c (gomp_target_init): Inside of the function, use automatic
5762 variables corresponding to num_devices, num_devices_openmp and devices
5763 global variables and update the globals only at the end of the
5764 function.
5765
57662020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
5767
5768 * env.c (gomp_target_offload_var): New.
5769 (parse_target_offload): New.
5770 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
5771 (initialize_env): Parse OMP_TARGET_OFFLOAD.
5772 * libgomp.h (gomp_target_offload_t): New.
5773 (gomp_target_offload_var): New.
5774 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
5775 * target.c (resolve_device): Generate error if device not found and
5776 offloading is mandatory.
5777 (gomp_target_fallback): Generate error if offloading is mandatory.
5778 (GOMP_target): Add argument in call to gomp_target_fallback.
5779 (GOMP_target_ext): Likewise.
5780 (gomp_target_data_fallback): Generate error if offloading is mandatory.
5781 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
5782 (GOMP_target_data_ext): Likewise.
5783 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
5784 (gomp_target_init): Return early if offloading is disabled.
5785
b85d5dc5
GA
57862020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
5787
5788 * libgomp.texi (omp_get_max_active_levels): Modify description.
5789 (omp_get_supported_active_levels): Make descriptions consistent.
5790
b2698c21
GA
57912020-10-14 Jakub Jelinek <jakub@redhat.com>
5792
5793 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
5794
bdd74cc2
GA
57952020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
5796
5797 * env.c (gomp_max_active_levels_var): Initialize to
5798 gomp_supported_active_levels.
5799 (initialize_env): Limit gomp_max_active_levels_var to be at most
5800 equal to gomp_supported_active_levels.
5801 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
5802 (omp_get_supported_active_levels_): New.
5803 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
5804 to at most equal to gomp_supported_active_levels.
5805 (omp_get_supported_active_levels): New.
5806 * libgomp.h (gomp_supported_active_levels): New.
5807 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
5808 omp_get_supported_active_levels_.
5809 * libgomp.texi (omp_get_supported_active_levels): New.
5810 (omp_set_max_active_levels): Update. Add reference to
5811 omp_get_supported_active_levels.
5812 * omp.h.in (omp_get_supported_active_levels): New.
5813 * omp_lib.f90.in (omp_get_supported_active_levels): New.
5814 * omp_lib.h.in (omp_get_supported_active_levels): New.
5815 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
5816 against omp_get_supported_active_levels.
5817 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
5818
2baa36d4
GA
58192020-10-11 Clement Chigot <clement.chigot@atos.net>
5820
5821 * config/t-aix: Delete and recreate libgomp before creating
5822 FAT library.
5823
da9df699
GA
58242020-10-08 Tom de Vries <tdevries@suse.de>
5825
5826 PR libgomp/81802
5827 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
5828 dimensions.
5829
8e97b905
GA
58302020-10-06 Tom de Vries <tdevries@suse.de>
5831
5832 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
5833
58342020-10-06 Tom de Vries <tdevries@suse.de>
5835
5836 PR middle-end/90861
5837 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
5838
7e9282ae
GA
58392020-10-05 Tom de Vries <tdevries@suse.de>
5840
5841 PR fortran/95654
5842 * testsuite/libgomp.fortran/pr95654.f90: New test.
5843
b0b9b8f0
GA
58442020-10-02 Tobias Burnus <tobias@codesourcery.com>
5845
5846 * Makefile.in: Regenerate with automake 1.15.1.
5847 * aclocal.m4: Likewise.
5848 * configure: Likewise.
5849 * testsuite/Makefile.in: Likewise.
5850
660bfe61
GA
58512020-09-30 Andrew Stubbs <ams@codesourcery.com>
5852
5853 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
5854 and amdgcn targets.
5855
58562020-09-30 Tobias Burnus <tobias@codesourcery.com>
5857
5858 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
5859
93bca37c
GA
58602020-09-29 Andrew Stubbs <ams@codesourcery.com>
5861
5862 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
5863 total number of threads is one.
5864 (gomp_team_barrier_wake): Likewise.
5865 (gomp_team_barrier_wait_end): Likewise.
5866 (gomp_team_barrier_wait_cancel_end): Likewise.
5867 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
5868 (gomp_team_barrier_wake): Likewise.
5869 (gomp_team_barrier_wait_end): Likewise.
5870 (gomp_team_barrier_wait_cancel_end): Likewise.
5871 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
5872
e84761c6
GA
58732020-09-28 Tobias Burnus <tobias@codesourcery.com>
5874
5875 PR middle-end/96390
5876 * testsuite/libgomp.c++/pr96390.C: New test.
5877 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
5878
4383c595
GA
58792020-09-27 Clement Chigot <clement.chigot@atos.net>
5880
5881 * config/t-aix: Use $(AR) without -X32_64.
5882
cdd8f031
GA
58832020-09-25 Jakub Jelinek <jakub@redhat.com>
5884
5885 * testsuite/libgomp.c/loop-25.c: New test.
5886
521d2711
GA
58872020-09-22 Tobias Burnus <tobias@codesourcery.com>
5888
5889 PR fortran/95654
5890 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
5891
58922020-09-22 Tom de Vries <tdevries@suse.de>
5893
5894 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
5895 fails.
5896
ecde1b0a
GA
58972020-09-16 Nathan Sidwell <nathan@acm.org>
5898
5899 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
5900
9f7ab8c5
GA
59012020-09-15 Tobias Burnus <tobias@codesourcery.com>
5902
5903 PR fortran/96668
5904 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
5905
59062020-09-15 Tobias Burnus <tobias@codesourcery.com>
5907
5908 PR fortran/96668
5909 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
5910 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
5911 (gomp_map_vars_existing): Update call to it.
5912 (gomp_map_fields_existing): Likewise
5913 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
5914 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
5915 remapped.
5916 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
5917 GOMP_MAP_POINTER.
5918 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
5919 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
5920
50a71cd0
GA
59212020-09-14 Tom de Vries <tdevries@suse.de>
5922
5923 * config/nvptx/atomic.c: New file. Add
5924 __sync_val_compare_and_swap_16.
5925 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
5926 target offload_target_nvptx.
5927
31a05046
GA
59282020-09-08 Julian Brown <julian@codesourcery.com>
5929
5930 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
5931 iteration-ordering assumptions.
5932
59332020-09-08 Julian Brown <julian@codesourcery.com>
5934
5935 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
5936 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5937
5b9a3d2a
GA
59382020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
5939
5940 * plugin/plugin-nvptx.c (nvptx_free):
5941 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
5942 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
5943 comments.
5944
59452020-08-20 Tobias Burnus <tobias@codesourcery.com>
5946
5947 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
5948
b3cb5606
GA
59492020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
5950
5951 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
5952
59532020-08-13 Jakub Jelinek <jakub@redhat.com>
5954
5955 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
5956 * testsuite/libgomp.c/loop-23.c (main): Likewise.
5957 * testsuite/libgomp.c/loop-24.c: New test.
5958
bc0ca715
GA
59592020-08-08 Jakub Jelinek <jakub@redhat.com>
5960 Tobias Burnus <tobias@codesourcery.com>
5961
5962 PR fortran/93553
5963 * testsuite/libgomp.fortran/pr93553.f90: New test.
5964
aa5ea20c
GA
59652020-08-05 Jakub Jelinek <jakub@redhat.com>
5966
5967 * testsuite/libgomp.c/loop-22.c: New test.
5968 * testsuite/libgomp.c/loop-23.c: New test.
5969
59702020-08-05 Jakub Jelinek <jakub@redhat.com>
5971
5972 PR middle-end/96459
5973 * testsuite/libgomp.c/teams-3.c: New test.
5974 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
5975 if not defined yet.
5976 (N(test)): Use it before all N(f*) calls.
5977 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
5978 (main): Don't call all test_* functions from within
5979 #pragma omp teams reduction(|:err), call them directly.
5980
abba2591
GA
59812020-08-04 Tom de Vries <tdevries@suse.de>
5982
5983 PR target/96428
5984 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
5985 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
5986
6a1ad710
GA
59872020-08-03 Julian Brown <julian@codesourcery.com>
5988 Thomas Schwinge <thomas@codesourcery.com>
5989
5990 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
5991 shared-memory devices. Extend with further checking.
5992
59932020-08-03 Martin Jambor <mjambor@suse.cz>
5994
5995 * plugin/Makefrag.am: Remove configuration of HSA plugin.
5996 * aclocal.m4: Regenerated.
5997 * Makefile.in: Regenerated.
5998 * config.h.in: Regenerated.
5999 * configure: Regenerated.
6000 * plugin/configfrag.ac: Likewise.
6001 * plugin/hsa_ext_finalize.h: Removed.
6002 * plugin/plugin-hsa.c: Likewise.
6003 * testsuite/Makefile.in: Regenerated.
6004 * testsuite/lib/libgomp.exp
6005 (offload_target_to_openacc_device_type): Remove hsa case.
6006 (check_effective_target_hsa_offloading_selected_nocache): Removed
6007 (check_effective_target_hsa_offloading_selected): Likewise.
6008 (libgomp_init): Do not add -Wno-hsa to additional_flags.
6009 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
6010 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
6011 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
6012 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
6013 * testsuite/libgomp.hsa.c/c.exp: Likewise.
6014 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
6015 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
6016 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
6017 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
6018 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
6019 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
6020 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
6021 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
6022 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
6023 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
6024 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
6025 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
6026 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
6027 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
6028 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
6029 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
6030 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
6031 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
6032 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
6033
e71dab87
GA
60342020-07-27 Julian Brown <julian@codesourcery.com>
6035 Thomas Schwinge <thomas@codesourcery.com>
6036
6037 * libgomp.h (struct target_var_desc): Rename do_detach field to
6038 is_attach.
6039 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
6040 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
6041 (goacc_enter_data_internal): Don't affect reference counts
6042 for attach mappings.
6043 (goacc_exit_data_internal): Don't affect reference counts for detach
6044 mappings.
6045 * target.c (gomp_map_vars_existing): Don't affect reference counts for
6046 attach mappings.
6047 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
6048 mark attach mappings.
6049 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
6050 reference count for attach mappings.
6051 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
6052 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6053 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
6054 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
6055 test as shouldfail.
6056 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
6057 gracefully in no-finalize mode.
6058 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
6059
53256ee3
GA
60602020-07-24 Thomas Schwinge <thomas@codesourcery.com>
6061
6062 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
6063 use.
6064 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6065 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6066
9bb403dc
GA
60672020-07-23 Julian Brown <julian@codesourcery.com>
6068 Thomas Schwinge <thomas@codesourcery.com>
6069
6070 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
6071 finalization for detach operation.
6072 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
6073 New test.
6074
60752020-07-23 Tobias Burnus <tobias@codesourcery.com>
6076
6077 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
6078 * libgomp_f.h.in (omp_check_defines): Check whether
6079 sizeof of determined Fortran kind and C typedef match.
6080 * omp_lib.f90.in: Add omp_depened_kind.
6081 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
6082 * configure: Regenerate.
6083 * Makefile.in: Regenerate.
6084 * testsuite/Makefile.in: Regenerate.
6085
3ea9abca
GA
60862020-07-22 Tobias Burnus <tobias@codesourcery.com>
6087
6088 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
6089 gcc/testsuite/c-c++-common/gomp/.
6090 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
6091 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
6092 from gcc/testsuite/gfortran.dg/gomp/.
6093 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
6094
60952020-07-22 Tobias Burnus <tobias@codesourcery.com>
6096
6097 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
6098 * omp_lib.h.in: Likewise.
6099
aeb34e15
GA
61002020-07-18 H.J. Lu <hjl.tools@gmail.com>
6101
6102 PR target/95620
6103 * testsuite/libgomp.c/pr95620.c: New test.
6104
96686b3f
GA
61052020-07-16 Julian Brown <julian@codesourcery.com>
6106 Thomas Schwinge <thomas@codesourcery.com>
6107
6108 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
6109 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
6110
fe8185b5
GA
61112020-07-15 Tobias Burnus <tobias@codesourcery.com>
6112
6113 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
6114 avoid conversion on 32bit systems from 32bit to 64bit due
6115 to -fdefault-integer-8.
6116
61172020-07-15 Tobias Burnus <tobias@codesourcery.com>
6118
6119 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
6120 variables; add character(kind=4) tests; update TODO comment.
6121
61222020-07-15 Tobias Burnus <tobias@codesourcery.com>
6123
6124 * allocator.c: Add ialias for omp_init_allocator and
6125 omp_destroy_allocator.
6126 * configure.ac: Set INTPTR_T_KIND.
6127 * configure: Regenerate.
6128 * Makefile.in: Regenerate.
6129 * testsuite/Makefile.in: Regenerate.
6130 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
6131 omp_set_default_allocator_, omp_get_default_allocator_): New
6132 functions and ialias_redirect.
6133 * icv.c: Add ialias for omp_set_default_allocator and
6134 omp_get_default_allocator.
6135 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
6136 omp_destroy_allocator_, omp_set_default_allocator_ and
6137 omp_get_default_allocator_.
6138 * omp_lib.f90.in: Add allocator traits parameters, declare
6139 allocator routines and add related kind parameters.
6140 * omp_lib.h.in: Likewise.
6141 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
6142 * testsuite/libgomp.fortran/alloc-1.F90: New test.
6143 * testsuite/libgomp.fortran/alloc-2.F90: New test.
6144 * testsuite/libgomp.fortran/alloc-3.F: New test.
6145 * testsuite/libgomp.fortran/alloc-4.f90: New test.
6146 * testsuite/libgomp.fortran/alloc-5.f90: New test.
6147
8ca07a30
GA
61482020-07-14 Tom de Vries <tom@codesourcery.com>
6149 Cesar Philippidis <cesar@codesourcery.com>
6150 Thomas Schwinge <thomas@codesourcery.com>
6151 Kwok Cheung Yeung <kcy@codesourcery.com>
6152
6153 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
6154 New variable.
6155 (acc_init_1): Set acc_init_thread to pthread_self (). Set
6156 acc_init_state to initializing at the start, and to initialized at the
6157 end.
6158 (self_initializing_p): New function.
6159 (acc_get_device_type): Return acc_device_none if called by thread that
6160 is currently executing acc_init_1.
6161 * libgomp.texi (acc_get_device_type): Update documentation.
6162 (Implementation Status and Implementation-Defined Behavior): Likewise.
6163 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
6164
61652020-07-14 David Edelsohn <dje.gcc@gmail.com>
6166
6167 * config/t-aix: Set BITS from compiler cpp macro.
6168
61692020-07-14 Tobias Burnus <tobias@codesourcery.com>
6170
6171 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
6172
61732020-07-14 Tobias Burnus <tobias@codesourcery.com>
6174
6175 PR fortran/67311
6176 * testsuite/libgomp.fortran/target-map-1.f90: New test.
6177
61782020-07-14 Jakub Jelinek <jakub@redhat.com>
6179
6180 * testsuite/libgomp.c/loop-21.c: New test.
6181
ea69fcf9
GA
61822020-07-13 Julian Brown <julian@codesourcery.com>
6183 Thomas Schwinge <thomas@codesourcery.com>
6184
6185 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
6186
86536295
GA
61872020-07-10 Julian Brown <julian@codesourcery.com>
6188 Thomas Schwinge <thomas@codesourcery.com>
6189
6190 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
6191 dynamic_refcount.
6192 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
6193 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
6194 dynamic_refcount.
6195 (acc_unmap_data): Update comment.
6196 (goacc_map_var_existing, goacc_enter_datum): Adjust for
6197 dynamic_refcount semantics.
6198 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
6199 Adjust for dynamic_refcount semantics.
6200 (goacc_enter_data_internal): Implement "present" case of dynamic
6201 memory-map handling here. Update "non-present" case for
6202 dynamic_refcount semantics.
6203 (goacc_exit_data_internal): Use goacc_exit_datum_1.
6204 * target.c (gomp_map_vars_internal): Remove
6205 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
6206 handling.
6207 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
6208 (gomp_load_image_to_device): Substitute dynamic_refcount for
6209 virtual_refcount.
6210 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
6211 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
6212 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
6213 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
6214 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
6215 trace output.
6216 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
6217 trace output.
6218 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
6219 test.
6220 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
6221 Remove stale comment.
6222 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
6223 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
6224 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6225 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6226 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6227 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
6228
62292020-07-10 Julian Brown <julian@codesourcery.com>
6230 Thomas Schwinge <thomas@codesourcery.com>
6231
6232 * oacc-mem.c (goacc_map_var_existing): New function.
6233 (goacc_enter_datum): Use above function.
6234 (goacc_exit_datum_1): New function.
6235 (goacc_exit_datum): Use above function.
6236
3f8ca9cb
GA
62372020-07-09 Julian Brown <julian@codesourcery.com>
6238 Thomas Schwinge <thomas@codesourcery.com>
6239
6240 PR middle-end/95270
6241 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
6242 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
6243
62442020-07-09 Julian Brown <julian@codesourcery.com>
6245
6246 * oacc-mem.c (find_group_last): Group data-movement clauses
6247 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
6248 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
6249
62502020-07-09 Jakub Jelinek <jakub@redhat.com>
6251
6252 * testsuite/libgomp.c/loop-19.c: New test.
6253 * testsuite/libgomp.c/loop-20.c: New test.
6254
62552020-07-09 Jakub Jelinek <jakub@redhat.com>
6256
6257 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
6258 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
6259 it. Remove __omp_alloctrait_value_max__.
6260 * allocator.c (omp_init_allocator): Handle omp_atv_default for
6261 omp_atk_alignment and omp_atk_pool_size.
6262
b991c834
GA
62632020-07-03 Thomas Schwinge <thomas@codesourcery.com>
6264
6265 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
6266 behavior for 'GOMP_MAP_FORCE_FROM'.
6267 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
6268
62692020-07-03 Thomas Schwinge <thomas@codesourcery.com>
6270
6271 * oacc-mem.c (goacc_exit_data_internal): Remove
6272 'GOMP_MAP_ALWAYS_FROM' handling.
6273
46fbb6c6
GA
62742020-06-30 Thomas Schwinge <thomas@codesourcery.com>
6275
6276 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
6277 'scan-assembler' with 'scan-offload-rtl'.
6278 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
6279 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
6280 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
6281 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
6282
62832020-06-30 Thomas Schwinge <thomas@codesourcery.com>
6284
6285 * target.c (gomp_map_vars_existing): Assert 'kind !=
6286 GOMP_MAP_ATTACH'.
6287 (gomp_map_vars_internal): Clean up.
6288
9a33c41f
GA
62892020-06-27 Jakub Jelinek <jakub@redhat.com>
6290
6291 * testsuite/libgomp.c/loop-17.c: New test.
6292 * testsuite/libgomp.c/loop-18.c: New test.
6293
c9c05f73
GA
62942020-06-26 Marek Polacek <polacek@redhat.com>
6295
6296 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
6297
4543acc8
GA
62982020-06-23 Alexandre Oliva <oliva@adacore.com>
6299
6300 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
6301 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
6302
605a8f3b
GA
63032020-06-22 David Edelsohn <dje.gcc@gmail.com>
6304
6305 * Makefile.am: Use -include.
6306 * Makefile.in: Regenerate.
6307
f86e11a2
GA
63082020-06-21 David Edelsohn <dje.gcc@gmail.com>
6309
6310 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
6311 * Makefile.in: Regenerate
6312 * configure.ac (tmake_file): Substitute.
6313 * configure: Regenerate.
6314 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
6315 * config/t-aix: New file.
6316
aff95ee7
GA
63172020-06-17 Thomas Schwinge <thomas@codesourcery.com>
6318
6319 PR lto/94848
6320 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
6321 'dg-do run'.
6322
63232020-06-17 Andrew Stubbs <ams@codesourcery.com>
6324
6325 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
6326 variant for HSA_RUNTIME_LIB name.
6327 (find_executable_symbol_1): Delete.
6328 (find_executable_symbol): Delete.
6329 (init_kernel_properties): Add ".kd" suffix to symbol names.
6330 (find_load_offset): Delete.
6331 (create_and_finalize_hsa_program): Remove relocation handling.
6332
56638b9b
GA
63332020-06-16 Tobias Burnus <tobias@codesourcery.com>
6334
6335 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
6336
2c455ae0
GA
63372020-06-08 Tobias Burnus <tobias@codesourcery.com>
6338
6339 PR lto/94848
6340 PR middle-end/95551
6341 * testsuite/libgomp.fortran/target-var.f90: New test.
6342
1a59f3db
GA
63432020-06-05 Thomas Schwinge <thomas@codesourcery.com>
6344 Julian Brown <julian@codesourcery.com>
6345
6346 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
6347 special handling.
6348
63492020-06-05 Thomas Schwinge <thomas@codesourcery.com>
6350 Julian Brown <julian@codesourcery.com>
6351
6352 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6353 Simplify.
6354
63552020-06-05 Julian Brown <julian@codesourcery.com>
6356
6357 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
6358 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
6359
3add3425
GA
63602020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6361
6362 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6363 Evaluate 'copyfrom' individually for each entry.
6364 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
6365
63662020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6367
6368 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
6369 Evaluate 'finalize' individually for each entry.
6370 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
6371 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
6372 file.
6373
63742020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6375
6376 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
6377 usage.
6378 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
6379
63802020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6381 Julian Brown <julian@codesourcery.com>
6382
6383 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
6384 checking.
6385 (acc_unmap_data, goacc_exit_data_internal): Restore
6386 'is_tgt_unmapped' checking.
6387 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
6388 file.
6389 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
6390 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
6391 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6392 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6393 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6394 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
6395
63962020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6397 Julian Brown <julian@codesourcery.com>
6398
6399 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
6400
64012020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6402
6403 PR libgomp/92854
6404 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
6405
64062020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6407
6408 PR libgomp/92854
6409 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
6410 more.
6411
64122020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6413 Julian Brown <julian@codesourcery.com>
6414
6415 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
6416 'gomp_map_vars'.
3d3b561f 6417 (acc_map_data): Clean up accordingly.
3add3425
GA
6418
64192020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6420
6421 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
6422 of over-eager 'finalize' clause.
6423 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
6424 file.
6425 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
6426 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
6427 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
6428 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
6429 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
6430 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
6431 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
6432 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
6433
64342020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6435
6436 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
6437
64382020-06-04 Julian Brown <julian@codesourcery.com>
6439
6440 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
6441 error path.
6442 (goacc_detach_internal): Likewise.
6443
64442020-06-04 Thomas Schwinge <thomas@codesourcery.com>
6445
6446 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
6447 the checkpoint.
6448 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
6449 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
6450 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
6451 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
6452 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
6453
a9312a79
GA
64542020-06-02 Jakub Jelinek <jakub@redhat.com>
6455
6456 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
6457 defined.
6458
945b53cc
GA
64592020-05-30 Jakub Jelinek <jakub@redhat.com>
6460
6461 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
6462
64632020-05-30 Jakub Jelinek <jakub@redhat.com>
6464
6465 * allocator.c (omp_alloc): For size == 0, return NULL early.
6466
885ef72f
GA
64672020-05-29 H.J. Lu <hjl.tools@gmail.com>
6468
6469 PR bootstrap/95413
6470 * configure: Regenerated.
6471
8df7ee67
TK
64722020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
6473
6474 PR libfortran/95191
6475 * testsuite/libgomp.fortran/async_io_9.f90: New test.
6476
800bcc8c
JJ
64772020-05-19 Jakub Jelinek <jakub@redhat.com>
6478
6479 * omp.h.in (omp_uintptr_t): New typedef.
6480 (__GOMP_UINTPTR_T_ENUM): Define.
6481 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
6482 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
6483 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
6484 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
6485 omp_get_default_allocator, omp_alloc, omp_free): Declare.
6486 * libgomp.h (struct gomp_team_state): Add def_allocator field.
6487 (gomp_def_allocator): Declare.
6488 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
6489 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
6490 omp_alloc and omp_free.
6491 * team.c (gomp_team_start): Copy over ts.def_allocator.
6492 * env.c (gomp_def_allocator): New variable.
6493 (parse_wait_policy): Adjust function comment.
6494 (parse_allocator): New function.
6495 (handle_omp_display_env): Print OMP_ALLOCATOR.
6496 (initialize_env): Call parse_allocator.
6497 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
6498 * allocator.c: New file.
6499 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
6500 functions.
6501 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
6502 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
6503 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
6504 * Makefile.in: Regenerated.
6505
4c1a5d8b
L
65062020-05-15 H.J. Lu <hongjiu.lu@intel.com>
6507
6508 PR bootstrap/95147
6509 * configure: Regenerated.
6510
cdc34b50
TK
65112020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
6512
6513 PR libfortran/95119
6514 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
6515
65162020-05-14 H.J. Lu <hongjiu.lu@intel.com>
6517
6518 * configure: Regenerated.
6519
65202020-05-14 Jakub Jelinek <jakub@redhat.com>
6521
6522 * testsuite/libgomp.c-c++-common/target-40.c: New test.
6523
f884bef2
TB
65242020-05-13 Tobias Burnus <tobias@codesourcery.com>
6525
6526 PR fortran/94690
6527 * testsuite/libgomp.fortran/pr66199-3.f90: New.
6528 * testsuite/libgomp.fortran/pr66199-4.f90: New.
6529 * testsuite/libgomp.fortran/pr66199-5.f90: New.
6530 * testsuite/libgomp.fortran/pr66199-6.f90: New.
6531 * testsuite/libgomp.fortran/pr66199-7.f90: New.
6532 * testsuite/libgomp.fortran/pr66199-8.f90: New.
6533 * testsuite/libgomp.fortran/pr66199-9.f90: New.
6534
dc703151
JJ
65352020-05-12 Jakub Jelinek <jakub@redhat.com>
6536
6537 * testsuite/libgomp.c/target-39.c: New test.
6538
b9dc11b6
TS
65392020-04-29 Thomas Schwinge <thomas@codesourcery.com>
6540
a5d0bc12
TS
6541 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
6542 * openacc.f90 (acc_device_current): Likewise.
6543 * openacc.h (acc_device_current): Likewise.
6544 * openacc_lib.h (acc_device_current): Likewise.
6545
7f198924
TS
6546 PR target/94282
6547 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
6548 'dg-allow-blank-lines-in-output'.
6549
4912a04f
TS
6550 * oacc-init.c (get_openacc_name): Handle 'gcn'.
6551 * testsuite/lib/libgomp.exp
6552 (offload_target_to_openacc_device_type) [amdgcn*]: Return
6553 'radeon'. Adjust all users.
6554 (check_effective_target_openacc_amdgcn_accel_present): Rename
6555 to...
6556 (check_effective_target_openacc_radeon_accel_present): ... this.
6557 Adjust all users.
6558 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
6559 (check_effective_target_openacc_radeon_accel_selected): ... this.
6560 Adjust all users.
6561
b9dc11b6
TS
6562 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
6563 'dg-do run'.
6564
966de09b
AS
65652020-04-23 Andrew Stubbs <ams@codesourcery.com>
6566
6567 PR other/94629
6568
6569 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
6570 hsa_iterate_agents.
6571 (GOMP_OFFLOAD_init_device): Check return values from both calls to
6572 hsa_agent_iterate_regions.
6573
3f5d94c1
TS
65742020-04-20 Thomas Schwinge <thomas@codesourcery.com>
6575
6576 PR middle-end/94635
6577 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
6578 run'.
6579
85d8c05a
TB
65802020-04-20 Tobias Burnus <tobias@codesourcery.com>
6581
6582 PR middle-end/94120
6583 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
6584 test case.
6585
af557050
TB
65862020-04-17 Tobias Burnus <tobias@codesourcery.com>
6587
6588 PR middle-end/94635
6589 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
6590
af4c9257
TS
65912020-04-13 Thomas Schwinge <thomas@codesourcery.com>
6592
6593 PR libgomp/92843
6594 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
6595 Rename to...
6596 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
6597 ... this.
6598 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
6599 Rename to...
6600 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
6601 ... this.
6602 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
6603 Rename to...
6604 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
6605 ... this.
6606 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
6607 Rename to...
6608 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
6609 ... this.
6610 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
6611 Rename to...
6612 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
6613 ... this.
6614 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
6615 Rename to...
6616 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
6617 ... this.
6618 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
6619 Rename to...
6620 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
6621 ... this.
6622 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
6623 Rename to...
6624 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
6625 ... this.
6626 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
6627 Rename to...
6628 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
6629 ... this.
6630 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
6631 Rename to...
6632 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
6633 ... this.
6634 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
6635 Rename to...
6636 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
6637 ... this.
6638 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
6639 Rename to...
6640 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
6641 ... this.
6642 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
6643 Rename to...
6644 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
6645 ... this.
6646 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
6647 Rename to...
6648 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
6649 ... this.
6650 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
6651 Rename to...
6652 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
6653 ... this.
6654 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
6655 Rename to...
6656 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
6657 ... this.
6658
be9862dd
JB
66592020-04-10 Julian Brown <julian@codesourcery.com>
6660 Thomas Schwinge <thomas@codesourcery.com>
6661
6662 PR libgomp/92843
6663 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
6664 New file.
6665 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
6666 Likewise.
6667 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
6668 Likewise.
6669 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
6670 Likewise.
6671 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
6672 Likewise.
6673 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
6674 Likewise.
6675 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
6676 Likewise.
6677 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
6678 Likewise.
6679 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
6680 Likewise.
6681 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
6682 Likewise.
6683 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
6684 Likewise.
6685 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
6686 Likewise.
6687 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
6688 Likewise.
6689 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
6690 Likewise.
6691 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
6692 Likewise.
6693 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
6694 Likewise.
6695
6b816a5f
TS
66962020-04-10 Thomas Schwinge <thomas@codesourcery.com>
6697
6698 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
6699 run'.
6700
13e41d8b
TB
67012020-04-08 Tobias Burnus <tobias@codesourcery.com>
6702
6703 PR middle-end/94120
6704 * libgomp.oacc-c++/declare-pr94120.C: New.
6705
749bd22d
MR
67062020-04-06 Maciej W. Rozycki <macro@wdc.com>
6707
6708 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
6709 files.
6710 * configure: Regenerate.
6711 * testsuite/libgomp-site-extra.exp.in: New file.
6712 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
6713 variable.
6714 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
6715 variable.
6716 * testsuite/Makefile.in: Regenerate.
6717
2b1e849b
TS
67182020-04-03 Thomas Schwinge <thomas@codesourcery.com>
6719
6720 PR tree-optimization/89713
6721 PR c/94392
6722 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
6723 'bar.sync'.
6724 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
6725
689418b9
TB
67262020-03-31 Tobias Burnus <tobias@codesourcery.com>
6727
6728 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
6729 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
6730
c2211a60
TB
67312020-03-24 Tobias Burnus <tobias@codesourcery.com>
6732
6733 PR libgomp/81689
6734 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
6735
4897bb00
TB
67362020-03-20 Tobias Burnus <tobias@codesourcery.com>
6737
6738 PR libgomp/94251
6739 * target.c (gomp_load_image_to_device): Fix link
6740 variable handling.
6741
02f7334a
JJ
67422020-03-19 Jakub Jelinek <jakub@redhat.com>
6743
6744 PR c++/93931
6745 * testsuite/libgomp.c++/pr93931.C: New test.
6746
bb83e069
TB
67472020-03-19 Tobias Burnus <tobias@codesourcery.com>
6748
6749 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
6750 dg-allow-blank-lines-in-output.
6751
26cbcfe5
TB
67522020-03-18 Julian Brown <julian@codesourcery.com>
6753 Tobias Burnus <tobias@codesourcery.com>
6754
6755 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
6756 it work concurrently.
6757
4da92887
TB
67582020-03-18 Tobias Burnus <tobias@codesourcery.com>
6759
6760 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
6761 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
6762 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
6763
9c3cdb43
JJ
67642020-03-14 Jakub Jelinek <jakub@redhat.com>
6765
6766 PR middle-end/93566
6767 * testsuite/libgomp.c/pr93566.c: New test.
6768
83d45e1d
FH
67692020-02-21 Frederik Harwath <frederik@codesourcery.com>
6770
6771 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
6772 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
6773 integer(acc_device_property) for the type of the return value of
6774 acc_get_property.
6775
8d1a1cb1
TB
67762020-02-19 Tobias Burnus <tobias@codesourcery.com>
6777
6778 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
6779 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
6780 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
6781 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
6782 (acc_set_device_num): Fix Fortran argument name, use same name for C.
6783 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
6784 corrections; add note about the previous interface and named constant.
6785 (OpenACC library and environment variables): Fix two typos.
6786 * openacc.f90: Use for all procedures the argument names from the spec
6787 as for …_h they are user visible.
6788 (openacc_kinds): Rename acc_device_property to
6789 acc_device_property_kinds and change value to int32 ; and update users.
6790 Re-add acc_device_property for for backward compatibility.
6791 (acc_get_property_string_h): Clean up as acc_device_property_kind
6792 changed.
6793 (acc_get_property_h): Likewise and return c_size_t instead of
6794 acc_device_property.
6795 (openacc): Also export acc_device_property_kinds.
6796 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
6797 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
6798 handling; check against /= 0 instead of == 1 to match C.
6799 * openacc_lib.h: Use for all procedures the argument names from the spec
6800 as for …_h they are user visible. Place !GCC$ into the first column to
6801 be active also for fixed-form souce form.
6802 (acc_device_current, acc_device_property_kind, acc_device_property,
6803 acc_property_memory, acc_property_free_memory, acc_property_name,
6804 acc_property_vendor, acc_property_driver): New named constants.
6805 (acc_get_property, acc_get_property_string): New generic interface.
6806
2d9eb4e4
FH
68072020-02-13 Frederik Harwath <frederik@codesourcery.com>
6808
6809 PR libgomp/93481
6810 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
6811 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
6812 optional.
6813 (gomp_target_task_fn): Assert "devicep->async_run_func".
6814 (clear_unsupported_flags): New function to remove unsupported flags
6815 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
6816 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
6817 * testsuite/libgomp.c/target-33.c:
6818 Remove xfail for offload_target_nvptx.
6819 * testsuite/libgomp.c/target-34.c: Likewise.
fd789c81
FH
6820
68212020-02-10 Frederik Harwath <frederik@codesourcery.com>
6822
6823 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
6824 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
6825 * testsuite/libgomp.c/target-34.c: Likewise.
6826 * testsuite/libgomp.c/target-link-1.c: Add xfail for
6827 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
6828
9bc3b95d
JJ
68292020-02-09 Jakub Jelinek <jakub@redhat.com>
6830
6831 * testsuite/libgomp.c/target-38.c: New test.
6832
cb3f0648
JJ
68332020-02-06 Jakub Jelinek <jakub@redhat.com>
6834
6835 PR libgomp/93515
6836 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
6837
91bc3c98
TB
68382020-02-05 Tobias Burnus <tobias@codesourcery.com>
6839
6840 * testsuite/lib/libgomp.exp
6841 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
6842 and not as 'source' argument to libgomp_target_compile.
6843
591f869a
AS
68442020-02-03 Andrew Stubbs <ams@codesourcery.com>
6845
6846 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
6847 (gcn_gfx801_s): Remove.
6848 (isa_hsa_name): Remove gfx801.
6849 (isa_gcc_name): Remove gfx801/carizzo.
6850 (isa_code): Remove gfx801.
6851
e464fc90
TB
68522020-02-03 Julian Brown <julian@codesourcery.com>
6853 Tobias Burnus <tobias@codesourcery.com>
6854
6855 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
6856 and *_finalize variants; document acc_attach and acc_detach; update
6857 references from OpenACC 2.0 to 2.6.
6858 * openacc.f90 (openacc_version): Update to 201711.
6859 * openacc_lib.h (openacc_version): Update to 201711.
6860 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
6861 openacc_version to 201711.
6862 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6863
5a28e272
KCY
68642020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
6865
6866 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
6867 and vgpr_count fields.
6868 (struct kernel_info): Add a field for a hsa_kernel_description.
6869 (run_kernel): Reduce the number of threads/workers if the requested
6870 number would require too many VGPRs.
6871 (init_basic_kernel_info): Initialize description field with
6872 the hsa_kernel_description entry for the kernel.
6873
5ab5d81b
TB
68742020-01-29 Tobias Burnus <tobias@codesourcery.com>
6875
6876 PR bootstrap/93409
6877 * plugin/configfrag.ac (enable_offload_targets): Skip
6878 HSA and GCN plugin besides -m32 also for -mx32.
6879 * configure: Regenerate.
6880
989a5fb3
FH
68812020-01-29 Frederik Harwath <frederik@codesourcery.com>
6882
6883 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
2e5ea579
FH
6884
68852020-01-29 Frederik Harwath <frederik@codesourcery.com>
6886
6887 * plugin-gcn.c (struct agent_info): Add fields "name" and
6888 "vendor_name" ...
6889 (GOMP_OFFLOAD_init_device): ... and init from here.
6890 (struct hsa_context_info): Add field "driver_version_s" ...
6891 (init_hsa_contest): ... and init from here.
6892 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
6893 implementation.
6894 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
6895 Enable test execution for amdgcn and host offloading targets.
6896 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
6897 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
6898 (expect_device_properties): Split function into ...
6899 (expect_device_string_properties): ... this new function ...
6900 (expect_device_memory): ... and this new function.
6901 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
6902 Add test.
6903
278c3214
JB
69042020-01-28 Julian Brown <julian@codesourcery.com>
6905
6906 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
6907 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
6908 component/non-component variable refs in a single directive.
6909 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
6910
e8e66971
MR
69112020-01-24 Maciej W. Rozycki <macro@wdc.com>
6912
6913 * configure.ac: Handle `--with-toolexeclibdir='.
6914 * Makefile.in: Regenerate.
6915 * aclocal.m4: Regenerate.
6916 * configure: Regenerate.
6917 * testsuite/Makefile.in: Regenerate.
6918
9e424d97
FH
69192020-01-24 Frederik Harwath <frederik@codesourcery.com>
6920
6921 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
6922 (expect_device_properties): Remove "expected_free_mem" argument,
6923 change "expected_total_mem" argument type to size_t;
6924 change types of acc_get_property results to size_t,
6925 adapt format strings.
6926 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
6927 Use %zu instead of %zd to print size_t values.
6928 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
6929 rename to ...
6930 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
6931 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
6932 rename to ...
6933 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
6934
14e5e746
AS
69352020-01-23 Andrew Stubbs <ams@codesourcery.com>
6936
6937 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
6938 the device id.
6939
09e0ad62
AS
69402020-01-20 Andrew Stubbs <ams@codesourcery.com>
6941
6942 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
6943 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
6944 Adjust test dimensions for amdgcn.
6945 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
6946 gang/worker/vector expectations dynamically.
6947 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
6948 (main): Likewise.
6949 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
6950 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
6951 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
6952 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
6953 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
6954 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
6955 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
6956 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
6957 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
6958 (acc_gang): Recognise acc_device_radeon.
6959 (acc_worker): Likewise.
6960 (acc_vector): Likewise.
6961 (main): Set expectations for amdgcn.
6962 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
6963 (main): Adjust gang/worker/vector expectations dynamically.
6964 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
6965 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
6966 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
6967 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
6968 for amdgcn.
6969
6687d13a
AS
69702020-01-17 Andrew Stubbs <ams@codesourcery.com>
6971
6972 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
6973 acc_device_radeon.
6974 (openacc): Likewise.
6975 * openacc.f90 (openacc_kinds): Likewise.
6976 (openacc): Likewise.
6977 * openacc.h (acc_device_t): Likewise.
6978 * openacc_lib.h: Likewise.
6979 * testsuite/lib/libgomp.exp
6980 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
6981 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
6982 (cb_compute_construct_end): Likewise.
6983 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
6984 (cb_enqueue_launch_start): Likewise.
6985 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
6986 (cb_enter_data_end): Likewise.
6987 (cb_exit_data_start): Likewise.
6988 (cb_exit_data_end): Likewise.
6989 (cb_compute_construct_end): Likewise.
6990 (cb_enqueue_launch_start): Likewise.
6991 (cb_enqueue_launch_end): Likewise.
6992 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
6993 (main): Likewise.
6994
b3b75e66
TS
69952020-01-10 Thomas Schwinge <thomas@codesourcery.com>
6996
6fc0385c
TS
6997 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
6998 to use this instead of 'enum gomp_device_property'.
6999 (GOMP_OFFLOAD_get_property): Rename to...
7000 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
7001 * libgomp.h (struct gomp_device_descr): Move
7002 'GOMP_OFFLOAD_openacc_get_property'...
7003 (struct acc_dispatch_t): ... here. Adjust all users.
7004 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
7005
b3b75e66
TS
7006 * target.c (gomp_map_vars_internal)
7007 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
7008 paths.
7009
91df4397
JJ
70102020-01-10 Jakub Jelinek <jakub@redhat.com>
7011
7012 PR libgomp/93219
7013 * libgomp.h (gomp_print_string): Change return type from void to int.
7014 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
7015 not all characters have been written.
7016
df2c0d36
TB
70172020-01-08 Tobias Burnus <tobias@codesourcery.com>
7018
7019 * libgomp.texi: Fix typos, use https.
7020
f760c0c7
TB
70212020-01-03 Tobias Burnus <tobias@codesourcery.com>
7022
7023 * testsuite/libgomp.fortran/optional-map.f90: Add test for
7024 unallocated/disassociated actual arguments to nonallocatable/nonpointer
7025 dummy arguments; those are/shall be regarded as absent arguments.
7026 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
7027 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
7028
7e7065b9
JJ
70292020-01-01 Jakub Jelinek <jakub@redhat.com>
7030
8d9254fc
JJ
7031 Update copyright years.
7032
7e7065b9
JJ
7033 * libgomp.texi: Bump @copying's copyright year.
7034
2c829799
AM
70352019-12-31 Ayush Mittal <ayush.m@samsung.com>
7036
7037 PR libgomp/93065
7038 * oacc-init.c (goacc_runtime_deinitialize): New function.
7039
e9dcb75e
JJ
70402019-12-28 Jakub Jelinek <jakub@redhat.com>
7041
7042 PR bootstrap/93074
7043 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
7044 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
7045
6c84c8bf
MR
70462019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
7047 Frederik Harwath <frederik@codesourcery.com>
7048 Thomas Schwinge <tschwinge@codesourcery.com>
7049
7050 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
7051 * libgomp-plugin.h (gomp_device_property_value): New union.
7052 (gomp_device_property_value): New prototype.
7053 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
7054 constant.
7055 (acc_device_property_t): New enum.
7056 (acc_get_property, acc_get_property_string): New prototypes.
7057 * oacc-init.c (acc_get_device_type): Also assert that result
7058 is not `acc_device_current'.
7059 (get_property_any, acc_get_property, acc_get_property_string):
7060 New functions.
7061 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
7062 `acc_property_memory', `acc_property_free_memory',
7063 `acc_property_name', `acc_property_vendor' and
7064 `acc_property_driver' constants. Add `acc_device_property' data
7065 type.
7066 (openacc_internal): Add `acc_get_property' and
7067 `acc_get_property_string' interfaces. Add `acc_get_property_h',
7068 `acc_get_property_string_h', `acc_get_property_l' and
7069 `acc_get_property_string_l'.
7070 * oacc-host.c (host_get_property): New function.
7071 (host_dispatch): Wire it.
7072 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
7073 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
7074 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
7075 * libgomp.texi (OpenACC Runtime Library Routines): Add
7076 `acc_get_property'.
7077 (acc_get_property): New node.
7078 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
7079 function (stub).
7080 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
7081 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
7082 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
7083 calls.
7084 (GOMP_OFFLOAD_get_property): New function.
7085 (struct ptx_device): Add new field "name".
7086 (cuda_driver_version_s): Add new static variable ...
7087 (nvptx_init): ... and init from here.
7088
7089 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
7090 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
7091 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
7092 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
7093 with test helper functions.
7094
7095 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
7096
c8e759b4
MR
70972019-12-22 Maciej W. Rozycki <macro@wdc.com>
7098
7099 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
7100 variable.
7101
b092fb3b
TS
71022019-12-21 Thomas Schwinge <thomas@codesourcery.com>
7103
7104 * target.c (gomp_map_vars_internal): Restore 'omp declare target
7105 link' handling.
7106
9be3ac5d
JB
71072019-12-19 Julian Brown <julian@codesourcery.com>
7108
7109 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
7110 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
7111 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
7112
02817027
JB
71132019-12-19 Julian Brown <julian@codesourcery.com>
7114 Cesar Philippidis <cesar@codesourcery.com>
7115
7116 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
7117 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
7118 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
7119 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
7120 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
7121 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
7122 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
7123 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
7124 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
7125 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
7126 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
7127 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
7128 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
7129
c2eb021f
JB
71302019-12-19 Julian Brown <julian@codesourcery.com>
7131
7132 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
7133 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
7134 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
7135 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
7136 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
7137 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
7138 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
7139 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
7140 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
7141 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
7142 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
7143 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
7144
8e7e71ff
JB
71452019-12-19 Julian Brown <julian@codesourcery.com>
7146
7147 * libgomp.h (struct target_var_desc): Add do_detach flag.
7148 * oacc-init.c (acc_shutdown_1): Free aux block if present.
7149 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
7150 struct components. Tidy up and add some new checks.
7151 (goacc_enter_data_internal): Update call to find_group_last.
7152 (goacc_exit_data_internal): Support detach operations and
7153 GOMP_MAP_STRUCT.
7154 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
7155 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
7156 attach/detach in enter/exit data detection code.
7157 * target.c (gomp_map_vars_existing): Initialise do_detach field of
7158 tgt_var_desc.
7159 (gomp_map_vars_internal): Support attach.
7160 (gomp_unmap_vars_internal): Support detach.
7161
5d5be7bf
JB
71622019-12-19 Julian Brown <julian@codesourcery.com>
7163 Thomas Schwinge <thomas@codesourcery.com>
7164
7165 * libgomp.h (struct splay_tree_aux): Add attach_count field.
7166 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
7167 * libgomp.map (OACC_2.6): New section. Add acc_attach,
7168 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
7169 acc_detach_finalize_async.
7170 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
7171 acc_detach, acc_detach_async, acc_detach_finalize,
7172 acc_detach_finalize_async): New functions.
7173 * openacc.h (acc_attach, acc_attach_async, acc_detach,
7174 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
7175 prototypes.
7176 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
7177 (gomp_remove_var_internal): Free attachment counts if present.
7178 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
7179 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
7180
5bcd470b
JB
71812019-12-19 Julian Brown <julian@codesourcery.com>
7182 Cesar Philippidis <cesar@codesourcery.com>
7183
7184 * libgomp.h (gomp_map_val): Add prototype.
7185 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
7186 open-coding device-address calculation.
7187 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
7188 non-present case.
7189
378da98f
JB
71902019-12-19 Julian Brown <julian@codesourcery.com>
7191
7192 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
7193 field for virtual_refcount.
7194 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
7195 (gomp_free_memmap): Remove prototype.
7196 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
7197 instead of calling gomp_free_memmap.
7198 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
7199 dynamic_refcount.
7200 (acc_unmap_data): Open code instead of forcing target_mem_desc's
7201 to_free field to NULL then calling gomp_unmap_vars. Handle
7202 REFCOUNT_INFINITY on target blocks.
7203 (goacc_enter_data): Rename to...
7204 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
7205 handling for mapping groups. Use virtual_refcount instead of
7206 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
7207 map_map_vars_async call. Re-do lookup for target pointer return value.
7208 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
7209 renamed goacc_enter_datum function.
7210 (goacc_exit_data): Rename to...
7211 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
7212 (acc_delete, acc_delete_async, acc_delete_finalize,
7213 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
7214 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
7215 goacc_exit_datum function.
7216 (gomp_acc_remove_pointer, find_pointer): Remove functions.
7217 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
7218 New functions.
7219 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
7220 goacc_exit_data_internal helper functions.
7221 * target.c (gomp_map_vars_internal): Handle
7222 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
7223 semantics.
7224 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
7225 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
7226 virtual_refcount field instead of dynamic_refcount.
7227 (gomp_free_memmap): Remove function.
7228 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
7229 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
7230 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
7231
2a656a93
JB
72322019-12-19 Julian Brown <julian@codesourcery.com>
7233 Thomas Schwinge <thomas@codesourcery.com>
7234
7235 * libgomp.h (struct splay_tree_aux): New.
7236 (struct splay_tree_key_s): Replace link_key field with aux pointer.
7237 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
7238 to aux struct.
7239 (gomp_remove_var_internal): Free aux block if present.
7240 (gomp_load_image_to_device): Zero-initialise aux field instead of
7241 link_key field.
7242 (omp_target_associate_pointer): Zero-initialise aux field.
7243
601399c0
JJ
72442019-12-18 Jakub Jelinek <jakub@redhat.com>
7245
7246 PR middle-end/86416
7247 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
7248 q or none.
7249 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
7250 L or none.
7251
a6163563
JB
72522019-12-19 Julian Brown <julian@codesourcery.com>
7253 Maciej W. Rozycki <macro@codesourcery.com>
7254 Tobias Burnus <tobias@codesourcery.com>
7255 Thomas Schwinge <thomas@codesourcery.com>
7256
7257 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
7258 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
7259 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
7260 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
7261 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
7262 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
7263 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
7264 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
7265 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
7266
6278b549
TS
72672019-12-18 Thomas Schwinge <thomas@codesourcery.com>
7268
77ce5555
TS
7269 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7270 called...
7271 (goacc_insert_pointer): ... from here, "present" case.
7272 (goacc_insert_pointer): Inline function into...
7273 (GOACC_enter_exit_data): ... here, and simplify.
7274
9444a299
TS
7275 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
7276 called...
7277 (goacc_insert_pointer): ... from here, "not present" case.
7278
5031b619
TS
7279 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
7280 all users.
7281
1a79b578
TS
7282 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
7283 'goacc_enter_data', 'goacc_exit_data'.
7284
34cfe31e
TS
7285 * oacc-mem.c (delete_copyout): Refactor into...
7286 (goacc_exit_data): ... this. Adjust all users.
7287
aaf0e9d7
TS
7288 * oacc-mem.c (present_create_copy): Refactor into...
7289 (goacc_enter_data): ... this. Adjust all users.
7290
83d1d065
TS
7291 * target.c (gomp_unmap_vars_internal): Add a safeguard to
7292 'gomp_remove_var'.
7293
cc3f11f5
TS
7294 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
7295 like 'GOMP_MAP_FROM'.
7296
ddb25eb9
TS
7297 PR libgomp/92726
7298 PR libgomp/92970
7299 PR libgomp/92984
7300 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
7301 fails.
7302 (GOACC_enter_exit_data): Simplify accordingly.
7303 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
7304 subsuming...
7305 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
7306 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
7307 file.
7308 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
7309 subsuming...
7310 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
7311 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
7312 file.
7313 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
7314 subsuming...
7315 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
7316
32128577
TS
7317 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
7318 'finalize' handling.
7319
ba40277f
TS
7320 PR libgomp/92848
7321 * oacc-mem.c (acc_map_data, present_create_copy)
7322 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
7323 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
7324 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
7325 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
7326 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
7327 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
7328 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
7329 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
7330 Remove "XFAIL"s.
7331
6278b549
TS
7332 * target.c (gomp_unmap_tgt): Make it 'static'.
7333 * libgomp.h (gomp_unmap_tgt): Remove.
7334
c80c9e26
TB
73352019-12-18 Tobias Burnus <tobias@codesourcery.com>
7336
7337 PR middle-end/86416
7338 * testsuite/libgomp.c/pr86416-1.c: New.
7339 * testsuite/libgomp.c/pr86416-2.c: New.
7340
0b8499a4
TB
73412019-12-17 Tobias Burnus <tobias@codesourcery.com>
7342
7343 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
7344 all symbols as public except for the 'use …, only' imported symbol,
7345 which is private.
7346 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7347 all symbols from module openacc_kinds as PUBLIC
7348 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
7349 fix comment typo.
7350 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
7351
1cbd94e8
JB
73522019-12-13 Julian Brown <julian@codesourcery.com>
7353
7354 PR libgomp/92881
7355
7356 * libgomp.h (gomp_remove_var_async): Add prototype.
7357 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
7358 gomp_remove_var.
7359 * target.c (gomp_unref_tgt): Change return type to bool, indicating
7360 whether target_mem_desc was unmapped.
7361 (gomp_unref_tgt_void): New.
7362 (gomp_remove_var): Reimplement in terms of...
7363 (gomp_remove_var_internal): ...this new helper function.
7364 (gomp_remove_var_async): New, implemented using above helper function.
7365 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
7366 gomp_unref_tgt.
7367
26b74ed0
AS
73682019-12-13 Andrew Stubbs <ams@codesourcery.com>
7369
7370 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
7371 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
7372 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
7373 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
7374 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
7375 Likewise.
7376 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
7377 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
7378
7858bb96
TB
73792019-12-13 Tobias Burnus <tobias@codesourcery.com>
7380
7381 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
7382 as public except for the 'use …, only' imported symbol, which is
7383 private.
7384 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
7385 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
7386 attributes for acc_copyout_finalize and acc_delete_finalize.
7387
f8ac7d8f
JJ
73882019-12-11 Jakub Jelinek <jakub@redhat.com>
7389
7390 PR fortran/92899
7391 * testsuite/libgomp.fortran/atomic1.f90: New test.
7392
3d1b5e71
TS
73932019-12-11 Thomas Schwinge <thomas@codesourcery.com>
7394
d6e8c01c
TS
7395 PR libgomp/92843
7396 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
7397 reference counting for structured 'REFCOUNT_INFINITY'. Add some
7398 assertions.
7399 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
7400 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
7401 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
7402 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7403 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7404
57963e39
TS
7405 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
7406 * oacc-mem.c: ... here.
7407 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
7408 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
7409 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7410 Remove.
7411 * libgomp_g.h: Update.
7412
c5578b56
TS
7413 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
7414 * oacc-async.c: ... here.
7415 * oacc-int.h (goacc_wait): Declare.
7416 * libgomp_g.h: Update
7417
3d1b5e71
TS
7418 PR libgomp/92854
7419 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
7420 New file.
7421 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
7422 Likewise.
7423 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
7424 Likewise.
7425 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
7426 Likewise.
7427 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
7428 Likewise.
7429 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
7430 Likewise.
7431
5e939438
TS
74322019-12-11 Thomas Schwinge <thomas@codesourcery.com>
7433 Julian Brown <julian@codesourcery.com>
7434
7435 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
7436 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
7437
93d90219
TB
74382019-12-11 Tobias Burnus <tobias@codesourcery.com>
7439
7440 * omp_lib.h.in: Fix spelling of function declaration
7441 omp_get_cancell(l)ation.
7442 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
7443 Fix typos.
7444 * env.c: Fix comment typos.
7445 * oacc-host.c: Likewise.
7446 * ordered.c: Likewise.
7447 * task.c: Likewise.
7448 * team.c: Likewise.
7449 * config/gcn/task.c: Likewise.
7450 * config/gcn/team.c: Likewise.
7451 * config/nvptx/task.c: Likewise.
7452 * config/nvptx/team.c: Likewise.
7453 * plugin/plugin-gcn.c: Likewise.
7454 * testsuite/libgomp.fortran/jacobi.f: Likewise.
7455 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
7456 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
7457
a0221aee
TB
74582019-12-11 Tobias Burnus <tobias@codesourcery.com>
7459
7460 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
7461 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
7462 unnecessary 'dg-additional-options "-w"'.
7463
47afc7b4
TS
74642019-12-09 Thomas Schwinge <thomas@codesourcery.com>
7465 Julian Brown <julian@codesourcery.com>
7466
7467 PR libgomp/92116
7468 PR libgomp/92877
7469
7470 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
7471 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
7472 Adjust all users.
7473 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
7474 Remove XFAIL.
7475 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
7476 Likewise.
7477 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
7478
b5859e40
TS
74792019-12-09 Thomas Schwinge <thomas@codesourcery.com>
7480
cec41816
TS
7481 PR libgomp/92503
7482 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
7483 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
7484 file.
7485 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
7486 Likewise.
7487 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
7488 Likewise.
7489 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
7490 Likewise.
7491 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
7492 Likewise.
7493 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
7494 Likewise.
7495 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
7496 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7497 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7498 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7499 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7500 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7501 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7502 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7503 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7504 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7505
e103542b
TS
7506 PR libgomp/92840
7507 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
7508 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
7509 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
7510 New file.
7511 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
7512 Likewise.
7513 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
7514 Likewise.
7515 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
7516 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
7517
41f36f22
TS
7518 PR libgomp/92511
7519 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
7520 this file...
7521 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
7522 this file...
7523 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
7524 file...
7525 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
7526 file...
7527 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
7528 ... with their content moved into, and extended in this new file.
7529 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
7530 New file.
7531 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
7532 Likewise.
7533 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
7534 Likewise.
7535 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
7536 Likewise.
7537
6effebe1
TS
7538 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
7539
7d020473
TS
7540 PR libgomp/92854
7541 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
7542
1e1fb715
TS
7543 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
7544
b5859e40
TS
7545 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
7546
11586ed9
TB
75472019-12-09 Tobias Burnus <tobias@codesourcery.com>
7548
7549 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
7550 unique.
7551 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
7552 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
7553 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
7554 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
7555 Ditto.
7556 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
7557 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
7558
3ad4a03a
KCY
75592019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
7560
7561 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
7562
6e4d01d6
TB
75632019-12-06 Tobias Burnus <tobias@codesourcery.com>
7564 Kwok Cheung Yeung <kcy@codesourcery.com>
7565
7566 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
7567 if input it a NULL pointer.
7568 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
7569 diagnostic of NULL pointer.
7570 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
7571 * testsuite/libgomp.fortran/optional-map.f90: New.
7572 * testsuite/libgomp.fortran/use_device_addr-1.f90
7573 (test_dummy_opt_callee_1_absent): New.
7574 (test_dummy_opt_call_1): Call it.
7575 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
7576 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
7577 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
7578 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
7579 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
7580 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
7581 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
7582 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
7583 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
7584 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
7585 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
7586 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
7587 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
7588 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
7589 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
7590 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
7591
ad80ec46
TB
75922019-12-05 Tobias Burnus <tobias@codesourcery.com>
7593
7594 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
7595 expect dg-output of 'Error termination.' for GCN.
7596 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7597 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7598
a8a5f4cc
JJ
75992019-12-04 Jakub Jelinek <jakub@redhat.com>
7600
7601 PR fortran/92756
7602 * testsuite/libgomp.fortran/teams1.f90: New test.
7603 * testsuite/libgomp.fortran/teams2.f90: New test.
7604
d8f0024b
FH
76052019-12-03 Frederik Harwath <frederik@codesourcery.com>
7606
7607 * oacc-init.c (acc_known_device_type): Add function.
7608 (unknown_device_type_error): Add function.
7609 (name_of_acc_device_t): Change to call unknown_device_type_error
7610 on unknown type.
7611 (resolve_device): Use acc_known_device_type.
7612 (acc_init): Fail if acc_device_t argument is not valid.
7613 (acc_shutdown): Likewise.
7614 (acc_get_num_devices): Likewise.
7615 (acc_set_device_type): Likewise.
7616 (acc_get_device_num): Likewise.
7617 (acc_set_device_num): Likewise.
7618 (acc_on_device): Add comment that argument validity is not checked.
7619
83caa34e
AS
76202019-12-03 Andrew Stubbs <ams@codesourcery.com>
7621
7622 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
7623 Recognize amdgcn.
7624 (check_effective_target_openacc_amdgcn_accel_present): New proc.
7625 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
7626 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
7627 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7628 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7629
00484365
SN
76302019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
7631
7632 PR libgomp/91938
7633 * configure.tgt: Avoid IE tls on *-*-musl*.
7634
9909a059
TB
76352019-11-29 Tobias Burnus <tobias@codesourcery.com>
7636
7637 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
7638 adding a common-block test case.
7639
b3f44388
JJ
76402019-11-29 Jakub Jelinek <jakub@redhat.com>
7641
7642 PR c++/60228
7643 * testsuite/libgomp.c++/udr-20.C: New test.
7644 * testsuite/libgomp.c++/udr-21.C: New test.
7645
b1a73b48
TS
76462019-11-27 Thomas Schwinge <thomas@codesourcery.com>
7647
7648 * testsuite/lib/libgomp.exp
7649 (check_effective_target_offload_target_nvptx): New proc.
7650 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
7651 'dg-skip-if'.
7652 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
7653 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
7654 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
7655
b8e72446
RO
76562019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7657
7658 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
7659 * testsuite/libgomp.c/pr39591-2.c: Likewise.
7660 * testsuite/libgomp.c/pr39591-3.c: Likewise.
7661 * testsuite/libgomp.c/private-1.c: Likewise.
7662 * testsuite/libgomp.c/task-1.c: Likewise.
7663 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
7664
d88b27da
JB
76652019-11-20 Julian Brown <julian@codesourcery.com>
7666
7667 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
7668 aq->mutex here.
7669 (queue_push_launch): Lock aq->mutex before calling
7670 wait_for_queue_nonfull.
7671 (queue_push_callback): Likewise.
7672 (queue_push_asyncwait): Likewise.
7673 (queue_push_placeholder): Likewise.
7674
8d2f4ddf
JB
76752019-11-20 Julian Brown <julian@codesourcery.com>
7676
7677 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
7678 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
7679 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
7680 return code.
7681
e307b05f
JB
76822019-11-20 Julian Brown <julian@codesourcery.com>
7683
7684 PR libgomp/92511
7685
7686 * oacc-mem.c (present_create_copy): Fix device pointer return value in
7687 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
7688 in non-present/create case.
7689 (delete_copyout): Change error condition to fail only on copies outside
7690 of mapped block. Adjust error message accordingly.
7691 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
7692 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
7693 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
7694 message.
7695 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7696 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
7697 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7698
83115e9e
MR
76992019-11-20 Maciej W. Rozycki <macro@wdc.com>
7700
7701 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
7702 libatomic in build-tree testing.
7703
a1289887
MR
77042019-11-18 Maciej W. Rozycki <macro@wdc.com>
7705
7706 * testsuite/Makefile.in: Regenerate.
7707
8916ba87
AS
77082019-11-15 Andrew Stubbs <ams@codesourcery.com>
7709
7710 * testsuite/libgomp.c/target-print-1.c: New file.
7711 * testsuite/libgomp.fortran/target-print-1.f90: New file.
7712 * testsuite/libgomp.oacc-c/print-1.c: New file.
7713 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
7714
237957cc
AS
77152019-11-13 Andrew Stubbs <ams@codesourcery.com>
7716 Kwok Cheung Yeung <kcy@codesourcery.com>
7717 Julian Brown <julian@codesourcery.com>
7718 Tom de Vries <tom@codesourcery.com>
7719
7720 * plugin/Makefrag.am: Add amdgcn plugin support.
7721 * plugin/configfrag.ac: Likewise.
7722 * plugin/plugin-gcn.c: New file.
7723 * configure: Regenerate.
7724 * Makefile.in: Regenerate.
7725 * testsuite/Makefile.in: Regenerate.
7726
cee16451
AS
77272019-11-13 Andrew Stubbs <ams@codesourcery.com>
7728
7729 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
7730 and use team_malloc variants.
7731 (gomp_gcn_exit_kernel): Use team_free.
7732 * libgomp.h (TEAM_ARENA_SIZE): Define.
7733 (TEAM_ARENA_START): Define.
7734 (TEAM_ARENA_FREE): Define.
7735 (TEAM_ARENA_END): Define.
7736 (team_malloc): New function.
7737 (team_malloc_cleared): New function.
7738 (team_free): New function.
7739 * team.c (gomp_new_team): Initialize and use team_malloc.
7740 (free_team): Use team_free.
7741 (gomp_free_thread): Use team_free.
7742 (gomp_pause_host): Use team_free.
7743 * work.c (gomp_init_work_share): Use team_malloc.
7744 (gomp_fini_work_share): Use team_free.
7745
fa499995
AS
77462019-11-13 Andrew Stubbs <ams@codesourcery.com>
7747 Kwok Cheung Yeung <kcy@codesourcery.com>
7748 Julian Brown <julian@codesourcery.com>
7749 Tom de Vries <tom@codesourcery.com>
7750
7751 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
7752 * Makefile.in: Regenerate.
7753 * config.h.in (PLUGIN_GCN): Add new undef.
7754 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
7755 * config/gcn/affinity-fmt.c: New file.
7756 * config/gcn/bar.c: New file.
7757 * config/gcn/bar.h: New file.
7758 * config/gcn/doacross.h: New file.
7759 * config/gcn/icv-device.c: New file.
7760 * config/gcn/oacc-target.c: New file.
7761 * config/gcn/simple-bar.h: New file.
7762 * config/gcn/target.c: New file.
7763 * config/gcn/task.c: New file.
7764 * config/gcn/team.c: New file.
7765 * config/gcn/time.c: New file.
7766 * configure.ac: Add amdgcn*-*-*.
7767 * configure: Regenerate.
7768 * configure.tgt: Add amdgcn*-*-*.
7769 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
7770 * libgomp.h (gcn_thrs): Add amdgcn variant.
7771 (set_gcn_thrs): Likewise.
7772 (gomp_thread): Likewise.
7773 * oacc-int.h (goacc_thread): Likewise.
7774 * oacc-target.c: New file.
7775 * openacc.f90 (acc_device_gcn): New parameter.
7776 * openacc.h (acc_device_t): Add acc_device_gcn.
7777 * team.c (gomp_free_pool_helper): Add amdgcn support.
7778
d2903ce0
AS
77792019-11-13 Andrew Stubbs <ams@codesourcery.com>
7780 Julian Brown <julian@codesourcery.com>
7781
7782 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
7783 parameter.
7784 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
7785 queue constructor.
7786 * oacc-host.c (host_openacc_async_construct): Add device parameter.
7787 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
7788 device parameter.
7789
b3d14b3a
AS
77902019-11-13 Andrew Stubbs <ams@codesourcery.com>
7791
7792 * configure.tgt (nvptx*-*-*): Add "accel" directory.
7793 * config/nvptx/libgomp-plugin.c: Move ...
7794 * config/accel/libgomp-plugin.c: ... to here.
7795 * config/nvptx/lock.c: Move ...
7796 * config/accel/lock.c: ... to here.
7797 * config/nvptx/mutex.c: Move ...
7798 * config/accel/mutex.c: ... to here.
7799 * config/nvptx/mutex.h: Move ...
7800 * config/accel/mutex.h: ... to here.
7801 * config/nvptx/oacc-async.c: Move ...
7802 * config/accel/oacc-async.c: ... to here.
7803 * config/nvptx/oacc-cuda.c: Move ...
7804 * config/accel/oacc-cuda.c: ... to here.
7805 * config/nvptx/oacc-host.c: Move ...
7806 * config/accel/oacc-host.c: ... to here.
7807 * config/nvptx/oacc-init.c: Move ...
7808 * config/accel/oacc-init.c: ... to here.
7809 * config/nvptx/oacc-mem.c: Move ...
7810 * config/accel/oacc-mem.c: ... to here.
7811 * config/nvptx/oacc-plugin.c: Move ...
7812 * config/accel/oacc-plugin.c: ... to here.
7813 * config/nvptx/omp-lock.h: Move ...
7814 * config/accel/omp-lock.h: ... to here.
7815 * config/nvptx/openacc.f90: Move ...
7816 * config/accel/openacc.f90: ... to here.
7817 * config/nvptx/pool.h: Move ...
7818 * config/accel/pool.h: ... to here.
7819 * config/nvptx/proc.c: Move ...
7820 * config/accel/proc.c: ... to here.
7821 * config/nvptx/ptrlock.c: Move ...
7822 * config/accel/ptrlock.c: ... to here.
7823 * config/nvptx/ptrlock.h: Move ...
7824 * config/accel/ptrlock.h: ... to here.
7825 * config/nvptx/sem.c: Move ...
7826 * config/accel/sem.c: ... to here.
7827 * config/nvptx/sem.h: Move ...
7828 * config/accel/sem.h: ... to here.
7829 * config/nvptx/thread-stacksize.h: Move ...
7830 * config/accel/thread-stacksize.h: ... to here.
7831
62aee289
MR
78322019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
7833 Tobias Burnus <tobias@codesourcery.com>
7834 Frederik Harwath <frederik@codesourcery.com>
7835 Thomas Schwinge <thomas@codesourcery.com>
7836
7837 libgomp/
7838 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
7839 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
7840 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
7841
a2c26c50
TB
78422019-11-11 Tobias Burnus <tobias@codesourcery.com>
7843 Kwok Cheung Yeung <kcy@codesourcery.com>
7844
7845 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
7846 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
7847
6d4868f3
TS
78482019-11-11 Thomas Schwinge <thomas@codesourcery.com>
7849
bfa1837b
TS
7850 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
7851
6d4868f3
TS
7852 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
7853 run'.
7854 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
7855 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
7856
5d183d17
FH
78572019-11-06 Thomas Schwinge <thomas@codesourcery.com>
7858
7859 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
7860 Add expected warnings about missing reduction clauses.
7861 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
7862 Likewise.
7863 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
7864 Likewise.
7865 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
7866 Likewise.
7867
d8f03b03
TB
78682019-11-04 Tobias Burnus <tobias@codesourcery.com>
7869
7870 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
7871 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
7872 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
7873 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
7874 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
7875 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
7876
12fd2ec5
TB
78772019-11-04 Tobias Burnus <tobias@codesourcery.com>
7878
7879 PR fortran/92305
7880 * testsuite/libgomp.fortran/allocatable2.f90: Use
7881 unique numbers with 'stop'.
7882 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
7883 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
7884 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
7885 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
7886 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
7887
92e63bd2
TB
78882019-11-01 Tobias Burnus <tobias@codesourcery.com>
7889
7890 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
7891 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
7892 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
7893 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
7894 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
7895 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
7896
91ae0a46
TB
78972019-10-30 Tobias Burnus <tobias@codesourcery.com>
7898
7899 * testsuite/libgomp.fortran/target9.f90: New.
7900
c425e66b
TB
79012019-10-30 Tobias Burnus <tobias@codesourcery.com>
7902
7903 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
7904 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
7905 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
7906 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
7907 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
7908 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
7909 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
7910 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
7911 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
7912 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
7913 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
7914 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
7915 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
7916 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
7917 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
7918 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
7919 * testsuite/libgomp.fortran/associate1.f90: Ditto.
7920 * testsuite/libgomp.fortran/associate2.f90: Ditto.
7921 * testsuite/libgomp.fortran/associate3.f90: Ditto.
7922 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
7923 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
7924 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
7925 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
7926 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
7927 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
7928 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
7929 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
7930 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
7931 * testsuite/libgomp.fortran/character1.f90: Ditto.
7932 * testsuite/libgomp.fortran/character2.f90: Ditto.
7933 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
7934 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
7935 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
7936 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
7937 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
7938 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
7939 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
7940 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
7941 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
7942 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
7943 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
7944 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
7945 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
7946 * testsuite/libgomp.fortran/do1.f90: Ditto.
7947 * testsuite/libgomp.fortran/do2.f90: Ditto.
7948 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
7949 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
7950 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
7951 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
7952 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
7953 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
7954 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
7955 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
7956 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
7957 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
7958 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
7959 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
7960 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
7961 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
7962 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
7963 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
7964 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
7965 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
7966 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
7967 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
7968 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
7969 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
7970 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
7971 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
7972 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
7973 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
7974 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
7975 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
7976 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
7977 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
7978 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
7979 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
7980 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
7981 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
7982 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
7983 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
7984 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
7985 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
7986 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
7987 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
7988 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
7989 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
7990 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
7991 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
7992 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
7993 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
7994 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
7995 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
7996 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
7997 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
7998 * testsuite/libgomp.fortran/lib1.f90: Ditto.
7999 * testsuite/libgomp.fortran/lib4.f90: Ditto.
8000 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
8001 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
8002 * testsuite/libgomp.fortran/nested1.f90: Ditto.
8003 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
8004 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
8005 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
8006 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8007 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
8008 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
8009 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
8010 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
8011 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
8012 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
8013 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
8014 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
8015 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
8016 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
8017 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
8018 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
8019 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
8020 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
8021 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
8022 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
8023 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
8024 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
8025 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
8026 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
8027 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
8028 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
8029 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
8030 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
8031 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
8032 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
8033 * testsuite/libgomp.fortran/pr28390.f: Ditto.
8034 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
8035 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8036 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
8037 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
8038 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
8039 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
8040 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
8041 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
8042 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
8043 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
8044 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
8045 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
8046 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
8047 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
8048 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
8049 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
8050 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
8051 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
8052 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
8053 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
8054 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
8055 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
8056 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
8057 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
8058 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
8059 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
8060 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
8061 * testsuite/libgomp.fortran/reference1.f90: Ditto.
8062 * testsuite/libgomp.fortran/reference2.f90: Ditto.
8063 * testsuite/libgomp.fortran/retval1.f90: Ditto.
8064 * testsuite/libgomp.fortran/retval2.f90: Ditto.
8065 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
8066 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
8067 * testsuite/libgomp.fortran/simd1.f90: Ditto.
8068 * testsuite/libgomp.fortran/simd2.f90: Ditto.
8069 * testsuite/libgomp.fortran/simd3.f90: Ditto.
8070 * testsuite/libgomp.fortran/simd4.f90: Ditto.
8071 * testsuite/libgomp.fortran/simd5.f90: Ditto.
8072 * testsuite/libgomp.fortran/simd6.f90: Ditto.
8073 * testsuite/libgomp.fortran/simd7.f90: Ditto.
8074 * testsuite/libgomp.fortran/stack.f90: Ditto.
8075 * testsuite/libgomp.fortran/strassen.f90: Ditto.
8076 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
8077 * testsuite/libgomp.fortran/tabs2.f: Ditto.
8078 * testsuite/libgomp.fortran/target1.f90: Ditto.
8079 * testsuite/libgomp.fortran/target2.f90: Ditto.
8080 * testsuite/libgomp.fortran/target3.f90: Ditto.
8081 * testsuite/libgomp.fortran/target4.f90: Ditto.
8082 * testsuite/libgomp.fortran/target5.f90: Ditto.
8083 * testsuite/libgomp.fortran/target6.f90: Ditto.
8084 * testsuite/libgomp.fortran/target7.f90: Ditto.
8085 * testsuite/libgomp.fortran/target8.f90: Ditto.
8086 * testsuite/libgomp.fortran/task1.f90: Ditto.
8087 * testsuite/libgomp.fortran/task2.f90: Ditto.
8088 * testsuite/libgomp.fortran/task3.f90: Ditto.
8089 * testsuite/libgomp.fortran/task4.f90: Ditto.
8090 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
8091 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
8092 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
8093 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
8094 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
8095 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
8096 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
8097 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
8098 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
8099 * testsuite/libgomp.fortran/udr1.f90: Ditto.
8100 * testsuite/libgomp.fortran/udr10.f90: Ditto.
8101 * testsuite/libgomp.fortran/udr11.f90: Ditto.
8102 * testsuite/libgomp.fortran/udr12.f90: Ditto.
8103 * testsuite/libgomp.fortran/udr13.f90: Ditto.
8104 * testsuite/libgomp.fortran/udr14.f90: Ditto.
8105 * testsuite/libgomp.fortran/udr15.f90: Ditto.
8106 * testsuite/libgomp.fortran/udr2.f90: Ditto.
8107 * testsuite/libgomp.fortran/udr3.f90: Ditto.
8108 * testsuite/libgomp.fortran/udr4.f90: Ditto.
8109 * testsuite/libgomp.fortran/udr5.f90: Ditto.
8110 * testsuite/libgomp.fortran/udr6.f90: Ditto.
8111 * testsuite/libgomp.fortran/udr7.f90: Ditto.
8112 * testsuite/libgomp.fortran/udr8.f90: Ditto.
8113 * testsuite/libgomp.fortran/udr9.f90: Ditto.
8114 * testsuite/libgomp.fortran/vla1.f90: Ditto.
8115 * testsuite/libgomp.fortran/vla2.f90: Ditto.
8116 * testsuite/libgomp.fortran/vla3.f90: Ditto.
8117 * testsuite/libgomp.fortran/vla4.f90: Ditto.
8118 * testsuite/libgomp.fortran/vla5.f90: Ditto.
8119 * testsuite/libgomp.fortran/vla6.f90: Ditto.
8120 * testsuite/libgomp.fortran/vla7.f90: Ditto.
8121 * testsuite/libgomp.fortran/vla8.f90: Ditto.
8122 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
8123 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
8124
01509e2f
TB
81252019-10-30 Tobias Burnus <tobias@codesourcery.com>
8126
8127 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
8128 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
8129 Ditto; add 'dg-do run' for torture testing.
8130 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
8131 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
8132 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
8133 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
8134 * testsuite/libgomp.fortran/pr28390.f: Ditto.
8135 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
8136 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
8137 * testsuite/libgomp.fortran/task2.f90: Ditto.
8138 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
8139 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
8140 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
8141 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
8142 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
8143 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
8144
ffbdd78a
TB
81452019-10-28 Tobias Burnus <tobias@codesourcery.com>
8146
8147 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
8148 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
8149 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
8150 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
8151 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
8152 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
8153 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
8154 Use 'stop' not abort().
8155 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
8156 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
8157 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
8158 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
8159 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
8160 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
8161 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
8162 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
8163 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
8164 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
8165 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
8166 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
8167 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
8168 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
8169 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
8170 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
8171 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
8172 Ditto.
8173 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
8174 Ditto.
8175 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
8176 Ditto.
8177 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
8178 Ditto.
8179 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
8180 Ditto.
8181 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
8182 Ditto.
8183 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
8184 Ditto.
8185 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
8186 Ditto.
8187 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
8188 Ditto.
8189 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
8190 Ditto.
8191 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
8192 Ditto.
8193 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
8194 Ditto.
8195 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
8196 Ditto.
8197 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
8198 Ditto.
8199 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
8200 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
8201 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
8202 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
8203 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
8204 Likewise and also add 'dg-do run'.
8205 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
8206 Ditto.
8207
ec084613
CP
82082019-10-25 Cesar Philippidis <cesar@codesourcery.com>
8209 Tobias Burnus <tobias@codesourcery.com>
8210
8211 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
8212 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
8213 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
8214
77ef3394
JJ
82152019-10-14 Jakub Jelinek <jakub@redhat.com>
8216
8217 PR libgomp/92081
8218 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
8219 than 0.
8220
08c14aaa
TB
82212019-10-11 Tobias Burnus <tobias@codesourcery.com>
8222
8223 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
8224 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
8225
6bbead0c
TS
82262019-10-09 Thomas Schwinge <thomas@codesourcery.com>
8227
8228 PR middle-end/92036
8229 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
8230 file.
8231
eba3dee8
TB
82322019-10-09 Tobias Burnus <tobias@codesourcery.com>
8233
8234 PR testsuite/91884
8235 * testsuite/libgomp.fortran/fortran.exp: Conditionally
8236 add -lquadmath.
8237 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
8238
7d48e14f
JJ
82392019-10-09 Jakub Jelinek <jakub@redhat.com>
8240
8241 PR libgomp/92028
8242 * target.c (gomp_map_vars_internal): Readd the previous
8243 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
8244 though do that just in the !not_found_cnt case.
8245
65b67cf3
TB
82462019-10-08 Tobias Burnus <tobias@codesourcery.com>
8247
8248 * gfortran.dg/gomp/target-simd.f90: New.
8249
6c7e076b
JB
82502019-10-02 Julian Brown <julian@codesourcery.com>
8251 Cesar Philippidis <cesar@codesourcery.com>
8252
8253 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
8254 * target.c (FIELD_TGT_EMPTY): Define.
8255 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
8256 as switch instead of list of ifs.
8257 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
8258
d61bff85
AT
82592019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
8260
8261 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
8262 include. Replace alloca () with __builtin_alloca ().
8263 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
8264
810f316d
JJ
82652019-10-01 Jakub Jelinek <jakub@redhat.com>
8266
8267 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
8268 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
8269 * oacc-parallel.c: Don't include "libgomp_g.h".
8270 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
8271 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
8272 * aclocal.m4: Regenerated.
8273 * config.h.in: Regenerated.
8274 * configure: Regenerated.
8275 * Makefile.in: Regenerated.
8276
d7f9ee98
KCY
82772019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
8278
8279 * libgomp_g.h: Include stdint.h instead of gstdint.h.
8280
e9085da5
MR
82812019-09-27 Maciej W. Rozycki <macro@wdc.com>
8282
8283 * configure: Regenerate.
8284
c28712be
TB
82852019-09-13 Tobias Burnus <tobias@codesourcery.com>
8286
8287 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
8288 string is initialized.
8289
3c086f8d
FW
82902019-09-06 Florian Weimer <fweimer@redhat.com>
8291
8292 * configure: Regenerate.
8293
c6c2d1bc
CLT
82942019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
8295
8296 PR other/79543
8297 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
8298 scanning to conform to the GNU Coding Standards.
8299 * configure: Regenerate.
8300
5cb72d83
JJ
83012019-08-28 Jakub Jelinek <jakub@redhat.com>
8302
8303 PR libgomp/91530
8304 * testsuite/libgomp.c/scan-21.c: New test.
8305 * testsuite/libgomp.c/scan-22.c: New test.
8306
0ad7981c
JJ
83072019-08-27 Jakub Jelinek <jakub@redhat.com>
8308
8309 PR libgomp/91530
8310 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
8311 targets.
8312 * testsuite/libgomp.c/scan-12.c: Likewise.
8313 * testsuite/libgomp.c/scan-13.c: Likewise.
8314 * testsuite/libgomp.c/scan-14.c: Likewise.
8315 * testsuite/libgomp.c/scan-15.c: Likewise.
8316 * testsuite/libgomp.c/scan-16.c: Likewise.
8317 * testsuite/libgomp.c/scan-17.c: Likewise.
8318 * testsuite/libgomp.c/scan-18.c: Likewise.
8319 * testsuite/libgomp.c/scan-19.c: Likewise.
8320 * testsuite/libgomp.c/scan-20.c: Likewise.
8321 * testsuite/libgomp.c++/scan-9.C: Likewise.
8322 * testsuite/libgomp.c++/scan-10.C: Likewise.
8323 * testsuite/libgomp.c++/scan-11.C: Likewise.
8324 * testsuite/libgomp.c++/scan-12.C: Likewise.
8325 * testsuite/libgomp.c++/scan-14.C: Likewise.
8326 * testsuite/libgomp.c++/scan-15.C: Likewise.
8327 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
8328 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
8329 * testsuite/libgomp.c++/scan-16.C: Likewise.
8330
1e67491a
TK
83312019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
8332
8333 PR fortran/91473
8334 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
8335 -std=legacy so invalid code in the test case is accepted.
8336
393fdeb1
TK
83372019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
8338
8339 PR fortran/91422
8340 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
8341 dimension.
8342
8860d270
JJ
83432019-08-08 Jakub Jelinek <jakub@redhat.com>
8344
8345 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
8346 perform the lookup in the first loop only if !not_found_cnt, otherwise
8347 perform lookups for it in the second loop guarded with
8348 if (not_found_cnt || has_firstprivate).
8349 * testsuite/libgomp.c/target-37.c: New test.
8350 * testsuite/libgomp.c++/target-22.C: New test.
8351
398e3feb
JJ
83522019-08-07 Jakub Jelinek <jakub@redhat.com>
8353
8354 * testsuite/libgomp.c/target-18.c (struct S): New type.
8355 (foo): Use use_device_addr clause instead of use_device_ptr clause
8356 where required by OpenMP 5.0, add further tests for both use_device_ptr
8357 and use_device_addr clauses.
8358 * testsuite/libgomp.c++/target-9.C (struct S): New type.
8359 (foo): Use use_device_addr clause instead of use_device_ptr clause
8360 where required by OpenMP 5.0, add further tests for both use_device_ptr
8361 and use_device_addr clauses. Add t and u arguments.
8362 (main): Adjust caller.
8363
d81ab49d
JJ
83642019-08-06 Jakub Jelinek <jakub@redhat.com>
8365
8366 * testsuite/libgomp.c++/loop-13.C: New test.
8367 * testsuite/libgomp.c++/loop-14.C: New test.
8368 * testsuite/libgomp.c++/loop-15.C: New test.
8369
c3ac76aa
JJ
83702019-07-31 Jakub Jelinek <jakub@redhat.com>
8371
8372 PR middle-end/91301
8373 * testsuite/libgomp.c++/for-27.C: New test.
8374
8dc63166
SK
83752019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
8376
393fdeb1 8377 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 8378 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 8379
554a530f
JJ
83802019-07-20 Jakub Jelinek <jakub@redhat.com>
8381
8382 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
8383
6cda84b5
JJ
83842019-07-08 Jakub Jelinek <jakub@redhat.com>
8385
8386 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
8387 * testsuite/libgomp.c++/scan-16.C: Likewise.
8388
1f52d1a8
JJ
83892019-07-06 Jakub Jelinek <jakub@redhat.com>
8390
6f67abcd
JJ
8391 * testsuite/libgomp.c/scan-19.c: New test.
8392 * testsuite/libgomp.c/scan-20.c: New test.
8393
1f52d1a8
JJ
8394 * testsuite/libgomp.c/scan-11.c: New test.
8395 * testsuite/libgomp.c/scan-12.c: New test.
8396 * testsuite/libgomp.c/scan-13.c: New test.
8397 * testsuite/libgomp.c/scan-14.c: New test.
8398 * testsuite/libgomp.c/scan-15.c: New test.
8399 * testsuite/libgomp.c/scan-16.c: New test.
8400 * testsuite/libgomp.c/scan-17.c: New test.
8401 * testsuite/libgomp.c/scan-18.c: New test.
8402 * testsuite/libgomp.c++/scan-9.C: New test.
8403 * testsuite/libgomp.c++/scan-10.C: New test.
8404 * testsuite/libgomp.c++/scan-11.C: New test.
8405 * testsuite/libgomp.c++/scan-12.C: New test.
8406 * testsuite/libgomp.c++/scan-13.C: New test.
8407 * testsuite/libgomp.c++/scan-14.C: New test.
8408 * testsuite/libgomp.c++/scan-15.C: New test.
8409 * testsuite/libgomp.c++/scan-16.C: New test.
8410
2f03073f
JJ
84112019-07-04 Jakub Jelinek <jakub@redhat.com>
8412
8413 * testsuite/libgomp.c/scan-9.c: New test.
8414 * testsuite/libgomp.c/scan-10.c: New test.
8415
2f6bb511
JJ
84162019-07-03 Jakub Jelinek <jakub@redhat.com>
8417
8418 * testsuite/libgomp.c++/scan-1.C: New test.
8419 * testsuite/libgomp.c++/scan-2.C: New test.
8420 * testsuite/libgomp.c++/scan-3.C: New test.
8421 * testsuite/libgomp.c++/scan-4.C: New test.
8422 * testsuite/libgomp.c++/scan-5.C: New test.
8423 * testsuite/libgomp.c++/scan-6.C: New test.
8424 * testsuite/libgomp.c++/scan-7.C: New test.
8425 * testsuite/libgomp.c++/scan-8.C: New test.
8426 * testsuite/libgomp.c/scan-1.c: New test.
8427 * testsuite/libgomp.c/scan-2.c: New test.
8428 * testsuite/libgomp.c/scan-3.c: New test.
8429 * testsuite/libgomp.c/scan-4.c: New test.
8430 * testsuite/libgomp.c/scan-5.c: New test.
8431 * testsuite/libgomp.c/scan-6.c: New test.
8432 * testsuite/libgomp.c/scan-7.c: New test.
8433 * testsuite/libgomp.c/scan-8.c: New test.
8434
bd194a51
TS
84352019-06-18 Thomas Schwinge <thomas@codesourcery.com>
8436
85fca03a
TS
8437 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
8438 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
8439 Likewise.
8440
bd194a51
TS
8441 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
8442 check.
8443
6652161e
CP
84442019-06-18 Cesar Philippidis <cesar@codesourcery.com>
8445
8446 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
8447 file.
8448
3a37d6f6
TS
84492019-06-18 Thomas Schwinge <thomas@codesourcery.com>
8450
4017da8d
TS
8451 PR fortran/90743
8452 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
8453 case.
8454 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
8455 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
8456 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
8457 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
8458
6f7c1f65
TS
8459 PR testsuite/90861
8460 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
8461
3a37d6f6
TS
8462 PR middle-end/90862
8463 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
8464
f45ce17d
TV
84652019-06-16 Tom de Vries <tdevries@suse.de>
8466
8467 PR tree-optimization/89376
8468 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
8469
00908992
TV
84702019-06-15 Tom de Vries <tdevries@suse.de>
8471
8472 PR tree-optimization/89713
8473 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
8474 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
8475
211b7533
JJ
84762019-06-15 Jakub Jelinek <jakub@redhat.com>
8477
8478 PR middle-end/90779
8479 * testsuite/libgomp.c/pr90779.c: New test.
8480 * testsuite/libgomp.fortran/pr90779.f90: New test.
8481
120a01d1
TV
84822019-06-15 Tom de Vries <tdevries@suse.de>
8483
8484 PR tree-optimization/90009
8485 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
8486
c29c92c7
FX
84872019-06-13 Feng Xue <fxue@os.amperecomputing.com>
8488
8489 PR tree-optimization/89713
8490 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
8491
ce9c4ec3
JJ
84922019-06-11 Jakub Jelinek <jakub@redhat.com>
8493
8494 PR target/90811
8495 * testsuite/libgomp.c/pr90811.c: New test.
8496
28b3a77c
JJ
84972019-06-05 Jakub Jelinek <jakub@redhat.com>
8498
8499 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
8500 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
8501
7855700e
JJ
85022019-06-04 Jakub Jelinek <jakub@redhat.com>
8503
8504 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
8505 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
8506 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
8507 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
8508
a7155c2e
RO
85092019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8510
8511 * configure.ac: Call AX_COUNT_CPUS.
8512 Substitute CPU_COUNT.
8513 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
8514 count fallback.
8515 * aclocal.m4: Regenerate.
8516 * configure: Regenerate.
8517 * Makefile.in, testsuite/Makefile.in: Regenerate.
8518
7e47198b
JJ
85192019-05-29 Jakub Jelinek <jakub@redhat.com>
8520
8521 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
8522 to ...
8523 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
8524 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
8525 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
8526
fcfb8032
JJ
85272019-05-27 Jakub Jelinek <jakub@redhat.com>
8528
8e7757ba
JJ
8529 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
8530
36c7a3ff
JJ
8531 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
8532
fcfb8032
JJ
8533 PR libgomp/90641
8534 * work.c (gomp_init_work_share): Instead of aligning final ordered
8535 value to multiples of long long alignment, align to that the
8536 first part (ordered team ids) and if inline_ordered_team_ids
8537 is not on a long long alignment boundary within the structure,
8538 use __alignof__ (long long) - 1 pad size always.
8539 * loop.c (GOMP_loop_start): Fix *mem computation if
8540 inline_ordered_team_ids is not aligned on long long alignment boundary
8541 within the structure.
8542 * loop-ull.c (GOMP_loop_ull_start): Likewise.
8543 * sections.c (GOMP_sections2_start): Likewise.
8544
b5c26449
JJ
85452019-05-24 Jakub Jelinek <jakub@redhat.com>
8546
6c7ae8c5
JJ
8547 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
8548 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
8549
b5c26449
JJ
8550 PR libgomp/90585
8551 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
8552 HAVE_INTTYPES_H is defined.
8553 (print_uint64_t): New typedef.
8554 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
8555 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
8556 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
8557 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
8558 before casting to void *.
8559 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
8560 * oacc-mem.c: Don't include config.h nor stdint.h.
8561 * target.c: Don't include config.h.
8562 * oacc-cuda.c: Likewise.
8563 * oacc-host.c: Don't include stdint.h.
8564
3e03ed66
JJ
85652019-05-20 Jakub Jelinek <jakub@redhat.com>
8566
8567 PR libgomp/90527
8568 * alloc.c (_GNU_SOURCE): Define.
8569
5fae049d
TS
85702019-05-17 Thomas Schwinge <thomas@codesourcery.com>
8571
8572 * acc_prof.h: New file.
8573 * oacc-profiling.c: Likewise.
8574 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
8575 Add these, respectively.
8576 * Makefile.in: Regenerate.
8577 * env.c (initialize_env): Call goacc_profiling_initialize.
8578 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
8579 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
8580 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
8581 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
8582 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
8583 acc_prof_register, acc_prof_unregister, and acc_register_library.
8584 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
8585 GOMP_PLUGIN_goacc_thread.
8586 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
8587 prof_callbacks_enabled members.
8588 (goacc_prof_enabled, goacc_profiling_initialize)
8589 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
8590 (goacc_profiling_dispatch): Declare.
8591 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
8592 (GOACC_PROFILING_SETUP_P): Define.
8593 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
8594 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
8595 OpenACC Profiling Interface.
8596 * oacc-cuda.c (acc_get_current_cuda_device)
8597 (acc_get_current_cuda_context, acc_get_cuda_stream)
8598 (acc_set_cuda_stream): Likewise.
8599 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
8600 (acc_init, acc_set_device_type, acc_get_device_type)
8601 (acc_get_device_num, goacc_lazy_initialize): Likewise.
8602 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
8603 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
8604 (acc_unmap_data, present_create_copy, delete_copyout)
8605 (update_dev_host): Likewise.
8606 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
8607 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
8608 Likewise.
8609 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
8610 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
8611 Likewise.
8612 * libgomp.texi: Update.
8613 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
8614 file.
8615 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
8616 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
8617 Likewise.
8618 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
8619 Likewise.
8620 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
8621 Likewise.
8622 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
8623 Likewise.
8624
1f4c5b9b
CLT
86252019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
8626
8627 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
8628 (struct goacc_asyncqueue_list): Likewise.
8629 (goacc_aq): Likewise.
8630 (goacc_aq_list): Likewise.
8631 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
8632 (GOMP_OFFLOAD_openacc_async_test): Remove.
8633 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
8634 (GOMP_OFFLOAD_openacc_async_wait): Remove.
8635 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
8636 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
8637 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
8638 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
8639 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
8640 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
8641 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
8642 (GOMP_OFFLOAD_openacc_async_exec): Declare.
8643 (GOMP_OFFLOAD_openacc_async_construct): Declare.
8644 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
8645 (GOMP_OFFLOAD_openacc_async_test): Declare.
8646 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
8647 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
8648 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
8649 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
8650 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
8651
8652 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
8653 (gomp_acc_insert_pointer): Adjust declaration.
8654 (gomp_copy_host2dev): New declaration.
8655 (gomp_copy_dev2host): Likewise.
8656 (gomp_map_vars_async): Likewise.
8657 (gomp_unmap_tgt): Likewise.
8658 (gomp_unmap_vars_async): Likewise.
8659 (gomp_fini_device): Likewise.
8660
8661 * oacc-async.c (get_goacc_thread): New function.
8662 (get_goacc_thread_device): New function.
8663 (lookup_goacc_asyncqueue): New function.
8664 (get_goacc_asyncqueue): New function.
8665 (acc_async_test): Adjust code to use new async design.
8666 (acc_async_test_all): Likewise.
8667 (acc_wait): Likewise.
8668 (acc_wait_async): Likewise.
8669 (acc_wait_all): Likewise.
8670 (acc_wait_all_async): Likewise.
8671 (goacc_async_free): New function.
8672 (goacc_init_asyncqueues): Likewise.
8673 (goacc_fini_asyncqueues): Likewise.
8674 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
8675 design.
8676 (acc_set_cuda_stream): Likewise.
8677 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
8678 (host_openacc_register_async_cleanup): Remove.
8679 (host_openacc_async_exec): New function.
8680 (host_openacc_async_test): Adjust parameters.
8681 (host_openacc_async_test_all): Remove.
8682 (host_openacc_async_wait): Remove.
8683 (host_openacc_async_wait_async): Remove.
8684 (host_openacc_async_wait_all): Remove.
8685 (host_openacc_async_wait_all_async): Remove.
8686 (host_openacc_async_set_async): Remove.
8687 (host_openacc_async_synchronize): New function.
8688 (host_openacc_async_serialize): New function.
8689 (host_openacc_async_host2dev): New function.
8690 (host_openacc_async_dev2host): New function.
8691 (host_openacc_async_queue_callback): New function.
8692 (host_openacc_async_construct): New function.
8693 (host_openacc_async_destruct): New function.
8694 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 8695 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
8696 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
8697 (goacc_attach_host_thread_to_device): Remove old async code usage.
8698 * oacc-int.h (goacc_init_asyncqueues): New declaration.
8699 (goacc_fini_asyncqueues): Likewise.
8700 (goacc_async_copyout_unmap_vars): Likewise.
8701 (goacc_async_free): Likewise.
8702 (get_goacc_asyncqueue): Likewise.
8703 (lookup_goacc_asyncqueue): Likewise.
8704 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
8705 design.
8706 (present_create_copy): Adjust code to use new async design.
8707 (delete_copyout): Likewise.
8708 (update_dev_host): Likewise.
8709 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
8710 async design.
8711 (gomp_acc_remove_pointer): Adjust code to use new async design.
8712 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
8713 design.
8714 (GOACC_enter_exit_data): Likewise.
8715 (goacc_wait): Likewise.
8716 (GOACC_update): Likewise.
8717 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
8718 when called, warn as obsolete in comment.
8719 * target.c (goacc_device_copy_async): New function.
8720 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
8721 add goacc_device_copy_async case.
8722 (gomp_copy_dev2host): Likewise.
8723 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
8724 (gomp_map_pointer): Likewise.
8725 (gomp_map_fields_existing): Likewise.
8726 (gomp_map_vars_internal): New always_inline function, renamed from
8727 gomp_map_vars.
8728 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
8729 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
8730 passing goacc_asyncqueue argument.
8731 (gomp_unmap_tgt): Remove static, add attribute_hidden.
8732 (gomp_unref_tgt): New function.
8733 (gomp_unmap_vars_internal): New always_inline function, renamed from
8734 gomp_unmap_vars.
8735 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
8736 (gomp_unmap_vars_async): Implement by calling
8737 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
8738 (gomp_fini_device): New function.
8739 (gomp_exit_data): Adjust gomp_copy_dev2host call.
8740 (gomp_load_plugin_for_device): Remove old interface, adjust to load
8741 new async interface.
8742 (gomp_target_fini): Adjust code to call gomp_fini_device.
8743
8744 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
8745 (struct ptx_stream): Remove.
8746 (struct nvptx_thread): Remove current_stream field.
8747 (cuda_map_create): Remove.
8748 (cuda_map_destroy): Remove.
8749 (map_init): Remove.
8750 (map_fini): Remove.
8751 (map_pop): Remove.
8752 (map_push): Remove.
8753 (struct goacc_asyncqueue): Define.
8754 (struct nvptx_callback): Define.
8755 (struct ptx_free_block): Define.
8756 (struct ptx_device): Remove null_stream, active_streams, async_streams,
8757 stream_lock, and next fields.
8758 (enum ptx_event_type): Remove.
8759 (struct ptx_event): Remove.
8760 (ptx_event_lock): Remove.
8761 (ptx_events): Remove.
8762 (init_streams_for_device): Remove.
8763 (fini_streams_for_device): Remove.
8764 (select_stream_for_async): Remove.
8765 (nvptx_init): Remove ptx_events and ptx_event_lock references.
8766 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
8767 case.
8768 (nvptx_open_device): Add free_blocks initialization, remove
8769 init_streams_for_device call.
8770 (nvptx_close_device): Remove fini_streams_for_device call, add
8771 free_blocks destruct code.
8772 (event_gc): Remove.
8773 (event_add): Remove.
8774 (nvptx_exec): Adjust parameters and code.
8775 (nvptx_free): Likewise.
8776 (nvptx_host2dev): Remove.
8777 (nvptx_dev2host): Remove.
8778 (nvptx_set_async): Remove.
8779 (nvptx_async_test): Remove.
8780 (nvptx_async_test_all): Remove.
8781 (nvptx_wait): Remove.
8782 (nvptx_wait_async): Remove.
8783 (nvptx_wait_all): Remove.
8784 (nvptx_wait_all_async): Remove.
8785 (nvptx_get_cuda_stream): Remove.
8786 (nvptx_set_cuda_stream): Remove.
8787 (GOMP_OFFLOAD_alloc): Adjust code.
8788 (GOMP_OFFLOAD_free): Likewise.
8789 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
8790 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
8791 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
8792 (GOMP_OFFLOAD_openacc_async_wait): Remove.
8793 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
8794 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
8795 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
8796 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
8797 (cuda_free_argmem): New function.
8798 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
8799 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
8800 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
8801 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
8802 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
8803 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
8804 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
8805 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
8806 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
8807 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
8808 (cuda_callback_wrapper): New function.
8809 (cuda_memcpy_sanity_check): New function.
8810 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
8811 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
8812 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
8813 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
8814
da2d30c1
TS
88152019-05-07 Thomas Schwinge <thomas@codesourcery.com>
8816
8817 PR target/87835
8818 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
8819
2bbbfa4e
TS
88202019-05-06 Thomas Schwinge <thomas@codesourcery.com>
8821
8822 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
8823
bbf1efe1
KB
88242019-03-27 Kevin Buettner <kevinb@redhat.com>
8825
8826 * team.c (gomp_team_start): Initialize pool->threads[0].
8827
1241136c
TS
88282019-02-22 Thomas Schwinge <thomas@codesourcery.com>
8829
b03d721a
TS
8830 * testsuite/libgomp.oacc-c++/c++.exp: Specify
8831 "-foffload=$offload_target".
8832 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8833 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8834 * testsuite/lib/libgomp.exp
8835 (check_effective_target_openacc_nvidia_accel_configured): Remove,
8836 as (conceptually) merged into
8837 check_effective_target_openacc_nvidia_accel_selected. Adjust all
8838 users.
8839
0a0384b4
TS
8840 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
8841 * testsuite/libgomp-test-support.exp.in: Adjust.
8842 * testsuite/lib/libgomp.exp: Likewise. Don't populate
8843 openacc_device_types_s.
8844 (offload_target_to_openacc_device_type): New proc.
8845 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
8846 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8847 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8848 * Makefile.in: Regenerate.
8849 * configure: Likewise.
8850 * testsuite/Makefile.in: Likewise.
8851
ee332b4a
TS
8852 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
8853 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
8854 instead of OFFLOAD_TARGETS.
8855 * target.c (gomp_target_init): Adjust.
8856 * testsuite/libgomp-test-support.exp.in: Likewise.
8857 * testsuite/lib/libgomp.exp: Likewise. Populate
8858 openacc_device_types_s instead of offload_targets_s_openacc.
8859 (check_effective_target_openacc_nvidia_accel_selected)
8860 (check_effective_target_openacc_host_selected): Adjust.
8861 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
8862 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8863 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8864 * Makefile.in: Regenerate.
8865 * config.h.in: Likewise.
8866 * configure: Likewise.
8867 * testsuite/Makefile.in: Likewise.
8868
1241136c
TS
8869 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
8870 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
8871 "offloading: supported, but hardware not accessible".
8872 * testsuite/libgomp.oacc-c/c.exp: Likewise.
8873 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
8874
19695f4d
CLT
88752019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
8876
8877 PR c/87924
8878 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
8879 goacc_wait().
8880 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
8881 and related adjustment.
8882
8b44f8ec
JJ
88832019-01-30 Jakub Jelinek <jakub@redhat.com>
8884
8885 PR c++/88988
8886 * testsuite/libgomp.c++/pr88988.C: New test.
8887
be3a87e7
JJ
88882019-01-28 Jakub Jelinek <jakub@redhat.com>
8889
8890 PR middle-end/89002
8891 * testsuite/libgomp.c/pr89002.c: New test.
8892
497ef4d7
RB
88932019-01-28 Richard Biener <rguenther@suse.de>
8894
8895 PR testsuite/89064
8896 PR tree-optimization/86865
8897 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
8898
738c56d4
TV
88992019-01-24 Tom de Vries <tdevries@suse.de>
8900
8901 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
8902 once instantiated_devices drops to 0.
8903
4a75460b
TV
89042019-01-23 Tom de Vries <tdevries@suse.de>
8905
8906 PR target/PR88946
8907 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
8908 cuMemFree.
8909 (nvptx_exec): Don't call map_push if mapnum == 0.
8910 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
8911
4fef8e4d
TV
89122019-01-23 Tom de Vries <tdevries@suse.de>
8913
8914 PR target/88941
8915 PR target/88939
8916 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
8917 (map_fini): Remove "assert (!s->map->active)".
8918 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
8919
2ee6cb22
TV
89202019-01-23 Tom de Vries <tdevries@suse.de>
8921
8922 PR target/87835
8923 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
8924 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
8925
d41d952c
TV
89262019-01-15 Tom de Vries <tdevries@suse.de>
8927
8928 PR target/80547
8929 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
8930 New test.
8931
efb56ae8
TV
89322019-01-12 Tom de Vries <tdevries@suse.de>
8933
8934 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
8935 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
8936 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
8937 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
8938
2c2ff168
TV
89392019-01-12 Tom de Vries <tdevries@suse.de>
8940
8941 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
8942
a1057758
TV
89432019-01-12 Tom de Vries <tdevries@suse.de>
8944
8945 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
8946 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
8947 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
8948
56314b77
TV
89492019-01-12 Tom de Vries <tdevries@suse.de>
8950
8951 PR target/85486
8952 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
8953 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
8954
b39e4366
TV
89552019-01-12 Tom de Vries <tdevries@suse.de>
8956
8957 PR target/85381
8958 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
8959 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
8960
2cb7a501
TV
89612019-01-12 Tom de Vries <tdevries@suse.de>
8962
8963 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
8964 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
8965 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
8966
8e77f71e
TV
89672019-01-12 Tom de Vries <tdevries@suse.de>
8968
8969 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
8970 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
8971 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
8972
52d22ece
TV
89732019-01-12 Tom de Vries <tdevries@suse.de>
8974
8975 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
8976 resources diagnostic.
8977
2b9d9e39
TV
89782019-01-12 Tom de Vries <tdevries@suse.de>
8979
8980 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
8981 vector length to be 128.
8982 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
8983 length 2097152 to be reduced to 1024 instead of 32.
8984
4102bda6
TS
89852019-01-11 Thomas Schwinge <thomas@codesourcery.com>
8986 James Norris <jnorris@codesourcery.com>
8987
8988 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
8989 Library Routines", and "Environment Variables".
8990
052aaace
TV
89912019-01-11 Tom de Vries <tdevries@suse.de>
8992
8993 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
8994 num_workers 16.
8995
9390f916
TV
89962019-01-11 Tom de Vries <tdevries@suse.de>
8997
8998 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
8999 -foffload=-w.
9000 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
9001 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
9002 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
9003 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
9004
2c3e7ad2
TV
90052019-01-11 Tom de Vries <tdevries@suse.de>
9006
9007 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
9008 test.
9009
e222497d
NS
90102019-01-10 Nathan Sidwell <nathan@acm.org>
9011 Julian Brown <julian@codesourcery.com>
9012
9013 PR lto/71959
9014 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
9015 * testsuite/libgomp.oacc-c++/pr71959.C: New.
9016
cb87fec3
SH
90172019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9018
9019 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
9020 and paste code.
9021
30b4d0d0
SH
90222019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
9023
9024 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
9025 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9026 write.
9027
5d0bc70a
TV
90282019-01-09 Tom de Vries <tdevries@suse.de>
9029
9030 PR target/88756
9031 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
9032 #define instead of "const int".
9033 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
9034 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
9035 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
9036 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
9037
2c372e81
TV
90382019-01-09 Tom de Vries <tdevries@suse.de>
9039
9040 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
9041 one worker.
9042
43493c97
TV
90432019-01-07 Tom de Vries <tdevries@suse.de>
9044
9045 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
9046 GOMP_OPENACC_DIM argument.
9047
5c571497
TV
90482019-01-03 Tom de Vries <tdevries@suse.de>
9049
9050 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
9051 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
9052
a5544970
JJ
90532019-01-01 Jakub Jelinek <jakub@redhat.com>
9054
9055 Update copyright years.
9056
3f27508c
JJ
90572019-01-01 Jakub Jelinek <jakub@redhat.com>
9058
9059 * libgomp.texi: Bump @copying's copyright year.
9060
59d5960c
TS
90612018-12-28 Thomas Schwinge <thomas@codesourcery.com>
9062
9063 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
9064 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
9065 (GOACC_declare): Redefine the "device" argument to "flags".
9066
a44c1790
TS
90672018-12-28 Thomas Schwinge <thomas@codesourcery.com>
9068 Cesar Philippidis <cesar@codesourcery.com>
9069
9070 * target.c (struct gomp_coalesce_chunk): New structure.
9071 (struct gomp_coalesce_buf): Update the chunks member to use that
9072 type. Adjust all users.
9073
a152954e
TV
90742018-12-19 Tom de Vries <tdevries@suse.de>
9075
9076 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
9077 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
9078 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
9079
49188cd1
TV
90802018-12-19 Tom de Vries <tdevries@suse.de>
9081
9082 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
9083 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
9084 gcc/testsuite/gcc.dg/goacc.
9085 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
9086
c759830b
TS
90872018-12-14 Thomas Schwinge <thomas@codesourcery.com>
9088 Chung-Lin Tang <cltang@codesourcery.com>
9089
9090 * oacc-mem.c (acc_present_or_create): Remove definition and change
9091 to alias of acc_create.
9092 (acc_present_or_copyin): Remove definition and change to alias of
9093 acc_copyin.
9094 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
9095 of acc_present_or_create.
9096 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
9097 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
9098 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
9099 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
9100 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
9101 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
9102 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
9103 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
9104 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
9105 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
9106 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
9107 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
9108 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
9109 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
9110 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
9111 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
9112
7de562ee
TS
91132018-12-14 Thomas Schwinge <thomas@codesourcery.com>
9114
f847198e
TS
9115 PR libgomp/88495
9116 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
9117 "identical parameters".
9118 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
9119 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
9120
c8ab8aab
TS
9121 PR libgomp/88484
9122 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
9123 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
9124
1404af62
TS
9125 PR libgomp/88407
9126 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
9127 (nvptx_wait_async): Unseen async-argument is a no-op.
9128 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
9129 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
9130 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9131 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
9132 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
9133 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
9134 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
9135 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
9136 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
9137
7de562ee
TS
9138 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
9139 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9140
17469af7
CLT
91412018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
9142
9143 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
9144 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9145 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9146
18c247cc
TS
91472018-12-14 Thomas Schwinge <thomas@codesourcery.com>
9148
9149 PR libgomp/88370
9150 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
9151 (acc_set_cuda_stream): Clarify.
9152 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
9153 "async_valid_p".
9154 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
9155 acc_async_sync".
9156 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
9157 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
9158 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
9159 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
9160
b0aba46c
TV
91612018-12-14 Tom de Vries <tdevries@suse.de>
9162
9163 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
9164 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
9165 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
9166 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
9167 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
9168
fe0827ee
TV
91692018-12-13 Tom de Vries <tdevries@suse.de>
9170
9171 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
9172 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
9173 * fortran.c (omp_display_affinity_): ... here.
9174 * libgomp.h (gomp_print_string): Declare.
9175 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
9176 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
9177 write.
9178
a51f8c92
JJ
91792018-12-13 Jakub Jelinek <jakub@redhat.com>
9180
9181 PR libgomp/88460
9182 * testsuite/libgomp.c++/for-24.C (results): Include it in
9183 omp declare target region.
9184 (main): Use map (always, tofrom: results) instead of
9185 map (tofrom: results).
9186
a6ef2ac9
JJ
91872018-12-12 Jakub Jelinek <jakub@redhat.com>
9188
7a289b7d
JJ
9189 PR fortran/88463
9190 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
9191 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
9192
a6ef2ac9
JJ
9193 * testsuite/libgomp.c-c++-common/for-16.c: New test.
9194
9c47a019
AS
91952018-12-12 Andreas Schwab <schwab@suse.de>
9196
9197 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
9198 clobbered.
9199
d0cbb206
TK
92002018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
9201
9202 PR fortran/88411
9203 * testsuite/libgomp.fortran/async_io_8.f90: New test.
9204
84ca08d2
TS
92052018-12-09 Thomas Schwinge <thomas@codesourcery.com>
9206 Jakub Jelinek <jakub@redhat.com>
9207
9208 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
9209 devicep->host2dev_func.
9210
6997628d
JJ
92112018-12-08 Jakub Jelinek <jakub@redhat.com>
9212
9213 PR libgomp/87995
9214 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
9215 tls_runtime effective target.
9216 (t): New threadprivate variable.
9217 (main): Set t in threads which execute iterations of the worksharing
9218 loop. Propagate that to the task after the loop and don't abort
9219 if the current taskgroup hasn't been cancelled.
9220
daa8c1d7
JJ
92212018-12-02 Jakub Jelinek <jakub@redhat.com>
9222
4a82df9a
JJ
9223 * testsuite/libgomp.c/task-reduction-3.c: New test.
9224
daa8c1d7
JJ
9225 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
9226
fe570ff8
CP
92272018-11-30 Cesar Philippidis <cesar@codesourcery.com>
9228
9229 PR libgomp/88288
9230 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
9231 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
9232
c223608f
TS
92332018-11-30 Thomas Schwinge <thomas@codesourcery.com>
9234
9235 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
9236
fc60283c
RB
92372018-10-19 Richard Biener <rguenther@suse.de>
9238
9239 PR tree-optimization/88182
9240 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
9241
ffcf3b79
JJ
92422018-11-26 Jakub Jelinek <jakub@redhat.com>
9243
9244 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
9245 (RUNTEST): Don't define.
9246 (RUNTESTDEFAULTFLAGS): Add.
9247 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
9248 (distclean-am): Depend on distclean-DEJAGNU.
9249 (check-am): If -j% option is present in MFLAGS and if
9250 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
9251 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
9252 * testsuite/Makefile.in: Regenerated.
9253
ef6e6914
RB
92542018-11-26 Richard Biener <rguenther@suse.de>
9255
9256 PR tree-optimization/88182
9257 * testsuite/libgomp.c++/pr88182.C: New testcase.
9258
72d3bb76
JJ
92592018-11-20 Jakub Jelinek <jakub@redhat.com>
9260
9261 PR bootstrap/88106
9262 * config/mingw32/affinity-fmt.c: New file.
9263
207286c3
JJ
92642018-11-09 Jakub Jelinek <jakub@redhat.com>
9265
9666c522
JJ
9266 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
9267 (gomp_display_affinity): Use __builtin_choose_expr to handle
9268 properly handle argument having integral, or pointer or some other
9269 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
9270 with uint64_t type instead of %llx and unsigned long long.
9271
207286c3
JJ
9272 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
9273 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
9274
2033f45b
RO
92752018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9276
9277 * affinity.c: Include <string.h>, <stdio.h>.
9278 (gomp_display_affinity_place): Remove cpusetp.
9279 * teams.c: Include <limits.h>.
9280
28567c40
JJ
92812018-11-08 Jakub Jelinek <jakub@redhat.com>
9282
8991d779
JJ
9283 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
9284 in_reduction clause for s[0].
9285
28567c40
JJ
9286 * affinity.c (gomp_display_affinity_place): New function.
9287 * affinity-fmt.c: New file.
9288 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
9289 * config/linux/affinity.c (gomp_display_affinity_place): New function.
9290 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
9291 Move these functions to ...
9292 * config/nvptx/teams.c: ... here. New file.
9293 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
9294 New functions.
9295 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
9296 functions.
9297 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
9298 and _aligned_malloc.
9299 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
9300 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
9301 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
9302 gomp_affinity_format_len): New variables.
9303 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
9304 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
9305 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
9306 modifiers. Display (non-default) chunk sizes. Print
9307 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
9308 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
9309 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
9310 * fortran.c: Include stdio.h and string.h.
9311 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
9312 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
9313 (omp_set_affinity_format_, omp_get_affinity_format_,
9314 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
9315 omp_pause_resource_all_): New functions.
9316 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
9317 switch.
9318 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
9319 functions to ...
9320 * teams.c: ... here. New file.
9321 * libgomp_g.h: Include gstdint.h.
9322 (GOMP_loop_nonmonotonic_runtime_start,
9323 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
9324 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
9325 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
9326 GOMP_parallel_loop_nonmonotonic_runtime,
9327 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9328 GOMP_loop_ull_nonmonotonic_runtime_start,
9329 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
9330 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
9331 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9332 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
9333 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
9334 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9335 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9336 GOMP_teams_reg): Declare.
9337 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
9338 gomp_aligned_alloc uses fallback implementation.
9339 (gomp_aligned_alloc, gomp_aligned_free): Declare.
9340 (enum gomp_schedule_type): Add GFS_MONOTONIC.
9341 (struct gomp_doacross_work_share): Add extra field.
9342 (struct gomp_work_share): Add task_reductions field.
9343 (struct gomp_taskgroup): Add workshare and reductions fields.
9344 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
9345 (gomp_thread_handle): New typedef.
9346 (gomp_display_affinity_place, gomp_set_affinity_format,
9347 gomp_display_string, gomp_display_affinity,
9348 gomp_display_affinity_thread): Declare.
9349 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
9350 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
9351 gomp_workshare_task_reduction_register): Declare.
9352 (gomp_team_start): Add taskgroup argument.
9353 (gomp_pause_host): Declare.
9354 (gomp_init_work_share, gomp_work_share_start): Change bool argument
9355 to size_t.
9356 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
9357 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
9358 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
9359 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9360 GOMP_loop_ull_doacross_start,
9361 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
9362 GOMP_loop_maybe_nonmonotonic_runtime_next,
9363 GOMP_loop_maybe_nonmonotonic_runtime_start,
9364 GOMP_loop_nonmonotonic_runtime_next,
9365 GOMP_loop_nonmonotonic_runtime_start,
9366 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9367 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
9368 GOMP_loop_ull_nonmonotonic_runtime_next,
9369 GOMP_loop_ull_nonmonotonic_runtime_start,
9370 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9371 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
9372 GOMP_taskgroup_reduction_register,
9373 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9374 GOMP_teams_reg and GOMP_taskwait_depend.
9375 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
9376 omp_{capture,display}_affinity{,_}, and
9377 omp_[gs]et_affinity_format{,_}.
9378 * loop.c: Include string.h.
9379 (GOMP_loop_runtime_next): Add ialias.
9380 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9381 (gomp_loop_static_start, gomp_loop_dynamic_start,
9382 gomp_loop_guided_start, gomp_loop_ordered_static_start,
9383 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9384 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
9385 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
9386 or gomp_doacross_init callers.
9387 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
9388 GOMP_loop_doacross_start): New functions.
9389 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9390 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
9391 Mask off GFS_MONOTONIC bit.
9392 (GOMP_loop_maybe_nonmonotonic_runtime_next,
9393 GOMP_loop_maybe_nonmonotonic_runtime_start,
9394 GOMP_loop_nonmonotonic_runtime_next,
9395 GOMP_loop_nonmonotonic_runtime_start,
9396 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
9397 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
9398 functions.
9399 (gomp_parallel_loop_start): Pass NULL as taskgroup to
9400 gomp_team_start.
9401 * loop_ull.c: Include string.h.
9402 (GOMP_loop_ull_runtime_next): Add ialias.
9403 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9404 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
9405 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
9406 gomp_loop_ull_ordered_dynamic_start,
9407 gomp_loop_ull_ordered_guided_start,
9408 gomp_loop_ull_doacross_static_start,
9409 gomp_loop_ull_doacross_dynamic_start,
9410 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
9411 and gomp_doacross_ull_init callers.
9412 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
9413 GOMP_loop_ull_doacross_start): New functions.
9414 (GOMP_loop_ull_runtime_start,
9415 GOMP_loop_ull_ordered_runtime_start,
9416 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
9417 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
9418 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
9419 GOMP_loop_ull_nonmonotonic_runtime_next,
9420 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
9421 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
9422 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
9423 (omp_pause_resource_t, omp_depend_t): New typedefs.
9424 (enum omp_lock_hint_t): Renamed to ...
9425 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
9426 enumerators using numbers and omp_lock_hint_* as their aliases.
9427 (omp_lock_hint_t): New typedef. Rename to ...
9428 (omp_sync_hint_t): ... this.
9429 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
9430 omp_sync_hint_t instead of omp_lock_hint_t.
9431 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9432 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9433 Declare.
9434 (omp_target_is_present, omp_target_disassociate_ptr):
9435 Change first argument from void * to const void *.
9436 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
9437 from void * to const void *.
9438 (omp_target_associate_ptr): Change first and second arguments from
9439 void * to const void *.
9440 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
9441 omp_pause_hard): New parameters.
9442 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9443 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9444 New interfaces.
9445 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
9446 omp_pause_hard): New parameters.
9447 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
9448 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
9449 New externals.
9450 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
9451 EXTRA argument. If not needed to prepare array, if extra is 0,
9452 clear ws->doacross, otherwise allocate just doacross structure and
9453 extra payload. If array is needed, allocate also extra payload.
9454 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
9455 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
9456 doacross == NULL.
9457 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
9458 gomp_team_start.
9459 (GOMP_parallel): Likewise. Formatting fix.
9460 (GOMP_parallel_reductions): New function.
9461 (GOMP_cancellation_point): If taskgroup has workshare
9462 flag set, check cancelled of prev taskgroup if any.
9463 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
9464 on prev taskgroup if any.
9465 * sections.c: Include string.h.
9466 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
9467 (GOMP_sections_start): Adjust gomp_work_share_start caller.
9468 (GOMP_sections2_start): New function.
9469 (GOMP_parallel_sections_start, GOMP_parallel_sections):
9470 Pass NULL as taskgroup to gomp_team_start.
9471 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
9472 gomp_work_share_start callers.
9473 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
9474 If taskgroup has workshare flag set, check cancelled on prev
9475 taskgroup if any. Guard all cancellation tests with
9476 gomp_cancel_var test.
9477 (omp_target_is_present, omp_target_disassociate_ptr):
9478 Change ptr argument from void * to const void *.
9479 (omp_target_memcpy): Change src argument from void * to const void *.
9480 (omp_target_memcpy_rect): Likewise.
9481 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
9482 instead of char * where needed.
9483 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
9484 from void * to const void *.
9485 (omp_pause_resource, omp_pause_resource_all): New functions.
9486 * task.c (gomp_task_handle_depend): Handle new depend array format
9487 in addition to the old. Handle mutexinoutset kinds the same as
9488 inout for now, handle unspecified kinds.
9489 (gomp_create_target_task): If taskgroup has workshare flag set, check
9490 cancelled on prev taskgroup if any. Guard all cancellation tests with
9491 gomp_cancel_var test. Handle new depend array format count in
9492 addition to the old.
9493 (GOMP_task): Likewise. Adjust function comment.
9494 (gomp_task_run_pre): If taskgroup has workshare flag set, check
9495 cancelled on prev taskgroup if any. Guard all cancellation tests with
9496 gomp_cancel_var test.
9497 (GOMP_taskwait_depend): New function.
9498 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
9499 format in addition to the old. Handle mutexinoutset kinds the same as
9500 inout for now, handle unspecified kinds. Fix a function comment typo.
9501 (gomp_taskgroup_init): New function.
9502 (GOMP_taskgroup_start): Use it.
9503 (gomp_reduction_register, gomp_create_artificial_team,
9504 GOMP_taskgroup_reduction_register,
9505 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
9506 gomp_parallel_reduction_register,
9507 gomp_workshare_task_reduction_register,
9508 gomp_workshare_taskgroup_start,
9509 GOMP_workshare_task_reduction_unregister): New functions.
9510 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
9511 check cancelled on prev taskgroup if any. Guard all cancellation
9512 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
9513 by calling GOMP_taskgroup_reduction_register.
9514 * team.c (gomp_thread_attr): Remove comment.
9515 (struct gomp_thread_start_data): Add handle field.
9516 (gomp_thread_start): Call pthread_detach.
9517 (gomp_new_team): Adjust gomp_init_work_share caller.
9518 (gomp_free_pool_helper): Call pthread_detach.
9519 (gomp_team_start): Add taskgroup argument, initialize implicit
9520 tasks' taskgroup field to that. Don't call
9521 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
9522 (gomp_team_end): Determine nesting by thr->ts.level != 0
9523 rather than thr->ts.team != NULL.
9524 (gomp_pause_pool_helper, gomp_pause_host): New functions.
9525 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
9526 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
9527 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
9528 if more than 1 allocate also extra payload at the end of array. Never
9529 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
9530 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
9531 return true instead of ws.
9532 * Makefile.in: Regenerated.
9533 * configure: Regenerated.
9534 * config.h.in: Regenerated.
9535 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
9536 in some cases.
9537 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
9538 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
9539 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
9540 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
9541 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
9542 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
9543 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
9544 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
9545 * testsuite/libgomp.c-c++-common/for-10.c: New test.
9546 * testsuite/libgomp.c-c++-common/for-11.c: New test.
9547 * testsuite/libgomp.c-c++-common/for-12.c: New test.
9548 * testsuite/libgomp.c-c++-common/for-13.c: New test.
9549 * testsuite/libgomp.c-c++-common/for-14.c: New test.
9550 * testsuite/libgomp.c-c++-common/for-15.c: New test.
9551 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
9552 define a different N(test), don't define N(f0) to N(f14), but instead
9553 define N(f20) to N(f34) using != comparisons.
9554 * testsuite/libgomp.c-c++-common/for-7.c: New test.
9555 * testsuite/libgomp.c-c++-common/for-8.c: New test.
9556 * testsuite/libgomp.c-c++-common/for-9.c: New test.
9557 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
9558 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
9559 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
9560 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
9561 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
9562 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
9563 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
9564 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
9565 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
9566 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
9567 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
9568 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
9569 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
9570 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
9571 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
9572 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
9573 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
9574 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
9575 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
9576 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
9577 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
9578 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
9579 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
9580 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
9581 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
9582 * testsuite/libgomp.c++/depend-1.C: New test.
9583 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
9584 * testsuite/libgomp.c++/depobj-1.C: New test.
9585 * testsuite/libgomp.c++/for-16.C: New test.
9586 * testsuite/libgomp.c++/for-21.C: New test.
9587 * testsuite/libgomp.c++/for-22.C: New test.
9588 * testsuite/libgomp.c++/for-23.C: New test.
9589 * testsuite/libgomp.c++/for-24.C: New test.
9590 * testsuite/libgomp.c++/for-25.C: New test.
9591 * testsuite/libgomp.c++/for-26.C: New test.
9592 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
9593 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
9594 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
9595 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
9596 * testsuite/libgomp.c++/task-reduction-10.C: New test.
9597 * testsuite/libgomp.c++/task-reduction-11.C: New test.
9598 * testsuite/libgomp.c++/task-reduction-12.C: New test.
9599 * testsuite/libgomp.c++/task-reduction-13.C: New test.
9600 * testsuite/libgomp.c++/task-reduction-14.C: New test.
9601 * testsuite/libgomp.c++/task-reduction-15.C: New test.
9602 * testsuite/libgomp.c++/task-reduction-16.C: New test.
9603 * testsuite/libgomp.c++/task-reduction-17.C: New test.
9604 * testsuite/libgomp.c++/task-reduction-18.C: New test.
9605 * testsuite/libgomp.c++/task-reduction-19.C: New test.
9606 * testsuite/libgomp.c/task-reduction-1.c: New test.
9607 * testsuite/libgomp.c++/task-reduction-1.C: New test.
9608 * testsuite/libgomp.c/task-reduction-2.c: New test.
9609 * testsuite/libgomp.c++/task-reduction-2.C: New test.
9610 * testsuite/libgomp.c++/task-reduction-3.C: New test.
9611 * testsuite/libgomp.c++/task-reduction-4.C: New test.
9612 * testsuite/libgomp.c++/task-reduction-5.C: New test.
9613 * testsuite/libgomp.c++/task-reduction-6.C: New test.
9614 * testsuite/libgomp.c++/task-reduction-7.C: New test.
9615 * testsuite/libgomp.c++/task-reduction-8.C: New test.
9616 * testsuite/libgomp.c++/task-reduction-9.C: New test.
9617 * testsuite/libgomp.c/teams-1.c: New test.
9618 * testsuite/libgomp.c/teams-2.c: New test.
9619 * testsuite/libgomp.c/thread-limit-4.c: New test.
9620 * testsuite/libgomp.c/thread-limit-5.c: New test.
9621 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
9622
58168bbf
CLT
96232018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
9624
9625 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
9626 acc_memcpy_to/from_device functions, now with async parameter.
9627 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
9628 (acc_memcpy_from_device): Likewise.
9629 (acc_memcpy_to_device_async): New API function.
9630 (acc_memcpy_from_device_async): Likewise.
9631 (present_create_copy): Add async parameter and async setting/unsetting.
9632 (acc_create): Adjust present_create_copy call.
9633 (acc_copyin): Likewise.
9634 (acc_present_or_create): Likewise.
9635 (acc_present_or_copyin): Likewise.
9636 (acc_create_async): New API function.
9637 (acc_copyin_async): New API function.
9638 (delete_copyout): Add async parameter and async setting/unsetting.
9639 (acc_delete): Adjust delete_copyout call.
9640 (acc_copyout): Likewise.
9641 (acc_delete_async): New API function.
9642 (acc_copyout_async): Likewise.
9643 (update_dev_host): Add async parameter and async setting/unsetting.
9644 (acc_update_device): Adjust update_dev_host call.
9645 (acc_update_self): Likewise.
9646 (acc_update_device_async): New API function.
9647 (acc_update_self_async): Likewise.
9648 * openacc.h (acc_copyin_async): Declare new API function.
9649 (acc_create_async): Likewise.
9650 (acc_copyout_async): Likewise.
9651 (acc_delete_async): Likewise.
9652 (acc_update_device_async): Likewise.
9653 (acc_update_self_async): Likewise.
9654 (acc_memcpy_to_device_async): Likewise.
9655 (acc_memcpy_from_device_async): Likewise.
9656 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
9657 (acc_copyin_async_64_h): New subroutine.
9658 (acc_copyin_async_array_h): New subroutine.
9659 (acc_create_async_32_h): New subroutine.
9660 (acc_create_async_64_h): New subroutine.
9661 (acc_create_async_array_h): New subroutine.
9662 (acc_copyout_async_32_h): New subroutine.
9663 (acc_copyout_async_64_h): New subroutine.
9664 (acc_copyout_async_array_h): New subroutine.
9665 (acc_delete_async_32_h): New subroutine.
9666 (acc_delete_async_64_h): New subroutine.
9667 (acc_delete_async_array_h): New subroutine.
9668 (acc_update_device_async_32_h): New subroutine.
9669 (acc_update_device_async_64_h): New subroutine.
9670 (acc_update_device_async_array_h): New subroutine.
9671 (acc_update_self_async_32_h): New subroutine.
9672 (acc_update_self_async_64_h): New subroutine.
9673 (acc_update_self_async_array_h): New subroutine.
9674 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
9675 (acc_copyin_async_64_h): New subroutine.
9676 (acc_copyin_async_array_h): New subroutine.
9677 (acc_create_async_32_h): New subroutine.
9678 (acc_create_async_64_h): New subroutine.
9679 (acc_create_async_array_h): New subroutine.
9680 (acc_copyout_async_32_h): New subroutine.
9681 (acc_copyout_async_64_h): New subroutine.
9682 (acc_copyout_async_array_h): New subroutine.
9683 (acc_delete_async_32_h): New subroutine.
9684 (acc_delete_async_64_h): New subroutine.
9685 (acc_delete_async_array_h): New subroutine.
9686 (acc_update_device_async_32_h): New subroutine.
9687 (acc_update_device_async_64_h): New subroutine.
9688 (acc_update_device_async_array_h): New subroutine.
9689 (acc_update_self_async_32_h): New subroutine.
9690 (acc_update_self_async_64_h): New subroutine.
9691 (acc_update_self_async_array_h): New subroutine.
9692 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
9693 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
9694 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
9695 acc_memcpy_to_device_async*, acc_update_device_async*, and
9696 acc_update_self_async* entries.
9697 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
9698 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
9699 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
9700
22e05272
JM
97012018-10-31 Joseph Myers <joseph@codesourcery.com>
9702
9703 PR bootstrap/82856
9704 * Makefile.am: Include multilib.am
9705 (AUTOMAKE_OPTIONS): Add info-in-builddir.
9706 (CLEANFILES): Remove libgomp.info.
9707 * configure.ac: Remove AC_PREREQ.
9708 * testsuite/Makefile.am (RUNTEST): Remove quotes.
9709 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
9710 Regenerate.
9711
87a5ccfb
JM
97122018-10-29 Joseph Myers <joseph@codesourcery.com>
9713 Julian Brown <julian@codesourcery.com>
9714
9715 * testsuite/libgomp.oacc-c++/this.C: New.
9716
2049befd
CP
97172018-09-18 Cesar Philippidis <cesar@codesourcery.com>
9718
9719 * plugin/plugin-nvptx.c (struct cuda_map): New.
9720 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
9721 h_tail with (cuda_map *) map.
9722 (cuda_map_create): New function.
9723 (cuda_map_destroy): New function.
9724 (map_init): Update to use a linked list of cuda_map objects.
9725 (map_fini): Likewise.
9726 (map_pop): Likewise.
9727 (map_push): Likewise. Return CUdeviceptr instead of void.
9728 (init_streams_for_device): Remove stales references to ptx_stream
9729 members.
9730 (select_stream_for_async): Likewise.
9731 (nvptx_exec): Update call to map_init.
9732
8e36332c
CP
97332018-09-09 Cesar Philippidis <cesar@codesourcery.com>
9734 Julian Brown <julian@codesourcery.com>
9735
9736 PR middle-end/86336
9737 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
9738
2b4c9065
NK
97392018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
9740 Thomas Koenig <tkoenig@gcc.gnu.org>
9741
9742 PR fortran/25829
9743 * testsuite/libgomp.fortran/async_io_1.f90: New test.
9744 * testsuite/libgomp.fortran/async_io_2.f90: New test.
9745 * testsuite/libgomp.fortran/async_io_3.f90: New test.
9746 * testsuite/libgomp.fortran/async_io_4.f90: New test.
9747 * testsuite/libgomp.fortran/async_io_5.f90: New test.
9748 * testsuite/libgomp.fortran/async_io_6.f90: New test.
9749 * testsuite/libgomp.fortran/async_io_7.f90: New test.
9750
bd9b3d3d
CP
97512018-08-13 Cesar Philippidis <cesar@codesourcery.com>
9752 Tom de Vries <tdevries@suse.de>
9753
9754 PR target/85590
9755 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
9756 (cuOccupancyMaxPotentialBlockSize): Declare.
9757 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
9758 CUDA_ONE_CALL_MAYBE_NULL.
9759 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
9760 CUoccupancyB2DSize and declare
9761 cuOccupancyMaxPotentialBlockSize.
9762 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
9763 default num_gangs and num_workers when the driver supports it.
9764
8e09a12f
TV
97652018-08-08 Tom de Vries <tdevries@suse.de>
9766
9767 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
9768 CUDA_ONE_CALL_MAYBE_NULL.
9769 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
9770 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
9771 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
9772 are not found.
9773
cedd9bd0
TV
97742018-08-08 Tom de Vries <tdevries@suse.de>
9775
9776 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
9777 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
9778 present.
9779
b113af95
TV
97802018-08-08 Tom de Vries <tdevries@suse.de>
9781
9782 * plugin/plugin-nvptx.c
9783 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
9784 (nvptx_open_device): Use
9785 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
9786
94767dac
TV
97872018-08-08 Tom de Vries <tdevries@suse.de>
9788
9789 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
9790 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
9791
02150de8
TV
97922018-08-07 Tom de Vries <tdevries@suse.de>
9793
9794 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
9795 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
9796 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
9797 corresponding call in CUDA_ONE_CALL. Add def/undef of
9798 CUDA_ONE_CALL_MAYBE_NULL.
9799 (CUDA_CALL_EXISTS): Define.
9800
9e28b107
TV
98012018-08-07 Tom de Vries <tdevries@suse.de>
9802
9803 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
9804 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
9805 corresponding undefs right after.
9806
09940090
TV
98072018-08-04 Tom de Vries <tdevries@suse.de>
9808
9809 * plugin/configfrag.ac: For --without-cuda-driver, set
9810 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
9811 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
9812 * configure: Regenerate.
9813
77e0a97a
TV
98142018-08-02 Tom de Vries <tdevries@suse.de>
9815
9816 PR target/86660
9817 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
9818 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
9819 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9820 Same.
9821 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
9822 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
9823 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
9824
701d080a
CP
98252018-08-01 Cesar Philippidis <cesar@codesourcery.com>
9826 Thomas Schwinge <thomas@codesourcery.com>
9827
9828 * config/nvptx/oacc-parallel.c: Truncate.
9829
094db6be
CP
98302018-08-01 Cesar Philippidis <cesar@codesourcery.com>
9831 James Norris <jnorris@codesourcery.com>
9832
9833 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
9834 (map_init, map_pop): Remove use of struct map.
9835 (map_push): Likewise and change argument list.
094db6be
CP
9836 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
9837
8c6310a2
TV
98382018-08-01 Tom de Vries <tdevries@suse.de>
9839
9840 * plugin/cuda-lib.def: New file. Factor out of ...
9841 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
9842 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
9843 using CUDA_CALLS.
9844
1d4a51cf
AV
98452018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
9846
9847 Revert 'AsyncI/O patch committed'.
9848 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
9849 Thomas Koenig <tkoenig@gcc.gnu.org>
9850
9851 PR fortran/25829
9852 * testsuite/libgomp.fortran/async_io_1.f90: New test.
9853 * testsuite/libgomp.fortran/async_io_2.f90: New test.
9854 * testsuite/libgomp.fortran/async_io_3.f90: New test.
9855 * testsuite/libgomp.fortran/async_io_4.f90: New test.
9856 * testsuite/libgomp.fortran/async_io_5.f90: New test.
9857 * testsuite/libgomp.fortran/async_io_6.f90: New test.
9858 * testsuite/libgomp.fortran/async_io_7.f90: New test.
9859
4cdfee3f
TV
98602018-07-30 Tom de Vries <tdevries@suse.de>
9861
9862 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
9863 (nvptx_exec): Ensure worker and vector default dims don't exceed
9864 targ_fn->max_threads_per_block.
9865
0b210c43
TV
98662018-07-30 Tom de Vries <tdevries@suse.de>
9867
9868 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
9869 (nvptx_open_device): Init default_dims for device.
9870 (nvptx_exec): Use default_dims from device.
9871
5883c5cc
JJ
98722018-07-26 Jakub Jelinek <jakub@redhat.com>
9873
5d36384c
JJ
9874 PR testsuite/86660
9875 * testsuite/libgomp.c++/for-15.C (results): Include it in
9876 omp declare target region.
9877 (main): Use map (always, tofrom: results) instead of
9878 map (tofrom: results).
9879
5883c5cc
JJ
9880 PR middle-end/86660
9881 * testsuite/libgomp.c/pr86660.c: New test.
9882
88a4654d
CP
98832018-07-26 Cesar Philippidis <cesar@codesourcery.com>
9884 Tom de Vries <tdevries@suse.de>
9885
9886 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
9887 sufficient resources to launch a kernel, and give a hint on how to fix
9888 it.
9889
0c6c2f5f
CP
98902018-07-26 Cesar Philippidis <cesar@codesourcery.com>
9891 Tom de Vries <tdevries@suse.de>
9892
9893 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
9894 max_threads_per_block and max_threads_per_multiprocessor fields.
9895 (nvptx_open_device): Initialize new fields.
9896 (nvptx_exec): Use num_sms, and new fields.
9897
6dd58010
TV
98982018-07-26 Tom de Vries <tdevries@suse.de>
9899
9900 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
9901 to correct locations. Remove xfail.
9902
b2eb1779
TV
99032018-07-26 Tom de Vries <tdevries@suse.de>
9904
9905 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
9906 acc_wait. Move acc_async_test calls to correct locations. Remove
9907 xfail.
9908
b1f45884
NK
99092018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
9910 Thomas Koenig <tkoenig@gcc.gnu.org>
9911
9912 PR fortran/25829
9913 * testsuite/libgomp.fortran/async_io_1.f90: New test.
9914 * testsuite/libgomp.fortran/async_io_2.f90: New test.
9915 * testsuite/libgomp.fortran/async_io_3.f90: New test.
9916 * testsuite/libgomp.fortran/async_io_4.f90: New test.
9917 * testsuite/libgomp.fortran/async_io_5.f90: New test.
9918 * testsuite/libgomp.fortran/async_io_6.f90: New test.
9919 * testsuite/libgomp.fortran/async_io_7.f90: New test.
9920
3a106211
JJ
99212018-07-17 Jakub Jelinek <jakub@redhat.com>
9922
a3bccfa1
JJ
9923 PR middle-end/86542
9924 * testsuite/libgomp.c++/pr86542.C: New test.
9925
3a106211
JJ
9926 PR middle-end/86539
9927 * testsuite/libgomp.c++/pr86539.C: New test.
9928
2bae8b2f
JJ
99292018-07-11 Jakub Jelinek <jakub@redhat.com>
9930
9931 PR c++/86443
9932 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
9933 (results): Make sure the variable is not inside declare target region.
9934 (qux): Remove unused function.
9935
0b27c3ed
JJ
99362018-07-10 Jakub Jelinek <jakub@redhat.com>
9937
9938 PR c++/86443
9939 * testsuite/libgomp.c++/for-15.C: New test.
9940
f0391511
JJ
99412018-06-26 Jakub Jelinek <jakub@redhat.com>
9942
9943 PR c++/86291
9944 * testsuite/libgomp.c++/pr86291.C: New test.
9945
1a6d1d24
GP
99462018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
9947
9948 * libgomp.texi (Top): Move www.openmp.org to https.
9949 (Enabling OpenMP): Ditto.
9950 (omp_get_active_level): Ditto.
9951 (omp_get_ancestor_thread_num): Ditto.
9952 (omp_get_cancellation): Ditto.
9953 (omp_get_default_device): Ditto.
9954 (omp_get_dynamic): Ditto.
9955 (omp_get_level): Ditto.
9956 (omp_get_max_active_levels): Ditto.
9957 (omp_get_max_task_priority): Ditto.
9958 (omp_get_max_threads): Ditto.
9959 (omp_get_nested): Ditto.
9960 (omp_get_num_devices): Ditto.
9961 (omp_get_num_procs): Ditto.
9962 (omp_get_num_teams): Ditto.
9963 (omp_get_num_threads): Ditto.
9964 (omp_get_proc_bind): Ditto.
9965 (omp_get_schedule): Ditto.
9966 (omp_get_team_num): Ditto.
9967 (omp_get_team_size): Ditto.
9968 (omp_get_thread_limit): Ditto.
9969 (omp_get_thread_num): Ditto.
9970 (omp_in_parallel): Ditto.
9971 (omp_in_final): Ditto.
9972 (omp_is_initial_device): Ditto.
9973 (omp_set_default_device): Ditto.
9974 (omp_set_dynamic): Ditto.
9975 (omp_set_max_active_levels): Ditto.
9976 (omp_set_nested): Ditto.
9977 (omp_set_num_threads): Ditto.
9978 (omp_set_schedule): Ditto.
9979 (omp_init_lock): Ditto.
9980 (omp_set_lock): Ditto.
9981 (omp_test_lock): Ditto.
9982 (omp_unset_lock): Ditto.
9983 (omp_destroy_lock): Ditto.
9984 (omp_init_nest_lock): Ditto.
9985 (omp_set_nest_lock): Ditto.
9986 (omp_test_nest_lock): Ditto.
9987 (omp_unset_nest_lock): Ditto.
9988 (omp_destroy_nest_lock): Ditto.
9989 (omp_get_wtick): Ditto.
9990 (omp_get_wtime): Ditto.
9991 (OMP_CANCELLATION): Ditto.
9992 (OMP_DISPLAY_ENV): Ditto.
9993 (OMP_DEFAULT_DEVICE): Ditto.
9994 (OMP_DYNAMIC): Ditto.
9995 (OMP_MAX_ACTIVE_LEVELS): Ditto.
9996 (OMP_MAX_TASK_PRIORITY): Ditto.
9997 (OMP_NESTED): Ditto.
9998 (OMP_NUM_THREADS): Ditto.
9999 (OMP_PROC_BIND): Ditto.
10000 (OMP_PLACES): Ditto.
10001 (OMP_STACKSIZE): Ditto.
10002 (OMP_SCHEDULE): Ditto.
10003 (OMP_THREAD_LIMIT): Ditto.
10004 (OMP_WAIT_POLICY): Ditto.
10005
31dd69b7
CP
100062018-06-22 Cesar Philippidis <cesar@codesourcery.com>
10007 James Norris <jnorris@codesourcery.com>
10008 Julian Brown <julian@codesourcery.com>
10009 Thomas Schwinge <thomas@codesourcery.com>
10010 Tom de Vries <tom@codesourcery.com>
10011
10012 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
10013 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
10014 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
10015 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
10016 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10017 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10018 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
10019 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
10020 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
10021 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
10022 Likewise.
10023 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10024 Likewise.
10025 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10026 Likewise.
10027 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
10028 Likewise.
10029 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
10030 Likewise.
10031 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10032 Likewise.
10033 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
10034 Likewise.
10035 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
10036 Likewise.
10037 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
10038 Likewise.
10039 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
10040 Likewise.
10041 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
10042 Likewise.
10043 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
10044 Likewise.
10045 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
10046 Likewise.
10047 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
10048 Likewise.
10049 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
10050 Likewise.
10051 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
10052 Likewise.
10053 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
10054 Likewise.
10055 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
10056 Likewise.
10057 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
10058 Likewise.
10059 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
10060 Likewise.
10061 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
10062 Likewise.
10063 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
10064 Likewise.
10065 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
10066 Likewise.
10067 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
10068 Likewise.
10069 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
10070 Likewise.
10071 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
10072 Likewise.
10073 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
10074 Likewise.
10075 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
10076 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
10077 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
10078 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
10079 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
10080 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
10081 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
10082 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
10083 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
10084 Likewise.
10085 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
10086 Likewise.
10087 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
10088 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
10089 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
10090 Likewise.
10091 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
10092 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
10093 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
10094 Likewise.
10095 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
10096 Likewise.
10097 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
10098 Likewise.
10099 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
10100 Likewise.
10101 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
10102 Likewise.
10103 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
10104 Likewise.
10105 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
10106 Likewise.
10107 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
10108 Likewise.
10109 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
10110 Likewise.
10111 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
10112 Likewise.
10113 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
10114 Likewise.
10115 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
10116 Likewise.
10117 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
10118 Likewise.
10119 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
10120 Likewise.
10121 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
10122 Likewise.
10123 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
10124 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
10125 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
10126 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
10127 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
10128 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
10129 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
10130
829c6349
CLT
101312018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
10132 Thomas Schwinge <thomas@codesourcery.com>
10133 Cesar Philippidis <cesar@codesourcery.com>
10134
10135 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
10136 (gomp_acc_remove_pointer): Update declaration.
10137 (gomp_acc_declare_allocate): Declare.
10138 (gomp_remove_var): Declare.
10139 * libgomp.map (OACC_2.5): Define.
10140 * oacc-mem.c (acc_map_data): Update refcount.
10141 (acc_unmap_data): Likewise.
10142 (present_create_copy): Likewise.
10143 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
10144 (acc_copyin): Likewise.
10145 (FLAG_FINALIZE): Define.
10146 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
10147 (acc_delete_finalize): New function.
10148 (acc_delete_finalize_async): New function.
10149 (acc_copyout_finalize): New function.
10150 (acc_copyout_finalize_async): New function.
10151 (gomp_acc_insert_pointer): Update refcounts.
10152 (gomp_acc_remove_pointer): Return if data is not present on the
10153 accelerator.
10154 * oacc-parallel.c (find_pset): Rename to find_pointer.
10155 (find_pointer): Add support for GOMP_MAP_POINTER.
10156 (handle_ftn_pointers): New function.
10157 (GOACC_parallel_keyed): Update refcounts of variables.
10158 (GOACC_enter_exit_data): Add support for finalized data mappings.
10159 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
10160 of fortran arrays.
10161 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
10162 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
10163 for GOMP_MAP_FORCE_FROM.
10164 * openacc.f90 (module openacc_internal): Add
10165 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
10166 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
10167 acc_copyout_finalize and acc_delete_finalize.
10168 (acc_copyout_finalize_32_h): New subroutine.
10169 (acc_copyout_finalize_64_h): New subroutine.
10170 (acc_copyout_finalize_array_h): New subroutine.
10171 (acc_delete_finalize_32_h): New subroutine.
10172 (acc_delete_finalize_64_h): New subroutine.
10173 (acc_delete_finalize_array_h): New subroutine.
10174 * openacc.h (acc_copyout_finalize): Declare.
10175 (acc_copyout_finalize_async): Declare.
10176 (acc_delete_finalize): Declare.
10177 (acc_delete_finalize_async): Declare.
10178 * openacc_lib.h (acc_copyout_finalize): New interface.
10179 (acc_delete_finalize): New interface.
10180 * target.c (gomp_map_vars): Update dynamic_refcount.
10181 (gomp_remove_var): New function.
10182 (gomp_unmap_vars): Use it.
10183 (gomp_unload_image_from_device): Likewise.
10184 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
10185 case to utilize OpenACC 2.5 data clause semantics.
10186 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
10187 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
10188 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
10189 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
10190 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
10191 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
10192 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
10193 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
10194 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
10195 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
10196 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
10197 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
10198 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
10199 utilize OpenACC 2.5 data clause semantics.
10200 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
10201 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
10202 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
10203 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
10204 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
10205 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
10206 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
10207 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
10208 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
10209
4358400b
JW
102102018-05-21 Janus Weil <janus@gcc.gnu.org>
10211
10212 PR fortran/85841
10213 PR testsuite/85865
10214 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
10215 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
10216 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
10217 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
10218 * testsuite/libgomp.fortran/task2.f90: Ditto.
10219 * testsuite/libgomp.fortran/vla1.f90: Ditto.
10220 * testsuite/libgomp.fortran/vla2.f90: Ditto.
10221 * testsuite/libgomp.fortran/vla3.f90: Ditto.
10222 * testsuite/libgomp.fortran/vla4.f90: Ditto.
10223 * testsuite/libgomp.fortran/vla5.f90: Ditto.
10224 * testsuite/libgomp.fortran/vla6.f90: Ditto.
10225 * testsuite/libgomp.fortran/vla8.f90: Ditto.
10226 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
10227 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
10228
950ad0ba
CP
102292018-05-18 Cesar Philippidis <cesar@codesourcery.com>
10230
10231 PR c++/85782
10232 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
10233
f5ad16f1
TV
102342018-05-09 Tom de Vries <tom@codesourcery.com>
10235
10236 PR libgomp/82901
10237 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
10238 to GOACC_enter_exit_data.
10239
edbd038a
TV
102402018-05-09 Tom de Vries <tom@codesourcery.com>
10241
10242 PR libgomp/83792
10243 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
10244 (async_synchronous_p): New function.
10245 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
10246 async_valid_p.
10247 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
10248 async_valid_stream_id_p.
10249 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
10250 * oacc-parallel.c (GOACC_parallel_keyed): Same.
10251
37d6c719
TV
102522018-05-07 Tom de Vries <tom@codesourcery.com>
10253
10254 PR testsuite/85677
10255 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
10256 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
10257
63f12215
TV
102582018-05-03 Tom de Vries <tom@codesourcery.com>
10259
10260 PR testsuite/85106
10261 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
10262 extra_tool_flags if it contains an -foffload=-fdump-* flag.
10263 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
10264 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
10265
ec00d3fa
TV
102662018-05-02 Tom de Vries <tom@codesourcery.com>
10267
10268 PR libgomp/85411
10269 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
10270 GOMP_OPENACC_DIM ...
10271 * env.c (parse_gomp_openacc_dim): ... here. New function.
10272 (initialize_env): Call parse_gomp_openacc_dim.
10273 (goacc_default_dims): Define.
10274 * libgomp.h (goacc_default_dims): Declare.
10275 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
10276 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
10277 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
10278 GOMP_PLUGIN_acc_default_dim.
10279 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
10280 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
10281
92243e7c
TV
102822018-05-02 Tom de Vries <tom@codesourcery.com>
10283
10284 PR testsuite/83791
10285 * testsuite/libgomp.c++/udr-9.C: Update.
10286 * testsuite/libgomp.c++/atomic-16.C: Remove.
10287 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
10288 * testsuite/libgomp.c++/loop-13.C: Remove.
10289 * testsuite/libgomp.c++/loop-14.C: Remove.
10290 * testsuite/libgomp.c++/loop-15.C: Remove.
10291 * testsuite/libgomp.c++/monotonic-1.C: Remove.
10292 * testsuite/libgomp.c++/monotonic-2.C: Remove.
10293 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
10294 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
10295 * testsuite/libgomp.c++/ordered-1.C: Remove.
10296 * testsuite/libgomp.c++/pr45784.C: Remove.
10297 * testsuite/libgomp.c++/pr64824.C: Remove.
10298 * testsuite/libgomp.c++/pr64868.C: Remove.
10299 * testsuite/libgomp.c++/pr66199-1.C: Remove.
10300 * testsuite/libgomp.c++/pr66199-2.C: Remove.
10301 * testsuite/libgomp.c++/pr66199-3.C: Remove.
10302 * testsuite/libgomp.c++/pr66199-4.C: Remove.
10303 * testsuite/libgomp.c++/pr66199-5.C: Remove.
10304 * testsuite/libgomp.c++/pr66199-6.C: Remove.
10305 * testsuite/libgomp.c++/pr66199-7.C: Remove.
10306 * testsuite/libgomp.c++/pr66199-8.C: Remove.
10307 * testsuite/libgomp.c++/pr66199-9.C: Remove.
10308 * testsuite/libgomp.c++/pr69389.C: Remove.
10309 * testsuite/libgomp.c++/simd10.C: Remove.
10310 * testsuite/libgomp.c++/simd11.C: Remove.
10311 * testsuite/libgomp.c++/simd12.C: Remove.
10312 * testsuite/libgomp.c++/simd13.C: Remove.
10313 * testsuite/libgomp.c++/target-1.C: Remove.
10314 * testsuite/libgomp.c++/target-3.C: Remove.
10315 * testsuite/libgomp.c++/target-4.C: Remove.
10316 * testsuite/libgomp.c++/target-5.C: Remove.
10317 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
10318 * testsuite/libgomp.c++/taskloop-1.C: Remove.
10319 * testsuite/libgomp.c++/taskloop-2.C: Remove.
10320 * testsuite/libgomp.c++/taskloop-3.C: Remove.
10321 * testsuite/libgomp.c++/taskloop-4.C: Remove.
10322 * testsuite/libgomp.c++/udr-9.C: Remove.
10323 * testsuite/libgomp.c++/for-10.C: Remove.
10324 * testsuite/libgomp.c++/for-11.C: Remove.
10325 * testsuite/libgomp.c++/for-12.C: Remove.
10326 * testsuite/libgomp.c++/for-13.C: Remove.
10327 * testsuite/libgomp.c++/for-14.C: Remove.
10328 * testsuite/libgomp.c++/for-9.C: Remove.
10329 * testsuite/libgomp.c/atomic-18.c: Move ...
10330 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
10331 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
10332 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
10333 * testsuite/libgomp.c/loop-13.c: Move ...
10334 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
10335 * testsuite/libgomp.c/loop-14.c: Move ...
10336 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
10337 * testsuite/libgomp.c/loop-15.c: Remove.
10338 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
10339 * testsuite/libgomp.c/monotonic-1.c: Move ...
10340 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
10341 * testsuite/libgomp.c/monotonic-2.c: Move ...
10342 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
10343 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
10344 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
10345 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
10346 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
10347 * testsuite/libgomp.c/ordered-4.c: Move ...
10348 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
10349 * testsuite/libgomp.c/pr45784.c: Move ...
10350 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
10351 * testsuite/libgomp.c/pr64824.c: Move ...
10352 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
10353 * testsuite/libgomp.c/pr64868.c: Move ...
10354 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
10355 * testsuite/libgomp.c/pr66199-1.c: Move ...
10356 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
10357 * testsuite/libgomp.c/pr66199-2.c: Move ...
10358 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
10359 * testsuite/libgomp.c/pr66199-3.c: Move ...
10360 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
10361 * testsuite/libgomp.c/pr66199-4.c: Move ...
10362 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
10363 * testsuite/libgomp.c/pr66199-5.c: Move ...
10364 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
10365 * testsuite/libgomp.c/pr66199-6.c: Move ...
10366 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
10367 * testsuite/libgomp.c/pr66199-7.c: Move ...
10368 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
10369 * testsuite/libgomp.c/pr66199-8.c: Move ...
10370 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
10371 * testsuite/libgomp.c/pr66199-9.c: Move ...
10372 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
10373 * testsuite/libgomp.c/pr69389.c: Move ...
10374 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
10375 * testsuite/libgomp.c/simd-14.c: Move ...
10376 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
10377 * testsuite/libgomp.c/simd-15.c: Move ...
10378 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
10379 * testsuite/libgomp.c/simd-16.c: Move ...
10380 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
10381 * testsuite/libgomp.c/simd-17.c: Move ...
10382 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
10383 * testsuite/libgomp.c/target-1.c: Move ...
10384 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
10385 * testsuite/libgomp.c/target-10.c: Move ...
10386 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
10387 * testsuite/libgomp.c/target-13.c: Move ...
10388 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
10389 * testsuite/libgomp.c/target-2.c: Move ...
10390 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
10391 * testsuite/libgomp.c/taskgroup-1.c: Move ...
10392 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
10393 * testsuite/libgomp.c/taskloop-1.c: Move ...
10394 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
10395 * testsuite/libgomp.c/taskloop-2.c: Move ...
10396 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
10397 * testsuite/libgomp.c/taskloop-3.c: Move ...
10398 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
10399 * testsuite/libgomp.c/taskloop-4.c: Move ...
10400 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
10401 * testsuite/libgomp.c/udr-1.c: Move ...
10402 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
10403 * testsuite/libgomp.c/for-1.c: Move ...
10404 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
10405 * testsuite/libgomp.c/for-1.h: Move ...
10406 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
10407 * testsuite/libgomp.c/for-2.c: Move ...
10408 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
10409 * testsuite/libgomp.c/for-2.h: Move ...
10410 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
10411 * testsuite/libgomp.c/for-3.c: Move ...
10412 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
10413 * testsuite/libgomp.c/for-4.c: Move ...
10414 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
10415 * testsuite/libgomp.c/for-5.c: Move ...
10416 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
10417 * testsuite/libgomp.c/for-6.c: Move ...
10418 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
10419
1f62d637
TV
104202018-05-02 Tom de Vries <tom@codesourcery.com>
10421
10422 PR libgomp/82428
10423 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
10424 __builtin_goacc_parlevel_{id,size}.
10425 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
10426 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
10427 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
10428 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
10429 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
10430 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
10431 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
10432 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
10433 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
10434 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
10435 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
10436 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
10437 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
10438 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
10439 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
10440 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
10441 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
10442 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
10443 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
10444 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
10445 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
10446 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
10447 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
10448
9220b511
TV
104492018-05-02 Tom de Vries <tom@codesourcery.com>
10450
10451 PR testsuite/85106
10452 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
10453
6c3c13c1
TV
104542018-05-02 Tom de Vries <tom@codesourcery.com>
10455
10456 PR testsuite/85106
10457 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
10458
8d70b61e
JB
104592018-04-29 Julian Brown <julian@codesourcery.com>
10460 Tom de Vries <tom@codesourcery.com>
10461
10462 PR testsuite/85527
10463 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
10464 arbitrary order for iterations of atomic subtract check.
10465
4a57a4b6
TV
104662018-04-28 Tom de Vries <tom@codesourcery.com>
10467
10468 PR testsuite/85527
10469 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
10470 atomic capture results obtained in parallel loop to an array, instead of
10471 to a scalar.
10472
df36a3d3
TV
104732018-04-26 Tom de Vries <tom@codesourcery.com>
10474
10475 PR libgomp/84020
10476 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
10477 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
10478 (process_GOMP_NVPTX_JIT): New function.
10479 (link_ptx): Use process_GOMP_NVPTX_JIT.
10480
d160ae78
RB
104812018-04-26 Richard Biener <rguenther@suse.de>
10482 Tom de Vries <tom@codesourcery.com>
10483
10484 PR lto/85422
10485 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
10486
ca9dc642
TV
104872018-04-26 Tom de Vries <tom@codesourcery.com>
10488
10489 PR target/85519
10490 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
10491 recursion depth from 25 to 23.
10492 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
10493
7b47ecf2
L
104942018-04-24 H.J. Lu <hongjiu.lu@intel.com>
10495
10496 * configure: Regenerated.
10497
e91eba31
NS
104982018-04-20 Nathan Sidwell <nathan@codesourcery.com>
10499 Tom de Vries <tom@codesourcery.com>
10500
10501 PR target/85445
10502 * testsuite/libgomp.oacc-c++/ref-1.C: New.
10503
6e0d40b6
TS
105042018-04-19 Thomas Schwinge <thomas@codesourcery.com>
10505
10506 PR libgomp/85463
10507 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
10508 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
10509 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
10510 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
10511 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
10512 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
10513
10514 PR libfortran/85166
10515 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
10516 abort".
10517 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
10518
a0e1df88
JJ
105192018-04-19 Jakub Jelinek <jakub@redhat.com>
10520
10521 * configure: Regenerated.
10522
001ddaa8
DM
105232018-04-18 David Malcolm <dmalcolm@redhat.com>
10524
10525 PR jit/85384
10526 * configure: Regenerate.
10527
05e0af43
CP
105282018-04-16 Cesar Philippidis <cesar@codesourcery.com>
10529 Tom de Vries <tom@codesourcery.com>
10530
10531 PR middle-end/84955
10532 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
10533 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
10534
bc436e10
TK
105352018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
10536
10537 PR fortran/83064
10538 PR testsuite/85346
10539 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
10540 test from gfortran.dg to here.
10541
ffb164c7
JJ
105422018-04-12 Cesar Philippidis <cesar@codesourcery.com>
10543
10544 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
10545 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
10546
105472018-04-12 Cesar Philippidis <cesar@codesourcery.com>
10548
10549 PR middle-end/84955
10550 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
10551 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
10552
2ba16fd2
TV
105532018-04-05 Tom de Vries <tom@codesourcery.com>
10554
10555 PR target/85204
10556 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
10557
46dbeb40
TV
105582018-03-26 Tom de Vries <tom@codesourcery.com>
10559
10560 PR tree-optimization/85063
10561 * testsuite/libgomp.c/switch-conversion-2.c: New test.
10562 * testsuite/libgomp.c/switch-conversion.c: New test.
10563 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
10564 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
10565
bfc24e32
TK
105662018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
10567
10568 PR fortran/84381
10569 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
10570 call abort by STOP n.
10571 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
10572 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
10573 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
10574 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
10575 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
10576 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
10577 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
10578 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
10579 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
10580 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
10581 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
10582 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
10583 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
10584 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
10585 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
10586 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
10587 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
10588 * testsuite/libgomp.fortran/associate1.f90: Likewise.
10589 * testsuite/libgomp.fortran/associate2.f90: Likewise.
10590 * testsuite/libgomp.fortran/associate3.f90: Likewise.
10591 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
10592 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
10593 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
10594 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
10595 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
10596 * testsuite/libgomp.fortran/character1.f90: Likewise.
10597 * testsuite/libgomp.fortran/character2.f90: Likewise.
10598 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
10599 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
10600 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
10601 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
10602 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
10603 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
10604 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
10605 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
10606 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
10607 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
10608 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
10609 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
10610 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
10611 * testsuite/libgomp.fortran/do1.f90: Likewise.
10612 * testsuite/libgomp.fortran/do2.f90: Likewise.
10613 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
10614 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
10615 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
10616 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
10617 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
10618 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
10619 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
10620 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
10621 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
10622 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
10623 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
10624 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
10625 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
10626 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
10627 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
10628 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
10629 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
10630 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
10631 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
10632 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
10633 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
10634 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
10635 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
10636 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
10637 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
10638 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
10639 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
10640 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
10641 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
10642 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
10643 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
10644 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
10645 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
10646 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
10647 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
10648 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
10649 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
10650 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
10651 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
10652 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
10653 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
10654 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
10655 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
10656 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
10657 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10658 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
10659 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
10660 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
10661 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
10662 * testsuite/libgomp.fortran/lib1.f90: Likewise.
10663 * testsuite/libgomp.fortran/lib2.f: Likewise.
10664 * testsuite/libgomp.fortran/lib3.f: Likewise.
10665 * testsuite/libgomp.fortran/lib4.f90: Likewise.
10666 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
10667 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
10668 * testsuite/libgomp.fortran/nested1.f90: Likewise.
10669 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
10670 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
10671 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
10672 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
10673 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
10674 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
10675 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
10676 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
10677 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
10678 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
10679 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
10680 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
10681 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
10682 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
10683 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
10684 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
10685 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
10686 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
10687 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
10688 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
10689 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
10690 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
10691 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
10692 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
10693 * testsuite/libgomp.fortran/pr25162.f: Likewise.
10694 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
10695 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
10696 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
10697 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
10698 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
10699 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
10700 * testsuite/libgomp.fortran/pr28390.f: Likewise.
10701 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
10702 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
10703 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
10704 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
10705 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
10706 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
10707 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
10708 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
10709 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
10710 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
10711 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
10712 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
10713 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
10714 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
10715 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
10716 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
10717 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
10718 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
10719 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
10720 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
10721 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
10722 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
10723 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
10724 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
10725 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
10726 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10727 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
10728 * testsuite/libgomp.fortran/reference1.f90: Likewise.
10729 * testsuite/libgomp.fortran/reference2.f90: Likewise.
10730 * testsuite/libgomp.fortran/retval1.f90: Likewise.
10731 * testsuite/libgomp.fortran/retval2.f90: Likewise.
10732 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
10733 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
10734 * testsuite/libgomp.fortran/simd1.f90: Likewise.
10735 * testsuite/libgomp.fortran/simd2.f90: Likewise.
10736 * testsuite/libgomp.fortran/simd3.f90: Likewise.
10737 * testsuite/libgomp.fortran/simd4.f90: Likewise.
10738 * testsuite/libgomp.fortran/simd5.f90: Likewise.
10739 * testsuite/libgomp.fortran/simd6.f90: Likewise.
10740 * testsuite/libgomp.fortran/simd7.f90: Likewise.
10741 * testsuite/libgomp.fortran/stack.f90: Likewise.
10742 * testsuite/libgomp.fortran/strassen.f90: Likewise.
10743 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
10744 * testsuite/libgomp.fortran/tabs2.f: Likewise.
10745 * testsuite/libgomp.fortran/target1.f90: Likewise.
10746 * testsuite/libgomp.fortran/target2.f90: Likewise.
10747 * testsuite/libgomp.fortran/target3.f90: Likewise.
10748 * testsuite/libgomp.fortran/target4.f90: Likewise.
10749 * testsuite/libgomp.fortran/target5.f90: Likewise.
10750 * testsuite/libgomp.fortran/target6.f90: Likewise.
10751 * testsuite/libgomp.fortran/target7.f90: Likewise.
10752 * testsuite/libgomp.fortran/target8.f90: Likewise.
10753 * testsuite/libgomp.fortran/task1.f90: Likewise.
10754 * testsuite/libgomp.fortran/task2.f90: Likewise.
10755 * testsuite/libgomp.fortran/task3.f90: Likewise.
10756 * testsuite/libgomp.fortran/task4.f90: Likewise.
10757 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
10758 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
10759 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
10760 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
10761 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
10762 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10763 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10764 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10765 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
10766 * testsuite/libgomp.fortran/udr1.f90: Likewise.
10767 * testsuite/libgomp.fortran/udr10.f90: Likewise.
10768 * testsuite/libgomp.fortran/udr11.f90: Likewise.
10769 * testsuite/libgomp.fortran/udr12.f90: Likewise.
10770 * testsuite/libgomp.fortran/udr13.f90: Likewise.
10771 * testsuite/libgomp.fortran/udr14.f90: Likewise.
10772 * testsuite/libgomp.fortran/udr15.f90: Likewise.
10773 * testsuite/libgomp.fortran/udr2.f90: Likewise.
10774 * testsuite/libgomp.fortran/udr3.f90: Likewise.
10775 * testsuite/libgomp.fortran/udr4.f90: Likewise.
10776 * testsuite/libgomp.fortran/udr5.f90: Likewise.
10777 * testsuite/libgomp.fortran/udr6.f90: Likewise.
10778 * testsuite/libgomp.fortran/udr7.f90: Likewise.
10779 * testsuite/libgomp.fortran/udr8.f90: Likewise.
10780 * testsuite/libgomp.fortran/udr9.f90: Likewise.
10781 * testsuite/libgomp.fortran/vla1.f90: Likewise.
10782 * testsuite/libgomp.fortran/vla2.f90: Likewise.
10783 * testsuite/libgomp.fortran/vla3.f90: Likewise.
10784 * testsuite/libgomp.fortran/vla4.f90: Likewise.
10785 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10786 * testsuite/libgomp.fortran/vla6.f90: Likewise.
10787 * testsuite/libgomp.fortran/vla7.f90: Likewise.
10788 * testsuite/libgomp.fortran/vla8.f90: Likewise.
10789 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
10790 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
10791 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
10792 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
10793 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
10794 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
10795 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
10796 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
10797 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
10798 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
10799 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10800 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
10801 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10802 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
10803 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
10804 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
10805 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
10806 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
10807 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
10808 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
10809 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
10810 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
10811 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
10812 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
10813 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
10814 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
10815 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
10816 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
10817 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
10818 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
10819 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
10820 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10821 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10822 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10823 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10824 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
10825 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
10826 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
10827 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
10828 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
10829 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
10830 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
10831 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
10832 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
10833 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
10834 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
10835 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
10836 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
10837 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
10838 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
10839 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
10840 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
10841 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
10842 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
10843 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
10844 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
10845 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
10846 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
10847 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
10848 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
10849 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
10850 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
10851 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
10852 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
10853 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
10854 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
10855 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
10856 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
10857 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
10858 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
10859 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
10860 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
10861 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
10862 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
10863 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
10864 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
10865 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
10866 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10867 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10868 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10869 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
10870 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10871 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
10872 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
10873 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
10874 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
10875 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
10876 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
10877 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
10878 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
10879 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
10880 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
10881 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
10882 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
10883
79cf14ae
RB
108842018-03-20 Richard Biener <rguenther@suse.de>
10885
10886 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
10887 parallelizable loop.
10888
14e335ed
IT
108892018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
10890
10891 PR target/84148
10892 * configure: Regenerate.
10893
83d9be55
JJ
108942018-02-16 Jakub Jelinek <jakub@redhat.com>
10895
10896 PR fortran/84418
10897 * libgomp.fortran/pr84418-1.f90: New test.
10898 * libgomp.fortran/pr84418-2.f90: New test.
10899
d1fe6124
JJ
109002018-02-14 Jakub Jelinek <jakub@redhat.com>
10901
10902 PR fortran/84313
10903 * testsuite/libgomp.fortran/threadprivate4.f90: Add
10904 -std=f2003 -fall-intrinsics into dg-additional-options.
10905
3d224921
MJ
109062018-02-08 Martin Jambor <mjambor@suse.cz>
10907
10908 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
10909 clonable.
10910
c7c30edd
MJ
109112018-02-08 Martin Jambor <mjambor@suse.cz>
10912
10913 * testsuite/libgomp.hsa.c/staticvar.c: New test.
10914
f320fdfd
RO
109152018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10916
10917 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
10918 [__cplusplus]: Declare extern "C".
10919
c31bc4ac
TV
109202018-02-07 Tom de Vries <tom@codesourcery.com>
10921
10922 PR libgomp/84217
10923 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
10924
99ae7ce5
CS
109252018-01-29 Christoph Spiel <cspiel@freenet.de>
10926 Jakub Jelinek <jakub@redhat.com>
10927
10928 PR libgomp/84096
10929 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
10930 instead of omp_lock_t.
10931
e77a1236
TV
109322018-01-25 Tom de Vries <tom@codesourcery.com>
10933
10934 PR target/84028
10935 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
10936
3dede32b
TV
109372018-01-24 Tom de Vries <tom@codesourcery.com>
10938
10939 PR target/83589
10940 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
10941
be606483
TV
109422018-01-24 Tom de Vries <tom@codesourcery.com>
10943
10944 PR target/81352
10945 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
10946
8c8e9a6b
TV
109472018-01-19 Tom de Vries <tom@codesourcery.com>
10948 Cesar Philippidis <cesar@codesourcery.com>
10949
10950 PR target/83920
10951 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
10952 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
10953
65e6aea3
JJ
109542018-01-03 Jakub Jelinek <jakub@redhat.com>
10955
85ec4feb
JJ
10956 Update copyright years.
10957
65e6aea3
JJ
10958 * libgomp.texi: Bump @copying's copyright year.
10959
60bf575c
TV
109602017-12-30 Tom de Vries <tom@codesourcery.com>
10961
10962 PR libgomp/83046
10963 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
10964 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
10965
7ec16b79
TV
109662017-12-27 Tom de Vries <tom@codesourcery.com>
10967
10968 PR c++/83046
10969 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
10970 (test_nonstatic): Fix return type to workaround PR83046.
10971
ac550b9a
JJ
109722017-12-05 Jakub Jelinek <jakub@redhat.com>
10973
10974 PR testsuite/83281
10975 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
10976 j suffix instead of i.
10977 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
10978 Likewise.
10979
ebdc83f0
CP
109802017-12-01 Cesar Philippidis <cesar@codesourcery.com>
10981
10982 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
10983 call to acc_wait (1).
10984
3b3e6283
JJ
109852017-11-24 Jakub Jelinek <jakub@redhat.com>
10986
10987 PR fortran/81304
10988 * testsuite/libgomp.fortran/pr81304.f90: New test.
10989
3b575376
JJ
109902017-11-23 Jakub Jelinek <jakub@redhat.com>
10991
10992 PR fortran/81841
10993 * libgomp.fortran/pr81841.f90: New test.
10994
b13547d8
JJ
109952017-11-22 Jakub Jelinek <jakub@redhat.com>
10996
10997 PR libgomp/83106
10998 * target.c (gomp_target_init): Compute lengths just once and
10999 use them in both malloc size and subsequent copying.
11000
efe33ced
IT
110012017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
11002
11003 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
11004 * acinclude.m4: Add cet.m4.
11005 * configure: Regenerate.
11006 * Makefile.in: Likewise.
11007 * testsuite/Makefile.in: Likewise.
11008
a7cf2612
TV
110092017-11-15 Tom de Vries <tom@codesourcery.com>
11010
11011 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
11012 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
11013 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
11014 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
11015 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
11016 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
11017
dde76623
TV
110182017-11-14 Tom de Vries <tom@codesourcery.com>
11019
11020 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
11021 non-nvidia devices.
11022
4dbeb716
JJ
110232017-11-07 Jakub Jelinek <jakub@redhat.com>
11024
11025 PR c++/82835
11026 * testsuite/libgomp.c++/pr82835.C: New test.
11027
454f8b2b
ML
110282017-11-06 Martin Liska <mliska@suse.cz>
11029
11030 * testsuite/libgomp.c++/loop-2.C: Return a value
11031 for functions with non-void return type, or change type to void,
11032 or add -Wno-return-type for test.
11033 * testsuite/libgomp.c++/loop-4.C: Likewise.
11034 * testsuite/libgomp.c++/parallel-1.C: Likewise.
11035 * testsuite/libgomp.c++/shared-1.C: Likewise.
11036 * testsuite/libgomp.c++/single-1.C: Likewise.
11037 * testsuite/libgomp.c++/single-2.C: Likewise.
11038
12e9c8ce
TV
110392017-10-31 Tom de Vries <tom@codesourcery.com>
11040
11041 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
11042 "do {} while (false)".
11043 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
11044 after HSA_DEBUG call.
11045
7324369a
JJ
110462017-10-28 Jakub Jelinek <jakub@redhat.com>
11047
11048 * target.c (struct gomp_coalesce_buf): New type.
11049 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
11050 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
11051 (gomp_copy_host2dev): Add CBUF argument, if copying into
11052 the cached ranges, memcpy into buffer instead of copying
11053 into device.
11054 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
11055 Add CBUF argument, pass it through to other calls.
11056 (gomp_map_vars): Aggregate copies from host to device if small enough
11057 and with small enough gaps in between into memcpy into a buffer and
11058 fewer host to device copies from the buffer.
11059 (gomp_update): Adjust gomp_copy_host2dev caller.
11060
933ab0e6
TS
110612017-10-17 Thomas Schwinge <thomas@codesourcery.com>
11062
11063 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
11064 run" directive.
11065 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
11066 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
11067 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
11068 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
11069
92d5d01a
TV
110702017-10-16 Tom de Vries <tom@codesourcery.com>
11071
11072 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
11073 openacc_nvidia_accel_selected.
11074 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
11075 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
11076 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
11077 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
11078 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
11079 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
11080 openacc_nvidia_accel_selected. Skip for shared memory device.
11081 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
11082 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
11083
191411e4
MJ
110842017-10-09 Martin Jambor <mjambor@suse.cz>
11085
11086 PR hsa/82416
11087 * testsuite/libgomp.hsa.c/pr82416.c: New test.
11088
e923330e
TV
110892017-10-07 Tom de Vries <tom@codesourcery.com>
11090
11091 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
11092 Remove acc_device_nvidia references.
11093 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
11094 Same.
11095
8fe3ed4c
TV
110962017-10-05 Tom de Vries <tom@codesourcery.com>
11097
11098 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
11099 vector_length(32) clause from acc parallel directive.
11100 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
11101
26596ee5
TV
111022017-10-04 Tom de Vries <tom@codesourcery.com>
11103
11104 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
11105 (main): Reduce sum of arr elements. Assert that hres is exactly
11106 representable in 32-bit floating point.
11107 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
11108 (main): Reduce sum of arr elements. Assert that hres and hmres are
11109 exactly representable in 32-bit floating point.
11110 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
11111
5c561fa9
TV
111122017-09-28 Tom de Vries <tom@codesourcery.com>
11113
11114 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
11115 setting.
11116 * testsuite/libgomp.c++/pr69393.C: Same.
11117 * testsuite/libgomp.c++/taskloop-1.C: Same.
11118 * testsuite/libgomp.c++/taskloop-3.C: Same.
11119 * testsuite/libgomp.c++/taskloop-4.C: Same.
11120 * testsuite/libgomp.c/for-4.c: Same.
11121 * testsuite/libgomp.c/pr66199-3.c: Same.
11122 * testsuite/libgomp.c/pr66199-4.c: Same.
11123 * testsuite/libgomp.c/pr66199-6.c: Same.
11124 * testsuite/libgomp.c/taskloop-1.c: Same.
11125 * testsuite/libgomp.c/taskloop-3.c: Same.
11126 * testsuite/libgomp.c/taskloop-4.c: Same.
11127 * testsuite/libgomp.fortran/aligned1.f03: Same.
11128 * testsuite/libgomp.fortran/condinc1.f: Same.
11129 * testsuite/libgomp.fortran/condinc3.f90: Same.
11130 * testsuite/libgomp.fortran/crayptr1.f90: Same.
11131 * testsuite/libgomp.fortran/crayptr2.f90: Same.
11132 * testsuite/libgomp.fortran/crayptr3.f90: Same.
11133 * testsuite/libgomp.fortran/omp_cond1.f: Same.
11134 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
11135 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
11136 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
11137 * testsuite/libgomp.fortran/recursion1.f90: Same.
11138 * testsuite/libgomp.fortran/target2.f90: Same.
11139 * testsuite/libgomp.fortran/target5.f90: Same.
11140 * testsuite/libgomp.fortran/task3.f90: Same.
11141
7d6206fe
TV
111422017-09-28 Tom de Vries <tom@codesourcery.com>
11143
11144 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
11145 vector_length(32) clause from acc parallel directive.
11146 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
11147
84c8627c
TV
111482017-09-27 Tom de Vries <tom@codesourcery.com>
11149
11150 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
11151 Remove acc_device_nvidia references.
11152
ebc6a85e
TV
111532017-09-16 Tom de Vries <tom@codesourcery.com>
11154
11155 PR c/81875
11156 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
11157
82419efb
TV
111582017-09-14 Tom de Vries <tom@codesourcery.com>
11159
11160 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
11161 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
11162 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
11163 * testsuite/libgomp.c/c.exp: Include test-cases from
11164 libgomp.c-c++-common.
11165 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
11166 files.
11167
8b586510
JJ
111682017-09-14 Jakub Jelinek <jakub@redhat.com>
11169
11170 PR c++/81314
11171 * testsuite/libgomp.c++/pr81314.C: New test.
11172
9651fbaf
GP
111732017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
11174
11175 * libgomp.texi (Top): www.openacc.org now uses https.
11176 (Enabling OpenACC): Ditto.
11177 (acc_get_num_devices): Ditto.
11178 (acc_set_device_type): Ditto.
11179 (acc_get_device_type): Ditto.
11180 (acc_set_device_num): Ditto.
11181 (acc_get_device_num): Ditto.
11182 (acc_async_test): Ditto.
11183 (acc_async_test_all): Ditto.
11184 (acc_wait): Ditto.
11185 (acc_wait_all): Ditto.
11186 (acc_wait_all_async): Ditto.
11187 (acc_wait_async): Ditto.
11188 (acc_init): Ditto.
11189 (acc_shutdown): Ditto.
11190 (acc_on_device): Ditto.
11191 (acc_malloc): Ditto.
11192 (acc_free): Ditto.
11193 (acc_copyin): Ditto.
11194 (acc_present_or_copyin): Ditto.
11195 (acc_create): Ditto.
11196 (acc_present_or_create): Ditto.
11197 (acc_copyout): Ditto.
11198 (acc_delete): Ditto.
11199 (acc_update_device): Ditto.
11200 (acc_update_self): Ditto.
11201 (acc_map_data): Ditto.
11202 (acc_unmap_data): Ditto.
11203 (acc_deviceptr): Ditto.
11204 (acc_hostptr): Ditto.
11205 (acc_is_present): Ditto.
11206 (acc_memcpy_to_device): Ditto.
11207 (acc_memcpy_from_device): Ditto.
11208 (acc_get_current_cuda_device): Ditto.
11209 (acc_get_current_cuda_context): Ditto.
11210 (acc_get_cuda_stream): Ditto.
11211 (acc_set_cuda_stream): Ditto.
11212 (ACC_DEVICE_TYPE): Ditto.
11213 (ACC_DEVICE_NUM): Ditto.
11214 (OpenACC Library Interoperability): Ditto.
11215
50aa16c3
JJ
112162017-08-09 Jakub Jelinek <jakub@redhat.com>
11217
11218 PR c/81687
11219 * testsuite/libgomp.c/pr81687-1.c: New test.
11220 * testsuite/libgomp.c/pr81687-2.c: New test.
11221
56b5041c
JJ
112222017-08-07 Jakub Jelinek <jakub@redhat.com>
11223
11224 PR c/69389
11225 * testsuite/libgomp.c/pr69389.c: New test.
11226 * testsuite/libgomp.c++/pr69389.C: New test.
11227
f4c222c0
TV
112282017-08-07 Tom de Vries <tom@codesourcery.com>
11229
11230 PR middle-end/78266
11231 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
11232 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
11233
a40ff0ae
JJ
112342017-07-27 Jakub Jelinek <jakub@redhat.com>
11235
11236 PR c/45784
11237 * testsuite/libgomp.c/pr45784.c: New test.
11238 * testsuite/libgomp.c++/pr45784.C: New test.
11239
3717fbe3
TV
112402017-07-19 Tom de Vries <tom@codesourcery.com>
11241
11242 * testsuite/libgomp.oacc-c/vec.c: New test.
11243
9607b014
TV
112442017-07-03 Tom de Vries <tom@codesourcery.com>
11245
11246 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
11247
dfb15f6b
TV
112482017-06-27 Tom de Vries <tom@codesourcery.com>
11249
11250 * plugin/plugin-nvptx.c (notify_var): New function.
11251 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
11252
22f1a037
TV
112532017-06-27 Tom de Vries <tom@codesourcery.com>
11254
11255 * env.c (parse_unsigned_long_1): Factor out of ...
11256 (parse_unsigned_long): ... here.
11257 (parse_int_1): Factor out of ...
11258 (parse_int): ... here.
11259 (parse_int_secure): New function.
11260 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
11261 * secure_getenv.h: Factor out of ...
11262 * plugin/plugin-hsa.c: ... here.
11263 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
11264
d54d1fc3
JJ
112652017-06-21 Jakub Jelinek <jakub@redhat.com>
11266
11267 PR c++/81130
11268 * testsuite/libgomp.c++/pr81130.C: New test.
11269
4f4b0ab8
RO
112702017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11271
11272 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
11273 default args.
11274 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
11275 dg-xfail-run-if default args.
11276
40ffd95f
BE
112772017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
11278
11279 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
11280 * testsuite/libgomp.c/pr39591-3.c: Likewise.
11281
01275e1e
JJ
112822017-05-30 Jakub Jelinek <jakub@redhat.com>
11283
11284 PR libgomp/80822
11285 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
11286 (gomp_affinity_init_level): Use it. Always analyze the core and thread
11287 sibling lists, depending on level just pick up what CPUs to put
11288 together into a place vs. whether add multiple ordered places.
11289
78672bd8
TS
112902017-05-24 Thomas Schwinge <thomas@codesourcery.com>
11291
7ce64403
TS
11292 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
11293 * libgomp.map (OACC_2.0.1): Add these.
11294 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
11295 for "acc_wait", and "acc_wait_all", respectively.
11296 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
11297 for "acc_wait", and "acc_wait_all", respectively.
11298 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
11299 * libgomp.texi (acc_wait, acc_wait_all): Update.
11300 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
11301 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
11302 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
11303
318686c2
TS
11304 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
11305 acc_present_or_copyin and acc_present_or_create procedures,
11306 respectively.
11307 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
11308 generally different variants of OpenACC Runtime Library functions.
11309 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11310
a6745534
TS
11311 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
11312 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
11313
9b94fbc7
TS
11314 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
11315 of preprocessor definitions.
11316 * libgomp.h (strong_alias): Guard by "#ifdef
11317 HAVE_ATTRIBUTE_ALIAS".
11318 * oacc-mem.c: Provide "acc_pcreate" as alias for
11319 "acc_present_or_create", and "acc_pcopyin" as alias for
11320 "acc_present_or_copyin".
11321 * libgomp.map: New version "OACC_2.0.1".
11322 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
11323 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
11324 its content into...
11325 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
11326 Extend testing.
11327
78672bd8
TS
11328 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
11329 when disabling nvptx offloading.
11330
0c36d0d5
TS
113312017-05-23 Thomas Schwinge <thomas@codesourcery.com>
11332
fd71a9a2
TS
11333 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
11334 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
11335 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
11336
0c36d0d5
TS
11337 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
11338 * testsuite/lib/libgomp.exp
11339 (check_effective_target_openacc_nvidia_accel_configured): New
11340 proc.
11341 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
11342 (check_effective_target_c++): New procs.
11343 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
11344 (check_effective_target_c++): Likewise.
11345
c24783c4
JJ
113462017-05-22 Jakub Jelinek <jakub@redhat.com>
11347
655e5265
JJ
11348 PR middle-end/80809
11349 * testsuite/libgomp.c/pr80809-2.c: New test.
11350 * testsuite/libgomp.c/pr80809-3.c: New test.
11351
e9e2ef9f
JJ
11352 PR middle-end/80809
11353 * testsuite/libgomp.c/pr80809-1.c: New test.
11354
c24783c4
JJ
11355 PR middle-end/80853
11356 * testsuite/libgomp.c/pr80853.c: New test.
11357
0da2f96a
TS
113582017-05-19 Thomas Schwinge <thomas@codesourcery.com>
11359
7fd549d2
TS
11360 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
11361 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
11362 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
11363 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
11364 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
11365
0da2f96a
TS
11366 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
11367 Debug output for failure.
11368
62ffe920
RO
113692017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11370
11371 * testsuite/lib/libgomp.exp: Load scanlang.exp.
11372
f49215b1
JJ
113732017-04-27 Jakub Jelinek <jakub@redhat.com>
11374
11375 PR bootstrap/80531
11376 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
11377 bootstrap compare failures.
11378
2260d19d
AM
113792017-04-20 Alexander Monakov <amonakov@ispras.ru>
11380
11381 * testsuite/libgomp.c/target-36.c: New testcase.
11382
19929ba9
JJ
113832017-04-13 Jakub Jelinek <jakub@redhat.com>
11384
11385 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
11386 instead of char.
11387
fbc698e0
JJ
113882017-04-11 Jakub Jelinek <jakub@redhat.com>
11389
11390 PR libgomp/80394
11391 * testsuite/libgomp.c/pr80394.c: New test.
11392
c4060df4
JJ
113932017-04-04 Jakub Jelinek <jakub@redhat.com>
11394
11395 PR libgomp/79876
11396 * config/posix/thread-stacksize.h: New file.
11397 * config/darwin/thread-stacksize.h: New file.
11398 * config/nvptx/thread-stacksize.h: New file.
11399 * env.c: Include thread-stacksize.h.
11400 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
11401 instead of 0. Call pthread_attr_setstacksize even if
11402 GOMP_DEFAULT_STACKSIZE is non-zero.
11403
e02d868a
JJ
114042017-03-30 Jakub Jelinek <jakub@redhat.com>
11405
11406 * env.c (initialize_env): Initialize stacksize to 0.
11407
7ba8651e
CP
114082017-03-22 Cesar Philippidis <cesar@codesourcery.com>
11409
11410 PR c++/80029
11411 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
11412
eebc5e2d
JJ
114132017-03-08 Jakub Jelinek <jakub@redhat.com>
11414
11415 PR c/79940
11416 * testsuite/libgomp.c/pr79940.c: New test.
11417
1eb08f52
RO
114182017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11419
11420 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
11421 targets.
11422 Add __float128 options.
11423
b0f78ff3
JDA
114242017-02-11 John David Anglin <danglin@gcc.gnu.org>
11425
11426 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
11427 hppa*-*-* dg-skip-if directive.
11428
1bbe0d8f
JJ
114292017-02-09 Jakub Jelinek <jakub@redhat.com>
11430
11431 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
11432 dg-skip-if directive into a comment.
11433
02889d23
CLT
114342017-02-09 Nathan Sidwell <nathan@codesourcery.com>
11435 Chung-Lin Tang <cltang@codesourcery.com>
11436
11437 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
11438 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
11439 add additional case.
11440 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
11441 "openacc_nvidia_accel_selected".
11442 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
11443 Add num_workers(8) clause.
11444
5896a41d
JDA
114452017-02-08 John David Anglin <danglin@gcc.gnu.org>
11446
11447 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
11448 hppa*-*-*.
11449 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
11450 include complex.h on hppa*-*-hpux*.
11451 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
11452
345a8c17
TS
114532017-02-02 Thomas Schwinge <thomas@codesourcery.com>
11454
e70ab10d
TS
11455 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
11456
345a8c17
TS
11457 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
11458 GOMP_OFFLOAD_openacc_exec. Adjust all users.
11459 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
11460 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
11461 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
11462 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
11463 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
11464 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
11465 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
11466 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
11467
dced339c
TS
114682017-01-31 Thomas Schwinge <thomas@codesourcery.com>
11469
11470 * libgomp-plugin.h: #include <stdbool.h>.
11471 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
11472 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
11473 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
11474 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
11475 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
11476 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
11477 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
11478 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
11479 (GOMP_OFFLOAD_openacc_register_async_cleanup)
11480 (GOMP_OFFLOAD_openacc_async_test)
11481 (GOMP_OFFLOAD_openacc_async_test_all)
11482 (GOMP_OFFLOAD_openacc_async_wait)
11483 (GOMP_OFFLOAD_openacc_async_wait_async)
11484 (GOMP_OFFLOAD_openacc_async_wait_all)
11485 (GOMP_OFFLOAD_openacc_async_wait_all_async)
11486 (GOMP_OFFLOAD_openacc_async_set_async)
11487 (GOMP_OFFLOAD_openacc_create_thread_data)
11488 (GOMP_OFFLOAD_openacc_destroy_thread_data)
11489 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
11490 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
11491 (GOMP_OFFLOAD_openacc_get_cuda_stream)
11492 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
11493 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
11494 these.
11495 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
11496 (GOMP_OFFLOAD_unload_image): Fix argument types.
11497
23749904
JJ
114982017-01-26 Jakub Jelinek <jakub@redhat.com>
11499
c1cadde1
JJ
11500 * testsuite/lib/libgomp.exp
11501 (check_effective_target_hsa_offloading_selected_nocache): Fix up
11502 check_compile invocation. Fix up removal of executable. Drop
11503 bogus "2>&1" argument.
11504
23749904
JJ
11505 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
11506 directive.
11507
115082017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
11509 Martin Jambor <mjambor@suse.cz>
11510
11511 * plugin/hsa.h: Moved to top level include.
11512 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
11513
73aa401e
JJ
115142017-01-21 Jakub Jelinek <jakub@redhat.com>
11515
11516 PR other/79046
11517 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
11518 of cat to get version from BASE-VER file.
11519 * testsuite/Makefile.in: Regenerated.
11520
b32e85fa
JJ
115212017-01-19 Jakub Jelinek <jakub@redhat.com>
11522
11523 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
11524 for _WIN64.
11525
3c36aa6b
JJ
115262017-01-17 Jakub Jelinek <jakub@redhat.com>
11527
d190d5c0
JJ
11528 * plugin/hsa.h: Add GCC runtime library exception.
11529 * plugin/hsa_ext_finalize.h: Likewise.
11530
2393d337
JJ
11531 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
11532 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
11533 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
11534 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
11535 plugin/include/cuda as include dir and -ldl instead of -lcuda as
11536 library to link ptx plugin against.
11537 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
11538 (CUDA_CALLS): Define.
11539 (cuda_lib, cuda_lib_inited): New variables.
11540 (init_cuda_lib): New function.
11541 (CUDA_CALL_PREFIX): Define.
11542 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
11543 (CUDA_CALL): Use FN instead of (FN).
11544 (CUDA_CALL_NOCHECK): Define.
11545 (cuda_error, fini_streams_for_device, select_stream_for_async,
11546 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
11547 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
11548 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
11549 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
11550 CUDA_CALL_NOCHECK.
11551 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
11552 CUDA_CALL_NOCHECK.
11553 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
11554 Use CUDA_CALL_NOCHECK.
11555 * plugin/cuda/cuda.h: New file.
11556 * config.h.in: Regenerated.
11557 * configure: Regenerated.
11558
3c36aa6b
JJ
11559 PR other/79046
11560 * configure.ac: Add GCC_BASE_VER.
11561 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
11562 get version from BASE-VER file.
11563 * testsuite/Makefile.in: Regenerated.
11564 * configure: Regenerated.
11565 * Makefile.in: Regenerated.
11566
c508bc2d
FXC
115672017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11568
11569 PR libgomp/60670
11570 * Makefile.am: Make fincludedir multilib-aware.
11571 * Makefile.in: Regenerate.
11572
c1a9c369
JJ
115732017-01-01 Jakub Jelinek <jakub@redhat.com>
11574
cbe34bb5
JJ
11575 Update copyright years.
11576
c1a9c369
JJ
11577 * libgomp.texi: Bump @copying's copyright year.
11578
e7a7f4be
SH
115792016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
11580
11581 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
11582 pthread_spinlock_t instead of gomp_mutex_t lock.
11583 (gomp_get_thread_pool): Likewise.
11584 (gomp_release_thread_pool): Likewise.
11585 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
11586 Likewise.
11587
d313d52c
SH
115882016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
11589
11590 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
11591 thread pool in case nthreads == 1.
11592
630e3c3a
AM
115932016-11-30 Alexander Monakov <amonakov@ispras.ru>
11594
11595 * config/nvptx/env.c: Delete.
11596 * icv.c: Move definitions of ICV variables back ...
11597 * env.c: ...here. Do not compile environment-related functionality if
11598 LIBGOMP_OFFLOADED_ONLY is set.
11599
9e38af5c
AM
116002016-11-30 Alexander Monakov <amonakov@ispras.ru>
11601
11602 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
11603 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
11604 * configure: Regenerate.
11605 * config.h.in: Likewise.
11606
f96b7f1f
AM
116072016-11-30 Alexander Monakov <amonakov@ispras.ru>
11608
11609 * Makefile.in: Regenerate with automake-1.11.6.
11610 * aclocal.m4: Likewise.
11611 * configure: Likewise.
11612 * testsuite/Makefile.in: Likewise.
11613
6a6951b1
AM
116142016-11-28 Alexander Monakov <amonakov@ispras.ru>
11615
11616 * config/nvptx/critical.c: Delete to use generic implementation.
11617
c7ac071f
JH
116182016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
11619
11620 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
11621 ../../affinity.c as fallback.
11622 * config/nvptx/affinity.c: Delete to use fallback implementation.
11623
6103184e 116242016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 11625 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
11626 Dmitry Melnik <dm@ispras.ru>
11627
11628 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
11629 * Makefile.in. Regenerate.
11630 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
11631 (LIBGOMP_USE_PTHREADS): ...here; new define.
11632 * configure: Regenerate.
11633 * config.h.in: Likewise.
11634 * config/posix/affinity.c: Move to...
11635 * affinity.c: ...here (new file). Guard use of Pthreads-specific
11636 interface by LIBGOMP_USE_PTHREADS.
11637 * critical.c: Split out GOMP_atomic_{start,end} into...
11638 * atomic.c: ...here (new file).
11639 * env.c: Split out ICV definitions into...
11640 * icv.c: ...here (new file) and...
11641 * icv-device.c: ...here. New file.
11642 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
11643 (gomp_destroy_lock_30): Ditto.
11644 (gomp_set_lock_30): Ditto.
11645 (gomp_unset_lock_30): Ditto.
11646 (gomp_test_lock_30): Ditto.
11647 (gomp_init_nest_lock_30): Ditto.
11648 (gomp_destroy_nest_lock_30): Ditto.
11649 (gomp_set_nest_lock_30): Ditto.
11650 (gomp_unset_nest_lock_30): Ditto.
11651 (gomp_test_nest_lock_30): Ditto.
11652 * lock.c: New.
11653 * config/nvptx/lock.c: New.
11654 * config/nvptx/bar.c: New.
11655 * config/nvptx/bar.h: New.
11656 * config/nvptx/doacross.h: New.
11657 * config/nvptx/error.c: New.
11658 * config/nvptx/icv-device.c: New.
11659 * config/nvptx/mutex.h: New.
11660 * config/nvptx/pool.h: New.
11661 * config/nvptx/proc.c: New.
11662 * config/nvptx/ptrlock.h: New.
11663 * config/nvptx/sem.h: New.
11664 * config/nvptx/simple-bar.h: New.
11665 * config/nvptx/target.c: New.
11666 * config/nvptx/task.c: New.
11667 * config/nvptx/team.c: New.
11668 * config/nvptx/time.c: New.
11669 * config/posix/simple-bar.h: New.
11670 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
11671 (gomp_num_teams_var): Declare.
11672 (struct gomp_thread_pool): Change threads_dock member to
11673 gomp_simple_barrier_t.
11674 [__nvptx__] (gomp_thread): New implementation.
11675 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
11676 (gomp_thread_destructor): Ditto.
11677 (gomp_init_thread_affinity): Ditto.
11678 * team.c: Guard uses of Pthreads-specific interfaces by
11679 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
11680 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
11681 * config/nvptx/alloc.c: Delete.
11682 * config/nvptx/barrier.c: Ditto.
11683 * config/nvptx/fortran.c: Ditto.
11684 * config/nvptx/iter.c: Ditto.
11685 * config/nvptx/iter_ull.c: Ditto.
11686 * config/nvptx/loop.c: Ditto.
11687 * config/nvptx/loop_ull.c: Ditto.
11688 * config/nvptx/ordered.c: Ditto.
11689 * config/nvptx/parallel.c: Ditto.
11690 * config/nvptx/priority_queue.c: Ditto.
11691 * config/nvptx/sections.c: Ditto.
11692 * config/nvptx/single.c: Ditto.
11693 * config/nvptx/splay-tree.c: Ditto.
11694 * config/nvptx/work.c: Ditto.
11695 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
11696 -foffload=-lgfortran in addition to -lgfortran.
11697 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
11698 * plugin/plugin-nvptx.c: Include <limits.h>.
11699 (struct targ_fn_descriptor): Add new fields.
11700 (struct ptx_device): Ditto. Set them...
11701 (nvptx_open_device): ...here.
11702 (nvptx_adjust_launch_bounds): New.
11703 (nvptx_host2dev): Allow NULL 'nvthd'.
11704 (nvptx_dev2host): Ditto.
11705 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
11706 (link_ptx): Adjust log sizes.
11707 (nvptx_host2dev): Allow NULL 'nvthd'.
11708 (nvptx_dev2host): Ditto.
11709 (nvptx_set_clocktick): New. Use it...
11710 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
11711 fields.
11712 (GOMP_OFFLOAD_dev2dev): New.
11713 (nvptx_adjust_launch_bounds): New.
11714 (nvptx_stacks_size): New.
11715 (nvptx_stacks_alloc): New.
11716 (nvptx_stacks_free): New.
11717 (GOMP_OFFLOAD_run): New.
11718 (GOMP_OFFLOAD_async_run): New (stub).
11719
56b1c60e
MJ
117202016-11-23 Martin Jambor <mjambor@suse.cz>
11721
11722 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
11723 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
11724 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
11725
b8d89b03 117262016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 11727 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
11728
11729 * plugin/hsa.h: New file.
11730 * plugin/hsa_ext_finalize.h: New file.
11731 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
11732 header file unistd.h, and functions secure_getenv, __secure_getenv,
11733 getuid, geteuid, getgid and getegid.
11734 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
11735 -D_GNU_SOURCE.
11736 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
11737 Handle various cases of secure_getenv presence, add an implementation
11738 when we can test effective UID and GID.
11739 (struct hsa_runtime_fn_info): New structure.
11740 (hsa_runtime_fn_info hsa_fns): New variable.
11741 (hsa_runtime_lib): Likewise.
11742 (support_cpu_devices): Likewise.
11743 (init_enviroment_variables): Load newly introduced ENV
11744 variables.
11745 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
11746 (hsa_fatal): Likewise.
11747 (DLSYM_FN): New macro.
11748 (init_hsa_runtime_functions): New function.
11749 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
11750 structure. Depending on environment, also allow CPU devices.
11751 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
11752 (get_kernarg_memory_region): Likewise.
11753 (GOMP_OFFLOAD_init_device): Likewise.
11754 (destroy_hsa_program): Likewise.
11755 (init_basic_kernel_info): New function.
11756 (GOMP_OFFLOAD_load_image): Use it.
11757 (create_and_finalize_hsa_program): Call hsa run-time functions via
11758 hsa_fns structure.
11759 (create_single_kernel_dispatch): Likewise.
11760 (release_kernel_dispatch): Likewise.
11761 (init_single_kernel): Likewise.
11762 (parse_target_attributes): Allow up multiple HSA grid dimensions.
11763 (get_group_size): New function.
11764 (run_kernel): Likewise.
11765 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
11766 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
11767 structure.
11768 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
11769 * testsuite/libgomp-test-support.exp.in: Likewise.
11770 * Makefile.in: Regenerated.
11771 * aclocal.m4: Likewise.
11772 * config.h.in: Likewise.
11773 * configure: Likewise.
11774 * testsuite/Makefile.in: Likewise.
11775
18d2ada8 117762016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 11777 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
11778
11779 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
11780 mapping clauses to target constructs.
11781 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
11782
84c1b9d3
MK
117832016-11-15 Matthias Klose <doko@ubuntu.com>
11784
11785 * configure: Regenerate.
11786
b4c3a85b
JJ
117872016-11-10 Jakub Jelinek <jakub@redhat.com>
11788
8ebd1b31
JJ
11789 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
11790 * omp_lib.h.in (openmp_version): Likewise.
11791 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
11792 of 201307.
11793 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
11794
b4c3a85b
JJ
11795 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
11796 (fib_wrapper): Add map(from: x) clause.
11797 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
11798 (e_53_2): Likewise.
11799 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
11800 (accum): Add map(tmp) clause.
11801 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
11802 (accum): Add map(tofrom: tmp) clause.
11803 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
11804 (gramSchmidt): Likewise.
11805 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
11806 map(tofrom: sum) clause.
11807 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
11808 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
11809 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
11810 only allowed on the loop iterator.
11811 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
11812 * testsuite/libgomp.fortran/taskloop2.f90: New test.
11813 * testsuite/libgomp.fortran/taskloop4.f90: New test.
11814 * testsuite/libgomp.fortran/doacross1.f90: New test.
11815 * testsuite/libgomp.fortran/doacross3.f90: New test.
11816 * testsuite/libgomp.fortran/taskloop1.f90: New test.
11817 * testsuite/libgomp.fortran/taskloop3.f90: New test.
11818 * testsuite/libgomp.fortran/doacross2.f90: New test.
11819 * testsuite/libgomp.c/doacross-1.c (main): Add missing
11820 #pragma omp atomic read.
11821 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
11822 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
11823
6668eb45
CP
118242016-11-02 Cesar Philippidis <cesar@codesourcery.com>
11825 Nathan Sidwell <nathan@acm.org>
11826
11827 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
11828 to determine default geometry.
11829 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
11830 dimension.
11831
f10e37a1
JJ
118322016-11-01 Jakub Jelinek <jakub@redhat.com>
11833
11834 * hashtab.h: Use standard GPLv3 with runtime exception
11835 boilerplate.
11836
015c7760
AH
118372016-10-27 Aldy Hernandez <aldyh@redhat.com>
11838
11839 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
11840 size when allocating new thread.
11841
20a1e5b8
MP
118422016-09-14 Marek Polacek <polacek@redhat.com>
11843
11844 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
11845
1cad9284
JJ
118462016-08-19 Jakub Jelinek <jakub@redhat.com>
11847
11848 PR fortran/71014
11849 * testsuite/libgomp.fortran/pr71014.f90: New test.
11850
2c71d454
CLT
118512016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
11852
11853 PR middle-end/70895
11854 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
11855 firstprivate clauses.
11856 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
11857 copy clauses.
11858 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
11859 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
11860 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
11861 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
11862 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
11863 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
11864 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
11865 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
11866 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
11867 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
11868 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
11869 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
11870
7c713714
CLT
118712016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
11872
11873 PR fortran/70598
11874 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
11875
5c934396
JJ
118762016-08-08 Jakub Jelinek <jakub@redhat.com>
11877
11878 PR c++/58706
11879 * testsuite/libgomp.c++/pr58706.C: New test.
11880
9ef64248
TS
118812016-08-04 Thomas Schwinge <thomas@codesourcery.com>
11882
bbc79c0e
TS
11883 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
11884 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
11885 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
11886 Likewise.
11887 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
11888 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
11889 Likewise.
11890 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
11891
9ef64248
TS
11892 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
11893 test, and don't hardcode -O0.
11894
c1311c86
NS
118952016-08-03 Nathan Sidwell <nathan@codesourcery.com>
11896
11897 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
11898
b1c9c068
CP
118992016-07-15 Cesar Philippidis <cesar@codesourcery.com>
11900
11901 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
11902 test.
11903
b4410f63
L
119042016-07-03 H.J. Lu <hongjiu.lu@intel.com>
11905
11906 PR middle-end/71734
11907 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
11908 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
11909
a8dbab92
JJ
119102016-07-01 Jakub Jelinek <jakub@redhat.com>
11911
11912 PR fortran/71717
11913 * testsuite/libgomp.fortran/associate3.f90: New test.
11914
9b6a8d0f
JJ
119152016-06-17 Jakub Jelinek <jakub@redhat.com>
11916
11917 * testsuite/libgomp.c++/target-21.C: New test.
11918
283635f9
JJ
119192016-06-16 Jakub Jelinek <jakub@redhat.com>
11920
11921 * testsuite/libgomp.c++/target-20.C: New test.
11922
27d6ba88
TS
119232016-06-10 Thomas Schwinge <thomas@codesourcery.com>
11924 Cesar Philippidis <cesar@codesourcery.com>
11925
11926 PR middle-end/71373
11927 * libgomp.oacc-c/nested-function-1.c: New file.
11928 * libgomp.oacc-c/nested-function-2.c: Likewise.
11929 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
11930 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
11931 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
11932
4b1ffdb1
TS
119332016-06-10 Thomas Schwinge <thomas@codesourcery.com>
11934
11935 PR c/71381
11936 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
11937 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
11938 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
11939
d821b794
CLT
119402016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
11941
11942 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
11943 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
11944
3616a8c5
CP
119452016-06-01 Cesar Philippidis <cesar@codesourcery.com>
11946
11947 PR c/70688
5eed9a88 11948 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 11949
7211a097
JJ
119502016-05-26 Jakub Jelinek <jakub@redhat.com>
11951
11952 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
11953 instead of invalid schedule(static, 0).
11954 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
11955
b4557008
CLT
119562016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
11957
11958 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
11959 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
11960 parameter, use to set async stream around call to gomp_unmap_vars,
11961 call gomp_unmap_vars() with 'do_copyfrom' set to true.
11962 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
11963 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
11964 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
11965 (event_add): Add int parameter, initialize 'val' field when
11966 adding new ptx_event struct.
11967 (nvptx_evec): Adjust event_add() call arguments.
11968 (nvptx_host2dev): Likewise.
11969 (nvptx_dev2host): Likewise.
11970 (nvptx_wait_async): Likewise.
11971 (nvptx_wait_all_async): Likewise.
11972 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
11973 pass to event_add() call.
11974 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
11975 parameter.
11976 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
11977 call openacc.register_async_cleanup_func() hook.
11978 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
11979 * target.c (gomp_copy_from_async): Delete function.
11980 (gomp_map_vars): Remove async_refcount.
11981 (gomp_unmap_vars): Likewise.
11982 (gomp_load_image_to_device): Likewise.
11983 (omp_target_associate_ptr): Likewise.
11984 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
11985 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
11986 (gomp_copy_from_async): Remove.
11987
6ce13072
CLT
119882016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
11989
11990 * target.c (gomp_device_copy): New function.
11991 (gomp_copy_host2dev): Likewise.
11992 (gomp_copy_dev2host): Likewise.
11993 (gomp_free_device_memory): Likewise.
11994 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
11995 (gomp_map_pointer): Likewise.
11996 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
11997 NULL value from alloc_func plugin hook.
11998 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
11999 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
12000 (gomp_unmap_vars): Likewise.
12001 (gomp_update): Adjust to call gomp_copy_dev2host and
12002 gomp_copy_host2dev functions.
12003 (gomp_unload_image_from_device): Handle false value from
12004 unload_image_func plugin hook.
12005 (gomp_init_device): Handle false value from init_device_func
12006 plugin hook.
12007 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
12008 (omp_target_free): Adjust to call gomp_free_device_memory.
12009 (omp_target_memcpy): Handle return values from host2dev_func,
12010 dev2host_func, and dev2dev_func plugin hooks.
12011 (omp_target_memcpy_rect_worker): Likewise.
12012 (gomp_target_fini): Handle false value from fini_device_func
12013 plugin hook.
12014 * libgomp.h (struct gomp_device_descr): Adjust return type of
12015 init_device_func, fini_device_func, unload_image_func, free_func,
12016 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
12017 * oacc-init.c (acc_shutdown_1): Handle false value from
12018 fini_device_func plugin hook.
12019 * oacc-host.c (host_init_device): Change return type to bool.
12020 (host_fini_device): Likewise.
12021 (host_unload_image): Likewise.
12022 (host_free): Likewise.
12023 (host_dev2host): Likewise.
12024 (host_host2dev): Likewise.
12025 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
12026 (acc_memcpy_to_device): Likewise.
12027 (acc_memcpy_from_device): Likewise.
12028 (delete_copyout): Add libfnname parameter, handle free_func
12029 hook fatal error case.
12030 (acc_delete): Adjust delete_copyout call.
12031 (acc_copyout): Likewise.
12032 (update_dev_host): Move gomp_mutex_unlock to after
12033 host2dev/dev2host hook calls.
12034
12035 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
12036 to 'hsa_error_msg', for clarity.
12037 (hsa_fatal): Likewise.
12038 (hsa_error): New function.
12039 (init_hsa_context): Change return type to bool, adjust to return
12040 false on error.
12041 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
12042 return value.
12043 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
12044 return false on error.
12045 (get_agent_info): Adjust to return NULL on error.
12046 (destroy_hsa_program): Change return type to bool, adjust to
12047 return false on error.
12048 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
12049 (destroy_module): Change return type to bool, adjust to
12050 return false on error.
12051 (GOMP_OFFLOAD_unload_image): Likewise.
12052 (GOMP_OFFLOAD_fini_device): Likewise.
12053 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
12054 (GOMP_OFFLOAD_free): Change to return false when called.
12055 (GOMP_OFFLOAD_dev2host): Likewise.
12056 (GOMP_OFFLOAD_host2dev): Likewise.
12057 (GOMP_OFFLOAD_dev2dev): Likewise.
12058
12059 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
12060 (CUDA_CALL): Likewise.
12061 (CUDA_CALL_ASSERT): Likewise.
12062 (map_init): Change return type to bool, use CUDA_CALL* macros.
12063 (map_fini): Likewise.
12064 (init_streams_for_device): Change return type to bool, adjust
12065 call to map_init.
12066 (fini_streams_for_device): Change return type to bool, adjust
12067 call to map_fini.
12068 (select_stream_for_async): Release stream_lock before calls to
12069 GOMP_PLUGIN_fatal, adjust call to map_init.
12070 (nvptx_init): Use CUDA_CALL* macros.
12071 (nvptx_attach_host_thread_to_device): Change return type to bool,
12072 use CUDA_CALL* macros.
12073 (nvptx_open_device): Use CUDA_CALL* macros.
12074 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
12075 macros.
12076 (nvptx_get_num_devices): Use CUDA_CALL* macros.
12077 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
12078 (nvptx_exec): Use CUDA_CALL* macros.
12079 (nvptx_alloc): Use CUDA_CALL* macros.
12080 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
12081 (nvptx_host2dev): Likewise.
12082 (nvptx_dev2host): Likewise.
12083 (nvptx_wait): Use CUDA_CALL* macros.
12084 (nvptx_wait_async): Likewise.
12085 (nvptx_wait_all): Likewise.
12086 (nvptx_wait_all_async): Likewise.
12087 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
12088 use CUDA_CALL* macros, adjust call to map_fini.
12089 (GOMP_OFFLOAD_init_device): Change return type to bool,
12090 adjust code accordingly.
12091 (GOMP_OFFLOAD_fini_device): Likewise.
12092 (GOMP_OFFLOAD_load_image): Adjust calls to
12093 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
12094 use CUDA_CALL* macros.
12095 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
12096 return code.
12097 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
12098 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
12099 handle error return.
12100 (GOMP_OFFLOAD_dev2host): Likewise.
12101 (GOMP_OFFLOAD_host2dev): Likewise.
12102 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
12103 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
12104
e46c7770
CP
121052016-05-24 Cesar Philippidis <cesar@codesourcery.com>
12106
12107 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
12108 (acc_free): Likewise.
12109 (acc_memcpy_to_device): Likewise.
12110 (acc_memcpy_from_device): Likewise.
12111 (acc_deviceptr): Likewise.
12112 (acc_hostptr): Likewise.
12113 (acc_is_present): Likewise.
12114 (acc_map_data): Likewise.
12115 (acc_unmap_data): Likewise.
12116 (present_create_copy): Likewise.
12117 (delete_copyout): Likewise.
12118 (update_dev_host): Likewise.
12119 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
12120 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
12121 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
12122 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12123 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
12124 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
12125 it only runs on nvptx targets.
12126 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12127 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12128 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12129 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12130 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12131 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12132 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12133 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12134 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12135 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12136 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12137 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12138 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12139 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12140 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12141 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12142 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12143 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12144 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12145 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12146 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12147 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12148 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12149
a5057543
MJ
121502016-05-23 Martin Jambor <mjambor@suse.cz>
12151
12152 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
12153
e37288a6
CLT
121542016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
12155
12156 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
12157 to gomp_init_targets_once.
12158 (acc_set_device_type): Remove !cached_base_dev condition on call to
12159 gomp_init_targets_once, move call to before acc_device_lock acquire,
12160 to avoid deadlock.
12161 (acc_get_device_num): Remove !cached_base_dev condition on call to
12162 gomp_init_targets_once.
12163 (acc_set_device_num): Likewise.
12164
51d9ed48
MJ
121652016-05-16 Martin Jambor <mjambor@suse.cz>
12166
92a285c1 12167 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 12168
5b37e866
NS
121692016-05-02 Nathan Sidwell <nathan@codesourcery.com>
12170
12171 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
12172 expected partitioning.
12173
e7ff0319
CP
121742016-04-29 Cesar Philippidis <cesar@codesourcery.com>
12175
12176 PR middle-end/70626
12177 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
12178 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
12179 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
12180
c2bd3b69
AM
121812016-04-21 Alexander Monakov <amonakov@ispras.ru>
12182
12183 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
12184 non-fatal.
12185
84311083
JJ
121862016-04-19 Jakub Jelinek <jakub@redhat.com>
12187
12188 PR middle-end/70680
12189 * testsuite/libgomp.c/pr70680-1.c: New test.
12190 * testsuite/libgomp.c/pr70680-2.c: New test.
12191
aadc043f
CP
121922016-04-14 Cesar Philippidis <cesar@codesourcery.com>
12193
12194 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
12195 pass parameter variables to subroutines.
12196
e387fc64
CP
121972016-04-14 Cesar Philippidis <cesar@codesourcery.com>
12198
12199 PR middle-end/70643
12200 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
12201
10c3c424
CP
122022016-04-13 Cesar Philippidis <cesar@codesourcery.com>
12203
12204 PR testsuite/68242
12205 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
12206 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12207
27f9add3
TS
122082016-04-12 Thomas Schwinge <thomas@codesourcery.com>
12209
58d32aeb
TS
12210 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
12211 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
12212 GOACC_declare prototype.
12213
d97633ef
TS
12214 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
12215 Merge this file, and...
12216 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
12217 ... this file, and...
12218 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
12219 ... this file, and...
12220 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
12221 ... this file, and...
12222 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
12223 ... this file, and...
12224 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
12225 ... this file, and...
12226 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
12227 ... this file, and...
12228 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
12229 ... this file, and...
12230 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
12231 ... this file, and...
12232 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
12233 ... this file, and...
12234 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
12235 ... this file, and...
12236 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
12237 ... this file, and...
12238 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
12239 ... this file into...
12240 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
12241 file.
12242
27f9add3
TS
12243 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
12244 Make failure observable.
12245
21f3a236
JJ
122462016-04-12 Jakub Jelinek <jakub@redhat.com>
12247
12248 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
12249 field.
12250 * target.c (gomp_target_fallback_firstprivate,
12251 gomp_target_unshare_firstprivate): Removed.
12252 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
12253 before waiting for dependencies.
12254 (gomp_target_task_fn): Don't copy firstprivate vars here.
12255 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
12256 firstprivate_copies here.
12257 (gomp_create_target_task): Don't initialize firstprivate_copies field.
12258 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
12259 explicit/implicit firstprivate.
12260
c42cfb5c
CP
122612016-04-08 Cesar Philippidis <cesar@codesourcery.com>
12262
12263 PR lto/70289
12264 PR ipa/70348
12265 PR tree-optimization/70373
12266 PR middle-end/70533
12267 PR middle-end/70534
12268 PR middle-end/70535
12269 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
12270 test.
12271 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
12272 test.
12273 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
12274 test.
12275 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
12276 test.
12277 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
12278 test.
12279 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
12280 test.
12281 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
12282 test.
12283 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
12284 test.
12285 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
12286 test.
12287 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
12288 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
12289 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
12290 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
12291 test.
12292 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
12293 test.
12294 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
12295 test.
12296 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
12297 test.
12298 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
12299 coverage.
12300 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
12301 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
12302 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
12303 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
12304 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
12305 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
12306 coverage.
12307 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12308 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12309 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12310 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12311 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
12312 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
12313 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
12314 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
12315 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
12316 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12317 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12318 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12319 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12320 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12321 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
12322
2620c80d
TS
123232016-03-30 Thomas Schwinge <thomas@codesourcery.com>
12324 James Norris <jnorris@codesourcery.com>
12325 Nathan Sidwell <nathan@codesourcery.com>
12326 Julian Brown <julian@codesourcery.com>
12327 Cesar Philippidis <cesar@codesourcery.com>
12328 Chung-Lin Tang <cltang@codesourcery.com>
12329 Tom de Vries <tom@codesourcery.com>
12330
12331 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
12332 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12333 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12334 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
12335 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12336 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12337 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12338 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
12339 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12340 XFAIL.
12341 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
12342 Incorporate...
12343 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
12344 file.
12345 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
12346 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
12347 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
12348 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
12349 Likewise.
12350 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
12351 Likewise.
12352 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
12353 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
12354 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
12355 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
12356 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
12357 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
12358 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
12359 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
12360 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
12361 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
12362 Likewise.
12363 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
12364 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
12365 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
12366 file...
12367 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
12368 file into...
12369 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
12370 file. Update.
12371 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
12372 file.
12373 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
12374 Likewise.
12375 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
12376 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
12377 ... this new file. Update.
12378 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
12379 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
12380 ... this new file. Update.
12381 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
12382 file. Incorporate...
12383 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
12384 file, and...
12385 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
12386 file, and...
12387 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
12388 file.
12389 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
12390
ce83104b
TS
123912016-03-29 Thomas Schwinge <thomas@codesourcery.com>
12392
12393 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
12394 set-torture-options.
12395
6e0df3b7
TS
123962016-03-24 Thomas Schwinge <thomas@codesourcery.com>
12397
12398 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
12399 gcc-dg-runtest.
12400 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12401 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
12402 -fno-builtin-acc_on_device instead of -O0.
12403 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
12404 -O0.
12405 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
12406 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
12407 Likewise.
12408 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
12409 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
12410 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
12411 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12412 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12413 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12414 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
12415 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12416 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
12417 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
12418 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
12419 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
12420 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
12421 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
12422 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
12423 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
12424 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
12425 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
12426 Don't specify -O2.
12427 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
12428 Likewise.
12429 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
12430 Likewise.
12431
f9c8babb
ML
124322016-03-24 Martin Liska <mliska@suse.cz>
12433
12434 * plugin/plugin-hsa.c (packet_store_release): New function
12435 that is taken from the HSA runtime manual.
12436 (GOMP_OFFLOAD_run): Use the function.
12437
04833609
JJ
124382016-03-23 Jakub Jelinek <jakub@redhat.com>
12439
12440 PR c++/70376
12441 * testsuite/libgomp.c++/pr70376.C: New test.
12442
d79ee524
TV
124432016-03-23 Tom de Vries <tom@codesourcery.com>
12444
12445 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
12446 initialization of lresult and lvresult.
12447 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
12448
b6d1f2b5
JN
124492016-03-23 James Norris <jnorris@codesourcery.com>
12450 Daichi Fukuoka <dc-fukuoka@sgi.com>
12451
12452 PR libgomp/69414
12453 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
12454 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
12455 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12456 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
12457
7397fce2
ML
124582016-03-23 Martin Liska <mliska@suse.cz>
12459
12460 PR hsa/70337
12461 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
12462 argument just in case a dispatched kernel uses that argument.
12463
ee2e7d51
TS
124642016-03-16 Thomas Schwinge <thomas@codesourcery.com>
12465
12466 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
12467 -ftree-parallelize-loops/-fopenacc changes.
12468 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
12469 Likewise.
12470 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
12471 Likewise.
12472 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
12473 Likewise.
12474 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
12475 Likewise.
12476 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
12477 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
12478
be9f7143
TS
124792016-03-13 Thomas Schwinge <thomas@codesourcery.com>
12480
12481 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
12482 always_ld_library_path the path to libgcc_s.
12483
f6c1032d
CP
124842016-03-10 Cesar Philippidis <cesar@codesourcery.com>
12485
12486 PR testsuite/70009
12487 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
12488
5a6452e6
TV
124892016-03-09 Tom de Vries <tom@codesourcery.com>
12490
12491 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
12492 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
12493 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
12494 Same.
12495 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
12496 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
12497 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
12498 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
12499
96a71bd5
MJ
125002016-03-07 Martin Jambor <mjambor@suse.cz>
12501
12502 * testsuite/lib/libgomp.exp
12503 (check_effective_target_hsa_offloading_selected_nocache): New.
12504 (check_effective_target_hsa_offloading_selected): Likewise.
12505 * testsuite/libgomp.hsa.c/c.exp: Likewise.
12506 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
12507 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
12508 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
12509 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
12510 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
12511 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
12512 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
12513 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
12514 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
12515 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
12516 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
12517 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
12518 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
12519 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
12520 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
12521 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
12522
02e0b5b2
MJ
125232016-03-07 Martin Jambor <mjambor@suse.cz>
12524
12525 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
12526 non-shared memory accelerators.
12527 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
12528 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
12529 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
12530 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
12531 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
12532 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
12533 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
12534 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
12535 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
12536
45548f30
MJ
125372016-03-07 Martin Jambor <mjambor@suse.cz>
12538
12539 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
12540 ALWAYS_CFLAGS.
12541
da3d46cb
JJ
125422016-03-02 Jakub Jelinek <jakub@redhat.com>
12543
12544 PR libgomp/69555
12545 * testsuite/libgomp.c++/pr69555-1.C: New test.
12546 * testsuite/libgomp.c++/pr69555-2.C: New test.
12547
622174b2
KM
125482016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
12549 Martin Jambor <mjambor@suse.cz>
12550
12551 * testsuite/lib/libgomp.exp
12552 (check_effective_target_offload_device_shared_as): New proc.
12553 * testsuite/libgomp.c++/declare_target-1.C: New test.
12554
e6861a99
IV
125552016-02-25 Ilya Verbin <ilya.verbin@intel.com>
12556
12557 PR driver/68463
12558 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
12559
f99c3557
TS
125602016-02-23 Thomas Schwinge <thomas@codesourcery.com>
12561
12562 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
12563 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
12564 dims.
12565 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
12566 -ftree-parallelize-loops/-fopenacc changes.
12567 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
12568 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
12569 Likewise.
12570 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
12571 Likewise.
12572 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
12573 Likewise.
12574 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
12575 Likewise.
12576 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
12577 Likewise.
12578 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
12579 Likewise.
12580 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
12581 Likewise.
12582 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
12583 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
12584 Likewise.
12585 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
12586 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
12587 Likewise.
12588 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
12589 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
12590 Likewise.
12591
d5ace3b5
CP
125922016-02-22 Cesar Philippidis <cesar@codesourcery.com>
12593
12594 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
12595
f3609a89
JJ
125962016-02-19 Jakub Jelinek <jakub@redhat.com>
12597
12598 PR driver/69805
12599 * testsuite/libgomp.c/pr69805.c: New test.
12600
2175df99
TV
126012016-02-16 Tom de Vries <tom@codesourcery.com>
12602
12603 PR lto/67709
12604 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
12605
17b6426c
TV
126062016-02-09 Tom de Vries <tom@codesourcery.com>
12607
12608 PR tree-optimization/69599
12609 * testsuite/libgomp.c/omp-nested-3.c: New test.
12610 * testsuite/libgomp.c/pr46032-2.c: New test.
12611 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
12612 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
12613
34df756c
TV
126142016-02-09 Tom de Vries <tom@codesourcery.com>
12615
12616 PR lto/69707
12617 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
12618
5854ee30
AM
126192016-02-02 Alexander Monakov <amonakov@ispras.ru>
12620
12621 * testsuite/libgomp.c/target-31.c: Fix testcase.
12622
e70b6ad7
AM
126232016-02-02 Alexander Monakov <amonakov@ispras.ru>
12624
12625 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
12626 clause.
12627 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
12628 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
12629 reduction and map clauses.
12630 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
12631
bd78a45f
JN
126322016-02-02 James Norris <jnorris@codesourcery.com>
12633
12634 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
12635
41d809d3
TS
126362016-02-02 Thomas Schwinge <thomas@codesourcery.com>
12637
18f60146
TS
12638 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
12639 * oacc-parallel.c (GOACC_host_data): Remove function definition.
12640
1a06f5e6
TS
12641 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
12642 cases.
12643
033ff3d1
TS
12644 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
12645 variables.
12646 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
12647 (hsa_kmt_lib): Set variables.
12648 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
12649 always_ld_library_path.
12650 * Makefile.in: Regenerate.
12651 * configure: Likewise.
12652 * testsuite/Makefile.in: Likewise.
12653
4a88d9b7
TS
12654 * plugin/configfrag.ac (offload_additional_options)
12655 (offload_additional_lib_paths): Don't amend for hsa offloading.
12656 * configure: Regenerate.
12657
41d809d3
TS
12658 * plugin/configfrag.ac: Don't configure for offloading target if
12659 we don't build the corresponding plugin.
12660 * configure: Regenerate.
12661
b6adbb9f
NS
126622016-02-01 Nathan Sidwell <nathan@codesourcery.com>
12663
12664 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
12665 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
12666
8dfdb419
TV
126672016-01-26 Tom de Vries <tom@codesourcery.com>
12668
12669 PR tree-optimization/69110
12670 * testsuite/libgomp.c/pr69110.c: New test.
12671
02ef53f2
RB
126722016-01-25 Richard Biener <rguenther@suse.de>
12673
12674 PR lto/69393
12675 * testsuite/libgomp.c++/pr69393.C: New testcase.
12676
eb4048f2
IV
126772016-01-22 Ilya Verbin <ilya.verbin@intel.com>
12678
12679 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
12680 function wasn't mapped to the device with non-shared memory.
12681
b235cdd5
IV
126822016-01-20 Ilya Verbin <ilya.verbin@intel.com>
12683
12684 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
12685
b2b40051
MJ
126862016-01-19 Martin Jambor <mjambor@suse.cz>
12687 Martin Liska <mliska@suse.cz>
12688
12689 * plugin/Makefrag.am: Add HSA plugin requirements.
12690 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
12691 (HSA_RUNTIME_LIB): Likewise.
12692 (HSA_RUNTIME_CPPFLAGS): Likewise.
12693 (HSA_RUNTIME_INCLUDE): New substitution.
12694 (HSA_RUNTIME_LIB): Likewise.
12695 (HSA_RUNTIME_LDFLAGS): Likewise.
12696 (hsa-runtime): New configure option.
12697 (hsa-runtime-include): Likewise.
12698 (hsa-runtime-lib): Likewise.
12699 (PLUGIN_HSA): New substitution variable.
12700 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
12701 configure options.
12702 (PLUGIN_HSA_CPPFLAGS): Likewise.
12703 (PLUGIN_HSA_LDFLAGS): Likewise.
12704 (PLUGIN_HSA_LIBS): Likewise.
12705 Check that we have access to HSA run-time.
12706 * libgomp-plugin.h (offload_target_type): New element
12707 OFFLOAD_TARGET_TYPE_HSA.
12708 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
12709 args.
12710 (bool gomp_create_target_task): Updated.
12711 (gomp_device_descr): Extra parameter of run_func and async_run_func,
12712 new field can_run_func.
12713 * libgomp_g.h (GOMP_target_ext): Update prototype.
12714 * oacc-host.c (host_run): Added a new parameter args.
12715 * target.c (calculate_firstprivate_requirements): New function.
12716 (copy_firstprivate_data): Likewise.
12717 (gomp_target_fallback_firstprivate): Use them.
12718 (gomp_target_unshare_firstprivate): New function.
12719 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
12720 devices.
12721 (GOMP_target): Do host fallback for all shared memory devices. Do not
12722 pass any args to plugins.
12723 (GOMP_target_ext): Introduce device-specific argument parameter args.
12724 Allow host fallback if device shares memory. Do not remap data if
12725 device has shared memory.
12726 (gomp_target_task_fn): Likewise. Also treat shared memory devices
12727 like host fallback for mappings.
12728 (GOMP_target_data): Treat shared memory devices like host fallback.
12729 (GOMP_target_data_ext): Likewise.
12730 (GOMP_target_update): Likewise.
12731 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
12732 gomp_create_target_task.
12733 (GOMP_target_enter_exit_data): Likewise.
12734 (omp_target_alloc): Treat shared memory devices like host fallback.
12735 (omp_target_free): Likewise.
12736 (omp_target_is_present): Likewise.
12737 (omp_target_memcpy): Likewise.
12738 (omp_target_memcpy_rect): Likewise.
12739 (omp_target_associate_ptr): Likewise.
12740 (gomp_load_plugin_for_device): Also load can_run.
12741 * task.c (GOMP_PLUGIN_target_task_completion): Free
12742 firstprivate_copies.
12743 (gomp_create_target_task): Accept new argument args and store it to
12744 ttask.
12745 * plugin/plugin-hsa.c: New file.
12746
5d7804a9
TV
127472016-01-18 Tom de Vries <tom@codesourcery.com>
12748
12749 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
12750 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
12751 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
12752 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
12753 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
12754 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
12755 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
12756 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
12757 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
12758 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
12759 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
12760 Same.
12761 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
12762 Same.
12763 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
12764 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
12765 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
12766 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
12767 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
12768 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
12769 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
12770 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
12771 Same.
12772 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
12773
cb11f3cf
JJ
127742016-01-15 Jakub Jelinek <jakub@redhat.com>
12775
12776 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
12777
33a126a6
CP
127782016-01-15 Cesar Philippidis <cesar@codesourcery.com>
12779
12780 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
12781
cdf6119d
JN
127822016-01-12 James Norris <jnorris@codesourcery.com>
12783
12784 * libgomp.texi: Updates for OpenACC.
12785
0d58938e
AM
127862016-01-11 Alexander Monakov <amonakov@ispras.ru>
12787
12788 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
12789
95918b49
L
127902016-01-07 H.J. Lu <hongjiu.lu@intel.com>
12791
12792 PR fortran/66680
12793 * testsuite/libgomp.fortran/pr66680.f90: New test.
12794
8fc708b7
JJ
127952016-01-07 Jakub Jelinek <jakub@redhat.com>
12796
12797 PR middle-end/68960
12798 * testsuite/libgomp.c/pr68960.c: New test.
12799
e9b596c1
NS
128002016-01-06 Nathan Sidwell <nathan@acm.org>
12801
1a14faf2 12802 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
12803 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
12804
21fa2a29
JJ
128052016-01-04 Jakub Jelinek <jakub@redhat.com>
12806
818ab71a
JJ
12807 Update copyright years.
12808
21fa2a29
JJ
12809 * libgomp.texi: Bump @copying's copyright year.
12810
9310efbc
NS
128112015-12-31 Nathan Sidwell <nathan@acm.org>
12812
12813 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
12814 dg-additional-options syntax.
12815 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
12816 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
12817 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
12818 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
12819 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
12820 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
12821 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
12822 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
12823 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
12824 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
12825 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
12826 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
12827 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
12828 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
12829 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
12830 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
12831 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
12832 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
12833
4a38b02b
IV
128342015-12-15 Ilya Verbin <ilya.verbin@intel.com>
12835
12836 * libgomp.h (REFCOUNT_LINK): Define.
12837 (struct splay_tree_key_s): Add link_key.
12838 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
12839 Replace target address of the pointer with target address of newly
12840 mapped object in the splay tree. Set link pointer on target to the
12841 device address of the mapped object.
12842 (gomp_unmap_vars): Restore target address of the pointer in the splay
12843 tree for REFCOUNT_LINK objects after unmapping.
12844 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
12845 declare target link" objects.
12846 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
12847 "omp declare target link" objects, which were mapped for the image.
12848 (gomp_exit_data): Restore target address of the pointer in the splay
12849 tree for REFCOUNT_LINK objects after unmapping.
12850 * testsuite/libgomp.c/target-link-1.c: New file.
12851
d84ffc0a
IV
128522015-12-14 Ilya Verbin <ilya.verbin@intel.com>
12853
12854 * libgomp.h (gomp_device_state): New enum.
12855 (struct gomp_device_descr): Replace is_initialized with state.
12856 (gomp_fini_device): Remove declaration.
12857 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
12858 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
12859 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
12860 (acc_set_device_type): Use state instead of is_initialized.
12861 (acc_set_device_num): Likewise.
12862 * target.c (resolve_device): Use state instead of is_initialized.
12863 Do not initialize finalized device.
12864 (gomp_map_vars): Do nothing if device is finalized.
12865 (gomp_unmap_vars): Likewise.
12866 (gomp_update): Likewise.
12867 (GOMP_offload_register_ver): Use state instead of is_initialized.
12868 (GOMP_offload_unregister_ver): Likewise.
12869 (gomp_init_device): Likewise.
12870 (gomp_unload_device): Likewise.
12871 (gomp_fini_device): Remove.
12872 (gomp_get_target_fn_addr): Do nothing if device is finalized.
12873 (GOMP_target): Go to host fallback if device is finalized.
12874 (GOMP_target_ext): Likewise.
12875 (gomp_exit_data): Do nothing if device is finalized.
12876 (gomp_target_task_fn): Go to host fallback if device is finalized.
12877 (gomp_target_fini): New static function.
12878 (gomp_target_init): Use state instead of is_initialized.
12879 Call gomp_target_fini at exit.
12880
76680678
TV
128812015-12-09 Tom de Vries <tom@codesourcery.com>
12882
12883 PR tree-optimization/68716
12884 * testsuite/libgomp.c/omp-nested-2.c: New test.
12885
ff7a55bf
TS
128862015-12-02 Thomas Schwinge <thomas@codesourcery.com>
12887
12888 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
12889 target openacc_nvidia_accel_selected.
12890 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
12891 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
12892 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
12893 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
12894
37d5ad46
JB
128952015-12-01 Julian Brown <julian@codesourcery.com>
12896 James Norris <James_Norris@mentor.com>
12897
12898 * oacc-parallel.c (GOACC_host_data): New function.
12899 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
12900 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
12901 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
12902 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
12903 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
12904 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
12905 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
12906
db941d7e
CP
129072015-11-30 James Norris <jnorris@codesourcery.com>
12908 Cesar Philippidis <cesar@codesourcery.com>
12909
12910 libgomp/
12911 * libgomp.oacc-fortran/routine-5.f90: New test.
12912 * libgomp.oacc-fortran/routine-7.f90: New test.
12913 * libgomp.oacc-fortran/routine-9.f90: New test.
12914
e0ca27c5
TV
129152015-11-30 Tom de Vries <tom@codesourcery.com>
12916
12917 PR tree-optimization/46032
12918 * testsuite/libgomp.c/pr46032.c: New test.
12919
aec17bfe
JJ
129202015-11-27 Jakub Jelinek <jakub@redhat.com>
12921
8e4e4719
JJ
12922 PR libgomp/68579
12923 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
12924 (gomp_create_target_task): Call it before freeing
12925 GOMP_TARGET_TASK_DATA tasks.
12926
aec17bfe
JJ
12927 PR c/63326
12928 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
12929 in between case label and OpenMP standalone directives.
12930 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
12931
6cfe90e6
DE
129322015-11-26 David Edelsohn <dje.gcc@gmail.com>
12933
12934 * configure: Regenerate.
12935
0e65fd7d
JJ
129362015-11-26 Jakub Jelinek <jakub@redhat.com>
12937
12938 * testsuite/libgomp.c/target-35.c: New test.
12939
dc7a8b4b
JN
129402015-11-22 James Norris <jnorris@codesourcery.com>
12941 Cesar Philippidis <cesar@codesourcery.com>
12942
12943 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
12944 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
12945 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
12946 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
12947 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
12948
48a78aee
JJ
129492015-11-20 Jakub Jelinek <jakub@redhat.com>
12950
12951 PR middle-end/68221
12952 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
12953 * testsuite/libgomp.c/reduction-12.c: Likewise.
12954 * testsuite/libgomp.c++/reduction-11.C: Likewise.
12955 * testsuite/libgomp.c++/reduction-12.C: Likewise.
12956
2d256816
NS
129572015-11-19 Nathan Sidwell <nathan@codesourcery.com>
12958
12959 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
12960 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
12961 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
12962 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
12963 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
12964 and fix.
12965 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12966 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12967
33f47f42
NS
129682015-11-18 Nathan Sidwell <nathan@codesourcery.com>
12969
12970 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
12971 worker & gang cases.
12972 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
12973
3d7bfee0
CP
129742015-11-17 Cesar Philippidis <cesar@codesourcery.com>
12975
12976 * config/nvptx/priority_queue.c: New file.
12977
00b9bd52
JJ
129782015-11-14 Jakub Jelinek <jakub@redhat.com>
12979
12980 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
12981 sections.
12982
e4606348
JJ
129832015-11-14 Jakub Jelinek <jakub@redhat.com>
12984 Aldy Hernandez <aldyh@redhat.com>
12985 Ilya Verbin <ilya.verbin@intel.com>
12986
12987 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
12988 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
12989 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
12990 iterators or IV by chunk size.
12991 * parallel.c (gomp_resolve_num_threads): Don't assume that
12992 if thr->ts.team is non-NULL, then pool must be non-NULL.
12993 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
12994 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
12995 GOMP_PLUGIN_target_task_completion.
12996 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
12997 * Makefile.in: Regenerate.
12998 * libgomp.h: Shuffle prototypes and forward definitions around so
12999 priority queues can be defined.
13000 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
13001 (enum gomp_target_task_state): New enum.
13002 (struct gomp_target_task): Add state, tgt, task and team fields.
13003 (gomp_create_target_task): Change return type to bool, add
13004 state argument.
13005 (gomp_target_task_fn): Change return type to bool.
13006 (struct gomp_device_descr): Add async_run_func.
13007 (struct gomp_task): Remove children, next_child, prev_child,
13008 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
13009 Add pnode field.
13010 (struct gomp_taskgroup): Remove children.
13011 Add taskgroup_queue.
13012 (struct gomp_team): Change task_queue type to a priority queue.
13013 (splay_compare): Define inline.
13014 (priority_queue_offset): New.
13015 (priority_node_to_task): New.
13016 (task_to_priority_node): New.
13017 * oacc-mem.c: Do not include splay-tree.h.
13018 * priority_queue.c: New file.
13019 * priority_queue.h: New file.
13020 * splay-tree.c: Do not include splay-tree.h.
13021 (splay_tree_foreach_internal): New.
13022 (splay_tree_foreach): New.
13023 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
13024 (splay_tree_callback): Define typedef.
13025 * target.c (splay_compare): Move to libgomp.h.
13026 (GOMP_target): Don't adjust *thr in any way around running offloaded
13027 task.
13028 (GOMP_target_ext): Likewise. Handle target nowait.
13029 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
13030 return value from gomp_create_target_task, if false, fallthrough
13031 as if no dependencies exist.
13032 (gomp_target_task_fn): Change return type to bool, return true
13033 if the task should have another part scheduled later. Handle
13034 target nowait.
13035 (gomp_load_plugin_for_device): Initialize async_run.
13036 * task.c (gomp_init_task): Initialize children_queue.
13037 (gomp_clear_parent_in_list): New.
13038 (gomp_clear_parent_in_tree): New.
13039 (gomp_clear_parent): Handle priorities.
13040 (GOMP_task): Likewise.
13041 (priority_queue_move_task_first,
13042 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
13043 New functions.
13044 (gomp_create_target_task): Use priority queues. Change return type
13045 to bool, add state argument, return false if for async
13046 {{enter,exit} data,update} constructs no dependencies need to be
13047 waited for, handle target nowait. Set task->fn to NULL instead of
13048 gomp_target_task_fn.
13049 (verify_children_queue): Remove.
13050 (priority_list_upgrade_task): New.
13051 (priority_queue_upgrade_task): New.
13052 (verify_task_queue): Remove.
13053 (priority_list_downgrade_task): New.
13054 (priority_queue_downgrade_task): New.
13055 (gomp_task_run_pre): Use priority queues.
13056 Abstract code out to priority_queue_downgrade_task.
13057 (gomp_task_run_post_handle_dependers): Use priority queues.
13058 (gomp_task_run_post_remove_parent): Likewise.
13059 (gomp_task_run_post_remove_taskgroup): Likewise.
13060 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
13061 tasks specially.
13062 (GOMP_taskwait): Likewise.
13063 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
13064 priority-queue_upgrade_task.
13065 (GOMP_taskgroup_start): Use priority queues.
13066 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
13067 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
13068 barrier.
13069 * taskloop.c (GOMP_taskloop): Handle priorities.
13070 * team.c (gomp_new_team): Call priority_queue_init.
13071 (free_team): Call priority_queue_free.
13072 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
13073 team created for target nowait in implicit parallel region.
13074 (gomp_team_start): For nested check, test thr->ts.level instead of
13075 thr->ts.team != NULL.
13076 * testsuite/libgomp.c/doacross-3.c: New test.
13077 * testsuite/libgomp.c/ordered-5.c: New test.
13078 * testsuite/libgomp.c/priority.c: New test.
13079 * testsuite/libgomp.c/target-31.c: New test.
13080 * testsuite/libgomp.c/target-32.c: New test.
13081 * testsuite/libgomp.c/target-33.c: New test.
13082 * testsuite/libgomp.c/target-34.c: New test.
13083
1d1ab74f
NS
130842015-11-13 Nathan Sidwell <nathan@codesourcery.com>
13085
c5a64cfe
NS
13086 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
13087
1d1ab74f
NS
13088 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
13089 loop is sequential.
13090
dd3c1b14
NS
130912015-11-13 Nathan Sidwell <nathan@codesourcery.com>
13092
13093 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
13094 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
13095
6e232ba4
JN
130962015-11-12 James Norris <jnorris@codesourcery.com>
13097 Joseph Myers <joseph@codesourcery.com>
13098
13099 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
13100 * oacc-parallel.c (GOACC_declare): New function.
13101 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
13102 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
13103 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
13104 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
13105 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
13106
fffeedeb
NS
131072015-11-12 Nathan Sidwell <nathan@codesourcery.com>
13108
13109 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
13110
182190f2
NS
131112015-11-1 Nathan Sidwell <nathan@codesourcery.com>
13112
13113 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
13114 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
13115
36fa0f5f
NS
131162015-11-09 Nathan Sidwell <nathan@codesourcery.com>
13117
d350c40c
NS
13118 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
13119 inadvertent commit.
13120
131212015-11-09 Nathan Sidwell <nathan@codesourcery.com>
13122
36fa0f5f
NS
13123 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
13124 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
13125 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
13126 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
13127 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
13128
66a5f0b4
TS
131292015-11-06 Thomas Schwinge <thomas@codesourcery.com>
13130
13131 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
13132 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
13133
e01d41e5
JJ
131342015-11-05 Jakub Jelinek <jakub@redhat.com>
13135 Ilya Verbin <ilya.verbin@intel.com>
13136
13137 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
13138 GOMP_loop_nonmonotonic_dynamic_start,
13139 GOMP_loop_nonmonotonic_guided_next,
13140 GOMP_loop_nonmonotonic_guided_start,
13141 GOMP_loop_ull_nonmonotonic_dynamic_next,
13142 GOMP_loop_ull_nonmonotonic_dynamic_start,
13143 GOMP_loop_ull_nonmonotonic_guided_next,
13144 GOMP_loop_ull_nonmonotonic_guided_start,
13145 GOMP_parallel_loop_nonmonotonic_dynamic,
13146 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
13147 (GOMP_target_41): Renamed to ...
13148 (GOMP_target_ext): ... this. Add num_teams and thread_limit
13149 arguments.
13150 (GOMP_target_data_41): Renamed to ...
13151 (GOMP_target_data_ext): ... this.
13152 (GOMP_target_update_41): Renamed to ...
13153 (GOMP_target_update_ext): ... this.
13154 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
13155 GOMP_target_data_ext and GOMP_target_update_ext instead of
13156 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
13157 Export GOMP_loop_nonmonotonic_dynamic_next,
13158 GOMP_loop_nonmonotonic_dynamic_start,
13159 GOMP_loop_nonmonotonic_guided_next,
13160 GOMP_loop_nonmonotonic_guided_start,
13161 GOMP_loop_ull_nonmonotonic_dynamic_next,
13162 GOMP_loop_ull_nonmonotonic_dynamic_start,
13163 GOMP_loop_ull_nonmonotonic_guided_next,
13164 GOMP_loop_ull_nonmonotonic_guided_start,
13165 GOMP_parallel_loop_nonmonotonic_dynamic and
13166 GOMP_parallel_loop_nonmonotonic_guided.
13167 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
13168 GOMP_parallel_loop_nonmonotonic_guided,
13169 GOMP_loop_nonmonotonic_dynamic_start,
13170 GOMP_loop_nonmonotonic_guided_start,
13171 GOMP_loop_nonmonotonic_dynamic_next,
13172 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
13173 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
13174 GOMP_loop_ull_nonmonotonic_guided_start,
13175 GOMP_loop_ull_nonmonotonic_dynamic_next,
13176 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
13177 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
13178 functions.
13179 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
13180 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
13181 Use gomp_map_val function.
13182 (gomp_target_fallback_firstprivate): New static function.
13183 (GOMP_target_41): Renamed to ...
13184 (GOMP_target_ext): ... this. Add num_teams and thread_limit
13185 arguments. Move firstprivate fallback handling into a new
13186 function.
13187 (GOMP_target_data_41): Renamed to ...
13188 (GOMP_target_data_ext): ... this.
13189 (GOMP_target_update_41): Renamed to ...
13190 (GOMP_target_update_ext): ... this.
13191 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
13192 gomp_map_0len_lookup instead of gomp_map_lookup.
13193 (omp_target_is_present): Use gomp_map_0len_lookup instead of
13194 gomp_map_lookup.
13195 * testsuite/libgomp.c/target-28.c: Likewise.
13196 * testsuite/libgomp.c/monotonic-1.c: New test.
13197 * testsuite/libgomp.c/monotonic-2.c: New test.
13198 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
13199 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
13200 * testsuite/libgomp.c/pr66199-5.c: New test.
13201 * testsuite/libgomp.c/pr66199-6.c: New test.
13202 * testsuite/libgomp.c/pr66199-7.c: New test.
13203 * testsuite/libgomp.c/pr66199-8.c: New test.
13204 * testsuite/libgomp.c/pr66199-9.c: New test.
13205 * testsuite/libgomp.c/reduction-11.c: New test.
13206 * testsuite/libgomp.c/reduction-12.c: New test.
13207 * testsuite/libgomp.c/reduction-13.c: New test.
13208 * testsuite/libgomp.c/reduction-14.c: New test.
13209 * testsuite/libgomp.c/reduction-15.c: New test.
13210 * testsuite/libgomp.c/target-12.c (main): Adjust for
13211 omp_target_is_present change for one-past-last element.
13212 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
13213 the same var is both mapped and privatized.
13214 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
13215 handling of zero-length array sections.
13216 * testsuite/libgomp.c/target-28.c: New test.
13217 * testsuite/libgomp.c/target-29.c: New test.
13218 * testsuite/libgomp.c/target-30.c: New test.
13219 * testsuite/libgomp.c/target-teams-1.c: New test.
13220 * testsuite/libgomp.c++/member-6.C: New test.
13221 * testsuite/libgomp.c++/member-7.C: New test.
13222 * testsuite/libgomp.c++/monotonic-1.C: New test.
13223 * testsuite/libgomp.c++/monotonic-2.C: New test.
13224 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
13225 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
13226 * testsuite/libgomp.c++/pr66199-3.C: New test.
13227 * testsuite/libgomp.c++/pr66199-4.C: New test.
13228 * testsuite/libgomp.c++/pr66199-5.C: New test.
13229 * testsuite/libgomp.c++/pr66199-6.C: New test.
13230 * testsuite/libgomp.c++/pr66199-7.C: New test.
13231 * testsuite/libgomp.c++/pr66199-8.C: New test.
13232 * testsuite/libgomp.c++/pr66199-9.C: New test.
13233 * testsuite/libgomp.c++/reduction-11.C: New test.
13234 * testsuite/libgomp.c++/reduction-12.C: New test.
13235 * testsuite/libgomp.c++/target-13.C: New test.
13236 * testsuite/libgomp.c++/target-14.C: New test.
13237 * testsuite/libgomp.c++/target-15.C: New test.
13238 * testsuite/libgomp.c++/target-16.C: New test.
13239 * testsuite/libgomp.c++/target-17.C: New test.
13240 * testsuite/libgomp.c++/target-18.C: New test.
13241 * testsuite/libgomp.c++/target-19.C: New test.
13242
ccc8282b
NS
132432015-11-04 Nathan Sidwell <nathan@codesourcery.com>
13244
13245 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
13246 and reduction copy.
13247 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
13248 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
13249 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
13250 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13251 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
13252 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
13253 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
13254 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13255 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
13256 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
13257 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
13258 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
13259 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
13260 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
13261
5d6823a2
NS
132622015-11-04 Nathan Sidwell <nathan@codesourcery.com>
13263
13264 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
13265 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
13266 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
13267 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
13268 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
13269 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
13270 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
13271 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
13272
5c06742f
NS
132732015-11-03 Nathan Sidwell <nathan@codesourcery.com>
13274
13275 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
13276 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
13277 (GOMP_OFFLOAD_openacc_parallel): Likewise.
13278 * oacc-host.c (host_openacc_exec): Likewise.
13279 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
13280
4bf9e5a8
TS
132812015-11-03 Julian Brown <julian@codesourcery.com>
13282 Thomas Schwinge <thomas@codesourcery.com>
13283
13284 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
13285 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
13286 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
13287 Likewise.
13288 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
13289 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
13290
132912015-11-03 James Norris <jnorris@codesourcery.com>
13292
13293 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
13294 file.
13295 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
13296 Likewise.
13297 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
13298 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
13299 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
13300 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
13301 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
13302
a0e701d8
NS
133032015-10-29 Nathan Sidwell <nathan@codesourcery.com>
13304
13305 * openacc.h (enum acc_device_t): Reformat. Ensure layout
13306 compatibility.
13307 (enum acc_async_t): Reformat.
13308 (acc_on_device): Declare compatible with builtin and provide C++
13309 wrapper.
13310 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
13311
41e977ac
TS
133122015-10-29 Thomas Schwinge <thomas@codesourcery.com>
13313 Cesar Philippidis <cesar@codesourcery.com>
13314
13315 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
13316 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
13317 ... this. Add a description of the test at the top of the file.
13318 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
13319 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
13320 ... this. Add a description of the test at the top of the file.
13321
e3091406
NS
133222015-10-28 Nathan Sidwell <nathan@codesourcery.com>
13323
13324 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
13325 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
13326 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
13327 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
13328 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
13329 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
13330
a1c1908b
NS
133312015-10-27 Nathan Sidwell <nathan@codesourcery.com>
13332
13333 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
13334 dimensions.
13335
b3962a4a
TS
133362015-10-27 Thomas Schwinge <thomas@codesourcery.com>
13337
13338 PR testsuite/68063
13339 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
13340
88bae6f4
TS
133412015-10-27 James Norris <jnorris@codesourcery.com>
13342
13343 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
13344 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
13345
8baa7864
TS
133462015-10-26 Thomas Schwinge <thomas@codesourcery.com>
13347
bdeb752c
TS
13348 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
13349 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13350
ecd4fd43
TS
13351 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
13352 acc_device_nvidia usage.
13353 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
13354 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13355 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
13356
aa8b7d30
TS
13357 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
13358 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
13359
7c8f138d
TS
13360 PR libgomp/66518
13361 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
13362
8baa7864
TS
13363 PR libgomp/65437
13364 PR libgomp/66518
13365 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
13366 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
13367
88ebcde5
TV
133682015-10-23 Tom de Vries <tom@codesourcery.com>
13369
13370 PR testsuite/68063
13371 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
13372
9ef83c04
NS
133732015-10-20 Nathan Sidwell <nathan@codesourcery.com>
13374
13375 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
13376 vector_length.
13377 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
13378
3837c6d6
IV
133792015-10-14 Ilya Verbin <ilya.verbin@intel.com>
13380 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
13381
13382 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
13383 to 0 when mapnum is 0.
13384
ac8a1965
SH
133852015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
13386
13387 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
13388 Cast to int from int32_t.
13389
d9a6bd32
JJ
133902015-10-13 Jakub Jelinek <jakub@redhat.com>
13391 Aldy Hernandez <aldyh@redhat.com>
13392 Ilya Verbin <ilya.verbin@intel.com>
13393
13394 * config/linux/affinity.c (omp_get_place_num_procs,
13395 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13396 * config/linux/doacross.h: New file.
13397 * config/posix/affinity.c (omp_get_place_num_procs,
13398 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
13399 * config/posix/doacross.h: New file.
13400 * env.c: Include gomp-constants.h.
13401 (struct gomp_task_icv): Rename run_sched_modifier to
13402 run_sched_chunk_size.
13403 (gomp_max_task_priority_var): New variable.
13404 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
13405 (handle_omp_display_env): Change _OPENMP value from 201307 to
13406 201511. Print OMP_MAX_TASK_PRIORITY.
13407 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
13408 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
13409 chunk_size and run_sched_modifier to run_sched_chunk_size.
13410 (omp_get_max_task_priority, omp_get_initial_device,
13411 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
13412 omp_get_partition_place_nums): New functions.
13413 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
13414 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
13415 to chunk_size.
13416 (omp_get_num_places_, omp_get_place_num_procs_,
13417 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
13418 omp_get_place_proc_ids_8_, omp_get_place_num_,
13419 omp_get_partition_num_places_, omp_get_partition_place_nums_,
13420 omp_get_partition_place_nums_8_, omp_get_initial_device_,
13421 omp_get_max_task_priority_): New functions.
13422 * libgomp_g.h (GOMP_loop_doacross_static_start,
13423 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
13424 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
13425 GOMP_loop_ull_doacross_dynamic_start,
13426 GOMP_loop_ull_doacross_guided_start,
13427 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
13428 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
13429 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
13430 GOMP_target_data_41, GOMP_target_update_41,
13431 GOMP_target_enter_exit_data): New prototypes.
13432 (GOMP_task): Add prototype argument.
13433 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
13434 (struct gomp_doacross_work_share): New type.
13435 (struct gomp_work_share): Add doacross field.
13436 (struct gomp_task_icv): Rename run_sched_modifier to
13437 run_sched_chunk_size.
13438 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
13439 GOMP_TASK_UNDEFERRED. Add comments.
13440 (struct gomp_task_depend_entry): Add comments.
13441 (struct gomp_task): Likewise.
13442 (struct gomp_taskgroup): Likewise.
13443 (struct gomp_target_task): New type.
13444 (struct gomp_team): Add comment.
13445 (gomp_get_place_proc_ids_8, gomp_doacross_init,
13446 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
13447 gomp_create_target_task, gomp_target_task_fn): New prototypes.
13448 (struct target_var_desc): New type.
13449 (struct target_mem_desc): Adjust comment. Use struct
13450 target_var_desc instead of splay_tree_key for list.
13451 (REFCOUNT_INFINITY): Define.
13452 (struct splay_tree_key_s): Remove copy_from field.
13453 (struct gomp_device_descr): Add dev2dev_func field.
13454 (enum gomp_map_vars_kind): New enum.
13455 (gomp_map_vars): Add one argument.
13456 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
13457 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
13458 omp_get_place_num_procs, omp_get_place_num_procs_,
13459 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
13460 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
13461 omp_get_place_num_, omp_get_partition_num_places,
13462 omp_get_partition_num_places_, omp_get_partition_place_nums,
13463 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
13464 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
13465 omp_target_free, omp_target_is_present, omp_target_memcpy,
13466 omp_target_memcpy_rect, omp_target_associate_ptr and
13467 omp_target_disassociate_ptr.
13468 (GOMP_4.0.2): Renamed to ...
13469 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
13470 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
13471 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
13472 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
13473 GOMP_loop_doacross_static_start, GOMP_doacross_post,
13474 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
13475 GOMP_loop_ull_doacross_guided_start,
13476 GOMP_loop_ull_doacross_runtime_start,
13477 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
13478 GOMP_doacross_ull_wait.
13479 * libgomp.texi: Document omp_get_max_task_priority.
13480 Rename modifier argument to chunk_size for omp_set_schedule and
13481 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
13482 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
13483 to run_sched_chunk_size renaming.
13484 (GOMP_loop_ordered_runtime_start): Likewise.
13485 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
13486 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
13487 GOMP_parallel_loop_runtime_start): New functions.
13488 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
13489 to run_sched_chunk_size renaming.
13490 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
13491 GOMP_loop_doacross_guided_start): New functions or aliases.
13492 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
13493 run_sched_modifier to run_sched_chunk_size renaming.
13494 (GOMP_loop_ull_ordered_runtime_start): Likewise.
13495 (gomp_loop_ull_doacross_static_start,
13496 gomp_loop_ull_doacross_dynamic_start,
13497 gomp_loop_ull_doacross_guided_start,
13498 GOMP_loop_ull_doacross_runtime_start): New functions.
13499 (GOMP_loop_ull_doacross_static_start,
13500 GOMP_loop_ull_doacross_dynamic_start,
13501 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
13502 * oacc-mem.c (acc_map_data, present_create_copy,
13503 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
13504 to gomp_map_vars.
13505 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
13506 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
13507 instead of false to gomp_map_vars.
13508 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
13509 * omp.h.in (omp_lock_hint_t): New type.
13510 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13511 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13512 omp_get_place_num, omp_get_partition_num_places,
13513 omp_get_partition_place_nums, omp_get_initial_device,
13514 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
13515 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
13516 omp_target_associate_ptr, omp_target_disassociate_ptr): New
13517 prototypes.
13518 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
13519 (omp_lock_hint_none, omp_lock_hint_uncontended,
13520 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
13521 omp_lock_hint_speculative): New parameters.
13522 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13523 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13524 omp_get_place_num, omp_get_partition_num_places,
13525 omp_get_partition_place_nums, omp_get_initial_device,
13526 omp_get_max_task_priority): New interfaces.
13527 (omp_set_schedule, omp_get_schedule): Rename modifier argument
13528 to chunk_size.
13529 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
13530 (omp_lock_hint_none, omp_lock_hint_uncontended,
13531 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
13532 omp_lock_hint_speculative): New parameters.
13533 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
13534 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
13535 omp_get_place_num, omp_get_partition_num_places,
13536 omp_get_partition_place_nums, omp_get_initial_device,
13537 omp_get_max_task_priority): New functions and subroutines.
13538 * ordered.c: Include stdarg.h and string.h.
13539 (MAX_COLLAPSED_BITS): Define.
13540 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
13541 gomp_doacross_ull_init, GOMP_doacross_ull_post,
13542 GOMP_doacross_ull_wait): New functions.
13543 * target.c: Include errno.h.
13544 (resolve_device): If device is not initialized, call
13545 gomp_init_device on it.
13546 (gomp_map_lookup): New function.
13547 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
13548 Don't bump refcount if REFCOUNT_INFINITY. Handle
13549 GOMP_MAP_ALWAYS_TO_P.
13550 (get_kind): Rename is_openacc argument to short_mapkind.
13551 (gomp_map_pointer): Use gomp_map_lookup.
13552 (gomp_map_fields_existing): New function.
13553 (gomp_map_vars): Rename is_openacc argument to short_mapkind
13554 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
13555 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
13556 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
13557 Adjust for tgt->list changed type and copy_from living in there.
13558 (gomp_copy_from_async): Adjust for tgt->list changed type and
13559 copy_from living in there.
13560 (gomp_unmap_vars): Likewise.
13561 (gomp_update): Likewise. Rename is_openacc argument to
13562 short_mapkind. Don't fail if object is not mapped.
13563 (gomp_load_image_to_device): Initialize refcount to
13564 REFCOUNT_INFINITY.
13565 (gomp_target_fallback): New function.
13566 (gomp_get_target_fn_addr): Likewise.
13567 (GOMP_target): Adjust gomp_map_vars caller, use
13568 gomp_get_target_fn_addr and gomp_target_fallback.
13569 (GOMP_target_41): New function.
13570 (gomp_target_data_fallback): New function.
13571 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
13572 (GOMP_target_data_41): New function.
13573 (GOMP_target_update): Adjust gomp_update caller.
13574 (GOMP_target_update_41): New function.
13575 (gomp_exit_data, GOMP_target_enter_exit_data,
13576 gomp_target_task_fn, omp_target_alloc, omp_target_free,
13577 omp_target_is_present, omp_target_memcpy,
13578 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
13579 omp_target_associate_ptr, omp_target_disassociate_ptr,
13580 gomp_load_plugin_for_device): New functions.
13581 * task.c: Include gomp-constants.h. Include taskloop.c
13582 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
13583 (gomp_task_handle_depend): New function.
13584 (GOMP_task): Use it. Add priority argument. Use
13585 gomp-constant.h constants instead of hardcoded numbers.
13586 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
13587 (gomp_create_target_task): New function.
13588 (verify_children_queue, verify_taskgroup_queue,
13589 verify_task_queue): New functions.
13590 (gomp_task_run_pre): Call verify_*_queue functions.
13591 If an upcoming tied task is about to leave the sibling or
13592 taskgroup queues in an invalid state, adjust appropriately.
13593 Remove taskgroup argument. Add comments.
13594 (gomp_task_run_post_handle_dependers): Add comments.
13595 (gomp_task_run_post_remove_parent): Likewise.
13596 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
13597 (GOMP_taskwait): Likewise. Add comments.
13598 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
13599 problem such that the first non parent_depends_on task does not
13600 end up at the end of the children queue.
13601 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
13602 GOMP_TASK_UNDEFERRED.
13603 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
13604 * taskloop.c: New file.
13605 * testsuite/lib/libgomp.exp
13606 (check_effective_target_offload_device_nonshared_as): New proc.
13607 * testsuite/libgomp.c/affinity-2.c: New test.
13608 * testsuite/libgomp.c/doacross-1.c: New test.
13609 * testsuite/libgomp.c/doacross-2.c: New test.
13610 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
13611 Add map clause to target.
13612 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
13613 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
13614 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
13615 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
13616 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
13617 Likewise.
13618 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
13619 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
13620 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
13621 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
13622 not defined. Use those where needed.
13623 * testsuite/libgomp.c/for-4.c: New test.
13624 * testsuite/libgomp.c/for-5.c: New test.
13625 * testsuite/libgomp.c/for-6.c: New test.
13626 * testsuite/libgomp.c/linear-1.c: New test.
13627 * testsuite/libgomp.c/ordered-4.c: New test.
13628 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
13629 only allowed on the loop iterator.
13630 * testsuite/libgomp.c/pr66199-3.c: New test.
13631 * testsuite/libgomp.c/pr66199-4.c: New test.
13632 * testsuite/libgomp.c/reduction-7.c: New test.
13633 * testsuite/libgomp.c/reduction-8.c: New test.
13634 * testsuite/libgomp.c/reduction-9.c: New test.
13635 * testsuite/libgomp.c/reduction-10.c: New test.
13636 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
13637 map(tofrom:s).
13638 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
13639 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
13640 * testsuite/libgomp.c/target-11.c: New test.
13641 * testsuite/libgomp.c/target-12.c: New test.
13642 * testsuite/libgomp.c/target-13.c: New test.
13643 * testsuite/libgomp.c/target-14.c: New test.
13644 * testsuite/libgomp.c/target-15.c: New test.
13645 * testsuite/libgomp.c/target-16.c: New test.
13646 * testsuite/libgomp.c/target-17.c: New test.
13647 * testsuite/libgomp.c/target-18.c: New test.
13648 * testsuite/libgomp.c/target-19.c: New test.
13649 * testsuite/libgomp.c/target-20.c: New test.
13650 * testsuite/libgomp.c/target-21.c: New test.
13651 * testsuite/libgomp.c/target-22.c: New test.
13652 * testsuite/libgomp.c/target-23.c: New test.
13653 * testsuite/libgomp.c/target-24.c: New test.
13654 * testsuite/libgomp.c/target-25.c: New test.
13655 * testsuite/libgomp.c/target-26.c: New test.
13656 * testsuite/libgomp.c/target-27.c: New test.
13657 * testsuite/libgomp.c/taskloop-1.c: New test.
13658 * testsuite/libgomp.c/taskloop-2.c: New test.
13659 * testsuite/libgomp.c/taskloop-3.c: New test.
13660 * testsuite/libgomp.c/taskloop-4.c: New test.
13661 * testsuite/libgomp.c++/ctor-13.C: New test.
13662 * testsuite/libgomp.c++/doacross-1.C: New test.
13663 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
13664 Replace offload_device with offload_device_nonshared_as.
13665 * testsuite/libgomp.c++/for-12.C: New test.
13666 * testsuite/libgomp.c++/for-13.C: New test.
13667 * testsuite/libgomp.c++/for-14.C: New test.
13668 * testsuite/libgomp.c++/linear-1.C: New test.
13669 * testsuite/libgomp.c++/member-1.C: New test.
13670 * testsuite/libgomp.c++/member-2.C: New test.
13671 * testsuite/libgomp.c++/member-3.C: New test.
13672 * testsuite/libgomp.c++/member-4.C: New test.
13673 * testsuite/libgomp.c++/member-5.C: New test.
13674 * testsuite/libgomp.c++/ordered-1.C: New test.
13675 * testsuite/libgomp.c++/reduction-5.C: New test.
13676 * testsuite/libgomp.c++/reduction-6.C: New test.
13677 * testsuite/libgomp.c++/reduction-7.C: New test.
13678 * testsuite/libgomp.c++/reduction-8.C: New test.
13679 * testsuite/libgomp.c++/reduction-9.C: New test.
13680 * testsuite/libgomp.c++/reduction-10.C: New test.
13681 * testsuite/libgomp.c++/reference-1.C: New test.
13682 * testsuite/libgomp.c++/simd14.C: New test.
13683 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
13684 * testsuite/libgomp.c++/target-5.C: New test.
13685 * testsuite/libgomp.c++/target-6.C: New test.
13686 * testsuite/libgomp.c++/target-7.C: New test.
13687 * testsuite/libgomp.c++/target-8.C: New test.
13688 * testsuite/libgomp.c++/target-9.C: New test.
13689 * testsuite/libgomp.c++/target-10.C: New test.
13690 * testsuite/libgomp.c++/target-11.C: New test.
13691 * testsuite/libgomp.c++/target-12.C: New test.
13692 * testsuite/libgomp.c++/taskloop-1.C: New test.
13693 * testsuite/libgomp.c++/taskloop-2.C: New test.
13694 * testsuite/libgomp.c++/taskloop-3.C: New test.
13695 * testsuite/libgomp.c++/taskloop-4.C: New test.
13696 * testsuite/libgomp.c++/taskloop-5.C: New test.
13697 * testsuite/libgomp.c++/taskloop-6.C: New test.
13698 * testsuite/libgomp.c++/taskloop-7.C: New test.
13699 * testsuite/libgomp.c++/taskloop-8.C: New test.
13700 * testsuite/libgomp.c++/taskloop-9.C: New test.
13701 * testsuite/libgomp.fortran/affinity1.f90: New test.
13702 * testsuite/libgomp.fortran/affinity2.f90: New test.
13703
1f600fea
TV
137042015-10-13 Tom de Vries <tom@codesourcery.com>
13705
13706 PR tree-optimization/67476
13707 * testsuite/libgomp.c/autopar-3.c: New test.
13708 * testsuite/libgomp.c/autopar-4.c: New test.
13709 * testsuite/libgomp.c/autopar-5.c: New test.
13710 * testsuite/libgomp.c/autopar-6.c: New test.
13711 * testsuite/libgomp.c/autopar-7.c: New test.
13712 * testsuite/libgomp.c/autopar-8.c: New test.
13713
058a654b
JN
137142015-10-12 James Norris <jnorris@codesourcery.com>
13715
13716 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
13717 initializer.
13718
9e531d37
DM
137192015-10-09 David Malcolm <dmalcolm@redhat.com>
13720
13721 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
13722 using load_gcc_lib.
13723
113020dc
TS
137242015-10-02 Thomas Schwinge <thomas@codesourcery.com>
13725
13726 * oacc-ptx.h: Remove file, moving its content into...
13727 * config/nvptx/fortran.c: ... here...
13728 * config/nvptx/oacc-init.c: ..., here...
13729 * config/nvptx/oacc-parallel.c: ..., and here.
13730 * config/nvptx/openacc.f90: New file.
13731 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
13732 (link_ptx): Don't link in predefined bits of PTX code.
13733
cc3cd79b
NS
137342015-09-30 Nathan Sidwell <nathan@codesourcery.com>
13735 Bernd Schmidt <bernds@codesourcery.com>
13736
13737 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
13738 (struct targ_ptx_obj): New.
13739 (nvptx_tdata): Move earlier, change data format.
13740 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
13741 objects.
13742 (GOMP_OFFLOAD_load_image): Adjust.
13743
4e2a5450
TS
137442015-09-30 Thomas Schwinge <thomas@codesourcery.com>
13745
13746 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
13747 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
13748 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
13749 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
13750 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
13751 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
13752 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
13753 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
13754 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
13755 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
13756 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
13757 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
13758 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
13759 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
13760 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
13761 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
13762 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
13763 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
13764 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
13765 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
13766 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
13767 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
13768 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
13769 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
13770 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
13771 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
13772 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
13773 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
13774 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
13775 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
13776 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
13777 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
13778 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
13779 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
13780 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
13781 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
13782 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
13783 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
13784 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
13785 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
13786 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
13787 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
13788 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
13789 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
13790 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
13791 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
13792 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
13793 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
13794 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
13795 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
13796 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
13797 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
13798 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
13799 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
13800 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
13801 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
13802 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
13803 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
13804 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
13805 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
13806 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
13807 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
13808 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
13809
164453bb
NS
138102015-09-29 Nathan Sidwell <nathan@codesourcery.com>
13811
13812 * oacc-init.c (acc_on_device): Force optimization level.
13813
a12a0437
NS
138142015-09-29 Nathan Sidwell <nathan@codesourcery.com>
13815
13816 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
13817 (cuda_errlist): Delete.
13818 (cuda_error): Reimplement.
13819
3e32ee19
NS
138202015-09-28 Nathan Sidwell <nathan@codesourcery.com>
13821
13822 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
13823 array.
13824 * libgomp.map (GOACC_parallel_keyed): New.
13825 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
13826 all callers.
13827 (GOACC_parallel_keyed): New interface. Lose geometry arguments
13828 and take keyed varargs list. Adjust call to exec_func.
13829 (GOACC_parallel): Force host fallback.
13830 * libgomp_g.h (GOACC_parallel): Remove.
13831 (GOACC_parallel_keyed): Declare.
13832 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 13833 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
13834 (nvptx_exec): Lose separate geometry args, take array. Process
13835 dynamic dimensions and adjust.
13836 (struct nvptx_tdata): Replace fn_names field with fn_descs.
13837 (GOMP_OFFLOAD_load_image): Adjust for change in function table
13838 data.
13839 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
13840 passing.
13841 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
13842 passing.
13843
6bb4c3e2
CLT
138442015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
13845
13846 PR libgomp/67141
13847 * oacc-int.h (goacc_host_init): Add declaration.
13848 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
13849 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
13850
74032f47 138512015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 13852 Sebastian Pop <s.pop@samsung.com>
74032f47 13853
93d90219 13854 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
13855 match o/p.
13856 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
13857 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
13858 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
13859 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
13860 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
13861
97875f4a
JJ
138622015-09-03 Jakub Jelinek <jakub@redhat.com>
13863
13864 * configure.tgt: Add missing ;; in between nvptx and rtems
13865 snippets.
13866
06441dd5
SH
138672015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
13868
13869 * config/posix/pool.h (gomp_adjust_thread_attr): New.
13870 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
13871 (gomp_thread_pool_reservoir): Add priority member.
13872 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
13873 priority.
13874 (parse_thread_pools): Likewise.
13875 * team.c (gomp_team_start): Call configuration provided
13876 gomp_adjust_thread_attr(). Destroy thread attributes if
13877 necessary.
13878 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
13879
66c59f92
SH
138802015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
13881
13882 * config/posix/pool.h: New.
13883 * config/rtems/pool.h: Likewise.
13884 * config/rtems/proc.c: Likewise.
13885 * libgomp.h (gomp_thread_destructor): Declare.
13886 * team.c: Include configuration provided "pool.h".
13887 (gomp_get_thread_pool): Define in configuration.
13888 (gomp_team_end): Call configuration defined
13889 gomp_release_thread_pool().
13890
13c41b2e
SH
138912015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
13892
13893 * config/rtems/bar.c: New.
13894 * config/rtems/bar.h: Likewise.
13895 * config/rtems/mutex.c: Likewise.
13896 * config/rtems/mutex.h: Likewise.
13897 * config/rtems/sem.c: Likewise.
13898 * config/rtems/sem.h: Likewise.
13899 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
13900 <sys/lock.h> header file.
13901 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
13902 supported by Newlib.
13903 * configure: Regenerate.
13904
7892ec67
SH
139052015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
13906
13907 * team.c (gomp_new_thread_pool): Delete and move content to ...
13908 (gomp_get_thread_pool): ... new function. Allocate and
13909 initialize thread pool on demand.
13910 (get_last_team): Use gomp_get_thread_pool().
13911 (gomp_team_start): Delete thread pool initialization.
13912
1b96e9a4
TV
139132015-09-03 Tom de Vries <tom@codesourcery.com>
13914
13915 PR tree-optimization/65637
13916 * testsuite/libgomp.c/autopar-2.c: New test.
13917
3ff2d74e
TV
139182015-08-29 Tom de Vries <tom@codesourcery.com>
13919
13920 PR tree-optimization/46193
13921 * testsuite/libgomp.c/pr46193.c: New test.
13922
2a21ff19
NS
139232015-08-24 Nathan Sidwell <nathan@codesourcery.com>
13924
13925 libgomp/
13926 * libgomp.map: Add 4.0.2 version.
13927 * target.c (offload_image_descr): Add version field.
13928 (gomp_load_image_to_device): Add version argument. Adjust plugin
13929 call. Improve load mismatch diagnostic.
13930 (gomp_unload_image_from_device): Add version argument. Adjust plugin
13931 call.
13932 (GOMP_offload_regster): Make stub function, move bulk to ...
13933 (GOMP_offload_register_ver): ... here. Process version argument.
13934 (GOMP_offload_unregister): Make stub function, move bulk to ...
13935 (GOMP_offload_unregister_ver): ... here. Process version argument.
13936 (gomp_init_device): Process version field.
13937 (gomp_unload_device): Process version field.
13938 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
13939 macros. Check plugin version.
13940 * libgomp.h (gomp_device_descr): Add version function field. Adjust
13941 loader and unloader types.
13942 * oacc-host.c: Include gomp-constants.h.
13943 (host_version): New.
13944 (host_load_image, host_unload_image): Adjust.
13945 (host_dispatch): Add host_version.
13946 * plugin/plugin-nvptx.c: Include gomp-constants.h.
13947 (GOMP_OFFLOAD_version): New.
13948 (GOMP_OFFLOAD_load_image): Add version arg and check it.
13949 (GOMP_OFFLOAD_unload_image): Likewise.
13950 * plugin/plugin-host.c: Include gomp-constants.h.
13951 (GOMP_OFFLOAD_version): New.
13952 (GOMP_OFFLOAD_load_image): Add version arg.
13953 (GOMP_OFFLOAD_unload_image): Likewise.
13954
1358a747
TV
139552015-08-24 Tom de Vries <tom@codesourcery.com>
13956
13957 PR tree-optimization/65468
13958 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
13959
6be5c241
TV
139602015-08-24 Tom de Vries <tom@codesourcery.com>
13961
13962 PR tree-optimization/65468
13963 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
13964
bfe7ac89
JV
139652015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
13966
13967 PR libgomp/66761
13968 PR libgomp/67303
13969 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
13970 (gomp_iter_guided_next): Idem.
13971 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
13972 (gomp_iter_ull_guided_next): Idem.
13973 * config/linux/wait.h (do_spin): Idem.
13974
b97e78b7
TS
139752015-08-10 Thomas Schwinge <thomas@codesourcery.com>
13976
13977 * libgomp-plugin.h (enum offload_target_type): Remove
13978 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
13979 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
13980 * openacc.h (enum acc_device_t): Likewise.
13981 * openacc_lib.h: Likewise.
13982 * oacc-init.c (name_of_acc_device_t): Don't handle it.
13983 (acc_on_device): Just use __builtin_acc_on_device.
13984 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
13985 of acc_on_device builtin.
13986 * plugin/plugin-host.h: Remove file.
13987 * plugin/plugin-host.c: Likewise, but salvage some content into...
13988 * oacc-host.c: ... this file.
13989 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
13990 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
13991 * Makefile.in: Regenerate.
13992 * configure: Likewise.
13993 * testsuite/lib/libgomp.exp
13994 (check_effective_target_openacc_host_nonshm_selected): Remove.
13995 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
13996 ACC_DEVICE_TYPE=host_nonshm.
13997 * testsuite/libgomp.oacc-c/c.exp: Likewise.
13998 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
13999 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
14000 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
14001 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
14002 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
14003
44a7d18d
TS
140042015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14005 Jakub Jelinek <jakub@redhat.com>
14006
14007 * config/nvptx/affinity.c: New file.
14008 * config/nvptx/alloc.c: Likewise.
14009 * config/nvptx/bar.c: Likewise.
14010 * config/nvptx/barrier.c: Likewise.
14011 * config/nvptx/critical.c: Likewise.
14012 * config/nvptx/env.c: Likewise.
14013 * config/nvptx/error.c: Likewise.
14014 * config/nvptx/fortran.c: Likewise.
14015 * config/nvptx/iter.c: Likewise.
14016 * config/nvptx/iter_ull.c: Likewise.
14017 * config/nvptx/libgomp-plugin.c: Likewise.
14018 * config/nvptx/lock.c: Likewise.
14019 * config/nvptx/loop.c: Likewise.
14020 * config/nvptx/loop_ull.c: Likewise.
14021 * config/nvptx/mutex.c: Likewise.
14022 * config/nvptx/oacc-async.c: Likewise.
14023 * config/nvptx/oacc-cuda.c: Likewise.
14024 * config/nvptx/oacc-host.c: Likewise.
14025 * config/nvptx/oacc-init.c: Likewise.
14026 * config/nvptx/oacc-mem.c: Likewise.
14027 * config/nvptx/oacc-parallel.c: Likewise.
14028 * config/nvptx/oacc-plugin.c: Likewise.
14029 * config/nvptx/omp-lock.h: Likewise.
14030 * config/nvptx/ordered.c: Likewise.
14031 * config/nvptx/parallel.c: Likewise.
14032 * config/nvptx/proc.c: Likewise.
14033 * config/nvptx/ptrlock.c: Likewise.
14034 * config/nvptx/sections.c: Likewise.
14035 * config/nvptx/sem.c: Likewise.
14036 * config/nvptx/single.c: Likewise.
14037 * config/nvptx/splay-tree.c: Likewise.
14038 * config/nvptx/target.c: Likewise.
14039 * config/nvptx/task.c: Likewise.
14040 * config/nvptx/team.c: Likewise.
14041 * config/nvptx/time.c: Likewise.
14042 * config/nvptx/work.c: Likewise.
14043 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
14044 * configure: Regenerate.
14045 * configure.tgt (config_path): Set to "nvptx" for target
14046 nvptx*-*-*.
14047
96a2d174
TS
140482015-08-10 Thomas Schwinge <thomas@codesourcery.com>
14049
14050 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
14051
9ebddeb0
NS
140522015-08-03 Nathan Sidwell <nathan@codesourcery.com>
14053
14054 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
14055 (cuda_errlist): Constify.
14056 (errmsg): Move into ...
14057 (cuda_error): ... here. Make smaller.
14058 (_XSTR, _STR): Delete.
14059 (cuda_synames): Delete.
14060 (verify_device_library): Delete.
14061 (nvptx_init): Don't call it.
14062
12efb1d7
TV
140632015-07-28 Tom de Vries <tom@codesourcery.com>
14064
14065 * testsuite/libgomp.c/uns-outer-4.c: New test.
14066
710ee218
CP
140672015-07-24 Cesar Philippidis <cesar@codesourcery.com>
14068
14069 * testsuite/libgomp.c/pr66714.c: New test.
14070
27c4ac7d
MB
140712015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
14072
14073 PR libgomp/66950
14074 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
14075 (fib_ref): New function.
14076 (fib): Correct corner cases in the recursion.
14077 (main): Replace the non-simd loop with fib_ref call.
14078 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
14079 subroutine.
14080 (fibonacci): Lower the parameter N to 30. Correct accordingly check
14081 for the last array element value. Replace the non-simd loop with
14082 fib_ref call. Remove redundant b_ref array. Remove the comparison
14083 of the last array element with according Fibonacci sequence element.
14084 (fib): Correct corner cases in the recursion.
14085
22be2349
NS
140862015-07-21 Nathan Sidwell <nathan@codesourcery.com>
14087
14088 * target.c (gomp_offload_image_to_device): Rename to ...
14089 (gomp_load_image_to_device): ... here.
14090 (GOMP_offload_register): Adjust call.
14091 (gomp_init_device): Likewise.
14092 (gomp_unload_image_from_device): New. Broken out of ...
14093 (GOMP_offload_unregister): ... here. Call it.
14094 (gomp_unload_device): New.
14095 * libgomp.h (gomp_unload_device): Declare.
14096 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
14097 mem maps.
14098
f3e9a059
NS
140992015-07-20 Nathan Sidwell <nathan@codesourcery.com>
14100
a091118d
NS
14101 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
14102 wait=-specific if.
14103 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
14104 !=0 condition.
14105 (goacc_waits): Move !num_waits handling to ...
14106 (GOACC_wait): ... here, the only caller that might have zero waits.
14107
f3e9a059
NS
14108 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
14109 (struct ptx_image_data): Move earlier, add fns field.
14110 (struct ptx_device): Add images and image_lock fields.
14111 (ptx_images, ptx_image_lock): Delete.
14112 (nvptx_open_device): Initialize images and image_lock fields.
14113 (nvptx_close_device): Destroy image_lock.
14114 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
14115 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
14116 fields.
14117
afb2d80b
NS
141182015-07-17 Nathan Sidwell <nathan@codesourcery.com>
14119
896c28a7
NS
14120 * target.c (GOMP_offload_register): Use int for device type arg.
14121 (GOMP_offload_unregister): Likewise.
14122
ebe4a560
NS
14123 * target.c (struct_offload_image_descr): Constify host_table.
14124 (gomp_offload_image_to_device): Likewise.
14125 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
14126
afb2d80b
NS
14127 * libgomp.h (gomp_device_descr): Constify target data arguments.
14128 * target.c (struct offload_image_descr): Constify target_data.
14129 (gomp_offload_image_to_device): Likewise.
14130 (GOMP_offload_register): Likewise.
93d90219 14131 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
14132 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
14133 GOMP_OFFLOAD_unload_image): Constify target data.
14134 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
14135 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
14136
a4cb876d
NS
141372015-07-16 Nathan Sidwell <nathan@codesourcery.com>
14138
14139 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
14140 Workaround driver library const error.
14141 (struct nvptx_tdata, nvptx_tdata_t): New.
14142 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
14143 type.
14144
28ef6a27
MB
141452015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
14146
14147 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
14148 of EPS parameter from integer to real.
14149 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
14150 type of EPS parameter from integer to real.
14151
6dba0113
SH
141522015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
14153
14154 * team.c (get_last_team): New.
14155 (gomp_new_team): Recycle last non-nested team if possible.
14156 (gomp_team_end): Move team work share list free lock destruction
14157 to ...
14158 (free_team): ... here.
14159
4c1cb4da
MB
141602015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
14161
14162 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
14163 and ref from int to double. Replaced their comparison with
14164 an inequality of their difference and EPS.
14165 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
14166 comparison of pri and a reference number with an inequality of their
14167 difference and EPS.
14168 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
14169 the comparison of sum and sum_ref with an inequality of their
14170 difference and EPS.
14171 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
14172 the comparison of pri and a reference number with an inequality of
14173 their difference and EPS.
14174
343587dc
MB
141752015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
14176
14177 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
14178 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
14179 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
14180 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
14181 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
14182 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
14183 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
14184 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
14185 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
14186 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
14187 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
14188 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
14189 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
14190 variables.
14191 (vec_mult): Likewise. Add #pragma omp taskwait.
14192 (main): Adjust caller.
14193 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
14194 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
14195 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
14196 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
14197 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
14198 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
14199 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
14200 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
14201 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
14202 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
14203 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
14204 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
14205 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
14206 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
14207 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
14208 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
14209 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
14210 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
14211 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
14212 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
14213 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
14214 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
14215 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
14216 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
14217 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
14218 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
14219 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
14220 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
14221 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
14222 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
14223 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
14224 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
14225 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
14226 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
14227 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
14228 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
14229 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
14230 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
14231 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
14232 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
14233 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
14234 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
14235 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
14236 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
14237 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
14238 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
14239 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
14240 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
14241 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
14242 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
14243 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
14244 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
14245 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
14246 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
14247 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
14248 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
14249 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
14250 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
14251 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
14252 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
14253 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
14254 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
14255 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
14256 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
14257 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
14258 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
14259 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
14260 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
14261 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
14262 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
14263 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
14264 (vec_mult): Add !$omp taskwait.
14265 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
14266 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
14267 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
14268 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
14269 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
14270 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
14271 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
14272 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
14273 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
14274 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
14275 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
14276 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
14277 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
14278 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
14279 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
14280 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
14281 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
14282 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
14283 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
14284 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
14285 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
14286 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
14287 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
14288 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
14289 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
14290 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
14291 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
14292 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
14293 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
14294 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
14295 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
14296 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
14297 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
14298 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
14299 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
14300 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
14301 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
14302 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
14303 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
14304 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
14305 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
14306 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
14307 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
14308 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
14309 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
14310 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
14311 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
14312 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
14313 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
14314 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
14315 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
14316 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
14317 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
14318 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
14319 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
14320 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
14321 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
14322 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
14323 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
14324 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
14325 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
14326 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
14327 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
14328 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
14329 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
14330 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
14331 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
14332
9f620bf1
TV
143332015-07-10 Tom de Vries <tom@codesourcery.com>
14334
14335 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
14336 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
14337
a92defda
TS
143382015-07-08 Thomas Schwinge <thomas@codesourcery.com>
14339
14340 PR libgomp/65099
14341 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
14342 in a 64-bit configuration.
14343 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
14344 offloading testing if no such device is available.
14345 * testsuite/libgomp.oacc-c/c.exp: Likewise.
14346 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
14347
cadb53a5
TV
143482015-07-08 Tom de Vries <tom@codesourcery.com>
14349
14350 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
14351 second call to f.
14352 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14353
712cb0bb
TV
143542015-07-07 Tom de Vries <tom@codesourcery.com>
14355
14356 PR tree-optimization/66642
14357 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
14358 iteration count case.
14359 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
14360 function, factor out of ...
14361 (main): ... here. Test low iteration count case.
14362
e5210c77
SH
143632015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
14364
14365 * libgomp.h (gomp_thread_pool): Comment last_team field.
14366
f70360e7
UB
143672015-07-02 Uros Bizjak <ubizjak@gmail.com>
14368
14369 * testsuite/libgomp.c++/pr66702-1.C: Require
14370 vect_simd_clones effective target.
14371 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
14372
b451c271
TV
143732015-06-30 Tom de Vries <tom@codesourcery.com>
14374
14375 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14376 already set. Use DEFAULT_CFLAGS in dg-runtest.
14377 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
14378 "-O2".
14379
f8e89d9f
TV
143802015-06-30 Tom de Vries <tom@codesourcery.com>
14381
14382 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
14383 already set. Use DEFAULT_CFLAGS in dg-runtest.
14384 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
14385 * testsuite/libgomp.c++/pr64824.C: Same.
14386 * testsuite/libgomp.c++/pr64868.C: Same.
14387 * testsuite/libgomp.c++/pr66199-1.C: Same.
14388 * testsuite/libgomp.c++/pr66199-2.C: Same.
14389 * testsuite/libgomp.c++/target-2.C: Same.
14390 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
14391 -std=<standard> option.
14392 * testsuite/libgomp.c++/udr-11.C: Same.
14393 * testsuite/libgomp.c++/udr-12.C: Same.
14394 * testsuite/libgomp.c++/udr-13.C: Same.
14395 * testsuite/libgomp.c++/udr-14.C: Same.
14396 * testsuite/libgomp.c++/udr-15.C: Same.
14397 * testsuite/libgomp.c++/udr-16.C: Same.
14398 * testsuite/libgomp.c++/udr-17.C: Same.
14399 * testsuite/libgomp.c++/udr-18.C: Same.
14400 * testsuite/libgomp.c++/udr-19.C: Same.
14401 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
14402 * testsuite/libgomp.c++/simd-1.C: Same.
14403 * testsuite/libgomp.c++/simd-2.C: Same.
14404 * testsuite/libgomp.c++/simd-3.C: Same.
14405 * testsuite/libgomp.c++/simd-4.C: Same.
14406 * testsuite/libgomp.c++/simd-5.C: Same.
14407 * testsuite/libgomp.c++/simd-6.C: Same.
14408 * testsuite/libgomp.c++/simd-7.C: Same.
14409 * testsuite/libgomp.c++/simd-8.C: Same.
14410 * testsuite/libgomp.c++/simd-9.C: Same.
14411 * testsuite/libgomp.c++/simd10.C: Same.
14412 * testsuite/libgomp.c++/simd11.C: Same.
14413 * testsuite/libgomp.c++/simd12.C: Same.
14414 * testsuite/libgomp.c++/simd13.C: Same.
14415
3446fe48
JJ
144162015-06-30 Jakub Jelinek <jakub@redhat.com>
14417
14418 PR middle-end/66702
14419 * testsuite/libgomp.c++/pr66702-1.C: New test.
14420 * testsuite/libgomp.c++/pr66702-2.C: New test.
14421
8a36714a
TV
144222015-06-30 Tom de Vries <tom@codesourcery.com>
14423
14424 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
14425 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
14426 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
14427 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
14428
4f75d608
TV
144292015-06-30 Tom de Vries <tom@codesourcery.com>
14430
14431 PR tree-optimization/66652
14432 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
14433 using restrict pointers.
14434 (main): Add arguments to calls to f.
14435 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14436
6d9d1eeb
AT
144372015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
14438
14439 * configure.ac: Fix check for header <sys/sysctl.h>.
14440 * configure: Regenerate.
14441 * config.h.in: Likewise.
14442
1222f22b
TV
144432015-06-23 Tom de Vries <tom@codesourcery.com>
14444
14445 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
14446 abort.
14447 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
14448
d7efbbf6
TS
144492015-06-19 Thomas Schwinge <thomas@codesourcery.com>
14450
bfcd036f
TS
14451 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
14452 acc_device_nvidia.
14453
d7efbbf6
TS
14454 PR libgomp/66518
14455 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
14456 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14457
d7bfc710
TV
144582015-06-15 Tom de Vries <tom@codesourcery.com>
14459
14460 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
14461 dg-additional-options for any remaining options.
14462 * testsuite/libgomp.c/atomic-2.c: Same.
14463 * testsuite/libgomp.c/atomic-4.c: Same.
14464 * testsuite/libgomp.c/atomic-5.c: Same.
14465 * testsuite/libgomp.c/atomic-6.c: Same.
14466 * testsuite/libgomp.c/autopar-1.c: Same.
14467 * testsuite/libgomp.c/copyin-1.c: Same.
14468 * testsuite/libgomp.c/copyin-2.c: Same.
14469 * testsuite/libgomp.c/copyin-3.c: Same.
14470 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
14471 * testsuite/libgomp.c/nestedfn-5.c: Same.
14472 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
14473 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
14474 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
14475 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14476 * testsuite/libgomp.c/pr32362-1.c: Same.
14477 * testsuite/libgomp.c/pr32362-2.c: Same.
14478 * testsuite/libgomp.c/pr32362-3.c: Same.
14479 * testsuite/libgomp.c/pr39591-1.c: Same.
14480 * testsuite/libgomp.c/pr39591-2.c: Same.
14481 * testsuite/libgomp.c/pr39591-3.c: Same.
14482 * testsuite/libgomp.c/pr58392.c: Same.
14483 * testsuite/libgomp.c/pr58756.c: Same.
14484 * testsuite/libgomp.c/simd-1.c: Same.
14485 * testsuite/libgomp.c/simd-10.c: Same.
14486 * testsuite/libgomp.c/simd-11.c: Same.
14487 * testsuite/libgomp.c/simd-12.c: Same.
14488 * testsuite/libgomp.c/simd-13.c: Same.
14489 * testsuite/libgomp.c/simd-14.c: Same.
14490 * testsuite/libgomp.c/simd-15.c: Same.
14491 * testsuite/libgomp.c/simd-2.c: Same.
14492 * testsuite/libgomp.c/simd-3.c: Same.
14493 * testsuite/libgomp.c/simd-4.c: Same.
14494 * testsuite/libgomp.c/simd-5.c: Same.
14495 * testsuite/libgomp.c/simd-6.c: Same.
14496 * testsuite/libgomp.c/simd-7.c: Same.
14497 * testsuite/libgomp.c/simd-8.c: Same.
14498 * testsuite/libgomp.c/simd-9.c: Same.
14499
fb5b5352
TV
145002015-06-15 Tom de Vries <tom@codesourcery.com>
14501
14502 * testsuite/libgomp.c/pr35625.c: Fix typo.
14503
ca431bef
TV
145042015-06-15 Tom de Vries <tom@codesourcery.com>
14505
14506 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
14507 in dg-options.
14508 * testsuite/libgomp.c/atomic-3.c: Same.
14509 * testsuite/libgomp.c/debug-1.c: Same.
14510 * testsuite/libgomp.c/nqueens-1.c: Same.
14511 * testsuite/libgomp.c/pr26171.c: Same.
14512 * testsuite/libgomp.c/pr48591.c: Same.
14513 * testsuite/libgomp.c/pr64824.c: Same.
14514 * testsuite/libgomp.c/pr64868.c: Same.
14515 * testsuite/libgomp.c/pr66133.c: Same.
14516 * testsuite/libgomp.c/pr66199-1.c: Same.
14517 * testsuite/libgomp.c/pr66199-2.c: Same.
14518 * testsuite/libgomp.c/target-8.c: Same.
14519
0d8a9e20
TV
145202015-06-15 Tom de Vries <tom@codesourcery.com>
14521
14522 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
14523 -std={gnu99,c99}.
14524 * testsuite/libgomp.c/for-1.c: Same.
14525 * testsuite/libgomp.c/for-2.c: Same.
14526 * testsuite/libgomp.c/for-3.c: Same.
14527 * testsuite/libgomp.c/pr35625.c: Same.
14528 * testsuite/libgomp.c/pr39154.c: Same.
14529 * testsuite/libgomp.c/simd-16.c: Same.
14530 * testsuite/libgomp.c/simd-17.c: Same.
14531
a6860be9
TV
145322015-06-13 Tom de Vries <tom@codesourcery.com>
14533
14534 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
14535
ab3306d2
TV
145362015-06-13 Tom de Vries <tom@codesourcery.com>
14537
14538 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
14539 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
14540 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
14541 (N): Define.
14542 (main): Use N instead of hardcoded constants.
14543
7c82d827
TV
145442015-06-05 Tom de Vries <tom@codesourcery.com>
14545
14546 merge from gomp4 branch:
14547 2015-05-28 Tom de Vries <tom@codesourcery.com>
14548
14549 PR tree-optimization/65443
14550 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
14551 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
14552 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
14553
c469078d
BRF
145542015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14555
14556 * testsuite/libgomp.graphite/bounds.c: Adjust for
14557 cleanup-tree-dump removal.
14558 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
14559 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14560 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14561 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
14562 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14563 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14564 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14565 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14566 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14567 * testsuite/libgomp.graphite/pr41118.c: Likewise.
14568
bb3caa35
UB
145692015-05-28 Uros Bizjak <ubizjak@gmail.com>
14570
14571 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
14572 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
14573 (futex_wake) [!__x86_64__]: Ditto.
14574
9fb5fd44
JB
145752015-05-28 Julian Brown <julian@codesourcery.com>
14576
14577 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
14578 function comment. Only call gomp_fatal if new argument is true.
14579 (acc_dev_num_out_of_range): New function.
14580 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
14581 acc_dev_num_out_of_range as appropriate.
14582 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
14583 (acc_get_device_num, acc_set_device_num): Update calls to
14584 resolve_device.
9fb5fd44
JB
14585 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
14586 output.
14587
32eaed93
JB
145882015-05-28 Julian Brown <julian@codesourcery.com>
14589
14590 PR libgomp/65742
32eaed93
JB
14591 * oacc-init.c (plugin/plugin-host.h): Include.
14592 (acc_on_device): Check whether we're in an offloaded region for
14593 host_nonshm
14594 plugin. Don't use __builtin_acc_on_device.
14595 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
14596 nonshm_exec flag in thread-local data.
14597 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
14598 data for host_nonshm plugin.
14599 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
14600 for host_nonshm plugin.
14601 * plugin/plugin-host.h: New.
14602
ea023bcf
UB
146032015-05-27 Uros Bizjak <ubizjak@gmail.com>
14604
8ed501f1
UB
14605 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
14606
146072015-05-27 Uros Bizjak <ubizjak@gmail.com>
14608
14609 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
14610 Declare as int.
14611 (FUTEX_PRIVATE_FLAG): Remove L suffix.
14612 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
14613 Declare as int.
14614
146152015-05-27 Uros Bizjak <ubizjak@gmail.com>
14616
bb3caa35 14617 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 14618
1716efeb
CLT
146192015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
14620
14621 * target.c (gomp_map_pointer): New function abstracting out
14622 GOMP_MAP_POINTER handling.
14623 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
14624 gomp_map_pointer().
14625
41b37d5e
JJ
146262015-05-19 Jakub Jelinek <jakub@redhat.com>
14627
14628 PR middle-end/66199
14629 * testsuite/libgomp.c/pr66199-1.c: New test.
14630 * testsuite/libgomp.c/pr66199-2.c: New test.
14631 * testsuite/libgomp.c++/pr66199-1.C: New test.
14632 * testsuite/libgomp.c++/pr66199-2.C: New test.
14633 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
14634 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
14635
c8319826
JB
146362015-05-19 Julian Brown <julian@codesourcery.com>
14637
14638 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
14639 on cuInit failure.
14640
b37dddbc
JJ
146412015-05-13 Jakub Jelinek <jakub@redhat.com>
14642
14643 PR middle-end/66133
14644 * testsuite/libgomp.c/pr66133.c: New test.
14645
55fba601
MH
146462015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
14647
14648 * Makefile.in: Regenerated with automake-1.11.6.
14649 * aclocal.m4: Likewise.
14650 * config.h.in: Likewise.
14651 * configure: Likewise.
14652 * testsuite/Makefile.in: Likewise.
14653
1be0899d
JM
146542015-05-08 Jason Merrill <jason@redhat.com>
14655
14656 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
14657 _Complex.
14658
14659 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
14660
d2463960
JB
146612015-05-06 Julian Brown <julian@codesourcery.com>
14662
14663 * oacc-init.c (acc_device_lock): Add explanatory comment.
14664 (resolve_device): Add comment about locking requirement.
14665 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
14666 gomp_init_device and gomp_fini_device calls.
14667 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
14668 (acc_get_device_num, acc_set_device_num): Add locking around
14669 resolve_device and gomp_init_device calls.
14670
e38fdba4
JB
146712015-05-06 Julian Brown <julian@codesourcery.com>
14672
14673 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
14674 goacc_thread_lock on error paths.
14675 * oacc-mem.c (lookup_host): Remove locking from function. Note
14676 locking requirement for caller in function comment.
14677 (lookup_dev): Likewise.
14678 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
14679 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
14680 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
14681 Add locking.
14682
ae8ffbbb
TS
146832015-05-05 Thomas Schwinge <thomas@codesourcery.com>
14684
14685 PR testsuite/65205
14686 PR libgomp/65993
14687 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
14688 don't expect "0x" prefix for "%p" format specifier, don't expect
14689 "(nil)" for NULL pointer.
14690 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14691 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14692 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14693 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14694 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14695 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14696 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14697 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14698 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14699 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14700 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14701 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14702 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14703 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14704 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14705 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14706 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14707 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14708 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14709 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14710 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14711 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14712 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14713 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14714 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14715 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14716 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14717 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14718 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
14719 accurately specify what we're looking for.
14720 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
14721 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
14722 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
14723 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
14724 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
14725
1309f1d2
JN
147262015-04-30 James Norris <jnorris@codesourcery.com>
14727
14728 PR testsuite/65205
14729 * testsuite/lib/libgomp.exp
14730 (check_effective_target_openacc_host_selected)
14731 (check_effective_target_openacc_host_nonshm_selected): New
14732 procedures.
14733 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
14734 dg-shouldfail.
14735 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
14736 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
14737 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
14738 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
14739 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
14740 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
14741 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
14742 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
14743 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
14744 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
14745 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
14746 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
14747 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
14748 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
14749 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
14750 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
14751 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
14752 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
14753 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
14754 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
14755 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
14756 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
14757 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
14758 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
14759 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
14760 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
14761 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
14762 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
14763 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
14764 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
14765 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
14766 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
14767 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
14768 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
14769 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
14770 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
14771 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
14772 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
14773 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
14774 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
14775 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
14776 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
14777 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
14778
d93bdab5
JB
147792015-04-08 Julian Brown <julian@codesourcery.com>
14780
14781 * libgomp.h (target_mem_desc: Remove mem_map field.
14782 (acc_dispatch_t): Remove open_device_func, close_device_func,
14783 get_device_num_func, set_device_num_func, target_data members.
14784 Change create_thread_data_func argument to device number instead of
14785 generic pointer.
14786 * oacc-async.c (assert.h): Include.
14787 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
14788 (acc_wait_all, acc_wait_all_async): Use current host thread's
14789 active device, not base_dev.
14790 * oacc-cuda.c (acc_get_current_cuda_device)
14791 (acc_get_current_cuda_context, acc_get_cuda_stream)
14792 (acc_set_cuda_stream): Likewise.
14793 * oacc-host.c (host_dispatch): Don't set open_device_func,
14794 close_device_func, get_device_num_func or set_device_num_func.
14795 * oacc-init.c (base_dev, init_key): Remove.
14796 (cached_base_dev): New.
14797 (name_of_acc_device_t): New.
14798 (acc_init_1): Initialise default-numbered device, not zeroth.
14799 (acc_shutdown_1): Close all devices of a given type.
14800 (goacc_destroy_thread): Don't use base_dev.
14801 (lazy_open, lazy_init, lazy_init_and_open): Remove.
14802 (goacc_attach_host_thread_to_device): New.
14803 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
14804 (acc_get_num_devices): Don't use base_dev.
14805 (acc_set_device_type): Reimplement.
14806 (acc_get_device_type): Don't use base_dev.
14807 (acc_get_device_num): Tweak logic.
14808 (acc_set_device_num): Likewise.
14809 (acc_on_device): Use acc_get_device_type.
14810 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
14811 (goacc_lazy_initialize): Reimplement with acc_init and
14812 goacc_attach_host_thread_to_device.
14813 * oacc-int.h (goacc_thread): Add base_dev field.
14814 (base_dev): Remove extern declaration.
14815 (goacc_attach_host_thread_to_device): Add prototype.
14816 * oacc-mem.c (acc_malloc): Use current thread's device instead of
14817 base_dev.
14818 (acc_free): Likewise.
14819 (acc_memcpy_to_device): Likewise.
14820 (acc_memcpy_from_device): Likewise.
14821 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
14822 goacc_lazy_initialize (throughout).
14823 (GOACC_parallel): Use tgt_offset to locate target functions.
14824 * target.c (gomp_map_vars): Don't set tgt->mem_map.
14825 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
14826 (gomp_load_plugin_for_device): Remove open_device, close_device,
14827 get_device_num, set_device_num openacc hook initialisation. Don't set
14828 openacc.target_data.
14829 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
14830 (GOMP_OFFLOAD_openacc_close_device)
14831 (GOMP_OFFLOAD_openacc_get_device_num)
14832 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
14833 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
14834 to int.
14835 * plugin/plugin-nvptx.c (ptx_inited): Remove.
14836 (instantiated_devices, ptx_dev_lock): New.
14837 (struct ptx_image_data): New.
14838 (ptx_devices, ptx_images, ptx_image_lock): New.
14839 (fini_streams_for_device): Reorder cuStreamDestroy call.
14840 (nvptx_get_num_devices): Remove forward declaration.
14841 (nvptx_init): Change return type to bool.
14842 (nvptx_fini): Remove.
14843 (nvptx_attach_host_thread_to_device): New.
14844 (nvptx_open_device): Return struct ptx_device* instead of void*.
14845 (nvptx_close_device): Change argument type to struct ptx_device*,
14846 return type to void.
14847 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
14848 (kernel_target_data, kernel_host_table): Remove static globals.
14849 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
14850 (GOMP_OFFLOAD_init_device): Reimplement.
14851 (GOMP_OFFLOAD_fini_device): Likewise.
14852 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
14853 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
14854 (GOMP_OFFLOAD_host2dev): Use ORD argument.
14855 (GOMP_OFFLOAD_openacc_open_device)
14856 (GOMP_OFFLOAD_openacc_close_device)
14857 (GOMP_OFFLOAD_openacc_set_device_num)
14858 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
14859 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
14860 (device number).
14861
14862 testsuite/
14863 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
14864
a51df54e
IV
148652015-04-06 Ilya Verbin <ilya.verbin@intel.com>
14866
14867 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
14868 * libgomp.h (struct gomp_memory_mapping): Remove.
14869 (struct target_mem_desc): Change type of mem_map from
14870 gomp_memory_mapping * to splay_tree_s *.
14871 (struct gomp_device_descr): Remove register_image_func, get_table_func.
14872 Add load_image_func, unload_image_func.
14873 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
14874 Remove offload_regions_registered.
14875 (gomp_init_tables): Remove.
14876 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
14877 to splay_tree_s *.
14878 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
14879 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
14880 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
14881 offload_regions_registered.
14882 Initialize load_image_func, unload_image_func, mem_map.root.
14883 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
14884 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
14885 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
14886 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
14887 gomp_memory_mapping *. Use dev's lock and splay_tree.
14888 (lookup_dev): Use dev's lock.
14889 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
14890 (acc_is_present): Likewise.
14891 (acc_map_data): Likewise.
14892 (acc_unmap_data): Likewise. Use dev's lock.
14893 (present_create_copy): Likewise.
14894 (delete_copyout): Pass dev to lookup_host instead of mem_map.
14895 (update_dev_host): Likewise.
14896 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
14897 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
14898 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
14899 (GOMP_OFFLOAD_get_table): Remove
14900 (GOMP_OFFLOAD_load_image): New function.
14901 (GOMP_OFFLOAD_unload_image): New function.
14902 * target.c (register_lock): New mutex for offload image registration.
14903 (num_devices): Do not guard with PLUGIN_SUPPORT.
14904 (gomp_realloc_unlock): New static function.
14905 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
14906 before gomp_fatal.
14907 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
14908 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
14909 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
14910 mem_map's.
14911 (gomp_unmap_vars): Likewise.
14912 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
14913 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
14914 (gomp_offload_image_to_device): New static function.
14915 (GOMP_offload_register): Add mutex lock.
14916 Call gomp_offload_image_to_device for all initialized devices.
14917 Replace gomp_realloc with gomp_realloc_unlock.
14918 (GOMP_offload_unregister): New function.
14919 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
14920 get_table_func from the plugin with calls to init_device_func and
14921 gomp_offload_image_to_device.
14922 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
14923 to splay_tree_s *.
14924 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
14925 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
14926 (GOMP_target_data): Do not call gomp_init_tables.
14927 (GOMP_target_update): Likewise. Remove argument from gomp_update.
14928 (gomp_load_plugin_for_device): Replace register_image and get_table
14929 with load_image and unload_image in DLSYM ().
14930 (gomp_register_images_for_device): Remove function.
14931 (gomp_target_init): Do not initialize current_device.mem_map.*,
14932 current_device.offload_regions_registered.
14933 Remove call to gomp_register_images_for_device.
14934 Do not free offload_images and num_offload_images.
14935
6c384511
JJ
149362015-03-30 Jakub Jelinek <jakub@redhat.com>
14937
14938 PR fortran/65597
14939 * testsuite/libgomp.fortran/pr65597.f90: New test.
14940
3e8165a5
TV
149412015-03-27 Tom de Vries <tom@codesourcery.com>
14942
14943 PR testsuite/65594
14944 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
14945 (init, check): New function.
14946 (foo): Change return type to void.
14947 (main): Call init and check.
14948
4d688c9a
TV
149492015-03-27 Tom de Vries <tom@codesourcery.com>
14950
14951 PR testsuite/65594
14952 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
14953 (foo): Use M for non-inner loops to scale down test-case.
14954
01c0b3b0
KT
149552015-03-25 Kai Tietz <ktietz@redhat.com>
14956
14957 PR libgomp/64972
14958 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
14959 (GOACC_data_start): Likewise.
14960 * target.c (gomp_map_vars): Likewise.
14961
844d9a76
JDA
149622015-03-21 John David Anglin <danglin@gcc.gnu.org>
14963
14964 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
14965 hppa*-*-hpux*.
14966
9b65e171
JJ
149672015-03-19 Jakub Jelinek <jakub@redhat.com>
14968
14969 * testsuite/libgomp.c/target-10.c: New test.
14970 * testsuite/libgomp.c++/target-4.C: New test.
14971
db397e2e
IV
149722015-03-13 Ilya Verbin <ilya.verbin@intel.com>
14973
14974 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
14975 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
14976
cd93945d
SH
149772015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
14978
14979 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
14980 * configure.ac (*-*-rtems*): Assume Pthread is supported.
14981 (pthread.h): Check for this header file.
14982 * configure: Regenerate.
14983
05deba9f
TV
149842015-02-25 Tom de Vries <tom@codesourcery.com>
14985
14986 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
14987 (check_reduction_op, check_reduction_macro, max, min):
14988 Declare.
14989 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
14990 function.
14991 (main): Use new functions.
14992
196904d8
IT
149932015-02-18 Ilya Tocar <ilya.tocar@intel.com>
14994
14995 * target.c (gomp_load_plugin_for_device): Use const char * instead of
14996 char * for variables holding dlerror return values.
14997 (DLSYM_OPT): Ditto.
14998
a2818955
TS
149992015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15000
15001 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
15002
26f93312
TS
150032015-02-17 Thomas Schwinge <thomas@codesourcery.com>
15004 Cesar Philippidis <cesar@codesourcery.com>
15005
15006 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
15007 GOACC_ctaid, and GOACC_nctaid routines.
15008
fa01ffcc
JJ
150092015-02-11 Jakub Jelinek <jakub@redhat.com>
15010
15011 PR c/64824
15012 * testsuite/libgomp.c/atomic-18.c: New test.
15013 * testsuite/libgomp.c++/atomic-16.C: New test.
15014
4886ec8e
JJ
150152015-02-04 Jakub Jelinek <jakub@redhat.com>
15016
15017 PR c/64824
15018 PR c/64868
15019 * testsuite/libgomp.c/pr64824.c: New test.
15020 * testsuite/libgomp.c/pr64868.c: New test.
15021 * testsuite/libgomp.c++/pr64824.C: New test.
15022 * testsuite/libgomp.c++/pr64868.C: New test.
15023
02d3e45e
DE
150242015-02-01 David Edelsohn <dje.gcc@gmail.com>
15025
15026 PR libgomp/64635
15027 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
15028 Link with -lpthread.
15029 * config/aix/plugin-suffix.h: Delete.
15030
b5f7a6ca
JH
150312015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
15032
15033 PR libgomp/64635
15034 * configure.tgt (*-*-aix*): Use config_path "aix posix".
15035 (*-*-darwin*): Use config_path "bsd darwin posix".
15036 (*-*-hpux*): Use config_path "hpux posix".
15037 * target.c: Add include of plugin-suffix.h and use
15038 SONAME_SUFFIX macro.
15039 * config/aix/plugin-suffix.h: New file.
15040 * config/darwin/plugin-suffix.h: New file.
15041 * config/hpux/plugin-suffix.h: New file.
15042 * config/posix/plugin-suffix.h: New file.
15043
b8910447
JJ
150442015-01-23 Jakub Jelinek <jakub@redhat.com>
15045
15046 PR middle-end/64734
15047 * libgomp.c/pr64734.c: New test.
15048
a0c88d06
TV
150492015-01-23 Tom de Vries <tom@codesourcery.com>
15050
15051 PR libgomp/64672
15052 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
15053
1506ae0e
TV
150542015-01-23 Tom de Vries <tom@codesourcery.com>
15055
15056 PR libgomp/64707
15057 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
15058 dg-options.
15059
128b26dc
TS
150602015-01-19 Thomas Schwinge <thomas@codesourcery.com>
15061
bed62c21 15062 PR libgomp/64625
128b26dc
TS
15063 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
15064 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
15065 formal parameter. Update all users.
15066 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
15067 Document unused formal parameter.
15068
6e36114c
TS
150692015-01-16 Thomas Schwinge <thomas@codesourcery.com>
15070
15071 * oacc-parallel.c: Don't include <alloca.h>.
15072 (GOACC_parallel): Use gomp_alloca instead of alloca.
15073
973e9808
GP
150742015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
15075
15076 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
15077
41dbbb37
TS
150782015-01-15 Thomas Schwinge <thomas@codesourcery.com>
15079 James Norris <jnorris@codesourcery.com>
15080 Tom de Vries <tom@codesourcery.com>
15081 Julian Brown <julian@codesourcery.com>
15082 Cesar Philippidis <cesar@codesourcery.com>
15083 Nathan Sidwell <nathan@codesourcery.com>
15084 Tobias Burnus <burnus@net-b.de>
15085
15086 * Makefile.am (search_path): Add $(top_srcdir)/../include.
15087 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
15088 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
15089 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
15090 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
15091 Include $(top_srcdir)/plugin/Makefrag.am.
15092 (nodist_libsubinclude_HEADERS): Add openacc.h.
15093 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
15094 openacc.f90, openacc.mod, openacc_kinds.mod.
15095 (omp_lib.mod): Generalize into...
15096 (%.mod): ... this new rule.
15097 (openacc_kinds.mod, openacc.mod): New rules.
15098 * plugin/configfrag.ac: New file.
15099 * configure.ac: Move plugin/offloading support into it. Include
15100 it. Instantiate testsuite/libgomp-test-support.pt.exp.
15101 * plugin/Makefrag.am: New file.
15102 * testsuite/Makefile.am (OFFLOAD_TARGETS)
15103 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
15104 export.
15105 (libgomp-test-support.exp): New rule.
15106 (all-local): Depend on it.
15107 * Makefile.in: Regenerate.
15108 * testsuite/Makefile.in: Regenerate.
15109 * config.h.in: Likewise.
15110 * configure: Likewise.
15111 * configure.tgt: Harden shell syntax.
15112 * env.c: Include "oacc-int.h".
15113 (parse_acc_device_type): New function.
15114 (gomp_debug_var, goacc_device_type, goacc_device_num): New
15115 variables.
15116 (initialize_env): Initialize those. Call
15117 goacc_runtime_initialize.
15118 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
15119 (gomp_fatal): Call gomp_vfatal.
15120 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
15121 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
15122 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
15123 (splay_tree_node, splay_tree, splay_tree_key)
15124 (struct target_mem_desc, struct splay_tree_key_s)
15125 (struct gomp_memory_mapping, struct acc_dispatch_t)
15126 (struct gomp_device_descr, gomp_acc_insert_pointer)
15127 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
15128 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
15129 (gomp_free_memmap, gomp_fini_device): New declarations.
15130 (gomp_vdebug, gomp_debug): New macros.
15131 Include "splay-tree.h".
15132 * libgomp.map (OACC_2.0): New symbol version. Use for
15133 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
15134 acc_set_device_type_h_, acc_get_device_type,
15135 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
15136 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
15137 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
15138 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
15139 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
15140 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
15141 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
15142 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
15143 acc_copyin_array_h_, acc_present_or_copyin,
15144 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
15145 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
15146 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
15147 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
15148 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
15149 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
15150 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
15151 acc_update_device, acc_update_device_32_h_,
15152 acc_update_device_64_h_, acc_update_device_array_h_,
15153 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
15154 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
15155 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
15156 acc_is_present_64_h_, acc_is_present_array_h_,
15157 acc_memcpy_to_device, acc_memcpy_from_device,
15158 acc_get_current_cuda_device, acc_get_current_cuda_context,
15159 acc_get_cuda_stream, acc_set_cuda_stream.
15160 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
15161 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
15162 GOACC_update, GOACC_wait, GOACC_get_thread_num,
15163 GOACC_get_num_threads.
15164 (GOMP_PLUGIN_1.0): New symbol version. Use for
15165 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
15166 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
15167 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
15168 GOMP_PLUGIN_acc_thread.
15169 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
15170 environment variable.
15171 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
15172 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
15173 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
15174 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
15175 (splay_tree_remove): New declarations.
15176 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
15177 (splay_tree_remove, splay_tree_lookup): Move into...
15178 * splay-tree.c: ... this new file.
15179 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
15180 (splay_tree_node, splay_tree, splay_tree_key)
15181 (struct target_mem_desc, struct splay_tree_key_s)
15182 (struct gomp_device_descr): Don't declare.
15183 (num_devices_openmp): New variable.
15184 (gomp_get_num_devices ): Use it.
15185 (gomp_init_targets_once): New function.
15186 (gomp_get_num_devices ): Use it.
15187 (get_kind, gomp_copy_from_async, gomp_free_memmap)
15188 (gomp_fini_device, gomp_register_image_for_device): New functions.
15189 (gomp_map_vars): Add devaddrs parameter.
15190 (gomp_update): Add mm parameter.
15191 (gomp_init_device): Move most of it into...
15192 (gomp_init_tables): ... this new function.
15193 (gomp_register_images_for_device): Remove function.
15194 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
15195 Make them hidden instead of static.
15196 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
15197 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
15198 (GOMP_target_end_data, GOMP_target_update)
15199 (gomp_load_plugin_for_device, gomp_target_init): Update for
15200 OpenACC changes.
15201 * oacc-async.c: New file.
15202 * oacc-cuda.c: Likewise.
15203 * oacc-host.c: Likewise.
15204 * oacc-init.c: Likewise.
15205 * oacc-int.h: Likewise.
15206 * oacc-mem.c: Likewise.
15207 * oacc-parallel.c: Likewise.
15208 * oacc-plugin.c: Likewise.
15209 * oacc-plugin.h: Likewise.
15210 * oacc-ptx.h: Likewise.
15211 * openacc.f90: Likewise.
15212 * openacc.h: Likewise.
15213 * openacc_lib.h: Likewise.
15214 * plugin/plugin-host.c: Likewise.
15215 * plugin/plugin-nvptx.c: Likewise.
15216 * libgomp-plugin.c: Likewise.
15217 * libgomp-plugin.h: Likewise.
15218 * libgomp_target.h: Remove file after merging content into the
15219 former file. Update all users.
15220 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
15221 (offload_targets_s, offload_targets_s_openacc): New variables.
15222 (check_effective_target_openacc_nvidia_accel_present)
15223 (check_effective_target_openacc_nvidia_accel_selected): New
15224 procedures.
15225 (libgomp_init): Update for OpenACC changes.
15226 * testsuite/libgomp-test-support.exp.in: New file.
15227 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
15228 * testsuite/libgomp.oacc-c/c.exp: Likewise.
15229 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15230 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
15231 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
15232 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
15233 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
15234 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
15235 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
15236 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
15237 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
15238 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
15239 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
15240 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
15241 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
15242 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
15243 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
15244 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
15245 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
15246 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
15247 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
15248 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
15249 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
15250 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
15251 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
15252 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
15253 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
15254 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
15255 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
15256 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
15257 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
15258 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
15259 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
15260 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
15261 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
15262 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
15263 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
15264 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
15265 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
15266 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
15267 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
15268 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
15269 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
15270 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
15271 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
15272 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
15273 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
15274 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
15275 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
15276 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
15277 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
15278 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
15279 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
15280 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
15281 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
15282 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
15283 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
15284 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
15285 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
15286 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
15287 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
15288 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
15289 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
15290 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
15291 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
15292 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
15293 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
15294 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
15295 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
15296 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
15297 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
15298 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
15299 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
15300 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
15301 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
15302 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
15303 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
15304 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
15305 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
15306 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
15307 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
15308 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
15309 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
15310 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
15311 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
15312 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
15313 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
15314 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
15315 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
15316 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
15317 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
15318 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
15319 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
15320 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
15321 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
15322 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
15323 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
15324 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
15325 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
15326 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
15327 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
15328 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
15329 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
15330 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
15331 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
15332 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
15333 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
15334 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
15335 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
15336 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
15337 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
15338 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
15339 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
15340 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
15341 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
15342 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
15343 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
15344 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
15345 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
15346 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
15347 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
15348 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
15349 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
15350 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
15351 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
15352 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
15353 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
15354 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
15355 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
15356 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
15357 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
15358 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
15359 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
15360 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
15361 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
15362 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
15363 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
15364 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
15365 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
15366 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
15367 Likewise.
15368 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
15369 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
15370 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
15371 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
15372 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
15373 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
15374 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
15375 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
15376 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
15377 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
15378 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
15379 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
15380 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
15381 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
15382 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
15383 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
15384 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
15385 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
15386 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
15387 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
15388 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
15389 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
15390 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
15391 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
15392 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
15393 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
15394 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
15395 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
15396 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
15397 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
15398 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
15399 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
15400 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
15401 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
15402 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
15403 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
15404 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
15405 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
15406 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
15407 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
15408 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
15409 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
15410 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
15411 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
15412 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
15413 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
15414 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
15415 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
15416 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
15417 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
15418 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
15419 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
15420 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
15421 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
15422 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
15423 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
15424 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
15425 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
15426 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
15427 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
15428
f1f3453e
TS
154292015-01-10 Thomas Schwinge <thomas@codesourcery.com>
15430 Julian Brown <julian@codesourcery.com>
15431 David Malcolm <dmalcolm@redhat.com>
15432
15433 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
15434 to "GNU Offloading and Multi Processing Runtime Library". Change
15435 all users.
15436 * configure: Regenerate.
15437 * libgomp.texi: Update.
15438
f9a0eca4
TS
154392015-01-08 Thomas Schwinge <thomas@codesourcery.com>
15440
b335ef4e
TS
15441 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
15442 "$tgt_dir/lib32".
15443 * configure: Regenerate.
15444
f9a0eca4
TS
15445 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
15446 "intelmic" in $offload_targets.
15447
b67cd4e3
JJ
154482015-01-05 Jakub Jelinek <jakub@redhat.com>
15449
5624e564
JJ
15450 Update copyright years.
15451
b67cd4e3
JJ
15452 * libgomp.texi: Bump @copying's copyright year.
15453
3b41b583
KT
154542014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15455
15456 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 15457 Move load of target-supports.exp earlier.
3b41b583 15458
2354caec
IV
154592014-12-10 Ilya Verbin <ilya.verbin@intel.com>
15460
15461 * testsuite/libgomp.c/target-9.c: New test.
15462
f50eecba
VR
154632014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
15464
15465 * config.h.in: Regenerate.
15466 * configure: Regenerate.
15467 * configure.ac: Add GCC_CHECK_EMUTLS.
15468 * libgomp.h: Add check for USE_EMUTLS: this case
15469 is equal to HAVE_TLS.
15470 * team.c: Likewise.
15471
68bc9270
UB
154722014-12-03 Uros Bizjak <ubizjak@gmail.com>
15473
15474 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
15475
476ff787
AT
154762014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
15477 Ilya Verbin <ilya.verbin@intel.com>
15478
15479 * testsuite/libgomp.c/target-critical-1.c: New test.
15480
31a30e62
JJ
154812014-11-26 Jakub Jelinek <jakub@redhat.com>
15482
15483 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 15484 to dg-options unless expensive testing is on.
31a30e62
JJ
15485 (TESTITERS): Define to N if not defined.
15486 (main): Use TESTITERS instead of N.
15487 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
15488 dg-additional-options depending on whether expensive testing is on.
15489 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
15490 Decrease N to 100000 and CHUNKSZ to 10000.
15491
3f9e8f13
JJ
154922014-11-24 Jakub Jelinek <jakub@redhat.com>
15493
15494 PR fortran/63938
31a30e62
JJ
15495 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
15496 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 15497
c8451a46
SE
154982014-11-21 Steve Ellcey <sellcey@imgtec.com>
15499
15500 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
15501
a699d672
L
155022014-11-21 H.J. Lu <hongjiu.lu@intel.com>
15503
15504 PR bootstrap/63784
15505 * configure: Regenerated.
15506
4a19f719
UB
155072014-11-19 Uros Bizjak <ubizjak@gmail.com>
15508
15509 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
15510 vect_simd_clones effective target.
15511 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
15512
b1bf6c52
JJ
155132014-11-14 Jakub Jelinek <jakub@redhat.com>
15514
15515 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
15516 of 32 as block_size.
15517 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
15518 instead of 32 as block_size.
15519
d64ae614
AT
155202014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
15521 Ilya Verbin <ilya.verbin@intel.com>
15522
15523 * Makefile.in: Regenerate.
15524 * configure: Regenerate.
15525 * configure.ac: Set up offload_additional_options,
15526 offload_additional_lib_paths and offload_targets.
15527 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
15528 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
15529 * testsuite/Makefile.in: Regenerate.
15530 * testsuite/lib/libgomp.exp (libgomp_init): Append
15531 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
15532 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
15533 build directory to LD_LIBRARY_PATH for intelmic offload targets.
15534
122d7303
AT
155352014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
15536 Ilya Verbin <ilya.verbin@intel.com>
15537 Kirill Yukhin <kirill.yukhin@intel.com>
15538 Ilya Tocar <ilya.tocar@intel.com>
15539
15540 * testsuite/lib/libgomp.exp
15541 (check_effective_target_offload_device): New.
15542 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
15543 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
15544 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
15545 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
15546 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
15547 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
15548 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
15549 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
15550 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
15551 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
15552 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
15553 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
15554 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
15555 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
15556 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
15557 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
15558 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
15559 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
15560 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
15561 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
15562 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
15563 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
15564 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
15565 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
15566 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
15567 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
15568 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
15569 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
15570 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
15571 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
15572 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
15573 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
15574 * testsuite/libgomp.c/target-7.c: Fix test.
15575 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
15576 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
15577 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
15578 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
15579 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
15580 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
15581 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
15582 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
15583 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
15584 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
15585 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
15586 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
15587 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
15588 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
15589 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
15590 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
15591 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
15592 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
15593 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
15594 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
15595 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
15596 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
15597 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
15598 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
15599 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
15600 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
15601 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
15602 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
15603 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
15604 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
15605 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
15606
1df3f842
JJ
156072014-11-13 Jakub Jelinek <jakub@redhat.com>
15608 Ilya Verbin <ilya.verbin@intel.com>
15609 Thomas Schwinge <thomas@codesourcery.com>
15610 Andrey Turetskiy <andrey.turetskiy@intel.com>
15611
15612 * libgomp.map (GOMP_4.0.1): New symbol version.
15613 Add GOMP_offload_register.
15614 * libgomp_target.h: New file.
15615 * splay-tree.h: New file.
15616 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
15617 (gomp_target_init): New forward declaration.
15618 (gomp_is_initialized): New static variable.
15619 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
15620 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
15621 New structures.
15622 (offload_images, num_offload_images, devices, num_devices): New static
15623 variables.
15624 (splay_compare): New static function.
15625 (struct gomp_device_descr): New structure.
15626 (gomp_get_num_devices): Call gomp_target_init.
15627 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
15628 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
15629 (GOMP_offload_register): New function.
15630 (GOMP_target): Arrange for host callback to be performed in a separate
15631 initial thread and contention group, inheriting ICVs from
15632 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
15633 Add device initialization and lookup for target function in splay tree.
15634 (GOMP_target_data): Add device initialization and call gomp_map_vars.
15635 (GOMP_target_end_data): Call gomp_unmap_vars.
15636 (GOMP_target_update): Add device initialization and call gomp_update.
15637 (gomp_load_plugin_for_device, gomp_register_images_for_device)
15638 (gomp_target_init): New static functions.
15639
85c64bbe
BS
156402014-11-13 Bernd Schmidt <bernds@codesourcery.com>
15641 Thomas Schwinge <thomas@codesourcery.com>
15642 Ilya Verbin <ilya.verbin@intel.com>
15643 Andrey Turetskiy <andrey.turetskiy@intel.com>
15644
15645 * config.h.in: Regenerate.
15646 * configure: Regenerate.
15647 * configure.ac: Check for libdl, required for plugin support.
15648 (PLUGIN_SUPPORT): Define if plugins are supported.
15649 (enable_offload_targets): Support Intel MIC targets.
15650 (OFFLOAD_TARGETS): List of target names suitable for offloading.
15651
ebf6d33b
FXC
156522014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15653
15654 PR target/63610
15655 * configure: Regenerate.
15656
8c768629
RO
156572014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15658
15659 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
15660
c1d62412
MP
156612014-10-06 Marek Polacek <polacek@redhat.com>
15662
15663 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
15664 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
15665 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
15666 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
15667
44a0c6cb
MP
156682014-10-06 Marek Polacek <polacek@redhat.com>
15669
15670 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
15671 * testsuite/libgomp.c/nqueens-1.c: Likewise.
15672 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15673 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15674 * testsuite/libgomp.c/pr36802-2.c: Likewise.
15675 * testsuite/libgomp.c/pr36802-3.c: Likewise.
15676 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
15677 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
15678 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
15679 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
15680 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
15681 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
15682 * testsuite/libgomp.c/omp-single-1.c: Likewise.
15683 * testsuite/libgomp.c/omp-single-2.c: Likewise.
15684 * testsuite/libgomp.c/omp_matvec.c: Likewise.
15685 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
15686 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
15687 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
15688 declarations.
15689
5771c391
JJ
156902014-10-03 Jakub Jelinek <jakub@redhat.com>
15691
15692 PR libgomp/61200
15693 * testsuite/libgomp.c/pr61200.c: New test.
15694
bce16b88
JJ
156952014-09-18 Jakub Jelinek <jakub@redhat.com>
15696
15697 PR c++/63248
15698 * testsuite/libgomp.c++/pr63248.C: New test.
15699
3696163c
JJ
157002014-08-04 Jakub Jelinek <jakub@redhat.com>
15701
15702 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
15703 is not zero, but taskgroup->children is NULL and there are
15704 any task->children, schedule those instead of waiting.
15705 * testsuite/libgomp.c/depend-6.c: New test.
15706 * testsuite/libgomp.c/depend-7.c: New test.
15707 * testsuite/libgomp.c/depend-8.c: New test.
15708 * testsuite/libgomp.c/depend-9.c: New test.
15709 * testsuite/libgomp.c/depend-10.c: New test.
15710
0494285a
JJ
157112014-08-01 Jakub Jelinek <jakub@redhat.com>
15712
15713 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
15714 (struct gomp_taskwait): New type.
15715 (struct gomp_task): Add taskwait and parent_depends_on, remove
15716 in_taskwait and taskwait_sem fields.
15717 (gomp_finish_task): Don't destroy taskwait_sem.
15718 * task.c (gomp_init_task): Don't init in_taskwait, instead init
15719 taskwait and parent_depends_on.
15720 (GOMP_task): For if (0) tasks with depend clause that depend on
15721 earlier tasks don't defer them, instead call
15722 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
15723 Initialize redundant_out field, for redundant out entries just
15724 move them at the end of linked list instead of removing them
15725 completely, and set redundant_out flag instead of redundant.
15726 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
15727 that task.
15728 (gomp_task_run_post_handle_dependers): If parent is in
15729 gomp_task_maybe_wait_for_dependencies and newly runnable task
15730 is not parent_depends_on, queue it in parent->children linked
15731 list after all runnable tasks with parent_depends_on set.
15732 Adjust for addition of taskwait indirection.
15733 (gomp_task_run_post_remove_parent): If parent is in
15734 gomp_task_maybe_wait_for_dependencies and task to be removed
15735 is parent_depends_on, decrement n_depend and if needed awake
15736 parent. Adjust for addition of taskwait indirection.
15737 (GOMP_taskwait): Adjust for addition of taskwait indirection.
15738 (gomp_task_maybe_wait_for_dependencies): New function.
15739 * testsuite/libgomp.c/depend-5.c: New test.
15740
60ab4b44
TB
157412014-07-13 Tobias Burnus <burnus@net-b.de>
15742
15743 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 15744 with TS 18508/Fortran 2015.
60ab4b44 15745
773ec47f
MP
157462014-07-06 Marek Polacek <polacek@redhat.com>
15747
15748 PR c/6940
15749 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
15750
f707da16
JJ
157512014-07-03 Jakub Jelinek <jakub@redhat.com>
15752
15753 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
15754 matches regex $lang_source_re, add $lang_include_flags to options.
15755 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
15756 * testsuite/libgomp.c++/c++.exp: Likewise.
15757 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
15758 and lang_include_flags instead of adding -fintrinsic-modules-path= to
15759 ALWAYS_CFLAGS.
15760 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
15761
07b6c044
TS
157622014-07-03 Thomas Schwinge <thomas@codesourcery.com>
15763
15764 * testsuite/libgomp.fortran/fortran.exp: Explain
15765 gfortran-dg-runtest usage.
15766
da6f124d
JJ
157672014-06-25 Jakub Jelinek <jakub@redhat.com>
15768
15769 * testsuite/libgomp.fortran/simd5.f90: New test.
15770 * testsuite/libgomp.fortran/simd6.f90: New test.
15771 * testsuite/libgomp.fortran/simd7.f90: New test.
15772
b46ebd6c
JJ
157732014-06-24 Jakub Jelinek <jakub@redhat.com>
15774
56ad0e38
JJ
15775 * testsuite/libgomp.c/for-2.c: Define SC to static for
15776 #pragma omp for simd testing.
15777 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
15778 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
15779 SC macro.
15780 * testsuite/libgomp.c/simd-14.c: New test.
15781 * testsuite/libgomp.c/simd-15.c: New test.
15782 * testsuite/libgomp.c/simd-16.c: New test.
15783 * testsuite/libgomp.c/simd-17.c: New test.
15784 * testsuite/libgomp.c++/for-10.C: Define SC to static for
15785 #pragma omp for simd testing.
15786 * testsuite/libgomp.c++/simd10.C: New test.
15787 * testsuite/libgomp.c++/simd11.C: New test.
15788 * testsuite/libgomp.c++/simd12.C: New test.
15789 * testsuite/libgomp.c++/simd13.C: New test.
15790
b46ebd6c
JJ
15791 * testsuite/libgomp.fortran/aligned1.f03: New test.
15792 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
15793 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
15794 tasks with !$omp parallel !$omp single.
15795 * testsuite/libgomp.fortran/target8.f90: New test.
15796 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
15797 not to use trim in the combiner, instead call elemental function.
15798 (fn): New elemental function.
15799 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
15800 Make elemental.
15801 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
15802 omp_in): Likewise.
15803 * testsuite/libgomp.fortran/udr12.f90: New test.
15804 * testsuite/libgomp.fortran/udr13.f90: New test.
15805 * testsuite/libgomp.fortran/udr14.f90: New test.
15806 * testsuite/libgomp.fortran/udr15.f90: New test.
15807
f014c653
JJ
158082014-06-18 Jakub Jelinek <jakub@redhat.com>
15809
15810 * omp_lib.f90.in (openmp_version): Set to 201307.
15811 * omp_lib.h.in (openmp_version): Likewise.
15812 * testsuite/libgomp.c/target-8.c: New test.
15813 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
15814 and inbranch clauses.
15815 * testsuite/libgomp.fortran/depend-3.f90: New test.
15816 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
15817 openmp_version.
15818 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
15819 * testsuite/libgomp.fortran/target1.f90: New test.
15820 * testsuite/libgomp.fortran/target2.f90: New test.
15821 * testsuite/libgomp.fortran/target3.f90: New test.
15822 * testsuite/libgomp.fortran/target4.f90: New test.
15823 * testsuite/libgomp.fortran/target5.f90: New test.
15824 * testsuite/libgomp.fortran/target6.f90: New test.
15825 * testsuite/libgomp.fortran/target7.f90: New test.
15826
92d28cbb
JJ
158272014-06-10 Jakub Jelinek <jakub@redhat.com>
15828
15829 PR fortran/60928
15830 * testsuite/libgomp.fortran/allocatable9.f90: New test.
15831 * testsuite/libgomp.fortran/allocatable10.f90: New test.
15832 * testsuite/libgomp.fortran/allocatable11.f90: New test.
15833 * testsuite/libgomp.fortran/allocatable12.f90: New test.
15834 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
15835 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
15836 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
15837 * testsuite/libgomp.fortran/associate1.f90: New test.
15838 * testsuite/libgomp.fortran/associate2.f90: New test.
15839 * testsuite/libgomp.fortran/procptr1.f90: New test.
15840
5f23671d
JJ
158412014-06-06 Jakub Jelinek <jakub@redhat.com>
15842
15843 * testsuite/libgomp.fortran/simd1.f90: New test.
15844 * testsuite/libgomp.fortran/udr1.f90: New test.
15845 * testsuite/libgomp.fortran/udr2.f90: New test.
15846 * testsuite/libgomp.fortran/udr3.f90: New test.
15847 * testsuite/libgomp.fortran/udr4.f90: New test.
15848 * testsuite/libgomp.fortran/udr5.f90: New test.
15849 * testsuite/libgomp.fortran/udr6.f90: New test.
15850 * testsuite/libgomp.fortran/udr7.f90: New test.
15851 * testsuite/libgomp.fortran/udr8.f90: New test.
15852 * testsuite/libgomp.fortran/udr9.f90: New test.
15853 * testsuite/libgomp.fortran/udr10.f90: New test.
15854 * testsuite/libgomp.fortran/udr11.f90: New test.
15855
0389fbb5
UB
158562014-05-27 Uros Bizjak <ubizjak@gmail.com>
15857
15858 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
15859 vect_simd_clones effective target.
15860 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
15861
decaaec8
JJ
158622014-05-21 Jakub Jelinek <jakub@redhat.com>
15863
15864 PR middle-end/61252
15865 * testsuite/libgomp.c++/simd-9.C: New test.
15866
72832460
UB
158672014-05-18 Uros Bizjak <ubizjak@gmail.com>
15868
15869 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
15870 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
15871 texts according to their @menu entry positions.
15872
dd2fc525
JJ
158732014-05-11 Jakub Jelinek <jakub@redhat.com>
15874
15875 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
15876 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
15877 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
15878 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
15879 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
15880 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
15881 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
15882 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
15883 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
15884 * testsuite/libgomp.fortran/depend-1.f90: New test.
15885 * testsuite/libgomp.fortran/depend-2.f90: New test.
15886 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
15887 * testsuite/libgomp.fortran/simd1.f90: New test.
15888 * testsuite/libgomp.fortran/simd2.f90: New test.
15889 * testsuite/libgomp.fortran/simd3.f90: New test.
15890 * testsuite/libgomp.fortran/simd4.f90: New test.
15891 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
15892
95782571
JJ
158932014-05-02 Jakub Jelinek <jakub@redhat.com>
15894
15895 * testsuite/libgomp.c/simd-10.c: New test.
15896 * testsuite/libgomp.c/simd-11.c: New test.
15897 * testsuite/libgomp.c/simd-12.c: New test.
15898 * testsuite/libgomp.c/simd-13.c: New test.
15899
f7468577
JJ
159002014-04-24 Jakub Jelinek <jakub@redhat.com>
15901
42056eac
JJ
15902 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
15903 atomic type clauses in any order and optional comma in between.
15904 * testsuite/libgomp.c++/atomic-15.C: Likewise.
15905 * testsuite/libgomp.c/atomic-17.c: Likewise.
15906
f7468577
JJ
15907 * testsuite/libgomp.c/simd-7.c: New test.
15908 * testsuite/libgomp.c/simd-8.c: New test.
15909 * testsuite/libgomp.c/simd-9.c: New test.
15910 * testsuite/libgomp.c/loop-16.c: New test.
15911
ab18f2f5
RH
159122014-04-02 Richard Henderson <rth@redhat.com>
15913
15914 * config/linux/futex.h (futex_wait): Get error value from errno.
15915 (futex_wake): Likewise.
15916
8bcc90b0
JJ
159172014-03-25 Jakub Jelinek <jakub@redhat.com>
15918
15919 PR c++/60331
15920 * testsuite/libgomp.c++/udr-11.C: New test.
15921 * testsuite/libgomp.c++/udr-12.C: New test.
15922 * testsuite/libgomp.c++/udr-13.C: New test.
15923 * testsuite/libgomp.c++/udr-14.C: New test.
15924 * testsuite/libgomp.c++/udr-15.C: New test.
15925 * testsuite/libgomp.c++/udr-16.C: New test.
15926 * testsuite/libgomp.c++/udr-17.C: New test.
15927 * testsuite/libgomp.c++/udr-18.C: New test.
15928 * testsuite/libgomp.c++/udr-19.C: New test.
15929
18d73c7f
RS
159302014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
15931
15932 Update copyright years
15933
f9030485
RS
159342014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
15935
15936 * hashtab.h: Use the standard form for the copyright notice.
15937
98db73df
TB
159382014-01-02 Tobias Burnus <burnus@net-b.de>
15939
15940 * libgomp.texi: Bump @copying's copyright year.
15941
ae246f7f
AT
159422013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
15943
93d90219 15944 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
15945 alloca () with __builtin_alloca ().
15946 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
15947 * testsuite/libgomp.c/lock-3.c: Likewise.
15948 * testsuite/libgomp.c/pr48591.c: Likewise.
15949
fa00a5fe
JJ
159502013-12-17 Jakub Jelinek <jakub@redhat.com>
15951
15952 PR testsuite/59534
15953 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
15954 comparisons.
15955
e9792e1d
JJ
159562013-12-16 Jakub Jelinek <jakub@redhat.com>
15957
15958 PR libgomp/58756
15959 * testsuite/libgomp.c/pr58756.c: New test.
15960
cab37c89
JJ
159612013-12-12 Jakub Jelinek <jakub@redhat.com>
15962
15963 PR libgomp/59467
15964 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
15965 !$omp parallel.
15966
de14871c
TS
159672013-11-07 Thomas Schwinge <thomas@codesourcery.com>
15968
1707a5de
TS
15969 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
15970 ALWAYS_CFLAGS.
15971 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
15972 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
15973 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
15974 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
15975 Likewise.
15976
70f05c43
TS
15977 * libgomp_g.h: Include <stddef.h> for size_t.
15978
de14871c
TS
15979 * libgomp.spec.in: Update comment about libgomp's dependencies.
15980 * configure.ac: Likewise.
15981 * configure: Regenerate.
15982
83fd6c5b
TB
159832013-10-16 Tobias Burnus <burnus@net-b.de>
15984
15985 * libgomp.texi: (Runtime Library Routines): Update references for
15986 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
15987 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
15988 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
15989 (Environment Variables): Update references for OpenMP 4.0. Add
15990 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
15991 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
15992 order.
15993
c8673881
JJ
159942013-10-14 Jakub Jelinek <jakub@redhat.com>
15995
15996 * env.c (parse_bind_var): Initialize value to avoid
15997 (false positive) warning.
15998
f89163fd
JJ
159992013-10-12 Jakub Jelinek <jakub@redhat.com>
16000
16001 PR libgomp/58691
16002 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
16003 to check variable.
16004 (gomp_init_num_threads): Move i variable declaration into
16005 #ifdef CPU_ALLOC_SIZE block.
16006 * config/linux/affinity.c (gomp_affinity_init_level): Test
16007 gomp_places_list_len == 0 rather than gomp_places_list == 0
16008 when checking for topology reading error.
16009 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
16010 * env.c (parse_affinity): Add ignore argument, if true, don't populate
16011 gomp_places_list, only parse env var and always return false.
16012 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
16013 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
16014 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
16015 and either of these variables were parsed correctly into a places
16016 list.
16017
1d340638
TS
160182013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16019 Jakub Jelinek <jakub@redhat.com>
16020
16021 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
16022 of 5 loopfn matches.
16023 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16024 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16025 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
16026 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16027 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16028 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16029 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16030 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16031
71a81c21
TS
160322013-10-11 Thomas Schwinge <thomas@codesourcery.com>
16033
bd87f731
TS
16034 * Makefile.am (omp_lib.mod): Streamline rule.
16035 * Makefile.in: Regenerate.
16036
f5745bed
TS
16037 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
16038 exceptions.
16039
b5512c66
TS
16040 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
16041 * testsuite/libgomp.fortran/lib1.f90: Likewise.
16042 * testsuite/libgomp.fortran/lib2.f: Likewise.
16043 * testsuite/libgomp.fortran/lib3.f: Likewise.
16044
451c19c4
TS
16045 * configure.ac: Typo fix.
16046 * configure: Regenerate.
16047
86a6016d
TS
16048 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
16049 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
16050
71a81c21
TS
16051 * omp.h.in: Don't touch the user's namespace.
16052
acf0174b
JJ
160532013-10-11 Jakub Jelinek <jakub@redhat.com>
16054 Tobias Burnus <burnus@net-b.de>
16055 Richard Henderson <rth@redhat.com>
16056
16057 * target.c: New file.
16058 * Makefile.am (libgomp_la_SOURCES): Add target.c.
16059 * Makefile.in: Regenerated.
16060 * libgomp_g.h (GOMP_task): Add depend argument.
16061 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
16062 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
16063 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
16064 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16065 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16066 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
16067 GOMP_taskgroup_start, GOMP_taskgroup_end,
16068 GOMP_parallel_sections): New prototypes.
16069 * fortran.c (omp_is_initial_device): Add ialias_redirect.
16070 (omp_is_initial_device_): New function.
16071 (ULP, STR1, STR2, ialias_redirect): Removed.
16072 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
16073 omp_set_default_device_8_, omp_get_default_device_,
16074 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
16075 functions.
16076 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
16077 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
16078 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
16079 @@GOMP_4.0.
16080 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
16081 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
16082 omp_set_default_device, omp_set_default_device_,
16083 omp_set_default_device_8_, omp_get_default_device,
16084 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
16085 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
16086 omp_get_team_num_): Export @@OMP_4.0.
16087 * team.c (struct gomp_thread_start_data): Add place field.
16088 (gomp_thread_start): Clear thr->thread_pool and
16089 thr->task before returning. Use gomp_team_barrier_wait_final
16090 instead of gomp_team_barrier_wait. Initialize thr->place.
16091 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
16092 team_cancelled and task_queued_count fields.
16093 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
16094 before calling pthread_exit.
16095 (gomp_free_thread): No longer static. Use
16096 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
16097 (gomp_team_start): Add flags argument. Set
16098 thr->thread_pool->threads_busy to nthreads immediately after creating
16099 new pool. Use gomp_managed_threads_lock instead of
16100 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
16101 (gomp_team_end): Use gomp_managed_threads_lock instead of
16102 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
16103 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 16104 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
16105 rather than thr->ts.work_share.
16106 (initialize_team): Don't call gomp_sem_init here.
16107 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
16108 caller.
16109 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
16110 * env.c (gomp_global_icv): Add default_device_var, target_data and
16111 bind_var initializers.
16112 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
16113 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
16114 gomp_places_list_len): New variables.
16115 (parse_bind_var, parse_one_place, parse_places_var): New functions.
16116 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
16117 sized places.
16118 (gomp_cancel_var): New global variable.
16119 (parse_int): New function.
16120 (handle_omp_display_env): New function.
16121 (initialize_env): Use it. Initialize default_device_var.
16122 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
16123 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
16124 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
16125 been successfully parsed (and call gomp_init_affinity in that case).
16126 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16127 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16128 omp_get_team_num, omp_is_initial_device): New functions.
16129 * libgomp.h: Include stdlib.h.
16130 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
16131 Define.
16132 (struct target_mem_desc): Forward declare.
16133 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
16134 and thread_limit_var fields.
16135 (gomp_get_num_devices): New prototype.
16136 (gomp_cancel_var): New extern decl.
16137 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
16138 team_cancelled and task_queued_count fields. Add comments about
16139 task_{,queued_,running_}count.
16140 (gomp_cancel_kind): New enum.
16141 (gomp_work_share_end_cancel): New prototype.
16142 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
16143 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
16144 and depend fields.
16145 (struct gomp_taskgroup): New type.
16146 (struct gomp_task_depend_entry,
16147 struct gomp_dependers_vec): New types.
16148 (gomp_finish_task): Free depend_hash if non-NULL.
16149 (struct gomp_team_state): Add place_partition_off
16150 and place_partition_len fields.
16151 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
16152 gomp_places_list_len): New extern decls.
16153 (struct gomp_thread): Add place field.
16154 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
16155 (gomp_init_thread_affinity): Add place argument.
16156 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16157 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16158 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16159 gomp_affinity_init_level, gomp_affinity_print_place): New
16160 prototypes.
16161 (gomp_team_start): Add flags argument.
16162 (gomp_thread_limit_var, gomp_remaining_threads_count,
16163 gomp_remaining_threads_lock): Remove.
16164 (gomp_managed_threads_lock): New variable.
16165 (struct gomp_thread_pool): Add threads_busy field.
16166 (gomp_free_thread): New prototype.
16167 * task.c: Include hashtab.h.
16168 (hash_entry_type): New typedef.
16169 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
16170 (gomp_init_task): Clear dependers, depend_hash, depend_count,
16171 copy_ctors_done and taskgroup fields.
16172 (GOMP_task): Add depend argument, handle depend clauses. If
16173 gomp_team_barrier_cancelled or if it's taskgroup has been
16174 cancelled, don't queue or start new tasks. Set copy_ctors_done
16175 field if needed. Initialize taskgroup field. If copy_ctors_done
16176 and already cancelled, don't discard the task. If taskgroup is
16177 non-NULL, enqueue the task into taskgroup queue. Increment
16178 num_children field in taskgroup. Increment task_queued_count.
16179 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
16180 gomp_task_run_post_remove_taskgroup): New inline functions.
16181 (gomp_task_run_post_handle_depend_hash,
16182 gomp_task_run_post_handle_dependers,
16183 gomp_task_run_post_handle_depend): New functions.
16184 (GOMP_taskwait): Use them. If more than one new tasks
16185 have been queued, wake other threads if needed.
16186 (gomp_barrier_handle_tasks): Likewise. If
16187 gomp_team_barrier_cancelled, don't start any new tasks, just free
16188 all tasks.
16189 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
16190 * omp_lib.f90.in
16191 (omp_proc_bind_kind, omp_proc_bind_false,
16192 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16193 omp_proc_bind_spread): New params.
16194 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16195 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16196 omp_get_team_num, omp_is_initial_device): New interfaces.
16197 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
16198 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
16199 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
16200 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
16201 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
16202 useless use omp_lib_kinds.
16203 * omp.h.in (omp_proc_bind_t): New typedef.
16204 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16205 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16206 omp_get_team_num, omp_is_initial_device): New prototypes.
16207 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
16208 through to gomp_team_start.
16209 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
16210 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
16211 Adjust gomp_parallel_loop_start callers.
16212 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
16213 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
16214 GOMP_loop_end_cancel): New functions.
16215 (GOMP_parallel_end): Add ialias_redirect.
16216 * hashtab.h: New file.
16217 * libgomp.texi (Environment Variables): Minor cleanup,
16218 update section refs to OpenMP 4.0rc2.
16219 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
16220 environment variables.
16221 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
16222 team->work_shares_to_free to thr->ts.work_share before calling
16223 free_work_share.
16224 (gomp_work_share_end_cancel): New function.
16225 * config/linux/proc.c: Include errno.h.
16226 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
16227 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
16228 sizeof (cpu_set_t) to determine number of iterations. Fix up check
16229 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
16230 gomp_cpuset_size is sizeof (cpu_set_t).
16231 (gomp_init_num_threads): Initialize gomp_cpuset_size,
16232 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
16233 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
16234 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
16235 contain any logical CPUs.
16236 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
16237 is NULL. Use gomp_cpusetp instead of &cpuset and pass
16238 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
16239 pthread_getaffinity_np. Check gomp_places_list instead of
16240 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
16241 * config/linux/bar.c (gomp_barrier_wait_end,
16242 gomp_barrier_wait_last): Use BAR_* defines.
16243 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
16244 from state where needed. Set work_share_cancelled to 0 on last
16245 thread.
16246 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
16247 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
16248 functions.
16249 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
16250 Add cpusetsize argument.
16251 (gomp_cpuset_size, gomp_cpusetp): Declare.
16252 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
16253 (affinity_counter): Remove.
16254 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
16255 if CPU_ALLOC_SIZE isn't defined.
16256 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
16257 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
16258 bind current thread to the first place.
16259 (gomp_init_thread_affinity): Rewritten. Add place argument, just
16260 pthread_setaffinity_np to gomp_places_list[place].
16261 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16262 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16263 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16264 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
16265 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16266 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16267 (gomp_barrier_t): Add awaited_final field.
16268 (gomp_barrier_init): Initialize awaited_final field.
16269 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
16270 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
16271 prototypes.
16272 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
16273 defines.
16274 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
16275 gomp_team_barrier_cancelled): New inline functions.
16276 (gomp_barrier_last_thread,
16277 gomp_team_barrier_set_task_pending,
16278 gomp_team_barrier_clear_task_pending,
16279 gomp_team_barrier_set_waiting_for_tasks,
16280 gomp_team_barrier_waiting_for_tasks,
16281 gomp_team_barrier_done): Use BAR_* defines.
16282 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
16283 (gomp_barrier_wait_end): Use BAR_* defines.
16284 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
16285 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
16286 Use BAR_* defines.
16287 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
16288 gomp_team_barrier_cancel): New functions.
16289 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
16290 argument.
16291 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
16292 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
16293 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
16294 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
16295 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
16296 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
16297 (gomp_barrier_t): Add cancellable field.
16298 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
16299 gomp_team_barrier_cancel): New prototypes.
16300 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
16301 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
16302 gomp_team_barrier_cancelled): New inline functions.
16303 (gomp_barrier_wait_start, gomp_barrier_last_thread,
16304 gomp_team_barrier_set_task_pending,
16305 gomp_team_barrier_clear_task_pending,
16306 gomp_team_barrier_set_waiting_for_tasks,
16307 gomp_team_barrier_waiting_for_tasks,
16308 gomp_team_barrier_done): Use BAR_* defines.
16309 * barrier.c (GOMP_barrier_cancel): New function.
16310 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
16311 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
16312 omp_proc_bind_spread): New params.
16313 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
16314 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
16315 omp_get_team_num, omp_is_initial_device): New externals.
16316 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
16317 New functions.
16318 (gomp_resolve_num_threads): Adjust for thread_limit now being in
16319 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
16320 infinity. If not nested, just return minimum of max_num_threads
16321 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
16322 to the returned value. Otherwise, don't update atomically
16323 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
16324 (GOMP_parallel_end): Adjust for thread_limit now being in
16325 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
16326 infinity. Adjust threads_busy in the pool rather than
16327 gomp_remaining_threads_count. Remember team->nthreads and call
16328 gomp_team_end before adjusting threads_busy, if not nested
16329 afterwards, just set it to 1 non-atomically. Add ialias.
16330 (GOMP_parallel_start): Adjust gomp_team_start caller.
16331 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
16332 * testsuite/libgomp.c/affinity-1.c: New test.
16333 * testsuite/libgomp.c/atomic-15.c: New test.
16334 * testsuite/libgomp.c/atomic-16.c: New test.
16335 * testsuite/libgomp.c/atomic-17.c: New test.
16336 * testsuite/libgomp.c/cancel-for-1.c: New test.
16337 * testsuite/libgomp.c/cancel-for-2.c: New test.
16338 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
16339 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
16340 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
16341 * testsuite/libgomp.c/cancel-sections-1.c: New test.
16342 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
16343 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
16344 * testsuite/libgomp.c/depend-1.c: New test.
16345 * testsuite/libgomp.c/depend-2.c: New test.
16346 * testsuite/libgomp.c/depend-3.c: New test.
16347 * testsuite/libgomp.c/depend-4.c: New test.
16348 * testsuite/libgomp.c/for-1.c: New test.
16349 * testsuite/libgomp.c/for-1.h: New file.
16350 * testsuite/libgomp.c/for-2.c: New test.
16351 * testsuite/libgomp.c/for-2.h: New file.
16352 * testsuite/libgomp.c/for-3.c: New test.
16353 * testsuite/libgomp.c/pr58392.c: New test.
16354 * testsuite/libgomp.c/simd-1.c: New test.
16355 * testsuite/libgomp.c/simd-2.c: New test.
16356 * testsuite/libgomp.c/simd-3.c: New test.
16357 * testsuite/libgomp.c/simd-4.c: New test.
16358 * testsuite/libgomp.c/simd-5.c: New test.
16359 * testsuite/libgomp.c/simd-6.c: New test.
16360 * testsuite/libgomp.c/target-1.c: New test.
16361 * testsuite/libgomp.c/target-2.c: New test.
16362 * testsuite/libgomp.c/target-3.c: New test.
16363 * testsuite/libgomp.c/target-4.c: New test.
16364 * testsuite/libgomp.c/target-5.c: New test.
16365 * testsuite/libgomp.c/target-6.c: New test.
16366 * testsuite/libgomp.c/target-7.c: New test.
16367 * testsuite/libgomp.c/taskgroup-1.c: New test.
16368 * testsuite/libgomp.c/thread-limit-1.c: New test.
16369 * testsuite/libgomp.c/thread-limit-2.c: New test.
16370 * testsuite/libgomp.c/thread-limit-3.c: New test.
16371 * testsuite/libgomp.c/udr-1.c: New test.
16372 * testsuite/libgomp.c/udr-2.c: New test.
16373 * testsuite/libgomp.c/udr-3.c: New test.
16374 * testsuite/libgomp.c++/affinity-1.C: New test.
16375 * testsuite/libgomp.c++/atomic-10.C: New test.
16376 * testsuite/libgomp.c++/atomic-11.C: New test.
16377 * testsuite/libgomp.c++/atomic-12.C: New test.
16378 * testsuite/libgomp.c++/atomic-13.C: New test.
16379 * testsuite/libgomp.c++/atomic-14.C: New test.
16380 * testsuite/libgomp.c++/atomic-15.C: New test.
16381 * testsuite/libgomp.c++/cancel-for-1.C: New test.
16382 * testsuite/libgomp.c++/cancel-for-2.C: New test.
16383 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
16384 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
16385 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
16386 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
16387 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
16388 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
16389 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
16390 * testsuite/libgomp.c++/cancel-test.h: New file.
16391 * testsuite/libgomp.c++/for-9.C: New test.
16392 * testsuite/libgomp.c++/for-10.C: New test.
16393 * testsuite/libgomp.c++/for-11.C: New test.
16394 * testsuite/libgomp.c++/simd-1.C: New test.
16395 * testsuite/libgomp.c++/simd-2.C: New test.
16396 * testsuite/libgomp.c++/simd-3.C: New test.
16397 * testsuite/libgomp.c++/simd-4.C: New test.
16398 * testsuite/libgomp.c++/simd-5.C: New test.
16399 * testsuite/libgomp.c++/simd-6.C: New test.
16400 * testsuite/libgomp.c++/simd-7.C: New test.
16401 * testsuite/libgomp.c++/simd-8.C: New test.
16402 * testsuite/libgomp.c++/target-1.C: New test.
16403 * testsuite/libgomp.c++/target-2.C: New test.
16404 * testsuite/libgomp.c++/target-2-aux.cc: New file.
16405 * testsuite/libgomp.c++/target-3.C: New test.
16406 * testsuite/libgomp.c++/taskgroup-1.C: New test.
16407 * testsuite/libgomp.c++/udr-1.C: New test.
16408 * testsuite/libgomp.c++/udr-2.C: New test.
16409 * testsuite/libgomp.c++/udr-3.C: New test.
16410 * testsuite/libgomp.c++/udr-4.C: New test.
16411 * testsuite/libgomp.c++/udr-5.C: New test.
16412 * testsuite/libgomp.c++/udr-6.C: New test.
16413 * testsuite/libgomp.c++/udr-7.C: New test.
16414 * testsuite/libgomp.c++/udr-8.C: New test.
16415 * testsuite/libgomp.c++/udr-9.C: New test.
16416
bd599dea
JJ
164172013-09-20 Jakub Jelinek <jakub@redhat.com>
16418
16419 PR testsuite/57605
16420 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
16421 ALWAYS_CFLAGS.
16422
3cbe17f7
AM
164232013-09-20 Alan Modra <amodra@gmail.com>
16424
16425 * configure: Regenerate.
16426
4befd127
JJ
164272013-09-19 Jakub Jelinek <jakub@redhat.com>
16428
16429 * testsuite/libgomp.c/sections-2.c: New test.
16430
946c8f7b
MS
164312013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
16432
16433 * testsuite/libgomp.fortran/strassen.f90:
16434 Add dg-skip-if aarch64_tiny.
16435
1ef3b58e
IS
164362013-06-20 Iain Sandoe <iain@codesourcery.com>
16437 Cesar Philippidis <cesar@codesourcery.com>
16438
16439 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
16440 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
16441 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
16442 * testsuite/libgomp.fortran/fortran.exp: Likewise.
16443 * testsuite/libgomp.graphite/graphite.exp: Likewise.
16444 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
16445 Use dg-runtest rather than gfortran-dg-runtest.
16446
9275f73a
TS
164472013-06-10 Thomas Schwinge <thomas@codesourcery.com>
16448
16449 * testsuite/libgomp.c/icv-2.c: Extend current handling of
16450 Linux-based x86 systems to cover all GNU systems.
16451 * testsuite/libgomp.c/lock-3.c: Likewise.
16452 * testsuite/libgomp.c/pr48591.c: Likewise.
16453
492992e2
TS
164542013-06-06 Thomas Schwinge <thomas@codesourcery.com>
16455
48df3acb
TS
16456 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
16457 GNU/Hurd, as done for Linux-based systems.
16458
492992e2
TS
16459 * config/posix/ptrlock.h: Fix comment.
16460
4fed6b25
TB
164612013-05-27 Tobias Burnus <burnus@net-b.de>
16462
16463 PR fortran/57423
16464 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
16465 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
16466 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
16467 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
16468 omp_destroy_nest_lock): Correct arguments to match the one in
16469 the OpenMP spec.
16470 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
16471 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
16472 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
16473 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
16474
5a0f4dd3
JJ
164752013-05-16 Jakub Jelinek <jakub@redhat.com>
16476
16477 * testsuite/libgomp.c/loop-13.c: New test.
16478 * testsuite/libgomp.c/loop-14.c: New test.
16479 * testsuite/libgomp.c/loop-15.c: New test.
16480 * testsuite/libgomp.c++/loop-13.C: New test.
16481 * testsuite/libgomp.c++/loop-14.C: New test.
16482 * testsuite/libgomp.c++/loop-15.C: New test.
16483
6d840d99
JJ
164842013-02-06 Jakub Jelinek <jakub@redhat.com>
16485
16486 PR middle-end/56217
16487 * testsuite/libgomp.c++/pr56217.C: New test.
16488
bed8d8a6
AM
164892013-02-01 Alan Modra <amodra@gmail.com>
16490
16491 * task.c (GOMP_task, GOMP_taskwait): Comment.
16492
3b35cd04
DV
164932013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
16494 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
16495
16496 PR libgomp/55561
16497 * config/linux/wait.h (do_spin): Use atomic load for addr.
16498 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
16499 for intptr and ptrlock.
16500 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
16501 for ptrlock.
16502
9a647288
AM
165032013-01-22 Alan Modra <amodra@gmail.com>
16504
16505 PR libgomp/51376
16506 PR libgomp/56073
16507 * task.c (GOMP_task): Revert 2011-12-09 change.
16508 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
16509 barrier to read task->children..
16510 (gomp_barrier_handle_tasks): ..and matching atomic store with
16511 release barrier here when setting parent->children to NULL.
16512
f34dea03
JJ
165132013-01-16 Jakub Jelinek <jakub@redhat.com>
16514 Tobias Burnus <burnus@net-b.de>
16515
16516 PR driver/55884
16517 * testsuite/libgomp.fortran/fortran.exp: Use
16518 -fintrinsic-modules-path= instead of
16519 -fintrinsic-modules-path.
16520
8129609c
RS
165212013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
16522
16523 Update copyright years.
16524
aa86bf1e
TB
165252012-12-19 Tobias Burnus <burnus@net-b.de>
16526
16527 * testsuite/libgomp.fortran/fortran.exp: Set
16528 -fintrinsic-modules-path.
16529
2865ea66
TB
165302012-12-19 Tobias Burnus <burnus@net-b.de>
16531
16532 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
16533 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
16534
4c5ba8d0
JJ
165352012-11-21 Jakub Jelinek <jakub@redhat.com>
16536
16537 PR libgomp/55411
16538 * team.c (gomp_free_thread): Decrease gomp_managed_threads
16539 if pool had any threads_used.
16540
e9f958c2
JH
165412012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
16542
16543 * testsuite/libgomp.c++/pr24455.C: Use
16544 -Wl,-undefined,dynamic_lookup on darwin.
16545
a57d75dc
DE
165462012-11-07 David Edelsohn <dje.gcc@gmail.com>
16547
16548 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
16549
c6c08485
DH
165502012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
16551
16552 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
16553
c1f37c00
IB
165542012-10-23 Ian Bolton <ian.bolton@arm.com>
16555 Jim MacArthur <jim.macarthur@arm.com>
16556 Marcus Shawcroft <marcus.shawcroft@arm.com>
16557 Nigel Stephens <nigel.stephens@arm.com>
16558 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16559 Richard Earnshaw <rearnsha@arm.com>
16560 Sofiane Naci <sofiane.naci@arm.com>
16561 Stephen Thomas <stephen.thomas@arm.com>
16562 Tejas Belagod <tejas.belagod@arm.com>
16563 Yufeng Zhang <yufeng.zhang@arm.com>
16564
16565 * configure.tgt: Add AArch64.
16566
7c424acd
JM
165672012-10-04 Jason Merrill <jason@redhat.com>
16568
16569 * testsuite/libgomp.c++/tls-init1.C: New.
16570
6608378b
DE
165712012-09-14 David Edelsohn <dje.gcc@gmail.com>
16572
16573 * configure: Regenerated.
16574
c24dbebb
CLT
165752012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
16576
16577 * config/linux/mips/futex.h (sys_futex0): Change to static
16578 function with noinline, nomips16 attributes under MIPS16. Adjust
16579 asm statement to place 'li v0,SYS_futex' immediately before
16580 syscall insn.
16581
3d3949df
SL
165822012-07-04 Sandra Loosemore <sandra@codesourcery.com>
16583
16584 * libgomp.texi (Library Index): Renamed from "Index" to prevent
16585 conflict with index.html on case-insensitive file systems.
16586
68a12ef3
UB
165872012-07-03 Uros Bizjak <ubizjak@gmail.com>
16588
16589 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
16590 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
16591
33ad93b9 165922012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
16593 Michael Matz <matz@suse.de>
16594 Tobias Grosser <tobias@grosser.es>
16595 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
16596
16597 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
16598 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
16599 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16600 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16601
e6fdc918
AS
166022012-06-28 Andreas Schwab <schwab@linux-m68k.org>
16603
16604 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
16605
62e0a1ed
RG
166062012-06-22 Richard Guenther <rguenther@suse.de>
16607
16608 Merge from graphite branch
16609 2012-01-13 Tobias Grosser <tobias@grosser.es>
16610
16611 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
16612 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
16613
26127932
JJ
166142012-06-07 Jakub Jelinek <jakub@redhat.com>
16615
16616 PR middle-end/53580
16617 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
16618 use GOMP_barrier () call instead.
16619 * testsuite/libgomp.c/pr26943-3.c: Likewise.
16620 * testsuite/libgomp.c/pr26943-4.c: Likewise.
16621 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
16622 call GOMP_barrier instead.
16623 * testsuite/libgomp.fortran/vla5.f90: Likewise.
16624
43fa5db5
JJ
166252012-06-06 Jakub Jelinek <jakub@redhat.com>
16626
16627 PR libgomp/52993
16628 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
16629 argument to memset call.
16630
e6d5f8c9
L
166312012-05-16 H.J. Lu <hongjiu.lu@intel.com>
16632
16633 * configure: Regenerated.
16634
559d990c
MLI
166352012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
16636
16637 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
16638
b9c23a61
L
166392012-03-31 H.J. Lu <hongjiu.lu@intel.com>
16640
16641 PR bootstrap/52812
16642 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
16643
c140ddf3
JJ
166442012-03-22 Jakub Jelinek <jakub@redhat.com>
16645
16646 PR middle-end/52547
16647 * testsuite/libgomp.c/pr52547.c: New test.
16648
6a26a74d
BRF
166492012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
16650
16651 * testsuite/lib/libgomp.exp: load fortran-modules.exp
16652
b24513a1
RO
166532012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16654
16655 * configure.tgt (mips-sgi-irix6*): Remove.
16656
5c30094f
RO
166572012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16658
16659 * configure.tgt (alpha*-dec-osf*): Remove.
16660
16661 * config/osf/sem.h: Remove.
16662 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
16663
a339c9d6
EB
166642012-02-29 Eric Botcazou <ebotcazou@adacore.com>
16665
16666 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
16667
cc2de92d
RO
166682012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16669
16670 PR libstdc++/52188
16671 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
16672 Remove ENABLE_SYMVERS_SOL2.
16673 * configure: Regenerate.
16674 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
16675 (PREPROCESS): New variable.
16676 (libgomp.ver): New target.
16677 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
16678 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
16679 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
16680 Use libgomp.ver.
16681 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
16682 * Makefile.in: Regenerate.
16683
dd552284
WL
166842012-02-14 Walter Lee <walt@tilera.com>
16685
16686 * configure.tgt: Handle tilegx and tilepro.
16687 * config/linux/tile/futex.h: New file.
16688
31432e21
RG
166892012-02-08 Richard Guenther <rguenther@suse.de>
16690
16691 PR tree-optimization/46886
16692 * testsuite/libgomp.c/pr46886.c: New testcase.
16693
b9264b5f
MK
166942012-01-25 Matthias Klose <doko@ubuntu.com>
16695
16696 * config/linux/arm: Remove empty directory.
16697 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
16698
fbf7be80
AM
166992011-12-09 Alan Modra <amodra@gmail.com>
16700
16701 PR libgomp/51376
16702 * task.c (GOMP_taskwait): Don't access task->children outside of
16703 task_lock mutex region.
16704 (GOMP_task): Likewise.
16705
5de62d00
JJ
167062011-12-06 Jakub Jelinek <jakub@redhat.com>
16707
16708 PR libgomp/51132
16709 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
16710 to file scope.
16711 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
16712 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
16713 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
16714 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
16715 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
16716
45608a43
AM
167172011-12-02 Alan Modra <amodra@gmail.com>
16718
16719 * config/linux/affinity.c: Use atomic rather than sync builtin.
16720 * config/linux/lock.c: Likewise.
16721 * config/linux/ptrlock.h: Likewise.
16722 * config/linux/ptrlock.c: Likewise.
16723 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
16724 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
16725 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
16726 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
16727 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
16728 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
16729 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
16730 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
16731 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
16732 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
16733
ab6dd406
AM
167342011-11-30 Alan Modra <amodra@gmail.com>
16735
16736 PR libgomp/51298
16737 * config/linux/bar.h: Use atomic rather than sync builtins.
16738 * config/linux/bar.c: Likewise. Add missing acquire
16739 synchronisation on generation field.
16740 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
16741 double unlock.
16742
b40c885f
AM
167432011-11-30 Alan Modra <amodra@gmail.com>
16744
16745 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
16746 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
16747 * config/linux/mutex.h: Use atomic rather than sync builtins.
16748 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
16749 * config/linux/omp-lock.h: Comment fix.
16750 * config/linux/arm/mutex.h: Delete.
16751 * config/linux/powerpc/mutex.h: Delete.
16752 * config/linux/ia64/mutex.h: Delete.
16753 * config/linux/mips/mutex.h: Delete.
16754
3e348fcc
AM
167552011-11-30 Alan Modra <amodra@gmail.com>
16756
16757 PR libgomp/51249
16758 * config/linux/sem.h: Rewrite.
16759 * config/linux/sem.c: Rewrite.
16760
cef86eb2
RH
167612011-11-28 Richard Henderson <rth@redhat.com>
16762
16763 * libgomp.h (enum memmodel): New.
16764
c6084f68
AT
167652011-11-21 Andreas Tobler <andreast@fgznet.ch>
16766
16767 * configure: Regenerate.
16768
06fe026c
MK
167692011-10-10 Matthias Klose <doko@ubuntu.com>
16770
16771 * config/posix95: Remove empty directory.
16772
a6c975bd
JJ
167732011-08-26 Jakub Jelinek <jakub@redhat.com>
16774
16775 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
16776
c26dffff
JJ
167772011-08-19 Jakub Jelinek <jakub@redhat.com>
16778
16779 PR fortran/49792
16780 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
16781 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
16782
ddaad3c8
RO
167832011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16784
16785 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
16786
98d03683
RO
167872011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16788
16789 PR libgomp/49965
16790 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
16791
e0b23d9f
UB
167922011-08-03 Uros Bizjak <ubizjak@gmail.com>
16793
16794 * config/linux/proc.h: New.
16795 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
16796 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
16797 (gomp_init_num_threads): Update call to cpuset_popcount.
16798 (get_num_procs): Ditto.
16799 * config/linux/affinity.c (gomp_init_affinity): Call
16800 gomp_cpuset_popcount.
16801
20906c66
JJ
168022011-08-02 Jakub Jelinek <jakub@redhat.com>
16803
16804 PR fortran/42041
16805 PR fortran/46752
16806 * omp.h.in (omp_in_final): New prototype.
16807 * omp_lib.f90.in (omp_in_final): New interface.
16808 (omp_integer_kind, omp_logical_kind): Remove
16809 and replace all its uses in the module with 4.
16810 (openmp_version): Change to 201107.
16811 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
16812 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
16813 kind for the parameters.
16814 (omp_in_final): New external.
16815 (openmp_version): Change to 201107.
16816 * task.c (omp_in_final): New function.
16817 (gomp_init_task): Initialize final_task.
16818 (GOMP_task): Remove unused attribute from flags. Handle final
16819 tasks.
16820 (GOMP_taskyield): New function.
16821 (omp_in_final): Return true if if (false) or final (true) task
16822 or descendant of final (true).
16823 * fortran.c (omp_in_final_): New function.
16824 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
16825 (GOMP_3.0): Export GOMP_taskyield.
16826 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
16827 variables.
16828 (parse_unsigned_long_list): New function.
16829 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
16830 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
16831 even if parse_affinity returned false.
16832 * config/linux/affinity.c (gomp_init_affinity): Handle
16833 gomp_cpu_affinity_len == 0.
16834 * libgomp_g.h (GOMP_taskyield): New prototype.
16835 * libgomp.h (struct gomp_task): Add final_task field.
16836 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
16837 * team.c (gomp_team_start): Override new task's nthreads_var icv
16838 if list form OMP_NUM_THREADS has been used and it has value for
16839 the new nesting level.
16840
16841 * testsuite/libgomp.c/atomic-11.c: New test.
16842 * testsuite/libgomp.c/atomic-12.c: New test.
16843 * testsuite/libgomp.c/atomic-13.c: New test.
16844 * testsuite/libgomp.c/atomic-14.c: New test.
16845 * testsuite/libgomp.c/reduction-6.c: New test.
16846 * testsuite/libgomp.c/task-5.c: New test.
16847 * testsuite/libgomp.c++/atomic-2.C: New test.
16848 * testsuite/libgomp.c++/atomic-3.C: New test.
16849 * testsuite/libgomp.c++/atomic-4.C: New test.
16850 * testsuite/libgomp.c++/atomic-5.C: New test.
16851 * testsuite/libgomp.c++/atomic-6.C: New test.
16852 * testsuite/libgomp.c++/atomic-7.C: New test.
16853 * testsuite/libgomp.c++/atomic-8.C: New test.
16854 * testsuite/libgomp.c++/atomic-9.C: New test.
16855 * testsuite/libgomp.c++/task-8.C: New test.
16856 * testsuite/libgomp.c++/reduction-4.C: New test.
16857 * testsuite/libgomp.fortran/allocatable7.f90: New test.
16858 * testsuite/libgomp.fortran/allocatable8.f90: New test.
16859 * testsuite/libgomp.fortran/crayptr3.f90: New test.
16860 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
16861 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
16862 * testsuite/libgomp.fortran/pointer1.f90: New test.
16863 * testsuite/libgomp.fortran/pointer2.f90: New test.
16864 * testsuite/libgomp.fortran/task4.f90: New test.
16865
168662011-08-02 Tobias Burnus <burnus@net-b.de>
16867
16868 * libgomp.texi: Update OpenMP spec references to 3.1.
16869 (omp_in_final,OMP_PROC_BIND): New sections.
16870 (OMP_NUM_THREADS): Document that the value can be now a list.
16871 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
16872
c01ecafc
L
168732011-08-02 H.J. Lu <hongjiu.lu@intel.com>
16874
16875 * config/linux/x86/futex.h: Check __x86_64__ instead of
16876 __LP64__.
16877
25142650
JJ
168782011-07-29 Jakub Jelinek <jakub@redhat.com>
16879
16880 PR middle-end/49897
16881 PR middle-end/49898
16882 * testsuite/libgomp.c/pr49897-1.c: New test.
16883 * testsuite/libgomp.c/pr49897-2.c: New test.
16884 * testsuite/libgomp.c/pr49898-1.c: New test.
16885 * testsuite/libgomp.c/pr49898-2.c: New test.
16886
f53d712f
L
168872011-07-28 H.J. Lu <hongjiu.lu@intel.com>
16888
16889 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
16890 for ia32 instead of ilp32.
16891
16892 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
16893 * testsuite/libgomp.c/atomic-6.c: Likewise.
16894
3689198d
SP
168952011-07-23 Sebastian Pop <sebastian.pop@amd.com>
16896
16897 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
16898 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
16899
1a79cb73
RO
169002011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16901
16902 PR libgomp/45351
16903 * config/osf/sem.h: New file.
16904 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
16905
c1f51484
RO
169062011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16907
16908 PR target/49541
16909 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
16910 ldflags.
16911
bfee0724
JJ
169122011-07-15 Jakub Jelinek <jakub@redhat.com>
16913
16914 * config/linux/wait.h (do_spin): New inline, largely copied
16915 from do_wait, just don't do futex_wait here, instead return true if
16916 it should be done.
16917 (do_wait): Implement using do_spin.
16918 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
16919 to prototype.
16920 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
16921 __sync_bool_compare_and_swap, pass the oldval to
16922 gomp_mutex_lock_slow.
16923 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
16924 If all mutex contenders are just spinning and not sleeping, don't
16925 change state to 2 unnecessarily. Optimize the loop when state has
16926 already become 2 to use just one atomic operation per loop instead
16927 of two.
16928 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
16929 to prototype.
16930 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
16931 __sync_bool_compare_and_swap, pass the oldval to
16932 gomp_mutex_lock_slow.
16933
fb79f500
JJ
169342011-06-22 Jakub Jelinek <jakub@redhat.com>
16935
16936 PR libgomp/49490
16937 * iter.c (gomp_iter_static_next): For chunk size 0
16938 only use n ceil/ nthreads size for the first
16939 n % nthreads threads in the team instead of
16940 all threads except for the last few ones which
16941 get less work or none at all.
16942 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
16943 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
16944 chunk argument, set run_sched_modifier to 0 for static
16945 resp. 1 for other kinds. If chunk argument is 0
16946 and not static, set value to 1.
16947
4577f730
JJ
169482011-05-19 Jakub Jelinek <jakub@redhat.com>
16949
ea93a47b
JJ
16950 PR c++/49043
16951 * testsuite/libgomp.c++/pr49043.C: New test.
16952
4577f730
JJ
16953 PR c++/48869
16954 * testsuite/libgomp.c++/pr48869.C: New test.
16955
e7385332
JJ
169562011-05-06 Jakub Jelinek <jakub@redhat.com>
16957
16958 PR fortran/48894
16959 * fortran.c: Include limits.h.
16960 (TO_INT): Define.
16961 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
16962 *set.
16963 (omp_set_num_threads_8_, omp_set_schedule_8_,
16964 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
16965 omp_get_team_size_8_): Use TO_INT macro.
16966 * testsuite/libgomp.fortran/pr48894.f90: New test.
16967
20790697
JJ
169682011-04-13 Jakub Jelinek <jakub@redhat.com>
16969
16970 PR middle-end/48591
16971 * testsuite/libgomp.c/pr48591.c: New test.
16972
bf382f5f
RO
169732011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
16974
16975 PR bootstrap/48135
16976 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
16977 * configure: Regenerate.
16978
113a53c1
JJ
169792011-02-27 Jakub Jelinek <jakub@redhat.com>
16980
16981 PR fortran/47886
16982 * testsuite/libgomp.fortran/task3.f90: New test.
16983
0024f1af
TB
169842011-02-24 Tobias Burnus <burnus@net-b.de>
16985
16986 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
16987
21e1e594
JJ
169882011-02-23 Jakub Jelinek <jakub@redhat.com>
16989
16990 PR libgomp/47854
16991 * libgomp.texi (omp_get_wtime): Don't say time in the past
16992 must be Unix Epoch.
16993
67962076
JJ
169942011-02-18 Jakub Jelinek <jakub@redhat.com>
16995
16996 PR libgomp/47804
16997 * testsuite/libgomp.fortran/fortran.exp: Check for both
16998 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
16999 but $blddir != "", still append ${blddir}/${lang_library_path}
17000 to ld_library_path.
17001
3808007c
TB
170022011-02-16 Tobias Burnus <burnus@net-b.de>
17003
17004 PR libgomp/47758
17005 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
17006 of libquadmath.a before adding its libpath to ldflags.
17007
53b4d41d
JJ
170082011-02-14 Jakub Jelinek <jakub@redhat.com>
17009
17010 PR libgomp/47731
17011 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
17012 to FUTEX_WAIT futex syscall.
17013 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
17014
029c8f3e
RW
170152011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17016
17017 * configure: Regenerate.
17018
bddd6626
BK
170192011-01-20 Benjamin Kosnik <bkoz@redhat.com>
17020
17021 PR libstdc++/36104
17022 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
17023
f1d4ab26
GP
170242011-01-16 Gerald Pfeifer
17025
17026 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
17027
2b503136
JJ
170282010-12-14 Jakub Jelinek <jakub@redhat.com>
17029
17030 PR fortran/46874
17031 * libgomp.fortran/allocatable6.f90: New test.
17032
c0f9d583
RO
170332010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17034
17035 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
17036 * configure: Regenerate.
17037
7de6ba7a
DK
170382010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
17039
17040 PR target/40125
17041 PR lto/46695
17042 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
17043 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
17044 * aclocal.m4: Regenerate.
17045 * configure: Regenerate.
17046 * Makefile.in: Regenerate.
17047 * testsuite/Makefile.in: Regenerate.
17048
b7516041
JJ
170492010-12-02 Jakub Jelinek <jakub@redhat.com>
17050
edaadf74
JJ
17051 PR fortran/46753
17052 * libgomp.fortran/pr46753.f90: New test.
17053
4c698cf8
JJ
17054 PR libgomp/43706
17055 * env.c (initialize_env): Default to spin count 300000
17056 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
17057 is specified.
17058
b7516041
JJ
17059 PR libgomp/45240
17060 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
17061 at the end if sync builtins aren't supported.
17062
6b43a34c
RO
170632010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17064
17065 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
17066
950691fa
RO
170672010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17068
17069 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
17070
fb9041ea
IS
170712010-11-24 Iain Sandoe <iains@gcc.gnu.org>
17072
17073 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
17074
1ec601bf
FXC
170752010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
17076 Tobias Burnus <burnus@net-b.de>
17077
17078 PR fortran/32049
3e348fcc 17079 * configure.ac:
1ec601bf
FXC
17080 * configure: Regenerate.
17081
d213e92e
MS
170822010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
17083
17084 * config/linux/futex.h: New.
17085 * config/linux/arm/mutex.h: New.
17086 * configure.tgt (arm*-*-linux*): Add config path.
17087
89d5c66f
SP
170882010-09-30 Sebastian Pop <sebastian.pop@amd.com>
17089
17090 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17091
87350d4a
TB
170922010-09-23 Tobias Burnus <burnus@net-b.de>
17093
17094 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
17095 Change Fortran datatype to LOGICAL.
17096 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
17097 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
17098
75bc9e5e
RW
170992010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17100
17101 * configure: Regenerate.
17102
acb5c916
JJ
171032010-07-26 Jakub Jelinek <jakub@redhat.com>
17104
17105 * libgomp.texi: Add function keyword to a couple of Fortran
17106 interfaces, use integer instead of int for Fortran.
17107
6a2ba183
AH
171082010-07-26 Aldy Hernandez <aldyh@redhat.com>
17109
17110 * libgomp.texi: Fix spelling and pasto problems throughout.
17111 Adjust prototypes to match code.
17112
df161b69
TB
171132010-07-24 Tobias Burnus <burnus@net-b.de>
17114
17115 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
17116 silence -fwhole-file warning.
17117
16c9d3b1
RO
171182010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17119
17120 * configure.tgt (*-*-solaris2.[56]*): Removed.
17121
6d28b933
RO
171222010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17123
17124 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
17125 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
17126 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
17127 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
17128 targetting solaris2*.
17129 * configure: Regenerate.
17130 * config.h.in: Regenerate.
17131
17132 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
17133 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
17134 Add libgomp_version_dep.
17135 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
17136 versioning.
17137 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
17138 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
17139 * Makefile.in: Regenerate.
17140
17141 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
17142 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
17143 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
17144 to common block, protected by
17145 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
17146
07a67d6a
GP
171472010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
17148
17149 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
17150
dbd34b89
IS
171512010-06-09 Iain Sandoe <iains@gcc.gnu.org>
17152
17153 PR bootstrap/43170
17154 * configure: Regenerate.
17155
13917ae3
RW
171562010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17157
17158 PR other/43620
17159 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
17160 * configure: Regenerate.
17161 * Makefile.in: Regenerate.
17162 * testsuite/Makefile.in: Regenerate.
17163
b83a701b
JJ
171642010-04-26 Jakub Jelinek <jakub@redhat.com>
17165
17166 PR c/43893
17167 * testsuite/libgomp.c/pr43893.c: New test.
17168 * testsuite/libgomp.c++/pr43893.C: New test.
17169
78db7d92
JJ
171702010-04-21 Jakub Jelinek <jakub@redhat.com>
17171
17172 PR middle-end/43570
17173 * testsuite/libgomp.fortran/vla8.f90: New test.
17174
5221d7a9
JJ
171752010-04-20 Jakub Jelinek <jakub@redhat.com>
17176
e4ba7a60
JJ
17177 PR libgomp/43706
17178 * config/linux/affinity.c (gomp_init_affinity): Decrease
17179 gomp_available_cpus if affinity mask confines the process to fewer
17180 CPUs.
17181 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
17182 non-NULL, just return gomp_available_cpus.
17183
5221d7a9
JJ
17184 PR libgomp/43569
17185 * sections.c (gomp_sections_init): Initialize ws->mode.
17186
289a9f86
UB
171872010-04-14 Uros Bizjak <ubizjak@gmail.com>
17188
17189 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
17190 not unused bar variable.
17191 * configure: Regenerate.
17192
4d9e8446
RW
171932010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17194
17195 * Makefile.in: Regenerate.
17196 * aclocal.m4: Regenerate.
17197 * testsuite/Makefile.in: Regenerate.
17198
80f046cc
JJ
171992010-03-22 Jakub Jelinek <jakub@redhat.com>
17200
17201 PR libgomp/42942
17202 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
17203 (initialize_env): Adjust callers.
17204 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
17205 when the argument is 0.
17206
17207 * testsuite/libgomp.c/pr42942.c: New test.
17208
b58543c3
SP
172092010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
17210
17211 PR middle-end/42644
17212 PR middle-end/42130
17213 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
17214 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
17215
41d1138f
RO
172162010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17217
17218 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
17219 * testsuite/libgomp.c++/task-6.C: Likewise.
17220
6684eb28
SE
172212010-01-28 Steve Ellcey <sje@cup.hp.com>
17222
17223 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
17224
2122aa97
PB
172252010-01-26 Paolo Bonzini <bonzini@gnu.org>
17226
17227 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
17228 * configure: Regenerate.
17229
057dd91d
JJ
172302010-01-26 Jakub Jelinek <jakub@redhat.com>
17231
17232 PR fortran/42866
17233 * testsuite/libgomp.fortran/allocatable5.f90: New test.
17234
d0709b6a
PB
172352010-01-20 Paolo Bonzini <bonzini@gnu.org>
17236
17237 * configure.ac: Test for executability of GFORTRAN.
17238 * configure: Regenerate.
17239
b9497ab5
RO
172402010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
17241
17242 * configure: Regenerate.
17243
45de5648
L
172442010-01-04 H.J. Lu <hongjiu.lu@intel.com>
17245
17246 PR libgomp/42602
17247 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
17248
e74003a1
RG
172492010-01-03 Richard Guenther <rguenther@suse.de>
17250
17251 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
17252
1b3abda8
SP
172532009-12-23 Sebastian Pop <sebpop@gmail.com>
17254
17255 * testsuite/libgomp.graphite/pr4118.c: New.
17256
e19977d3
IS
172572009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
17258
17259 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
17260 for darwin, protect the test with require-effective-target tls_runtime.
17261 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
17262
1d32a772
IS
172632009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
17264
17265 PR target/41605
17266 * testsuite/lib/libgomp.exp: Provide -B options to allow for
17267 link spec %s substitutions for static libraries.
17268
deb109b2
JH
172692009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
17270
17271 PR testsuite/42135
17272 * libgomp.graphite/force-parallel-2.c: Reduce array size.
17273
43e02a8a
RW
172742009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17275
17276 * Makefile.in: Regenerate.
17277 * configure: Regenerate.
17278 * testsuite/Makefile.in: Regenerate.
17279
17f35e23
DK
172802009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
17281
17282 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
17283 settings for LC_ALL and LANG.
17284
281e33e1
JJ
172852009-11-25 Jakub Jelinek <jakub@redhat.com>
17286
17287 PR fortran/42162
17288 * testsuite/libgomp.fortran/pr42162.f90: New test.
17289
2b32c27d
JJ
172902009-11-13 Jakub Jelinek <jakub@redhat.com>
17291
17292 PR middle-end/42029
281e33e1 17293 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 17294
89c74f4a
JJ
172952009-10-26 Jakub Jelinek <jakub@redhat.com>
17296
17297 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
17298 *s. Accept ld version without text in ()s.
17299 * configure: Regenerated.
17300
7e06c3d6
EB
173012009-10-22 Razya Ladelsky <razya@il.ibm.com>
17302
17303 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
17304
0046b1a7
RW
173052009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17306
17307 PR libgomp/41418
17308 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
17309 or a hyphen (happens with fortran language disabled).
17310 * configure: Regenerate.
17311
c82852f7
RW
173122009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17313
17314 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
17315 use sed script portable to Solaris /bin/sed for extracting ld
17316 version.
17317 * configure: Regenerate.
17318
98f3eb1f
AM
173192009-09-17 Alexander Monakov <amonakov@ispras.ru>
17320
17321 * testsuite/libgomp.graphite/bounds.c: New test.
17322
878f62e5
RW
173232009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17324
17325 * Makefile.am (libgomp_la_LINK): New.
17326 * Makefile.in: Regenerate.
17327
df58e648
RW
173282009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17329
17330 * configure.ac (AC_PREREQ): Bump to 2.64.
17331
5213506e
RW
173322009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17333
70fa0efa
RW
17334 * Makefile.am (install-html, install-pdf): Remove.
17335 * Makefile.in: Regenerate.
17336
5213506e
RW
17337 * Makefile.in: Regenerate.
17338 * aclocal.m4: Regenerate.
17339 * config.h.in: Regenerate.
17340 * configure: Regenerate.
17341 * testsuite/Makefile.in: Regenerate.
17342
84fec8a5
RW
173432009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17344
17345 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
17346 * Makefile.in: Regenerate.
17347
197c68cc
DK
173482009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
17349
17350 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
17351 * Makefile.in: Regenerate.
17352
693d54f2
TB
173532009-08-19 Tobias Burnus <burnus@net-b.de>
17354
17355 PR fortran/41102
17356 omp_lib.h.in: Fix -std=f95 errors.
17357
8cac884c
DE
173582009-08-14 David Edelsohn <edelsohn@gnu.org>
17359
17360 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
17361 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
17362 * testsuite/libgomp.graphite/graphite.exp: New.
17363
78729ee2
AT
173642009-08-05 Andreas Tobler <a.tobler@schweiz.org>
17365
17366 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
17367 only build.
17368
b13b7f39
DD
173692009-08-04 David Daney <ddaney@caviumnetworks.com>
17370
17371 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
17372 needed memory barrier semantics.
17373 * config/linux/mips/mutex.h: New file.
17374
1b3b24c2
RW
173752009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17376
17377 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
17378
396b7fa4
JM
173792009-07-16 Joseph Myers <joseph@codesourcery.com>
17380
17381 * configure: Regenerate.
17382
33cde516
RS
173832009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
17384
17385 PR testsuite/40699
17386 PR testsuite/40707
17387 PR testsuite/40709
17388 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
17389 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
17390 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
17391
bc21bfa5
RS
173922009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
17393
17394 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
17395 options when choosing a multilib.
17396
b30bfd40
RS
173972009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
17398
17399 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
17400 ld_library_path. Use add_path. Add just find_libgcc_s to
17401 ld_library_path, not every libgcc multilib directory.
17402 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
17403 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
17404 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
17405 Use add_path.
17406 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
17407
479c15c2
NF
174082009-06-09 Nathan Froyd <froydnj@codesourcery.com>
17409
17410 * Makefile.am (LTLDFLAGS): Define.
17411 (LINK): Define.
17412 * Makefile.in: Regenerate.
17413
667e6f89
JB
174142009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
17415
17416 PR fortran/39718
17417 * testsuite/libgomp.fortran/fortran.exp: Don't link with
17418 libgfortranbegin, check existence of libgfortran.a instead of
17419 libgfortranbegin.a.
17420
6dea8e99
JJ
174212009-05-20 Jakub Jelinek <jakub@redhat.com>
17422
17423 PR libgomp/40174
17424 * team.c (gomp_thread_start): Destroy thr->release semaphore.
17425 (gomp_free_pool_helper): Likewise.
17426
34d01e1d
VL
174272009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
17428 Jakub Jelinek <jakub@redhat.com>
17429
17430 PR fortran/35423
17431 * testsuite/libgomp.fortran/workshare2.f90: New test.
17432
748086b7
JJ
174332009-04-09 Nick Clifton <nickc@redhat.com>
17434
17435 * iter.c: Change copyright header to refer to version 3 of the
17436 GNU General Public License with version 3.1 of the GCC Runtime
17437 Library Exception and to point readers at the COPYING3 and
17438 COPYING3.RUNTIME files and the FSF's license web page.
17439 * alloc.c: Likewise.
17440 * barrier.c: Likewise.
17441 * config/bsd/proc.c: Likewise.
17442 * config/linux/affinity.c: Likewise.
17443 * config/linux/alpha/futex.h: Likewise.
17444 * config/linux/bar.c: Likewise.
17445 * config/linux/bar.h: Likewise.
17446 * config/linux/ia64/futex.h: Likewise.
17447 * config/linux/ia64/mutex.h: Likewise.
17448 * config/linux/lock.c: Likewise.
17449 * config/linux/mips/futex.h: Likewise.
17450 * config/linux/mutex.c: Likewise.
17451 * config/linux/mutex.h: Likewise.
17452 * config/linux/powerpc/futex.h: Likewise.
17453 * config/linux/proc.c: Likewise.
17454 * config/linux/ptrlock.c: Likewise.
17455 * config/linux/ptrlock.h: Likewise.
17456 * config/linux/s390/futex.h: Likewise.
17457 * config/linux/sem.c: Likewise.
17458 * config/linux/sem.h: Likewise.
17459 * config/linux/sparc/futex.h: Likewise.
17460 * config/linux/wait.h: Likewise.
17461 * config/linux/x86/futex.h: Likewise.
17462 * config/mingw32/proc.c: Likewise.
17463 * config/mingw32/time.c: Likewise.
17464 * config/posix/affinity.c: Likewise.
17465 * config/posix/bar.c: Likewise.
17466 * config/posix/bar.h: Likewise.
17467 * config/posix/lock.c: Likewise.
17468 * config/posix/mutex.h: Likewise.
17469 * config/posix/proc.c: Likewise.
17470 * config/posix/ptrlock.h: Likewise.
17471 * config/posix/sem.c: Likewise.
17472 * config/posix/sem.h: Likewise.
17473 * config/posix/time.c: Likewise.
17474 * config/posix95/lock.c: Likewise.
17475 * critical.c: Likewise.
17476 * env.c: Likewise.
17477 * error.c: Likewise.
17478 * fortran.c: Likewise.
17479 * iter_ull.c: Likewise.
17480 * libgomp.h: Likewise.
17481 * libgomp_f.h.in: Likewise.
17482 * libgomp_g.h: Likewise.
17483 * loop.c: Likewise.
17484 * loop_ull.c: Likewise.
17485 * omp.h.in: Likewise.
17486 * omp_lib.f90.in: Likewise.
17487 * omp_lib.h.in: Likewise.
17488 * ordered.c: Likewise.
17489 * parallel.c: Likewise.
17490 * sections.c: Likewise.
17491 * single.c: Likewise.
17492 * task.c: Likewise.
17493 * team.c: Likewise.
17494 * work.c: Likewise.
17495
174962009-04-09 Jakub Jelinek <jakub@redhat.com>
17497
17498 * testsuite/config/default.exp: Change copyright header to refer to
17499 version 3 of the GNU General Public License and to point readers
17500 at the COPYING3 file and the FSF's license web page.
17501
4f0ae266
JJ
175022009-04-08 Jakub Jelinek <jakub@redhat.com>
17503
17504 PR middle-end/39573
17505 * libgomp.c++/pr39573.C: New test.
17506
03742a9b
JJ
175072009-04-01 Jakub Jelinek <jakub@redhat.com>
17508
17509 PR other/39591
17510 * testsuite/libgomp.c/pr39591-1.c: New test.
17511 * testsuite/libgomp.c/pr39591-2.c: New test.
17512 * testsuite/libgomp.c/pr39591-3.c: New test.
17513
e50ea10b
UB
175142009-03-25 Uros Bizjak <ubizjak@gmail.com>
17515
17516 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
17517 * testsuite/libgomp.c/atomic-6.c: Ditto.
17518
c5cdb03f
JJ
175192009-03-23 Jakub Jelinek <jakub@redhat.com>
17520
17521 PR c/39495
17522 * testsuite/libgomp.c/loop-12.c: New test.
17523 * testsuite/libgomp.c/loop-11.c: New test.
17524 * testsuite/libgomp.c++/loop-11.C: New test.
17525 * testsuite/libgomp.c++/loop-12.C: New test.
17526 * testsuite/libgomp.c++/for-8.C: New test.
17527
7a9d3fe8
RW
175282009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17529
17530 * configure: Regenerate.
17531
3ad6b266
JJ
175322009-02-11 Jakub Jelinek <jakub@redhat.com>
17533
17534 PR middle-end/39154
17535 * testsuite/libgomp.c/pr39154.c: New test.
17536
b39dea08
ILT
175372009-01-30 Ian Lance Taylor <iant@google.com>
17538
17539 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
17540 libgomp_ld_is_gold. Get gold version number.
17541 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
17542 * configure: Rebuild.
17543
72c66596
IS
175442009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
17545
e50ea10b 17546 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
17547 use libgfortran.a%s in their specs.
17548
876080ff
JJ
175492009-01-07 Jakub Jelinek <jakub@redhat.com>
17550
17551 PR libgomp/38086
17552 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
17553 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
17554 HAVE_AS_SYMVER_DIRECTIVE is not defined.
17555 * configure: Regenerated.
17556 * config.h.in: Likewise.
17557
e4ebaef3
JJ
175582008-12-28 Jakub Jelinek <jakub@redhat.com>
17559
17560 PR c++/38650
17561 * testsuite/libgomp.c/pr38650.c: New test.
17562 * testsuite/libgomp.c++/pr38650.C: New test.
17563
382017a6
JJ
175642008-12-27 Jakub Jelinek <jakub@redhat.com>
17565
17566 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
17567
79644b27
UB
175682008-12-26 Uros Bizjak <ubizjak@gmail.com>
17569
17570 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
17571
baafc534
RW
175722008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17573
17574 * configure: Regenerate.
17575
d9c194cb
JJ
175762008-12-08 Jakub Jelinek <jakub@redhat.com>
17577
17578 PR middle-end/36802
17579 * testsuite/libgomp.c/pr36802-1.c: New test.
17580 * testsuite/libgomp.c/pr36802-2.c: New test.
17581 * testsuite/libgomp.c/pr36802-3.c: New test.
17582
86a182bf
JJ
175832008-12-01 Janis Johnson <janis187@us.ibm.com>
17584
17585 PR libgomp/38270
17586 * config/linux/powerpc/mutex.h: New.
17587
956adfaf
JJ
175882008-12-01 Jakub Jelinek <jakub@redhat.com>
17589
a2d4cdc9
JJ
17590 PR c++/38257
17591 * testsuite/libgomp.c++/for-7.C: New test.
17592
956adfaf
JJ
17593 PR c++/38348
17594 * testsuite/libgomp.c++/for-6.C: New test.
17595
d4038ca2
JJ
175962008-11-26 Janis Johnson <janis187@us.ibm.com>
17597
17598 PR testsuite/28870
17599 * testsuite/lib/libgomp.exp: Include new timeout library files.
17600 (libgomp_target_compile): Set timeout value from new proc.
17601
8b159eea
SE
176022008-11-13 Steve Ellcey <sje@cup.hp.com>
17603
17604 PR libgomp/37938
17605 * config/linux/ia64/mutex.h: New.
17606
5c6ed53a
TB
176072008-11-04 Tobias Burnus <burnus@net-b.de>
17608
17609 PR libgomp/37935
17610 * libgomp.texi (Runtime library routines, environment variables):
17611 Update for OpenMP version 3.0.
17612
6b4a97ed
PG
176132008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
17614 Steve Ellcey <sje@cup.hp.com>
17615
17616 * configure: Regenerate for new libtool.
17617 * Makefile.in: Ditto.
17618 * testsuite/Makefile.in: Ditto.
17619
e2b34106
JJ
176202008-09-19 Jakub Jelinek <jakub@redhat.com>
17621 Andreas Tobler <a.tobler@schweiz.org>
17622
17623 * config/bsd/proc.c: New file.
8c3b3600 17624 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
17625 * configure.ac: Check for header <sys/sysctl.h>
17626 * configure: Regenerate.
17627 * config.h.in: Likewise.
17628
3606b8bf
JJ
176292008-09-05 Janis Johnson <janis187@us.ibm.com>
17630
17631 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
17632
6528b88d
AL
176332008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
17634
17635 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
17636 * Makefile.in: Regenerated.
17637 * testsuite/Makefile.in: Regenerated.
17638
d9b14b12 176392008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 17640
a16b68bb 17641 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
17642 depend on blddir if blddir exists.
17643 (libgomp_target_compile): Likewise.
17644 * testsuite/libgomp.c++/c++.exp: Likewise.
17645 * testsuite/libgomp.fortran/fortran.exp: Likewise.
17646
70b1e376
RW
176472008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17648
17649 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
17650 Do not list GPL as Invariant Section.
17651
318e8c3f
IG
176522008-07-28 Ilie Garbacea <ilie@mips.com>
17653 Chao-ying Fu <fu@mips.com>
17654
17655 * configure.tgt: Enable futex for MIPS.
17656 * config/linux/mips/futex.h: New file.
17657
4db72361
JJ
176582008-07-16 Jakub Jelinek <jakub@redhat.com>
17659
17660 * team.c (gomp_team_end): Free team immediately if it has
17661 just one thread.
17662
87bd23b8
DE
176632008-07-08 David Edelsohn <edelsohn@gnu.org>
17664
17665 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
17666 * testsuite/libgomp.fortran/fortran.exp: Same.
17667 * testsuite/libgomp.c/c.exp: Same.
17668 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
17669 directory to library path first.
17670
323ff903
KW
176712008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
17672
17673 * env.c (parse_stacksize): Add cast to avoid warning.
17674 (parse_spincount): Likewise.
17675
b357f682
JJ
176762008-06-27 Jakub Jelinek <jakub@redhat.com>
17677
ca2b1311
JJ
17678 * testsuite/libgomp.c/loop-10.c: New test.
17679 * libgomp.c/loop-3.c (main): Add lastprivate clause.
17680 * libgomp.c++/loop-6.C (main): Likewise.
17681
b357f682
JJ
17682 PR debug/36617
17683 * testsuite/libgomp.c/debug-1.c: New test.
17684
09a46078
JJ
176852008-06-19 Jakub Jelinek <jakub@redhat.com>
17686
17687 * testsuite/libgomp.c/nqueens-1.c: New test.
17688
2368a460
JJ
17689 PR c++/36523
17690 * testsuite/libgomp.c++/task-7.C: New function.
17691
18c04407
RW
176922008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17693
17694 * configure: Regenerate.
17695
9c4e59e0
JDA
176962008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
17697
17698 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
17699 mutex when HAVE_SYNC_BUILTINS isn't defined.
17700
6ccde948
RW
177012008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
17702
17703 * libgomp.texi (omp_test_lock): Fix typo.
17704
b896f9fd
TB
177052008-06-12 Tobias Burnus <burnus@net-b.de>
17706
17707 * omp_lib.f90.in: Add "implicit none".
17708
c34938a8
JJ
177092008-06-12 Jakub Jelinek <jakub@redhat.com>
17710
17711 PR middle-end/36506
17712 * testsuite/libgomp.c/reduction-5.c: New test.
17713
976e44e3
JJ
177142008-06-11 Jakub Jelinek <jakub@redhat.com>
17715
5f836cbb
JJ
17716 * libgomp.h (struct gomp_task): Add in_tied_task field.
17717 * task.c (gomp_init_task): Initialize it.
17718 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
17719 unconditionally. Don't call gomp_team_barrier_wake if
17720 current task is implicit or if(0) from implicit and number of
17721 running tasks is equal to nthreads - 1.
17722
01501fc8
JJ
17723 PR libgomp/36471
17724 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
17725 omp_get_team_size_8): Fix pastos.
17726
976e44e3
JJ
17727 PR libgomp/36469
17728 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
17729 * configure: Regenerated.
17730 * config.h.in: Regenerated.
17731 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
17732 defined.
17733
e919209b
AT
177342008-06-06 Andreas Tobler <a.tobler@schweiz.org>
17735
17736 PR bootstrap/36452
17737 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
17738 (GOMP_loop_ull_dynamic_start): Likewise.
17739 (GOMP_loop_ull_guided_start): Likewise.
17740 (GOMP_loop_ull_ordered_static_start): Likewise.
17741 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
17742 (GOMP_loop_ull_ordered_guided_start): Likewise.
17743
a68ab351
JJ
177442008-06-06 Jakub Jelinek <jakub@redhat.com>
17745 Richard Henderson <rth@redhat.com>
17746 Ulrich Drepper <drepper@redhat.com>
17747 Jakob Blomer <jakob.blomer@ira.uka.de>
17748
17749 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
17750 Substitute also OMP_*LOCK_25*.
17751 * configure: Regenerated.
17752 * config.h.in: Regenerated.
17753 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
17754 ptrlock.c and task.c.
17755 * Makefile.in: Regenerated.
17756 * testsuite/Makefile.in: Regenerated.
17757 * task.c: New file.
17758 * loop_ull.c: New file.
17759 * iter_ull.c: New file.
17760 * libgomp.h: Include ptrlock.h.
17761 (enum gomp_task_kind): New type.
17762 (struct gomp_team): Add task_lock, task_queue, task_count,
17763 task_running_count, single_count fields. Add
17764 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
17765 Remove work_share_lock, generation_mask,
17766 oldest_live_gen, num_live_gen and init_work_shares fields, add
17767 work work_share_list_alloc, work_share_list_free and work_share_chunk
17768 fields. Change work_shares from pointer to pointers into an array.
17769 Change ordered_release field into gomp_sem_t ** from flexible array
17770 member. Add implicit_task and initial_work_shares fields.
17771 Move close to the end of the struct.
17772 (struct gomp_team_state): Add single_count, last_work_share,
17773 active_level and level fields, remove work_share_generation.
17774 (gomp_barrier_handle_tasks): New prototype.
17775 (gomp_finish_task): New inline function.
17776 (struct gomp_work_share): Move chunk_size, end, incr into
17777 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
17778 next_ll fields. Reshuffle fields. Add next_alloc,
17779 next_ws, next_free and inline_ordered_team_ids fields, change
17780 ordered_team_ids into pointer from flexible array member.
17781 Add mode field. Put lock and next into a different cache line
17782 from most of the write-once fields.
17783 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
17784 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
17785 gomp_iter_ull_guided_next): New prototypes.
17786 (gomp_new_icv): New prototype.
17787 (struct gomp_thread): Add thread_pool and task fields.
17788 (struct gomp_thread_pool): New type.
17789 (gomp_new_team): New prototype.
17790 (gomp_team_start): Change type of last argument.
17791 (gomp_new_work_share): Removed.
17792 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
17793 (gomp_work_share_init_done): New static inline.
17794 (gomp_throttled_spin_count_var, gomp_available_cpus,
17795 gomp_managed_threads): New extern decls.
17796 (gomp_init_task): New prototype.
17797 (gomp_spin_count_var): New extern var decl.
17798 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
17799 or no alias support, or if not PIC.
17800 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
17801 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
17802 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
17803 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
17804 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
17805 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
17806 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
17807 gomp_test_nest_lock_25): New prototypes.
17808 (omp_lock_symver, strong_alias): Define.
17809 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
17810 decls.
17811 (gomp_end_task): New.
17812 (struct gomp_task_icv, gomp_global_icv): New.
17813 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
17814 (struct gomp_task): New.
17815 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
17816 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
17817 (gomp_icv): New.
17818 (gomp_schedule_type): Reorder enum to match
17819 omp_sched_t.
17820 * team.c (struct gomp_thread_start_data): Add thread_pool and task
17821 fields.
17822 (gomp_thread_start): Add gomp_team_barrier_wait call.
17823 For non-nested case remove clearing of docked thread thr fields.
17824 Use pool fields instead of global gomp_* variables. Use
17825 gomp_barrier_wait_last when needed. Initialize ts.active_level.
17826 Create tasks for each member thread.
17827 (free_team): Only destroy team barrier, task_lock here and free it.
17828 (gomp_free_thread): Free last_team if non-NULL.
17829 (gomp_team_end): Call gomp_team_barrier_wait instead of
17830 gomp_barrier_wait. For nested case call one extra
17831 gomp_barrier_wait. Move here some destruction from free_team.
17832 Call free_team on pool->last_team if any, rather than freeing
17833 current team. Destroy work_share_list_free_lock ifndef
17834 HAVE_SYNC_BUILTINS.
17835 (gomp_new_icv): New function.
17836 (gomp_threads, gomp_threads_size, gomp_threads_used,
17837 gomp_threads_dock): Removed.
17838 (gomp_thread_destructor): New variable.
17839 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
17840 functions.
17841 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 17842 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
17843 Initialize thread_pool field for new threads. Clear single_count.
17844 Change last argument from ws to team, don't create
17845 new team, set ts.work_share to &team->work_shares[0] and clear
17846 ts.last_work_share. Don't clear ts.work_share_generation.
17847 If number of threads changed, adjust atomically gomp_managed_threads.
17848 Use gomp_init_task instead of gomp_new_task,
17849 set thr->task to the corresponding implicit_task array entry.
17850 Create tasks for each member thread. Initialize ts.level.
17851 (initialize_team): Call pthread_key_create on
17852 gomp_thread_destructor.
17853 (team_destructor): New function.
17854 (new_team): Removed.
17855 (gomp_new_team): New function.
17856 (free_team): Free gomp_work_share blocks chained through next_alloc,
17857 instead of freeing work_shares and destroying work_share_lock.
17858 (gomp_team_end): Call gomp_fini_work_share. If number of threads
17859 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
17860 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
17861 of gomp_barrier_wait.
17862 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
17863 instead of gomp_barrier_wait. Call gomp_work_share_init_done
17864 if gomp_work_share_start returned true. Don't unlock ws->lock.
17865 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
17866 of gomp_barrier_wait.
17867 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
17868 gomp_work_share_init_done if gomp_work_share_start returned true.
17869 Don't unlock ws->lock.
17870 * work.c: Include stddef.h.
17871 (free_work_share): Use work_share_list_free_lock instead
17872 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
17873 Call gomp_fini_work_share and then either free ws if orphaned, or
17874 put it into work_share_list_free list of the current team.
17875 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
17876 functions.
17877 (gomp_work_share_start, gomp_work_share_end,
17878 gomp_work_share_end_nowait): Rewritten.
17879 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
17880 (openmp_version): Set to 200805.
17881 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
17882 omp_sched_guided, omp_sched_auto): New parameters.
17883 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17884 omp_set_max_active_levels, omp_get_max_active_levels,
17885 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17886 omp_get_active_level): New interfaces.
17887 * omp_lib.h.in (openmp_version): Set to 200805.
17888 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
17889 omp_sched_guided, omp_sched_auto): New parameters.
17890 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17891 omp_set_max_active_levels, omp_get_max_active_levels,
17892 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17893 omp_get_active_level): New externals.
17894 * loop.c: Include limits.h.
17895 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
17896 GFS_AUTO.
17897 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
17898 Likewise. Use gomp_icv.
17899 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
17900 ts.static_trip here.
17901 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
17902 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
17903 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
17904 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
17905 don't unlock ws->lock, otherwise lock it.
17906 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
17907 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
17908 (gomp_parallel_loop_start): Call gomp_new_team instead of
17909 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
17910 Adjust gomp_team_start caller. Pass 0 as second argument to
17911 gomp_resolve_num_threads.
17912 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
17913 If adding ws->chunk_size nthreads + 1 times after end won't
17914 overflow, set ws->mode to 1.
17915 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
17916 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
17917 GOMP_loop_ull_ordered_static_start,
17918 GOMP_loop_ull_ordered_dynamic_start,
17919 GOMP_loop_ull_ordered_guided_start,
17920 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
17921 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
17922 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
17923 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
17924 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
17925 prototypes.
17926 * libgomp.map: Export lock routines also @@OMP_2.0.
17927 (GOMP_loop_ordered_dynamic_first,
17928 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
17929 GOMP_loop_ordered_static_first): Remove.
17930 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
17931 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
17932 GOMP_loop_ull_ordered_dynamic_next,
17933 GOMP_loop_ull_ordered_dynamic_start,
17934 GOMP_loop_ull_ordered_guided_next,
17935 GOMP_loop_ull_ordered_guided_start,
17936 GOMP_loop_ull_ordered_runtime_next,
17937 GOMP_loop_ull_ordered_runtime_start,
17938 GOMP_loop_ull_ordered_static_next,
17939 GOMP_loop_ull_ordered_static_start,
17940 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
17941 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
17942 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
17943 (omp_set_schedule, omp_get_schedule,
17944 omp_get_thread_limit, omp_set_max_active_levels,
17945 omp_get_max_active_levels, omp_get_level,
17946 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
17947 omp_set_schedule_, omp_set_schedule_8_,
17948 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
17949 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
17950 omp_get_max_active_levels_, omp_get_level_,
17951 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
17952 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
17953 New exports @@OMP_3.0.
17954 * omp.h.in (omp_sched_t): New type.
17955 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17956 omp_set_max_active_levels, omp_get_max_active_levels,
17957 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
17958 omp_get_active_level): New prototypes.
17959 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
17960 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
17961 gomp_thread_limit_var, gomp_remaining_threads_count,
17962 gomp_remaining_threads_lock): New variables.
17963 (parse_spincount): New function.
17964 (initialize_env): Call gomp_init_num_threads unconditionally.
17965 Initialize gomp_available_cpus. Call parse_spincount,
17966 initialize gomp_{,throttled_}spin_count_var
17967 depending on presence and value of OMP_WAIT_POLICY and
17968 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
17969 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
17970 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
17971 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
17972 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
17973 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
17974 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
17975 (gomp_global_icv): New.
17976 (parse_schedule): Use it. Parse "auto".
17977 (omp_set_num_threads): Use gomp_icv.
17978 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
17979 Likewise.
17980 (omp_get_max_threads): Move from parallel.c.
17981 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
17982 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
17983 add ialias.
17984 (parse_stacksize, parse_wait_policy): New functions.
17985 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
17986 both wrappers for compatibility and new locks.
17987 (omp_set_schedule, omp_get_schedule,
17988 omp_get_thread_limit, omp_set_max_active_levels,
17989 omp_get_max_active_levels, omp_get_level,
17990 omp_get_ancestor_thread_num, omp_get_team_size,
17991 omp_get_active_level): New ialias_redirect.
17992 (omp_set_schedule_, omp_set_schedule_8_,
17993 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
17994 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
17995 omp_get_max_active_levels_, omp_get_level_,
17996 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
17997 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
17998 New functions.
17999 * parallel.c: Include limits.h.
18000 (gomp_resolve_num_threads): Add count argument. Rewritten.
18001 (GOMP_parallel_start): Call gomp_new_team and pass that as last
18002 argument to gomp_team_start. Pass 0 as second argument to
18003 gomp_resolve_num_threads.
18004 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
18005 if gomp_thread_limit_var != ULONG_MAX.
18006 (omp_in_parallel): Implement using ts.active_level.
18007 (omp_get_max_threads): Move to env.c.
18008 (omp_get_level, omp_get_ancestor_thread_num,
18009 omp_get_team_size, omp_get_active_level): New functions,
18010 add ialias.
18011 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
18012 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
18013 gomp_iter_dynamic_next instead of the _locked variant and don't take
18014 lock around it, otherwise acquire it before calling
18015 gomp_iter_dynamic_next_locked.
18016 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
18017 gomp_iter_dynamic_next instead of the _locked variant and don't take
18018 lock around it.
18019 (GOMP_parallel_sections_start): Call gomp_new_team instead of
18020 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
18021 Adjust gomp_team_start caller. Pass count as second argument to
18022 gomp_resolve_num_threads, don't adjust num_threads after the call.
18023 Use gomp_icv.
18024 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
18025 ws->chunk_size by incr.
18026 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
18027 code.
18028 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
18029 types.
18030 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
18031 (omp_check_defines): Check even the compat defines.
18032 * config/linux/ptrlock.c: New file.
18033 * config/linux/ptrlock.h: New file.
18034 * config/linux/wait.h: New file.
18035 * config/posix/ptrlock.c: New file.
18036 * config/posix/ptrlock.h: New file.
18037 * config/linux/bar.h (gomp_team_barrier_wait,
18038 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18039 (gomp_team_barrier_set_task_pending,
18040 gomp_team_barrier_clear_task_pending,
18041 gomp_team_barrier_set_waiting_for_tasks,
18042 gomp_team_barrier_waiting_for_tasks,
18043 gomp_team_barrier_done): New inlines.
18044 (gomp_barrier_t): Rewritten.
18045 (gomp_barrier_state_t): New typedef.
18046 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
18047 gomp_barrier_wait_start): Rewritten.
18048 (gomp_barrier_wait_end): Change second argument to
18049 gomp_barrier_state_t.
18050 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
18051 inlines.
18052 * config/linux/bar.c: Include wait.h instead of libgomp.h and
18053 futex.h.
18054 (gomp_barrier_wait_end): Rewritten.
18055 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
18056 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
18057 * config/posix/bar.h (gomp_barrier_t): Add generation field.
18058 (gomp_barrier_state_t): New typedef.
18059 (gomp_team_barrier_wait,
18060 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
18061 (gomp_barrier_wait_start): Or all but low 2 bits from generation
18062 into the return value. Return gomp_barrier_state_t.
18063 (gomp_team_barrier_set_task_pending,
18064 gomp_team_barrier_clear_task_pending,
18065 gomp_team_barrier_set_waiting_for_tasks,
18066 gomp_team_barrier_waiting_for_tasks,
18067 gomp_team_barrier_done): New inlines.
18068 (gomp_barrier_wait_end): Change second argument to
18069 gomp_barrier_state_t.
18070 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
18071 inlines.
18072 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
18073 (gomp_barrier_wait_end): Change second argument to
3e348fcc 18074 gomp_barrier_state_t.
a68ab351
JJ
18075 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
18076 gomp_team_barrier_wake): New functions.
18077 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
18078 futex.h.
18079 (gomp_futex_wake, gomp_futex_wait): New variables.
18080 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
18081 * config/linux/lock.c: Rewrite to make locks task owned,
18082 for backwards compatibility provide the old entrypoints
18083 if symbol versioning. Include wait.h instead of libgomp.h and
18084 futex.h.
18085 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
18086 * config/posix95/lock.c: Rewrite to make locks task owned,
18087 for backwards compatibility provide the old entrypoints
18088 if symbol versioning.
18089 * config/posix/lock.c: Rewrite to make locks task owned,
18090 for backwards compatibility provide the old entrypoints
18091 if symbol versioning.
18092 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
18093 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
18094 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
18095 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18096 (sys_futex0): Return error code.
18097 (futex_wake, futex_wait): If ENOSYS was returned, clear
18098 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18099 (cpu_relax, atomic_write_barrier): New static inlines.
18100 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18101 (futex_wake, futex_wait): If ENOSYS was returned, clear
18102 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18103 (cpu_relax, atomic_write_barrier): New static inlines.
18104 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18105 (sys_futex0): Return error code.
18106 (futex_wake, futex_wait): If ENOSYS was returned, clear
18107 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18108 (cpu_relax, atomic_write_barrier): New static inlines.
18109 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18110 (sys_futex0): Return error code.
18111 (futex_wake, futex_wait): If ENOSYS was returned, clear
18112 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18113 (cpu_relax, atomic_write_barrier): New static inlines.
18114 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18115 (sys_futex0): Return error code.
18116 (futex_wake, futex_wait): If ENOSYS was returned, clear
18117 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18118 (cpu_relax, atomic_write_barrier): New static inlines.
18119 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
18120 (sys_futex0): Return error code.
18121 (futex_wake, futex_wait): If ENOSYS was returned, clear
18122 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
18123 (cpu_relax, atomic_write_barrier): New static inlines.
18124 * config/linux/sem.c: Include wait.h instead of libgomp.h and
18125 futex.h.
18126 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
18127 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
18128 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
18129 types.
18130 (omp_nest_lock_t): Change owner into void *, add lock field.
18131 * config/posix95/omp-lock.h: Include semaphore.h.
18132 (omp_lock_25_t, omp_nest_lock_25_t): New types.
18133 (omp_lock_t): Use sem_t instead of mutex if semaphores
18134 aren't broken.
18135 (omp_nest_lock_t): Likewise. Change owner to void *.
18136 * config/posix/omp-lock.h: Include semaphore.h.
18137 (omp_lock_25_t, omp_nest_lock_25_t): New types.
18138 (omp_lock_t): Use sem_t instead of mutex if semaphores
18139 aren't broken.
18140 (omp_nest_lock_t): Likewise. Add owner field.
18141
181422008-06-06 Jakub Jelinek <jakub@redhat.com>
18143
18144 * testsuite/libgomp.c/collapse-1.c: New test.
18145 * testsuite/libgomp.c/collapse-2.c: New test.
18146 * testsuite/libgomp.c/collapse-3.c: New test.
18147 * testsuite/libgomp.c/icv-1.c: New test.
18148 * testsuite/libgomp.c/icv-2.c: New test.
18149 * testsuite/libgomp.c/lib-2.c: New test.
18150 * testsuite/libgomp.c/lock-1.c: New test.
18151 * testsuite/libgomp.c/lock-2.c: New test.
18152 * testsuite/libgomp.c/lock-3.c: New test.
18153 * testsuite/libgomp.c/loop-4.c: New test.
18154 * testsuite/libgomp.c/loop-5.c: New test.
18155 * testsuite/libgomp.c/loop-6.c: New test.
18156 * testsuite/libgomp.c/loop-7.c: New test.
18157 * testsuite/libgomp.c/loop-8.c: New test.
18158 * testsuite/libgomp.c/loop-9.c: New test.
18159 * testsuite/libgomp.c/nested-3.c: New test.
18160 * testsuite/libgomp.c/nestedfn-6.c: New test.
18161 * testsuite/libgomp.c/sort-1.c: New test.
18162 * testsuite/libgomp.c/task-1.c: New test.
18163 * testsuite/libgomp.c/task-2.c: New test.
18164 * testsuite/libgomp.c/task-3.c: New test.
18165 * testsuite/libgomp.c/task-4.c: New test.
18166 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
18167 to C++ testsuite default compiler options.
18168 * testsuite/libgomp.c++/collapse-1.C: New test.
18169 * testsuite/libgomp.c++/collapse-2.C: New test.
18170 * testsuite/libgomp.c++/ctor-10.C: New test.
18171 * testsuite/libgomp.c++/for-1.C: New test.
18172 * testsuite/libgomp.c++/for-2.C: New test.
18173 * testsuite/libgomp.c++/for-3.C: New test.
18174 * testsuite/libgomp.c++/for-4.C: New test.
18175 * testsuite/libgomp.c++/for-5.C: New test.
18176 * testsuite/libgomp.c++/loop-8.C: New test.
18177 * testsuite/libgomp.c++/loop-9.C: New test.
18178 * testsuite/libgomp.c++/loop-10.C: New test.
18179 * testsuite/libgomp.c++/task-1.C: New test.
18180 * testsuite/libgomp.c++/task-2.C: New test.
18181 * testsuite/libgomp.c++/task-3.C: New test.
18182 * testsuite/libgomp.c++/task-4.C: New test.
18183 * testsuite/libgomp.c++/task-5.C: New test.
18184 * testsuite/libgomp.c++/task-6.C: New test.
18185 * testsuite/libgomp.fortran/allocatable1.f90: New test.
18186 * testsuite/libgomp.fortran/allocatable2.f90: New test.
18187 * testsuite/libgomp.fortran/allocatable3.f90: New test.
18188 * testsuite/libgomp.fortran/allocatable4.f90: New test.
18189 * testsuite/libgomp.fortran/collapse1.f90: New test.
18190 * testsuite/libgomp.fortran/collapse2.f90: New test.
18191 * testsuite/libgomp.fortran/collapse3.f90: New test.
18192 * testsuite/libgomp.fortran/collapse4.f90: New test.
18193 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
18194 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
18195 * testsuite/libgomp.fortran/lib4.f90: New test.
18196 * testsuite/libgomp.fortran/lock-1.f90: New test.
18197 * testsuite/libgomp.fortran/lock-2.f90: New test.
18198 * testsuite/libgomp.fortran/nested1.f90: New test.
18199 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
18200 * testsuite/libgomp.fortran/strassen.f90: New test.
18201 * testsuite/libgomp.fortran/tabs1.f90: New test.
18202 * testsuite/libgomp.fortran/tabs2.f: New test.
18203 * testsuite/libgomp.fortran/task1.f90: New test.
18204 * testsuite/libgomp.fortran/task2.f90: New test.
18205 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
18206 * testsuite/libgomp.fortran/vla5.f90: Likewise.
18207 * testsuite/libgomp.c/pr26943-2.c: Likewise.
18208 * testsuite/libgomp.c/pr26943-3.c: Likewise.
18209 * testsuite/libgomp.c/pr26943-4.c: Likewise.
18210
7a0112e7
JJ
182112008-05-23 Jakub Jelinek <jakub@redhat.com>
18212
18213 PR c++/36308
18214 * testsuite/libgomp.c++/ctor-11.C: New test.
18215 * testsuite/libgomp.c++/ctor-12.C: New test.
18216
91a5b394
JJ
182172008-05-15 Janis Johnson <janis187@us.ibm.com>
18218
18219 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
18220
c18c98c0
JJ
182212008-05-07 Jakub Jelinek <jakub@redhat.com>
18222
18223 PR middle-end/36106
18224 * testsuite/libgomp.c/atomic-5.c: New test.
18225 * testsuite/libgomp.c/atomic-6.c: New test.
18226 * testsuite/libgomp.c/autopar-1.c: New test.
18227
6d26724a
RW
182282008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18229
18230 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
18231 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
18232 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
18233 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
18234 * configure: Regenerate.
18235 * Makefile.in, testsuite/Makefile.in: Likewise.
18236
deb984e6
PB
182372008-04-18 Paolo Bonzini <bonzini@gnu.org>
18238
18239 PR bootstrap/35457
18240 * aclocal.m4: Regenerate.
18241 * configure: Regenerate.
18242
9e775963
JJ
182432008-03-18 Jakub Jelinek <jakub@redhat.com>
18244
8119fc93
JJ
18245 PR middle-end/35611
18246 * testsuite/libgomp.c/atomic-4.c: New test.
18247
9e775963
JJ
18248 PR libgomp/35625
18249 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
18250 (gomp_iter_guided_next): Likewise.
18251 * testsuite/libgomp.c/pr35625.c: New test.
18252
38d24731
RW
182532008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18254
18255 * aclocal.m4: Regenerate.
18256 * configure: Likewise.
18257 * Makefile.in: Likewise.
18258 * testsuite/Makefile.in: Likewise.
18259
d0fb20be
JJ
182602008-03-13 Jakub Jelinek <jakub@redhat.com>
18261
18262 PR middle-end/35185
18263 * testsuite/libgomp.c++/pr35185.C: New test.
18264
7c8f7639
JJ
182652008-03-12 Jakub Jelinek <jakub@redhat.com>
18266
18267 PR middle-end/35549
18268 * testsuite/libgomp.c/pr35549.c: New test.
18269
251923f5
JJ
182702008-03-06 Jakub Jelinek <jakub@redhat.com>
18271
18272 * testsuite/libgomp.c/atomic-3.c: New test.
18273
f489fba1
FXC
182742008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
18275
18276 PR fortran/33197
251923f5 18277 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
18278 .F08 file suffixes.
18279
a1b25e49
PG
182802008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
18281
18282 PR libgomp/33131
18283 * configure.ac: Add ACX_HEADER_STRING.
18284 * env.c: Include strings.h.
18285 * aclocal.m4: Regenerate.
18286 * config.h.in: Regenerate.
18287 * configure: Regenerate.
18288 * Makefile.in: Regenerate.
18289 * testsuite/Makefile.in: Regenerate.
18290
6837b3b8
JJ
182912008-02-15 Jakub Jelinek <jakub@redhat.com>
18292
ac84c062
JJ
18293 PR middle-end/35196
18294 * testsuite/libgomp.c/pr35196.c: New test.
18295
6837b3b8
JJ
18296 PR middle-end/35130
18297 * testsuite/libgomp.fortran/pr35130.f90: New test.
18298 * testsuite/libgomp.c/pr35130.c: New test.
18299
c256730c
JJ
183002008-01-25 Jakub Jelinek <jakub@redhat.com>
18301
18302 PR middle-end/33880
18303 * testsuite/libgomp.c/pr33880.c: New test.
18304 * testsuite/libgomp.fortran/pr33880.f90: New test.
18305
c8e95542 183062008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
18307
18308 * configure: Regenerate.
18309
0f3e711e
JJ
183102008-01-08 Jakub Jelinek <jakub@redhat.com>
18311
18312 * configure.ac: Move futex checking into ../config/futex.m4.
18313 * configure: Rebuilt.
18314 * aclocal.m4: Rebuilt.
18315 * Makefile.in: Rebuilt.
18316
18317 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
18318 2007-10-15 ../config/tls.m4 change.
18319
5259c813
JJ
183202007-12-19 Jakub Jelinek <jakub@redhat.com>
18321
18322 PR c++/34513
18323 * testsuite/libgomp.c/pr34513.c: New test.
18324 * testsuite/libgomp.c++/pr34513.C: New test.
18325
ae8d8879
JH
183262007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
18327
18328 PR target/32765
18329 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
18330
2b4cf991
JJ
183312007-12-04 Jakub Jelinek <jakub@redhat.com>
18332
18333 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
18334
d2dda7fe
JJ
183352007-12-03 Jakub Jelinek <jakub@redhat.com>
18336
18337 * testsuite/libgomp.c/private-1.c: New test.
18338
d683ec81
PB
183392007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
18340 Paolo Bonzini <bonzini@gnu.org>
18341
18342 * Makefile.am: Use space as vpath separator. Use 'vpath %'
18343 instead of 'VPATH ='.
18344 * Makefile.in: Regenerate.
18345
a7415017
MK
183462007-11-23 Matthias Klose <doko@ubuntu.com>
18347
18348 * configure.ac: Adjust makeinfo version check.
18349 * configure: Regenerate.
18350
78e47463
JJ
183512007-11-10 Jakub Jelinek <jakub@redhat.com>
18352
18353 PR fortran/34020
18354 * testsuite/libgomp.fortran/pr34020.f90: New test.
18355
239371f9
JJ
183562007-11-06 Jakub Jelinek <jakub@redhat.com>
18357
18358 PR c++/33894
18359 * testsuite/libgomp.c++/atomic-1.C: New test.
18360
98a5fa94
JJ
183612007-10-25 Jakub Jelinek <jakub@redhat.com>
18362
18363 PR libgomp/33275
18364 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
18365 Make x and y integers rather than (implicit) reals. Add private (j)
18366 clause to the last omp parallel.
18367
3afcaaf4
MR
183682007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
18369
18370 * configure: Regenerate following changes to ../config/tls.m4.
18371
bd69daef
JJ
183722007-09-28 Jakub Jelinek <jakub@redhat.com>
18373
18374 * testsuite/libgomp.fortran/stack.f90: New test.
18375
1d0bd356
DS
183762007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
18377
18378 * config/mingw32/proc.c: New file.
18379
b3172cab
UB
183802007-09-05 Uros Bizjak <ubizjak@gmail.com>
18381
18382 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
18383 (main): Use __get_cpuid to get i386 target fetaures.
18384 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
18385 (main): Use __get_cpuid to get x86_64 target fetaures.
18386
6da17392
JH
183872007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
18388
18389 PR target/32765
18390 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
18391 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
18392
e1c82219
JJ
183932007-07-12 Jakub Jelinek <jakub@redhat.com>
18394
18395 PR fortran/32550
18396 * testsuite/libgomp.fortran/pr32550.f90: New test.
18397 * testsuite/libgomp.fortran/crayptr2.f90: New test.
18398
12a27363
L
183992007-07-05 H.J. Lu <hongjiu.lu@intel.com>
18400
18401 * aclocal.m4: Regenerated.
18402
5349080d
TB
184032007-07-05 Tobias Burnus <burnus@net-b.de>
18404
18405 PR fortran/32359
18406 * testsuite/libgomp.fortran/pr32359.f90: New.
18407
4f9c450c
JJ
184082007-07-02 Jakub Jelinek <jakub@redhat.com>
18409
18410 PR libgomp/32468
18411 * sections.c (GOMP_parallel_sections_start): Only decrease
18412 number of threads to COUNT if dyn_var is true.
18413 * testsuite/libgomp.c/pr32468.c: New test.
18414
28c67ed7
RO
184152007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
18416
18417 PR libgomp/26308
18418 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
18419
64964499
JJ
184202007-06-21 Jakub Jelinek <jakub@redhat.com>
18421
18422 PR middle-end/32362
18423 * testsuite/libgomp.c/pr32362-1.c: New test.
18424 * testsuite/libgomp.c/pr32362-2.c: New test.
18425 * testsuite/libgomp.c/pr32362-3.c: New test.
18426
46d8fbd1
JJ
184272007-06-07 Jakub Jelinek <jakub@redhat.com>
18428
18429 * team.c (gomp_team_start): Fix setting up thread_attr
18430 stack size.
18431
82a6cadf
PB
184322007-06-02 Paolo Bonzini <bonzini@gnu.org>
18433
18434 * configure: Regenerate.
18435
1cf3d07d
SE
184362007-05-23 Steve Ellcey <sje@cup.hp.com>
18437
18438 * Makefile.in: Regenerate.
18439 * configure: Regenerate.
18440 * aclocal.m4: Regenerate.
18441 * testsuite/Makefile.in: Regenerate.
18442
12aac30b
JJ
184432007-05-04 Jakub Jelinek <jakub@redhat.com>
18444
18445 * config/linux/proc.c: New file.
18446
f1028b02
JJ
18447 PR libgomp/28482
18448 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
18449
06785a48
DF
184502007-04-19 Daniel Franke <franke.daniel@gmail.com>
18451
18452 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
18453
b3b08ba0
MK
184542007-04-16 Matthias Klose <doko@debian.org>
18455
18456 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
18457 flags if not building with -m64.
18458 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
18459 flag for i?86-*-* targets, if current target matches -m64.
18460
6b2c5ce0
SE
184612007-04-14 Steve Ellcey <sje@cup.hp.com>
18462
18463 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
18464 * Makefile.in: Regenerate.
18465
dd56fe7c
JDA
184662007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18467
18468 PR testsuite/31369
18469 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
18470 ld_library_path.
18471 * testsuite/libgomp.fortran/fortran.exp: Likewise.
18472
a0884cf0
JJ
184732007-04-04 Jakub Jelinek <jakub@redhat.com>
18474
18475 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
18476 decls.
18477 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
18478 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
18479 (parse_affinity): New function.
18480 (initialize_env): Call it and gomp_init_affinity.
18481 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
18482 create new pthread_attr_t and call gomp_init_thread_affinity
18483 on it for each thread before passing the attribute to pthread_create.
18484 * config/linux/affinity.c: New file.
18485 * config/posix/affinity.c: New file.
18486 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
18487 * configure: Rebuilt.
18488 * config.h.in: Rebuilt.
18489 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
18490 * Makefile.in: Rebuilt.
18491
1850744b
AT
184922007-03-23 Andreas Tobler <a.tobler@schweiz.org>
18493
18494 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
18495 *-*-darwin*.
18496 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
18497 and use it if found.
18498
516f1ed8
UB
184992007-03-18 Uros Bizjak <ubizjak@gmail.com>
18500
18501 * testsuite/config/default.exp: New file.
18502 * testsuite/lib/libgomp.exp: New file.
18503 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
18504 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
18505 load_lib *, load_gcc_lib *): Move to libgomp.exp.
18506 (libgomp_load): Remove.
18507 * testsuite/lib/libgomp.exp (libgomp_init): Compute
18508 always_ld_library_path, not ld_library_path. Set additional_flags
18509 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
18510 (target_compile): Do not call libgomp_init. Append lang_library_path
18511 and lang_link_flags to options.
18512 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
18513 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
18514 here.
18515 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
18516 always_ld_library_path. Set LD_LIBRARY_PATH here.
18517 * testsuite/libgomp.fortran/fortran.exp: Ditto.
18518 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
18519 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
18520 CX8 flag.
18521 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
18522 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
18523 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
18524 * testsuite/libgomp.c/pr29947-1.c: Ditto.
18525 * testsuite/libgomp.c/atomic-10.c: Ditto.
18526
2ada56f5
JJ
185272007-03-21 Jakub Jelinek <jakub@redhat.com>
18528
18529 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
18530 dg-final cleanup-modules line.
18531 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
18532 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
18533 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
18534 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
18535 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
18536 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
18537 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
18538
f210f1cd
AS
185392007-03-18 Andreas Schwab <schwab@suse.de>
18540
18541 * acinclude.m4: Adjust regular expression for ld version
18542 extraction.
18543 * configure: Regenerate.
18544
c4dc950d
BM
185452007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
18546
18547 * Makefile.am: Add install-pdf target as copied from
18548 automake v1.10 rules.
18549 * Makefile.in: Regenerate
18550
e02a048f
JJ
185512007-02-07 Jakub Jelinek <jakub@redhat.com>
18552
78e075d4
JJ
18553 PR libgomp/28486
18554 * configure: Regenerate.
18555
e02a048f
JJ
18556 PR c++/30703
18557 * testsuite/libgomp.c++/pr30703.C: New test.
18558
60def7ed
JJ
185592007-02-02 Jakub Jelinek <jakub@redhat.com>
18560
18561 Revert:
18562 2006-07-05 Eric Christopher <echristo@apple.com>
18563 * configure.ac: Depend addition of -pthread on host OS.
18564 * configure: Regenerate.
18565
f1b0882e
RW
185662007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
18567
18568 * libgomp.texi: Fix spacing after abbreviations.
18569
748b9d7c
DF
185702007-01-31 Daniel Franke <franke.daniel@gmail.com>
18571
18572 PR libgomp/30546
18573 * configure.ac: Add check for makeinfo
18574 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 18575 if an appropriate version of makeinfo is found.
748b9d7c
DF
18576 * aclocal.m4: Regenerated.
18577 * configure: Regenerated.
18578 * Makefile.in: Regenerated.
18579 * testsuite/Makefile.in: Regenerated.
18580
14734fc7
DF
185812007-01-29 Daniel Franke <franke.daniel@gmail.com>
18582
18583 PR libgomp/30540
18584 * libgomp.texi: More about implementation-dependent settings.
18585
7befd5d2
TB
185862007-01-26 Tobias Burnus <burnus@net-b.de>
18587
18588 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
18589
4288fea2
JJ
185902007-01-24 Jakub Jelinek <jakub@redhat.com>
18591
18592 PR middle-end/30494
18593 * testsuite/libgomp.c/pr30494.c: New test.
18594
627ab4b8
TT
185952007-01-15 Tom Tromey <tromey@redhat.com>
18596
18597 * configure: Rebuilt.
18598 * configure.ac: Fixed comment.
18599
7c2b7f45
DF
186002007-01-14 Daniel Franke <franke.daniel@gmail.com>
18601
18602 * libgomp.texi: Document implementation specific default values of
18603 environment variables.
18604
3721b9e1
DF
186052006-12-21 Daniel Franke <franke.daniel@gmail.com>
18606
18607 PR libgomp/28209
18608 * libgomp.texi: New file.
18609 * configure.ac: Add --enable-generated-files-in-srcdir option.
18610 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
18611 files to srcdir.
18612 * Makefile.in: Regenerated.
18613 * config.h.in: Regenerated.
18614 * testsuite/Makefile.in: Regenerated.
18615 * NOTES: Removed.
18616
62bd6216
DF
186172006-12-04 Daniel Franke <franke.daniel@gmail.com>
18618
18619 PR libgomp/29949
18620 * env.c (omp_set_num_threads): Set illegal thread count to 1.
18621
aad741f4
EB
186222006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
18623
18624 * configure: Regenerate.
18625
22568cc6
JJ
186262006-12-04 Jakub Jelinek <jakub@redhat.com>
18627
18628 PR libgomp/29947
18629 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
18630 start if there shouldn't be any loop iterations.
18631 (gomp_loop_ordered_static_start): Remove start == end test.
18632 * testsuite/libgomp.c/pr29947-1.c: New test.
18633 * testsuite/libgomp.c/pr29947-2.c: New test.
18634
a9690009
EB
186352006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
18636
18637 * configure.tgt: Force initial-exec TLS model on Linux only.
18638
597c25e6
DJ
186392006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
18640
18641 * configure: Regenerated.
18642
6acf0b38
UB
186432006-11-09 Uros Bizjak <ubizjak@gmail.com>
18644
18645 * env.c (parse_schedule): Reject out of range values.
18646 (parse_unsigned_long): Reject out of range, negative or zero values.
18647
a7a53ca5
JJ
186482006-10-29 Jakub Jelinek <jakub@redhat.com>
18649
18650 PR fortran/29629
18651 * testsuite/libgomp.fortran/pr29629.f90: New test.
18652
6d4d216a
EB
186532006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
18654
18655 PR libgomp/29494
18656 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
18657 * config/posix95: New directory.
18658 * config/posix95/omp-lock.h: New file.
18659 * config/posix95/lock.c: Likewise.
18660
5b043f08
GK
186612006-10-14 Geoffrey Keating <geoffk@apple.com>
18662
18663 * aclocal.m4: Regenerate.
18664 * configure: Regenerate.
18665
b50019f0
DS
186662006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
18667
18668 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
18669 '<' to '<='.
18670
8887708e
DS
186712006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
18672
18673 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
18674 test.
18675 * configure: Regenerate.
18676 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
18677
9b9e4cd6
JJ
186782006-09-26 Jakub Jelinek <jakub@redhat.com>
18679
a70ad3bb
JJ
18680 PR middle-end/25261
18681 PR middle-end/28790
18682 * testsuite/libgomp.c/nestedfn-4.c: New test.
18683 * testsuite/libgomp.c/nestedfn-5.c: New test.
18684 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
18685
9b9e4cd6
JJ
18686 PR fortran/29097
18687 * testsuite/libgomp.fortran/condinc1.f: New test.
18688 * testsuite/libgomp.fortran/condinc2.f: New test.
18689 * testsuite/libgomp.fortran/condinc3.f90: New test.
18690 * testsuite/libgomp.fortran/condinc4.f90: New test.
18691 * testsuite/libgomp.fortran/condinc1.inc: New file.
18692
2fb31455
TT
186932006-09-18 Tom Tromey <tromey@redhat.com>
18694
18695 * configure: Rebuilt.
18696
c663e301
JM
186972006-09-13 Joseph S. Myers <joseph@codesourcery.com>
18698
18699 PR c/28768
18700 PR preprocessor/14634
18701 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
18702 to AC_DEFINE.
18703 * configure: Regenerate.
18704
38371be9
SK
187052006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
18706
18707 * testsuite/libgomp.fortran/reduction3.f90: Change
18708 -2147483648 to -huge(i)-1 to avoid overflow.
18709 * testsuite/libgomp.fortran/reduction4.f90: Change
18710 Z'ffffffff' to not(0) to avoid overflow.
18711
571d5ac5
JM
187122006-08-26 Joseph S. Myers <joseph@codesourcery.com>
18713
18714 PR libgomp/25938
18715 * Makefile.am (libsubincludedir): New.
18716 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
18717 * Makefile.in: Regenerate.
18718
89b3e3cd
JJ
187192006-08-17 Jakub Jelinek <jakub@redhat.com>
18720
18721 PR libgomp/28725
18722 * env.c: Include ctype.h.
18723 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
18724 leading and/or trailing whitespace and compare strings case
18725 insensitively.
18726
742fae05
JJ
187272006-07-16 Jakub Jelinek <jakub@redhat.com>
18728
18729 PR fortran/28390
18730 * testsuite/libgomp.fortran/pr28390.f: New test.
18731
a1daed2d
EC
187322006-07-05 Eric Christopher <echristo@apple.com>
18733
18734 * configure.ac: Depend addition of -pthread on host OS.
18735 * configure: Regenerate.
18736
5d7b5199
JJ
187372006-06-21 Jakub Jelinek <jakub@redhat.com>
18738
18739 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
18740 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
18741 defined.
18742
fe5568e9
JJ
187432006-06-20 Jakub Jelinek <jakub@redhat.com>
18744
18745 PR libgomp/26175
18746 PR libgomp/26477
18747 * configure.ac: If neither --enable-linux-futex nor
18748 --disable-linux-futex is passed, determine the default by checking
18749 for compiling and/or running against NPTL. With --enable-linux-futex,
18750 check if SYS_gettid and SYS_futex are defined.
18751 * configure: Rebuilt.
18752
c3b11a40
RH
187532006-06-14 Richard Henderson <rth@redhat.com>
18754
18755 PR libgomp/28008
18756 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
18757 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
18758
d0d1b24d
RH
187592006-06-09 Richard Henderson <rth@redhat.com>
18760
18761 * env.c (gomp_nthreads_var): Change to unsigned long.
18762 (gomp_run_sched_chunk): Likewise.
18763 (parse_unsigned_long): Rename from parse_num_threads and generalize.
18764 (initialize_env): Initialize gomp_thread_attr.
18765 * libgomp.h (gomp_nthreads_var): Update decl.
18766 (gomp_run_sched_chunk): Likewise.
18767 (gomp_thread_attr): Declare.
18768 * team.c (gomp_thread_attr): Export.
18769 (initialize_team): Don't initialize it.
18770
cd75853e
JJ
187712006-06-09 Jakub Jelinek <jakub@redhat.com>
18772
18773 PR fortran/27916
18774 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
18775 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
18776
33815e0c
FXC
187772006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
18778
18779 * config/mingw32/time.c: New file.
18780 * configure.tgt: Use it.
18781
6667de0d
CD
187822006-05-23 Carlos O'Donell <carlos@codesourcery.com>
18783
18784 * Makefile.am: Add install-html target. Add install-html to .PHONY
18785 * Makefile.in: Regenerate.
18786
e962c46b
JDA
187872006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
18788
18789 PR libgomp/27612
18790 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
18791 * testsuite/libgomp.c/critical-1.c: Likewise.
18792 * testsuite/libgomp.c/loop-1.c: Likewise.
18793 * testsuite/libgomp.c/loop-2.c: Likewise.
18794 * testsuite/libgomp.c/single-1.c: Likewise.
18795 * testsuite/libgomp.c/ordered-1.c: Likewise.
18796 * testsuite/libgomp.c/ordered-2.c: Likewise.
18797
eeb1d9e0
JJ
187982006-05-15 Jakub Jelinek <jakub@redhat.com>
18799
18800 PR middle-end/27416
18801 * libgomp.fortran/pr27416-1.f90: New test.
18802
693d710f
JJ
188032006-05-03 Jakub Jelinek <jakub@redhat.com>
18804
18805 PR fortran/27395
18806 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
18807 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
18808
8ca5b2a2
JJ
188092006-05-02 Jakub Jelinek <jakub@redhat.com>
18810
18811 PR c++/26943
18812 * testsuite/libgomp.c/pr26943-1.c: New test.
18813 * testsuite/libgomp.c/pr26943-2.c: New test.
18814 * testsuite/libgomp.c/pr26943-3.c: New test.
18815 * testsuite/libgomp.c/pr26943-4.c: New test.
18816 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
18817 * testsuite/libgomp.c++/pr26943.C: New test.
18818
077b0dfb
JJ
188192006-05-02 Jakub Jelinek <jakub@redhat.com>
18820
18821 PR middle-end/27337
18822 * testsuite/libgomp.c++/pr27337.C: New test.
18823
91b6c26d
JJ
188242006-04-26 Jakub Jelinek <jakub@redhat.com>
18825
18826 PR c/26171
18827 * testsuite/libgomp.c/pr26171.c: New test.
18828
60e1758f
RH
188292006-04-25 Richard Henderson <rth@redhat.com>
18830
18831 PR libgomp/25865
18832 * configure.ac: Use GCC_CHECK_TLS.
18833 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
18834 * Makefile.in, aclocal.m4, configure: Regenerate.
18835
615baed7
MK
188362006-04-10 Matthias Klose <doko@debian.org>
18837
18838 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
18839 directory names containing underscores.
18840
fae2b46b
JJ
188412006-03-21 Jakub Jelinek <jakub@redhat.com>
18842
18843 PR c++/26691
18844 * testsuite/libgomp.c++/pr26691.C: New test.
18845
11a5f608
JJ
188462006-03-13 Jakub Jelinek <jakub@redhat.com>
18847
18848 * testsuite/libgomp.fortran/retval2.f90: New test.
18849
1799e5d5
RH
188502006-03-09 Diego Novillo <dnovillo@redhat.com>
18851
18852 * testsuite/libgomp.c++: New directory.
18853
d349482e
AT
188542006-02-25 Shantonu Sen <ssen@opendarwin.org>
18855
18856 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
18857 * config/posix/sem.c: Implement the above.
18858
188592006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
18860
18861 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
18862 define HAVE_BROKEN_POSIX_SEMAPHORES.
18863 * configure: Rebuilt.
18864 * config.h.in: Rebuilt.
18865
124452c9
FXC
188662006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
18867
18868 PR bootstrap/26161
18869 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
18870 for the other pthread check.
18871 * configure: Regenerate.
18872 * config.h.in: Regenerate.
18873
dd8d6dfe
JJ
188742006-02-15 Jakub Jelinek <jakub@redhat.com>
18875
18876 PR libgomp/25938
18877 PR libgomp/25984
18878 * Makefile.am (fincludedir): New variable.
18879 (nodist_include_HEADERS): Remove Fortran files.
18880 (nodist_finclude_HEADERS): New variable.
18881 * Makefile.in: Regenerated.
18882
6c7a4dfd
JJ
188832006-02-13 Jakub Jelinek <jakub@redhat.com>
18884
18885 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
18886 Remove tests for returning assumed character length arrays.
18887
5142e08b
RS
188882006-02-12 Roger Sayle <roger@eyesopen.com>
18889 John David Anglin <dave@hiauly1.hia.nrc.ca>
18890
18891 PR libgomp/25936
18892 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 18893
5821fba8
UW
188942006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
18895
18896 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
18897
cb2bbc67
EB
188982006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
18899
18900 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
18901 part of LD_LIBRARY_PATH manually.
18902
f05ee80c
L
189032006-02-03 H.J. Lu <hongjiu.lu@intel.com>
18904
18905 PR libgomp/25852
18906 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
18907 libgomp_init.
18908
03b8fe49
PB
189092005-01-25 Paolo Bonzini <bonzini@gnu.org>
18910
18911 PR libgomp/25884
f05ee80c
L
18912 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
18913 * configure.ac (PERL): Don't set.
18914 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
18915 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
18916 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
18917 * omp.h.in: Wrap the new configure substitutions with @ characters.
18918 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
18919 * aclocal.m4, configure, Makefile.in: Regenerate.
18920 * mkomp_h.pl: Delete.
03b8fe49 18921
18cbfd85
PB
189222005-01-24 Paolo Bonzini <bonzini@gnu.org>
18923
18924 PR libgomp/25259
18925 * configure.ac: Use GCC_HEADER_STDINT.
18926 * libgomp.h: Include gstdint.h.
18927 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
18928 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
18929
c41303c6
RH
189302006-01-24 Richard Henderson <rth@redhat.com>
18931
18932 PR libgomp/25942
18933 * configure.ac: Add AM_MAINTAINER_MODE.
18934 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
18935
149b9553
DN
189362006-01-24 Diego Novillo <dnovillo@redhat.com>
18937
18938 * Makefile.in: Regenerate.
18939 * testsuite/Makefile.in: Regenerate.
18940 * aclocal.m4: Regenerate.
18941
192a50ad
AT
189422006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
18943
18944 * config/posix/proc.c: Conditional include of sys/loadavg.h for
18945 Solaris.
18946 * configure.ac: Add check for loadavg.h.
18947 (link_gomp): Adjust comment.
18948 * configure: Regenerate.
18949 * config.h.in: Regenerate.
18950
a55b8e18
SE
189512006-01-21 Steve Ellcey <sje@cup.hp.com>
18952
18953 PR libgomp/25877
18954 * configure.ac: Remove check for alloca.h.
18955 * configure: Regenerate.
18956 * config.h.in: Regenerate.
18957 * libgomp.h: define gomp_alloca to be __builtin_alloca.
18958 * team.c: Remove use of alloca.h.
18959 Call gomp_alloca instead of alloca.
18960
692eeb34
SE
189612006-01-20 Steve Ellcey <sje@cup.hp.com>
18962
18963 PR libgomp/25877
18964 * team.c: Add include of alloca.h.
18965 * configure.ac: Add check for alloca.h.
18966 * configure: Regenerate.
18967 * config.h.in: Regenerate.
18968
953ff289
DN
189692006-01-17 Jakub Jelinek <jakub@redhat.com>
18970
18971 PR fortran/25219
18972 * testsuite/libgomp.fortran/pr25219.f90: New test.
18973
189742005-12-05 Uros Bizjak <uros@kss-loka.si>
18975
18976 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
18977 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
18978 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
18979 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
18980 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
18981 testsuite/libgomp.fortran/threadprivate1.f90,
18982 testsuite/libgomp.fortran/threadprivate2.f90,
18983 testsuite/libgomp.fortran/threadprivate3.f90,
18984 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
18985 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
18986 testsuite/libgomp.fortran/omp_parse3.f90: Change required
18987 effective-target to TLS runtime.
18988
18989 * testsuite/libgomp.fortran/pr25162.f: Require
18990 effective-target TLS runtime.
18991
189922005-12-01 Jakub Jelinek <jakub@redhat.com>
18993
18994 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
18995 * testsuite/libgomp.c/nestedfn-3.c: New test.
18996
189972005-11-30 Jakub Jelinek <jakub@redhat.com>
18998
18999 PR fortran/25162
19000 * testsuite/libgomp.fortran/pr25162.f: New test.
19001
190022005-11-28 Jakub Jelinek <jakub@redhat.com>
19003
19004 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
19005 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
19006
190072005-11-25 Jakub Jelinek <jakub@redhat.com>
19008
19009 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
19010 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
19011 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
19012 single.c, team.c, work.c, config/linux/alpha/futex.h,
19013 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
19014 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
19015 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
19016 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
19017 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
19018 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
19019 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
19020 FSF address.
19021
190222005-11-18 Jakub Jelinek <jakub@redhat.com>
19023
19024 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
19025 to nodist_noinst_HEADERS.
19026 * Makefile.in: Rebuilt.
19027
19028 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
19029 add integer count field.
19030 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
19031 omp_nest_lock_t type change.
19032 (omp_init_nest_lock): Likewise. Initialize count to 0.
19033 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
19034 Increment count.
19035 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
19036 Decrement count.
19037 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
19038 Increment count if successful and return the new nesting level.
19039 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
19040 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
19041 * testsuite/libgomp.c/lib-1.c: New test.
19042 * testsuite/libgomp.fortran/lib1.f90: New test.
19043 * testsuite/libgomp.fortran/lib2.f: New test.
19044 * testsuite/libgomp.fortran/lib3.f: New test.
19045
190462005-11-17 Richard Henderson <rth@redhat.com>
19047
19048 PR 24845
19049 * Makefile.am (nodist_toolexeclib_HEADERS): New.
19050 * configure.ac (link_gomp): New. Substitute it.
19051 (AC_CONFIG_FILES): Add libgomp.spec.
19052 * libgomp.spec.in: New file.
19053 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
19054 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
19055
190562005-11-18 Jakub Jelinek <jakub@redhat.com>
19057
19058 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
19059 reduction(-:var) behaving the same as reduction(+:var).
19060 * testsuite/libgomp.c/reduction-4.c: New test.
19061
190622005-11-15 Uros Bizjak <uros@kss-loka.si>
19063
19064 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
19065 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
19066 testsuite/libgomp.c/copyin-3.c,
19067 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
19068 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
19069 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
19070 testsuite/libgomp.c++/pr24455.C,
19071 testsuite/libgomp.fortran/threadprivate1.f90,
19072 testsuite/libgomp.fortran/threadprivate2.f90,
19073 testsuite/libgomp.fortran/threadprivate3.f90,
19074 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
19075 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
19076 testsuite/libgomp.fortran/omp_parse3.f90: Require
19077 effective-target TLS.
19078
190792005-11-14 Diego Novillo <dnovillo@redhat.com>
19080
19081 * HEADER: Remove.
19082
190832005-11-13 Jakub Jelinek <jakub@redhat.com>
19084
19085 PR libgomp/24797
19086 * team.c (initialize_team): Pass NULL rather than free as
19087 pthread_key_create destructor. Initialize thread specific data
19088 pointer in initial thread to a static local variable rather than
19089 malloced memory.
19090
190912005-11-11 Uros Bizjak <uros@kss-loka.si>
19092
19093 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
19094 its location to ld_library_path.
19095
190962005-11-10 Diego Novillo <dnovillo@redhat.com>
19097
19098 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
19099
191002005-11-10 Diego Novillo <dnovillo@redhat.com>
19101
19102 * testsuite/libgomp.c: Rename from libgomp.dg.
19103
191042005-11-09 Diego Novillo <dnovillo@redhat.com>
19105
19106 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
19107 threadprivate variable 'i'.
19108
191092005-11-09 Jakub Jelinek <jakub@redhat.com>
19110
19111 * config/linux/s390/futex.h: New file.
19112 * configure.tgt: Use it.
19113
19114 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
19115 before the parallel.
19116
191172005-11-08 Jakub Jelinek <jakub@redhat.com>
19118
19119 PR c++/24734
19120 * testsuite/libgomp.c++/master-1.C: New test.
19121
191222005-11-07 Jakub Jelinek <jakub@redhat.com>
19123
19124 * testsuite/libgomp.dg/copyin-3.c: New test.
19125
191262005-11-07 Jakub Jelinek <jakub@redhat.com>
19127
19128 * testsuite/libgomp.fortran/retval1.f90: New test.
19129 * testsuite/libgomp.fortran/vla7.f90: New test.
19130
191312005-11-06 Jakub Jelinek <jakub@redhat.com>
19132
19133 * testsuite/libgomp.fortran/vla2.f90: New test.
19134 * testsuite/libgomp.fortran/vla3.f90: New test.
19135 * testsuite/libgomp.fortran/vla4.f90: New test.
19136 * testsuite/libgomp.fortran/vla5.f90: New test.
19137 * testsuite/libgomp.fortran/vla6.f90: New test.
19138
191392005-11-01 Jakub Jelinek <jakub@redhat.com>
19140
19141 * config/linux/sparc/futex.h: New file.
19142 * configure.tgt: Use it.
19143 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
19144
19145 * critical.c: Include stdlib.h.
19146 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
19147 ignoring return value.
19148 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
19149 LIBGOMP_CHECK_SYNC_BUILTINS check.
19150 * configure: Rebuilt.
19151
191522005-10-31 Jakub Jelinek <jakub@redhat.com>
19153
19154 * testsuite/libgomp.fortran/vla1.f90: New test.
19155
191562005-10-31 Richard Henderson <rth@redhat.com>
19157
19158 * testsuite/libgomp.fortran/character2.f90: Fix race condition
19159 setting 's' in different threads.
19160
191612005-10-31 Jakub Jelinek <jakub@redhat.com>
19162
19163 * libgomp.h (attribute_hidden, ialias): Define.
19164 * config/posix/proc.c (omp_get_num_procs): Add ialias.
19165 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
19166 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
19167 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
19168 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
19169 omp_test_lock, omp_test_nest_lock): Likewise.
19170 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
19171 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
19172 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
19173 omp_test_lock, omp_test_nest_lock): Likewise.
19174 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
19175 omp_get_dynamic, omp_get_nested): Likewise.
19176 * parallel.c (omp_get_num_threads, omp_get_max_threads,
19177 omp_get_thread_num, omp_in_parallel): Likewise.
19178 * fortran.c (ialias_redirect): Define.
19179 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
19180 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
19181 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
19182 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
19183 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
19184 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
19185 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
19186 omp_get_wtime): Add ialias_redirect.
19187
191882005-10-30 Jakub Jelinek <jakub@redhat.com>
19189
19190 * fortran.c: Include stdlib.h.
19191
191922005-10-29 Jakub Jelinek <jakub@redhat.com>
19193
19194 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
19195 * Makefile.in: Regenerated.
19196
191972005-10-28 Jakub Jelinek <jakub@redhat.com>
19198
19199 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
19200 * libgomp_f.h.in (omp_check_defines): New function.
19201 * env.c: Include libgomp_f.h.
19202 (initialize_env): Call omp_check_defines.
19203
19204 * testsuite/libgomp.dg/copyin-2.c: New test.
19205 * testsuite/libgomp.c++/copyin-2.C: New test.
19206 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
19207
19208 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
19209 * testsuite/libgomp.fortran/sharing2.f90: New test.
19210
19211 * testsuite/libgomp.dg/copyin-1.c: New test.
19212 * testsuite/libgomp.c++/copyin-1.C: New test.
19213
192142005-10-26 Jakub Jelinek <jakub@redhat.com>
19215
19216 * testsuite/libgomp.fortran/crayptr1.f90: New test.
19217
19218 * testsuite/libgomp.fortran/workshare1.f90: New test.
19219
19220 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
19221 only test.
19222 * libgomp.fortran/sharing1.f90: New test.
19223
192242005-10-24 Jakub Jelinek <jakub@redhat.com>
19225
19226 PR c++/24502
19227 * testsuite/libgomp.c++/loop-7.C: New test.
19228
19229 * testsuite/libgomp.dg/nestedfn-2.c: New test.
19230
19231 * testsuite/libgomp.dg/nestedfn-1.c: New test.
19232 * testsuite/libgomp.fortran/reduction6.f90: New test.
19233 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
19234
192352005-10-23 Richard Henderson <rth@redhat.com>
19236
19237 * testsuite/libgomp.c++/ctor-1.C: New.
19238 * testsuite/libgomp.c++/ctor-2.C: New.
19239 * testsuite/libgomp.c++/ctor-3.C: New.
19240 * testsuite/libgomp.c++/ctor-4.C: New.
19241 * testsuite/libgomp.c++/ctor-5.C: New.
19242 * testsuite/libgomp.c++/ctor-6.C: New.
19243 * testsuite/libgomp.c++/ctor-7.C: New.
19244 * testsuite/libgomp.c++/ctor-8.C: New.
19245 * testsuite/libgomp.c++/ctor-9.C: New.
19246
192472005-10-21 Diego Novillo <dnovillo@redhat.com>
19248
19249 PR 24455
19250 * testsuite/libgomp.c++/pr24455-1.C: New test.
19251 * testsuite/libgomp.c++/pr24455.C: New test.
19252 * testsuite/libgomp.dg/pr24455-1.c: New test.
19253 * testsuite/libgomp.dg/pr24455.c: New test.
19254
192552005-10-20 Richard Henderson <rth@redhat.com>
19256
19257 * testsuite/libgomp.c++/loop-6.C: New.
19258 * testsuite/libgomp.dg/loop-3.c: New.
19259
192602005-10-20 Jakub Jelinek <jakub@redhat.com>
19261
19262 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
19263 explicitly private.
19264 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
19265 explicitly shared.
19266
192672005-10-19 Diego Novillo <dnovillo@redhat.com>
19268
19269 * testsuite/libgomp.fortran/jacobi.f: New test.
19270
192712005-10-19 Richard Henderson <rth@redhat.com>
19272
19273 * configure.tgt (i?86-linux): Default to with_arch instead of
19274 CFLAGS. Add -mtune to match target_cpu.
19275 (x86_64-linux): Tune to i686.
19276
19277 * fortran.c (omp_test_nest_lock_): Fix typo.
19278
192792005-10-19 Jakub Jelinek <jakub@redhat.com>
19280
19281 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
19282 gomp_ordered_sync): Do nothing if team->nthreads == 1.
19283 * testsuite/libgomp.dg/ordered-3.c: New test.
19284
19285 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
19286 Remove volatile keyword.
19287
19288 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
19289 in COMMON block to avoid warnings on 64-bit targets.
19290
192912005-10-18 Diego Novillo <dnovillo@redhat.com>
19292
19293 * testsuite/libgomp.dg/shared-3.c: New test.
19294
192952005-10-18 Jakub Jelinek <jakub@redhat.com>
19296
19297 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
19298 * testsuite/libgomp.fortran/reduction5.f90: New test.
19299
193002005-10-18 Jakub Jelinek <jakub@redhat.com>
19301
19302 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
19303 dg-options.
19304 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
19305 flush loop now that __sync_synchronize has proper memory barrier.
19306 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
19307 Add -ffixed-form to dg-options.
19308
193092005-10-17 Diego Novillo <dnovillo@redhat.com>
19310
19311 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
19312 from subdirectories.
19313 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
19314 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
19315 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
19316 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
19317 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
19318 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
19319 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
19320 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
19321 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
19322 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
19323 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
19324 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
19325 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
19326 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
19327 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
19328 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
19329 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
19330 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
19331 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
19332 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
19333 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
19334 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
19335 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
19336 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
19337 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
19338
193392005-10-17 Jakub Jelinek <jakub@redhat.com>
19340
19341 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
19342 lang_library_path exists. Use find instead of glob to gather tests.
19343 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
19344
193452005-10-17 Diego Novillo <dnovillo@redhat.com>
19346
19347 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
19348 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
19349 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
19350 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
19351 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
19352 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
19353 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
19354 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
19355 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
19356 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
19357 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
19358 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
19359 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
19360
193612005-10-15 Jakub Jelinek <jakub@redhat.com>
19362
19363 * testsuite/libgomp.dg/vla-1.c: New test.
19364
19365 * testsuite/libgomp.fortran/reference2.f90: New test.
19366
19367 * testsuite/libgomp.fortran/character2.f90: Remove explicit
19368 declaration of omp_get_thread_num.
19369 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
19370 use omp_lib.
19371
19372 * testsuite/libgomp.fortran/reduction1.f90: New test.
19373 * testsuite/libgomp.fortran/reduction2.f90: New test.
19374 * testsuite/libgomp.fortran/reduction3.f90: New test.
19375 * testsuite/libgomp.fortran/reduction4.f90: New test.
19376
193772005-10-13 Richard Henderson <rth@redhat.com>
19378
19379 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
19380 * Makefile.in: Regenerate.
19381 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
19382 * libgomp.h: Include bar.h.
19383 (struct gomp_barrier): Remove.
19384 (struct gomp_team): Add barrier. Replace master_barrier with
19385 master_release. Replace threads with ordered_release.
19386 (struct gomp_thread): Replace barrier with release.
19387 * ordered.c (gomp_ordered_first): Update for ordered_release change.
19388 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
19389 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
19390 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
19391 (GOMP_single_copy_end): Likewise.
19392 * team.c (gomp_threads_dock): New.
19393 (gomp_barrier_init, gomp_barrier_destroy): Remove.
19394 (gomp_thread_start): Use gomp_barrier_wait.
19395 (new_team, free_team): Update for gomp_team changes.
19396 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
19397 (gomp_team_end): Use gomp_barrier_wait.
19398 (initialize_team): Update for gomp_thread changes.
19399 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
19400 (gomp_work_share_end_nowait): Use atomic ops when available.
19401 * config/linux/bar.c, config/linux/bar.h: New files.
19402 * config/posix/bar.c, config/posix/bar.h: New files.
19403
194042005-10-13 Jakub Jelinek <jakub@redhat.com>
19405
19406 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
19407 * testsuite/libgomp.dg/single-2.c: New test.
19408
19409 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
19410 lang_link_flags): Unset, so that they aren't inherited from previously
19411 sourced *.exp.
19412
19413 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
19414
194152005-10-12 Richard Henderson <rth@redhat.com>
19416
19417 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
19418 (libgomp_init): Use lang_test_file, lang_library_path, and
19419 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
19420
19421 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
19422 (lang_test_file, lang_link_flags): New.
19423 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
19424
19425 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
19426 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
19427 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
19428 testsuite/libgomp.c++/parallel-1.C,
19429 testsuite/libgomp.c++/reduction-1.C,
19430 testsuite/libgomp.c++/reduction-2.C,
19431 testsuite/libgomp.c++/reduction-3.C,
19432 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
19433 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
19434 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
19435 New files, largely cribbed from the C testsuite.
19436
194372005-10-12 Jakub Jelinek <jakub@redhat.com>
19438
19439 * testsuite/libgomp.fortran/character1.f90: New test.
19440 * testsuite/libgomp.fortran/character2.f90: New test.
19441
19442 * testsuite/libgomp.dg/nested-1.c: New test.
19443 * testsuite/libgomp.dg/nested-2.c: New test.
19444 * testsuite/libgomp.fortran/do1.f90: New test.
19445 * testsuite/libgomp.fortran/do2.f90: New test.
19446
19447 * testsuite/libgomp.fortran/reference1.f90: New test.
19448
194492005-10-11 Jakub Jelinek <jakub@redhat.com>
19450
19451 * testsuite/libgomp.dg/reduction-1.c: New test.
19452 * testsuite/libgomp.dg/reduction-2.c: New test.
19453 * testsuite/libgomp.dg/reduction-3.c: New test.
19454
194552005-10-10 Jakub Jelinek <jakub@redhat.com>
19456
19457 * testsuite/libgomp.dg/atomic-1.c: New test.
19458 * testsuite/libgomp.dg/atomic-2.c: New test.
19459
194602005-10-09 Richard Henderson <rth@redhat.com>
19461
19462 * critical.c (atomic_lock): New.
19463 (initialize_critical): Initialize it.
19464 (GOMP_atomic_start, GOMP_atomic_end): New.
19465 * libgomp.map: Export them.
19466 * libgomp_g.h: Declare them.
19467
19468 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
19469
194702005-10-02 Richard Henderson <rth@redhat.com>
19471
19472 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
19473 to XCFLAGS instead of CFLAGS.
19474
194752005-09-30 Richard Henderson <rth@redhat.com>
19476
19477 * configure.ac: Determine whether -pthread or -lpthread is needed.
19478 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 19479 * Makefile.in, configure: Rebuild.
953ff289
DN
19480
194812005-09-28 Richard Henderson <rth@redhat.com>
19482
19483 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
19484 * testsuite/libgomp.dg/omp-single-3.c: New test.
19485
194862005-09-28 Diego Novillo <dnovillo@redhat.com>
19487
19488 * testsuite/libgomp.dg/omp-single-2.c: New test.
19489 * testsuite/libgomp.dg/shared-2.c: Fix return code.
19490
194912005-09-27 Richard Henderson <rth@redhat.com>
19492
19493 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
19494 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
19495
194962005-09-27 Jakub Jelinek <jakub@redhat.com>
19497
19498 * testsuite/libgomp.dg/omp-loop03.c: New test.
19499
195002005-09-27 Diego Novillo <dnovillo@redhat.com>
19501
19502 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
19503
195042005-09-27 Diego Novillo <dnovillo@redhat.com>
19505
19506 * testsuite/libgomp.dg/omp-single-1.c: New test.
19507 * testsuite/libgomp.dg/shared-1.c: Return 0.
19508 Add prototype for abort.
19509 * testsuite/libgomp.dg/shared-2.c: Likewise.
19510
195112005-09-26 Jakub Jelinek <jakub@redhat.com>
19512
19513 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
19514 constructs.
19515
195162005-09-26 Diego Novillo <dnovillo@redhat.com>
19517
19518 * testsuite/libgomp.dg/shared-1.c: New test.
19519 * testsuite/libgomp.dg/shared-2.c: New test.
19520
195212005-09-24 Richard Henderson <rth@redhat.com>
19522
19523 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
19524
195252005-09-24 Richard Henderson <rth@redhat.com>
19526
19527 * iter.c (gomp_iter_static_next): Round up when computing number
19528 of iterations. Don't bother distributing a remainder equally.
19529
19530 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
19531 Don't call srand. Zero b before testing.
19532 (main): New.
19533
195342005-09-24 Jakub Jelinek <jakub@redhat.com>
19535
19536 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
19537 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
19538
195392005-09-23 Jakub Jelinek <jakub@redhat.com>
19540
19541 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
19542 without !$omp end do, followed immediately by subroutine end.
19543
195442005-09-23 Diego Novillo <dnovillo@redhat.com>
19545
19546 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
19547
195482005-09-22 Richard Henderson <rth@redhat.com>
19549
19550 * critical.c (GOMP_critical_name_start): Change argument to void**.
19551 Reuse the pointer space if the mutex fits.
19552 (GOMP_critical_name_end): Likewise.
19553 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
19554 * libgomp_g.h (GOMP_critical_name_start): Update decl.
19555 (GOMP_critical_name_end): Likewise.
19556 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
19557 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
19558
195592005-09-20 Richard Henderson <rth@redhat.com>
19560
19561 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
19562 (create_lock_lock): New.
19563 (initialize_critical): Initialize it.
19564 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
19565 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
19566
195672005-09-20 Diego Novillo <dnovillo@redhat.com>
19568
19569 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
19570
195712005-09-20 Diego Novillo <dnovillo@redhat.com>
19572
19573 * testsuite/libgomp.dg/omp-loop01.c: New test.
19574 * testsuite/libgomp.dg/omp-loop02.c: New test.
19575
195762005-09-20 Jakub Jelinek <jakub@redhat.com>
19577
19578 * configure.ac (AC_PROG_FC): Add.
19579 (USE_FORTRAN): New automake conditional.
19580 * configure: Rebuilt.
19581 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
19582 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
19583 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
19584 Add rules to build them.
19585 * Makefile.in: Rebuilt.
19586 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
19587 OMP_NEST_LOCK_KIND.
19588 * libgomp.map: Add Fortran wrappers.
19589 * libgomp_f.h.in: New file.
19590 * omp_lib.h.in: New file.
19591 * omp_lib.f90.in: New file.
19592 * fortran.c: New file.
19593 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
19594 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
19595 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
19596 libgfortran has been built.
19597 * testsuite/libgomp.fortran/fortran.exp: New file.
19598 * testsuite/libgomp.fortran/omp_cond1.f: New test.
19599 * testsuite/libgomp.fortran/omp_cond2.f: New test.
19600 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
19601 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
19602 * testsuite/libgomp.fortran/omp_hello.f: New test.
19603 * testsuite/libgomp.fortran/omp_orphan.f: New test.
19604 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
19605 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
19606 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
19607 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
19608 * testsuite/libgomp.fortran/omp_reduction.f: New test.
19609 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
19610 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
19611
196122005-08-30 Richard Henderson <rth@redhat.com>
19613
19614 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
19615 function for when aliases are not usable.
19616 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
19617 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
19618 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
19619 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
19620 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
19621 GOMP_loop_ordered_guided_next): Likewise.
19622 * ordered.c (GOMP_ordered_start): Likewise.
19623
196242005-08-01 Diego Novillo <dnovillo@redhat.com>
19625
19626 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
19627 * testsuite/libgomp.dg/omp_hello.c: Fix return code
19628 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
19629 * testsuite/libgomp.dg/omp_orphan.c: Likewise
19630 * testsuite/libgomp.dg/omp_reduction.c: Likewise
19631 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
19632 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
19633 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
19634 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
19635
196362005-07-07 Eric Christopher <echristo@redhat.com>
19637 Diego Novillo <dnovillo@redhat.com>
19638
19639 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
19640 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
19641 up code.
19642 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
19643 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
19644 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
19645 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
19646 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
19647 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
19648 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
19649
196502005-06-13 Diego Novillo <dnovillo@redhat.com>
19651
19652 * TOPLEVEL.patch: Remove.
19653
196542005-05-16 Richard Henderson <rth@redhat.com>
19655
19656 * configure.ac: Test for clock_gettime.
19657 * config.h.in, configure: Rebuild.
19658 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
19659 (omp_get_wtime): Use clock_gettime if available.
19660 (omp_get_wtick): Use clock_getres if available.
19661
196622005-05-11 Richard Henderson <rth@redhat.com>
19663
19664 * config/linux/ia64/futex.h: New file.
19665 * configure.tgt: Use it.
19666
19667 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
19668
196692005-05-07 Richard Henderson <rth@redhat.com>
19670
19671 * config/linux/powerpc/futex.h: New file.
19672 * configure.tgt: Use it.
19673
19674 * config/linux/i486/futex.h: Merge ...
19675 * config/linux/x86_64/futex.h: ... into ...
19676 * config/linux/x86/futex.h: ... here.
19677 * configure.tgt: Update to match.
19678
196792005-05-06 Richard Henderson <rth@redhat.com>
19680
19681 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
19682 * config/linux/i486/futex.h: Likewise.
19683 * config/linux/x86_64/futex.h: Likewise.
19684
19685 * config/linux/lock.c: New file.
19686 * config/linux/omp-lock.h: New file.
19687
19688 * critical.c, env.h: Don't include omp.h
19689 * config/posix/lock.c: Include libgomp.h instead of omp.h.
19690 * config/posix/time.c: Likewise.
19691 * config/posix/omp-lock.h: New file.
19692 * libgomp.h: Include omp-lock.h and omp.h.
19693 * Makefile.am (nodist_include_HEADERS): New.
19694 (omp.h): New rule.
19695 * configure.ac (PERL): New.
19696 * mkomp_h.pl: New file.
19697 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
19698 with templates.
19699 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
19700
19701 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
19702 build directory. Re-add -march=i486 hack.
19703
19704 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
19705 (libgomp_link_flags): Remove.
19706 (libgomp_initialized): Remove.
19707 (libgomp_init): Don't protect from reinitialization. Copy code
19708 from libstdc++ for getting the multilib set correctly.
19709
197102005-05-05 Richard Henderson <rth@redhat.com>
19711
19712 * config/linux/alpha/futex.h: New file.
19713 * configure.tgt (alpha*-*-linux*): Use it.
19714
19715 * config/posix/mutex.c: New file.
19716 * config/posix/sem.c: Use libgomp.h.
19717
19718 * configure.tgt (x86_64-linux): Also test CC for -m32.
19719 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
19720
a1daed2d 19721 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
19722 after $gccpath.
19723
19724 * Makefile.am (SUBDIRS): New.
19725 (libgomp_la_LDFLAGS): Add -lpthread.
19726 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
19727 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
19728
19729 * libgomp_g.h: New file.
19730 * libgomp.h: Split out all public declarations to libgomp_g.h.
19731 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
19732 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
19733 * config/linux/sem.h: Likewise.
19734 * config/posix/sem.h: Likewise.
19735
19736 * Makefile.am (AM_LDFLAGS): New.
19737 (libgomp_version_script): Split out from ...
19738 (libgomp_la_LDFLAGS): ... here.
19739 (libgomp_version_info): New.
19740 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
19741 (LIBGOMP_ENABLE): New.
19742 (LIBGOMP_CHECK_LINKER_FEATURES): New.
19743 (LIBGOMP_ENABLE_SYMVERS): New.
19744 * configure.ac (AC_INIT): Version 1.0.
19745 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
19746 (enable-linux-futex): Likewise. Rename from enable-futex.
19747 (libtool_VERSION): New.
19748 (LIBGOMP_ENABLE_SYMVERS): Use it.
19749 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
19750 * Makefile.in, aclocal.m4, configure: Rebuild.
19751
19752 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
19753 (gomp_mutex_unlock_slow): Fix typo.
19754 * config/linux/sem.c: Similarly.
19755 (gomp_sem_post_slow): Fix typo.
19756 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
19757 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
19758 [__PIC__] (sys_futex0): Don't use tmp output in asm.
19759
19760 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
19761 (libgomp_la_LDFLAGS): Add top_srcdir to path.
19762 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
19763 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
19764 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
19765 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
19766 LDFLAGS. Pull enable_futex check to top-level.
19767 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
19768 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
19769
19770 First attempt at real configury.
19771 * Makefile, config.h: Remove file.
19772 * Makefile.am, Makefile.in: New file.
19773 * acinclude.m4 aclocal.m4: New file.
19774 * configure.ac, configure.tgt, configure: New file.
19775
19776 * config/posix/lock.c: Rename from sys-lock.c.
19777 * config/posix/mutex.h: Rename from sys-mutex.h.
19778 * config/posix/sem.c: Rename from sys-sem.c.
19779 * config/posix/sem.h: Rename from sys-sem.h.
19780 * config/posix/proc.c: Rename from sys-proc.c.
19781 * config/posix/time.c: Rename from sys-proc.c.
19782
19783 * config/linux/mutex.c: New file.
19784 * config/linux/mutex.h: New file.
19785 * config/linux/sem.c: New file.
19786 * config/linux/sem.h: New file.
19787 * config/linux/i486/futex.h: New file.
19788 * config/linux/x86_64/futex.h: New file.
19789
197902005-05-04 Richard Henderson <rth@redhat.com>
19791
19792 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
19793 * libgomp.h: Declare them.
19794 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
19795 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
19796
197972005-05-04 Richard Henderson <rth@redhat.com>
19798
19799 * libgomp-1 code drop
19800
198012005-05-04 Richard Henderson <rth@redhat.com>
19802
19803 * iter.c (gomp_iter_static_next): Return tri-state on 0.
19804 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
19805 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
19806 (gomp_iter_static_next): Update.
19807 (gomp_ordered_static_next): Update.
19808 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
19809 (gomp_loop_ordered_static_start): Likewise. Exit early for a
19810 totally empty range.
19811 (gomp_loop_ordered_static_next): Refine test for calling
19812 gomp_ordered_static_next.
19813 * testsuite/ordered-1.c: Add case for more threads than iterations.
19814
19815 * iter.c (gomp_iter_runtime_next_locked): Remove.
19816 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 19817 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
19818 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
19819 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
19820 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
19821 gomp_loop_ordered_guided_next): Downcase name, make static, add
19822 an external alias with the old name.
19823 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
19824 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
19825 switch and call one of the above static functions.
19826 * libgomp.h: Update.
19827
19828 * work.c (gomp_work_share_start): Lock the mutex for !first too.
19829 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
19830 GOMP_loop_guided_start, GOMP_loop_runtime_start,
19831 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
19832 GOMP_loop_ordered_guided_start): Update to match.
19833 * sections.c (GOMP_sections_start): Likewise.
19834 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
19835
19836 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
19837 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
19838 Use bounds check instead of modulus.
19839 (gomp_ordered_sync): Split out of GOMP_ordered_start.
19840 (gomp_ordered_last): Don't sync with ordered_owner here.
19841 (gomp_ordered_next): Likewise.
19842 (gomp_ordered_static_loop_next): Likewise.
19843 * loop.c, libgomp.h: Update to match.
19844
19845 * libgomp.h (GOMP_barrier): Declare.
19846
19847 * testsuite/barrier-1.c: New file.
19848 * testsuite/critical-1.c: New file.
19849 * testsuite/ordered-2.c: New file.
19850 * testsuite/ordered-1.c: New file.
19851 * testsuite/sections-1.c: New file.
19852 * testsuite/single-1.c: New file.
19853 * testsuite/Makefile (TESTS): Add them.
19854
198552005-05-04 Richard Henderson <rth@redhat.com>
19856
19857 * libgomp.h (struct gomp_work_share): Add ordered_owner.
19858 * loop.c (GOMP_loop_static_start): If not the startup thread,
19859 acquire the mutex to wait for initialization complete.
19860 (GOMP_loop_ordered_static_start): Likewise.
19861 (GOMP_loop_ordered_runtime_start): Likewise.
19862 (GOMP_loop_ordered_static_first): Remove.
19863 (GOMP_loop_ordered_dynamic_first): Remove.
19864 (GOMP_loop_ordered_guided_first): Remove.
19865 (GOMP_loop_ordered_runtime_first): Remove.
19866 * ordered.c (gomp_ordered_loop_first): Post to own release when
19867 we're the first thread.
19868 (gomp_ordered_loop_last): Wait on release if not owner.
19869 (gomp_ordered_loop_next): Likewise.
19870 (gomp_ordered_static_loop_init): New.
19871 (gomp_ordered_static_loop_next): Use ordered_owner.
19872 (GOMP_ordered_start): Likewise.
19873 * work.c (gomp_new_work_share): Initialize ordered_owner.
19874
198752005-05-03 Richard Henderson <rth@redhat.com>
19876
19877 * Makefile (OPT): New.
19878 (CFLAGS): Use it.
19879
19880 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
19881 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
19882 * libgomp.h, libgomp.map, NOTES: Update to match.
19883
19884 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
19885 Add initialized and thr members.
19886 (gomp_thread_start): Pause when initially spawned to wait for
19887 the whole team to be created.
19888 (gomp_team_start): Release team members at the end.
19889
19890 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
19891 (f_foo_1): Use GOMP_loop_end.
19892 (f_foo_2): Use GOMP_loop_end_nowait.
19893
19894 * testsuite/loop-2.c: New file.
19895 * testsuite/Makefile (TESTS): Add it.
19896
198972005-05-03 Richard Henderson <rth@redhat.com>
19898
19899 * iter.c (gomp_iter_static_next): Fix overflow check typo.
19900 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
19901 * team.c (new_team): Initialize oldest_live_gen to 1 if no
19902 initial work_share.
19903
19904 * testsuite/Makefile: New file.
19905 * testsuite/loop-1.c: New file.
19906
199072005-05-03 Richard Henderson <rth@redhat.com>
19908
19909 Initial implementation and checkin.
21fa2a29 19910\f
68127a8e 19911Copyright (C) 2005-2023 Free Software Foundation, Inc.
21fa2a29
JJ
19912
19913Copying and distribution of this file, with or without modification,
19914are permitted in any medium without royalty provided the copyright
19915notice and this notice are preserved.