1 2022-05-16 Marcel Vollweiler <marcel@codesourcery.com>
3 * testsuite/libgomp.c++/target-has-device-addr-7.C: New test.
4 * testsuite/libgomp.c++/target-has-device-addr-8.C: New test.
5 * testsuite/libgomp.c++/target-has-device-addr-9.C: New test.
7 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
9 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
11 2022-05-13 Tobias Burnus <tobias@codesourcery.com>
13 * testsuite/libgomp.fortran/target-nowait-array-section.f90: New test.
15 2022-05-13 Thomas Schwinge <thomas@codesourcery.com>
17 * plugin/Makefrag.am (libgomp_plugin_nvptx_la_CPPFLAGS)
18 [PLUGIN_NVPTX_DYNAMIC]: Don't append '$(PLUGIN_NVPTX_CPPFLAGS)'.
19 (libgomp_plugin_nvptx_la_LDFLAGS) [PLUGIN_NVPTX_DYNAMIC]: Don't
20 append '$(PLUGIN_NVPTX_LDFLAGS)'.
21 * Makefile.in: Regenerate.
23 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
25 * Makefile.am (libgomp_la_LIBADD): Initialize.
26 * plugin/configfrag.ac (DL_LIBS): New.
27 (PLUGIN_GCN_LIBS): Remove.
28 (PLUGIN_NVPTX_LIBS): Don't set in the 'PLUGIN_NVPTX_DYNAMIC' case.
29 * plugin/Makefrag.am (libgomp_la_LIBADD)
30 (libgomp_plugin_gcn_la_LIBADD): Consider '$(DL_LIBS)'.
31 (libgomp_plugin_nvptx_la_LIBADD) <PLUGIN_NVPTX_DYNAMIC>: Likewise.
32 * Makefile.in: Regenerate.
33 * config.h.in: Likewise.
34 * configure: Likewise.
35 * testsuite/Makefile.in: Likewise.
37 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
39 * plugin/Makefrag.am: Handle 'PLUGIN_NVPTX_DYNAMIC'.
40 * plugin/configfrag.ac (PLUGIN_NVPTX_DYNAMIC): Change
41 'AC_DEFINE_UNQUOTED' into 'AM_CONDITIONAL'.
42 * plugin/plugin-nvptx.c: Split 'PLUGIN_NVPTX_DYNAMIC' into
43 'PLUGIN_NVPTX_INCLUDE_SYSTEM_CUDA_H' and
44 'PLUGIN_NVPTX_LINK_LIBCUDA'.
45 * Makefile.in: Regenerate.
46 * config.h.in: Likewise.
47 * configure: Likewise.
49 2022-05-12 Thomas Schwinge <thomas@codesourcery.com>
51 * plugin/configfrag.ac: Don't 'AC_SUBST' and 'AC_DEFINE_UNQUOTED'
52 for 'PLUGIN_GCN', 'PLUGIN_NVPTX'.
53 * Makefile.in: Regenerate.
54 * config.h.in: Likewise.
55 * configure: Likewise.
56 * testsuite/Makefile.in: Likewise.
58 2022-05-12 Jakub Jelinek <jakub@redhat.com>
60 * libgomp.h (struct gomp_task): Add depend_all_memory member.
61 * task.c (gomp_init_task): Initialize depend_all_memory.
62 (gomp_task_handle_depend): Handle omp_all_memory.
63 (gomp_task_run_post_handle_depend_hash): Clear
64 parent->depend_all_memory if equal to current task.
65 (gomp_task_maybe_wait_for_dependencies): Handle omp_all_memory.
66 * testsuite/libgomp.c-c++-common/depend-1.c: New test.
67 * testsuite/libgomp.c-c++-common/depend-2.c: New test.
68 * testsuite/libgomp.c-c++-common/depend-3.c: New test.
70 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
72 * plugin/configfrag.ac: Remove '--with-hsa-runtime',
73 '--with-hsa-runtime-include', '--with-hsa-runtime-lib' processing.
74 * Makefile.in: Regenerate.
75 * configure: Likewise.
76 * testsuite/Makefile.in: Likewise.
78 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
80 * plugin/Makefrag.am (libgomp_plugin_gcn_la_CPPFLAGS): Don't
81 consider 'PLUGIN_GCN_CPPFLAGS'.
82 (libgomp_plugin_gcn_la_LDFLAGS): Don't consider
84 * plugin/configfrag.ac (PLUGIN_GCN_CPPFLAGS, PLUGIN_GCN_LDFLAGS):
86 * Makefile.in: Regenerate.
87 * configure: Likewise.
88 * testsuite/Makefile.in: Likewise.
90 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
92 * plugin/configfrag.ac (HSA_RUNTIME_CPPFLAGS)
93 (HSA_RUNTIME_LDFLAGS): Remove.
94 * configure: Regenerate.
96 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
98 * testsuite/lib/libgomp.exp (libgomp_init): Don't
99 'append always_ld_library_path ":$hsa_runtime_lib"'.
100 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib): Don't set.
102 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
104 * testsuite/libgomp.fortran/use_device_addr-5.f90: Fix up
105 multi-device testing.
107 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
109 * libgomp.map: Added omp_target_is_accessible.
110 * libgomp.texi: Tagged omp_target_is_accessible as supported.
111 * omp.h.in: Added omp_target_is_accessible.
112 * omp_lib.f90.in: Added interface for omp_target_is_accessible.
113 * omp_lib.h.in: Likewise.
114 * target.c (omp_target_is_accessible): Added implementation of
115 omp_target_is_accessible.
116 * testsuite/libgomp.c-c++-common/target-is-accessible-1.c: New test.
117 * testsuite/libgomp.fortran/target-is-accessible-1.f90: New test.
119 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
121 * libgomp.texi (OpenMP 5.0): Feature is now fully supported.
123 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
125 * plugin/plugin-gcn.c (isa_matches_agent): Suggest -foffload-options.
127 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
129 * testsuite/libgomp.fortran/use_device_addr-5.f90: New test.
131 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
133 * libgomp.map: Added omp_get_mapped_ptr.
134 * libgomp.texi: Tagged omp_get_mapped_ptr as supported.
135 * omp.h.in: Added omp_get_mapped_ptr.
136 * omp_lib.f90.in: Added interface for omp_get_mapped_ptr.
137 * omp_lib.h.in: Likewise.
138 * target.c (omp_get_mapped_ptr): Added implementation of
140 * testsuite/libgomp.c-c++-common/get-mapped-ptr-1.c: New test.
141 * testsuite/libgomp.c-c++-common/get-mapped-ptr-2.c: New test.
142 * testsuite/libgomp.c-c++-common/get-mapped-ptr-3.c: New test.
143 * testsuite/libgomp.c-c++-common/get-mapped-ptr-4.c: New test.
144 * testsuite/libgomp.fortran/get-mapped-ptr-1.f90: New test.
145 * testsuite/libgomp.fortran/get-mapped-ptr-2.f90: New test.
146 * testsuite/libgomp.fortran/get-mapped-ptr-3.f90: New test.
147 * testsuite/libgomp.fortran/get-mapped-ptr-4.f90: New test.
149 2022-04-28 Thomas Schwinge <thomas@codesourcery.com>
152 * testsuite/libgomp.oacc-fortran/print-1.f90: Add OpenACC
153 privatization scanning. For GCN offloading compilation, raise
154 '-mgang-private-size'.
156 2022-04-26 Jakub Jelinek <jakub@redhat.com>
159 * work.c (gomp_init_work_share): Don't mask of adjustment for
160 dynamic long long realignment if struct gomp_work_share has smaller
161 alignof than long long.
162 * loop.c (GOMP_loop_start): Don't use inline_ordered_team_ids if
163 struct gomp_work_share has smaller alignof than long long or if
164 sizeof (struct gomp_work_share) is smaller than
165 INLINE_ORDERED_TEAM_IDS_OFF.
166 * loop_ull.c (GOMP_loop_ull_start): Likewise.
167 * sections.c (GOMP_sections2_start): Likewise.
169 2022-04-25 Jakub Jelinek <jakub@redhat.com>
170 Thomas Schwinge <thomas@codesourcery.com>
173 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Adjust.
175 2022-04-13 Jakub Jelinek <jakub@redhat.com>
177 * libgomp.texi: Fix a typo - mutexinouset -> mutexinoutset.
179 2022-04-06 Thomas Schwinge <thomas@codesourcery.com>
181 * plugin/cuda/cuda.h: Remove file.
182 * plugin/plugin-nvptx.c [PLUGIN_NVPTX_DYNAMIC]: Include
183 "cuda/cuda.h" instead of <cuda.h>.
184 * plugin/configfrag.ac <PLUGIN_NVPTX_DYNAMIC>: Don't set
185 'PLUGIN_NVPTX_CPPFLAGS'.
186 * configure: Regenerate.
188 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
190 * testsuite/libgomp.fortran/use_device_ptr-4.f90: New testcase.
192 2022-04-04 Tom de Vries <tdevries@suse.de>
194 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Use
195 on_device_arch_nvptx instead of offload_target_nvptx.
196 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
198 2022-04-01 Tom de Vries <tdevries@suse.de>
200 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Define
202 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
204 2022-04-01 Tom de Vries <tdevries@suse.de>
206 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: Fix
209 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
210 Lulu Cheng <chenglulu@loongson.cn>
212 * configure.tgt: Add LoongArch triplet.
214 2022-03-28 Tom de Vries <tdevries@suse.de>
216 * plugin/configfrag.ac: Use /$(libexecdir:\$(exec_prefix)/%=%)/
217 instead of /libexec/.
218 * configure: Regenerate.
220 2022-03-25 Tom de Vries <tdevries@suse.de>
223 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Reduce
225 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Same.
226 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Same.
228 2022-03-23 Tobias Burnus <tobias@codesourcery.com>
231 * testsuite/libgomp.c++/target-same-name-2-a.C: New test.
232 * testsuite/libgomp.c++/target-same-name-2-b.C: New test.
233 * testsuite/libgomp.c++/target-same-name-2.C: New test.
234 * testsuite/libgomp.c-c++-common/target-same-name-1-a.c: New test.
235 * testsuite/libgomp.c-c++-common/target-same-name-1-b.c: New test.
236 * testsuite/libgomp.c-c++-common/target-same-name-1.c: New test.
238 2022-03-22 Tom de Vries <tdevries@suse.de>
242 * testsuite/libgomp.c/pr104783-2.c: New test.
244 2022-03-18 Tobias Burnus <tobias@codesourcery.com>
247 * testsuite/libgomp.fortran/associate4.f90: New test.
249 2022-03-18 Tom de Vries <tdevries@suse.de>
252 * testsuite/libgomp.c/pr104952-1.c: New test.
253 * testsuite/libgomp.c/pr104952-2.c: New test.
255 2022-03-18 Jakub Jelinek <jakub@redhat.com>
257 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Move seen
258 variable next to pl variable.
260 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
262 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
264 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
265 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
267 2022-03-17 Thomas Schwinge <thomas@codesourcery.com>
270 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Enhance.
271 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
273 2022-03-16 Marcel Vollweiler <marcel@codesourcery.com>
275 * fortran.c (omp_set_num_teams_8_): Call omp_set_num_teams instead of
276 omp_set_max_active_levels.
277 * testsuite/libgomp.fortran/icv-8.f90: New test.
279 2022-03-16 Thomas Schwinge <thomas@codesourcery.com>
282 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Adjust.
284 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
286 * libgomp.texi: Fix typo.
288 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
292 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
293 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise.
294 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
296 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
298 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
299 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
300 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
303 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
306 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Point
308 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Likewise,
309 enable '--param=openacc-kernels=decompose' and adjust.
310 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
312 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
313 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
316 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
319 * testsuite/libgomp.oacc-c-c++-common/default-1.c: Enhance.
320 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c: Likewise.
321 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
322 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Likewise.
324 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
328 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
330 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
332 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: ... into
334 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
337 2022-03-10 Hafiz Abid Qadeer <abidh@codesourcery.com>
339 * testsuite/libgomp.fortran/allocate-1.f90: Remove pool_size
340 trait. Test last index in w and v array. Remove redundant
341 assignment to V(1). Move alignment checks at the end of
344 2022-03-10 Tom de Vries <tdevries@suse.de>
346 * testsuite/libgomp.c/pr104783.c: New test.
348 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
353 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
355 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
357 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
367 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
369 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
371 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
379 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
381 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
382 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
383 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
385 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
388 * testsuite/libgomp.oacc-fortran/routine-1.f90: Enhance.
389 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
390 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
391 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
393 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
396 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Fix
397 expected diagnostics.
399 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
402 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
403 Test with '--param=openacc-kernels=decompose'.
404 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
406 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
408 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
410 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
412 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
414 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
416 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
418 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
420 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
422 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
424 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
426 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
428 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
430 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
432 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
434 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
436 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
438 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
440 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
442 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
444 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
446 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
448 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
450 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
452 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
454 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
456 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
458 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
460 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
462 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
464 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
466 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
469 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
471 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
472 Test '-fopt-info-omp-all'.
473 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
475 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
477 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
479 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
481 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
483 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
485 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
487 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
489 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
491 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
493 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
495 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
497 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
499 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
501 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
503 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
505 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
507 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
509 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
511 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
513 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
515 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
517 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
519 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
521 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
523 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
525 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
527 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
529 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
531 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
533 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
535 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
538 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
543 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
546 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
549 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
550 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
553 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
556 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Adjust.
557 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
560 2022-02-28 Tom de Vries <tdevries@suse.de>
562 * testsuite/libgomp.c/declare-variant-3-sm30.c: Add -foffload=-mptx=_.
563 * testsuite/libgomp.c/declare-variant-3-sm35.c: Same.
564 * testsuite/libgomp.c/declare-variant-3-sm53.c: Same.
565 * testsuite/libgomp.c/declare-variant-3-sm70.c: Same.
566 * testsuite/libgomp.c/declare-variant-3-sm75.c: Same.
567 * testsuite/libgomp.c/declare-variant-3-sm80.c: Same.
569 2022-02-24 Tom de Vries <tdevries@suse.de>
571 * testsuite/libgomp.c/declare-variant-3-sm30.c: New test.
572 * testsuite/libgomp.c/declare-variant-3-sm35.c: New test.
573 * testsuite/libgomp.c/declare-variant-3-sm53.c: New test.
574 * testsuite/libgomp.c/declare-variant-3-sm70.c: New test.
575 * testsuite/libgomp.c/declare-variant-3-sm75.c: New test.
576 * testsuite/libgomp.c/declare-variant-3-sm80.c: New test.
577 * testsuite/libgomp.c/declare-variant-3.h: New header file.
579 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
581 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Fix OpenACC
582 gang-redundant execution.
584 2022-02-22 Tom de Vries <tdevries@suse.de>
587 * config/nvptx/bar.c (generation_to_barrier): New function, copied
588 from config/rtems/bar.c.
589 (futex_wait, futex_wake): New function.
590 (do_spin, do_wait): New function, copied from config/linux/wait.h.
591 (gomp_barrier_wait_end, gomp_barrier_wait_last)
592 (gomp_team_barrier_wake, gomp_team_barrier_wait_end):
593 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): Remove
594 and replace with include of config/linux/bar.c.
595 * config/nvptx/bar.h (gomp_barrier_t): Add fields waiters and lock.
596 (gomp_barrier_init): Init new fields.
597 * testsuite/libgomp.c-c++-common/task-detach-6.c: Remove nvptx-specific
599 * testsuite/libgomp.c/pr99555-1.c: Same.
600 * testsuite/libgomp.fortran/task-detach-6.f90: Same.
602 2022-02-22 Tom de Vries <tdevries@suse.de>
605 * testsuite/libgomp.c++/pr96390.C: Add additional-option
606 -foffload=-Wa,--verify for nvptx.
607 * testsuite/libgomp.c-c++-common/pr96390.c: Same.
609 2022-02-15 Tobias Burnus <tobias@codesourcery.com>
611 * testsuite/libgomp.fortran/depend-4.f90: New test.
613 2022-02-10 Tobias Burnus <tobias@codesourcery.com>
616 * testsuite/libgomp.c++/target-virtual-1.C: New test.
618 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
620 * libgomp.texi: Updated entry for HAS_DEVICE_ADDR.
621 * target.c (copy_firstprivate_data): Copy only if host address is not
623 * testsuite/libgomp.c++/target-has-device-addr-2.C: New test.
624 * testsuite/libgomp.c++/target-has-device-addr-4.C: New test.
625 * testsuite/libgomp.c++/target-has-device-addr-5.C: New test.
626 * testsuite/libgomp.c++/target-has-device-addr-6.C: New test.
627 * testsuite/libgomp.c-c++-common/target-has-device-addr-1.c: New test.
628 * testsuite/libgomp.c/target-has-device-addr-3.c: New test.
629 * testsuite/libgomp.fortran/target-has-device-addr-1.f90: New test.
630 * testsuite/libgomp.fortran/target-has-device-addr-2.f90: New test.
631 * testsuite/libgomp.fortran/target-has-device-addr-3.f90: New test.
632 * testsuite/libgomp.fortran/target-has-device-addr-4.f90: New test.
634 2022-02-08 Jakub Jelinek <jakub@redhat.com>
637 * task.c (gomp_task_run_post_handle_dependers): If parent is NULL,
639 * testsuite/libgomp.c/pr104385.c: New test.
641 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
643 * testsuite/libgomp.fortran/allocate-1.f90: Remove spurious
644 STOP of previous commit.
646 2022-02-04 Tobias Burnus <tobias@codesourcery.com>
648 * testsuite/libgomp.fortran/allocate-1.c (is_64bit_aligned): Renamed
649 from is_64bit_aligned_.
650 * testsuite/libgomp.fortran/allocate-1.f90: Fix interface decl
651 and use it, more implicit none, remove unused argument.
653 2022-02-03 David Seifert <soap@gentoo.org>
654 Jakub Jelinek <jakub@redhat.com>
656 * configure.ac: Support --disable-werror.
657 * configure: Regenerate.
659 2022-02-01 Tom de Vries <tdevries@suse.de>
661 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: Remove
663 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: Same.
664 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90: Same.
666 2022-02-01 Tom de Vries <tdevries@suse.de>
668 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Reduce
669 num_workers for nvidia accelerator to fix libgomp error 'insufficient
671 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
673 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Same.
675 2022-02-01 Tom de Vries <tdevries@suse.de>
677 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
679 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
681 2022-01-31 Martin Liska <mliska@suse.cz>
683 * acinclude.m4: Detect *_ld_is_mold and use it.
684 * configure: Regenerate.
686 2022-01-27 Tobias Burnus <tobias@codesourcery.com>
688 * libgomp.texi (OpenMP 5.0): Update implementation status.
690 2022-01-21 Thomas Schwinge <thomas@codesourcery.com>
692 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Strengthen.
693 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
694 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
695 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
696 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
697 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
698 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
699 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
700 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
701 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
702 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
703 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
704 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
705 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
706 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
708 2022-01-19 Marcel Vollweiler <marcel@codesourcery.com>
710 * config/gcn/icv-device.c: Make GOMP_DEVICE_NUM_VAR public (remove
711 "static") to make the device num available in the offload image.
713 2022-01-19 Martin Liska <mliska@suse.cz>
714 Thomas Schwinge <thomas@codesourcery.com>
716 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update scanning
718 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
719 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
721 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
722 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
723 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
724 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
725 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
727 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c:
729 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c:
731 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c:
733 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90:
735 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
737 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
738 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
739 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
741 2022-01-18 Martin Liska <mliska@suse.cz>
743 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Update keyword
745 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
746 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
747 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Likewise.
748 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
749 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
750 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: Likewise.
751 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c: Likewise.
752 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: Likewise.
753 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: Likewise.
754 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: Likewise.
755 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Likewise.
756 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: Likewise.
757 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
758 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
759 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
761 2022-01-17 Thomas Schwinge <thomas@codesourcery.com>
763 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: Extend.
764 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: Likewise.
765 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: Likewise.
767 2022-01-17 Julian Brown <julian@codesourcery.com>
768 Thomas Schwinge <thomas@codesourcery.com>
770 * testsuite/libgomp.oacc-fortran/privatized-ref-1.f95: New test.
771 * testsuite/libgomp.oacc-c++/privatized-ref-2.C: New test.
772 * testsuite/libgomp.oacc-c++/privatized-ref-3.C: New test.
774 2022-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
775 Andrew Stubbs <ams@codesourcery.com>
777 * plugin/plugin-gcn.c (parse_target_attributes): Automatically set
778 the number of teams and threads if necessary.
779 (gcn_exec): Automatically set the number of gangs and workers if
782 2022-01-13 Hafiz Abid Qadeer <abidh@codesourcery.com>
784 * testsuite/libgomp.fortran/allocate-1.c: New test.
785 * testsuite/libgomp.fortran/allocate-1.f90: New test.
786 * libgomp.texi: Remove string that says that allocate clause
787 support is for C/C++ only.
789 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
791 * testsuite/libgomp.c-c++-common/on_device_arch.h
792 (any_device_arch, any_device_arch_intel_mic): New.
793 * testsuite/lib/libgomp.exp
794 (check_effective_target_offload_device_any_intel_mic): New.
795 * testsuite/libgomp.c-c++-common/target-45.c: Use it.
796 * testsuite/libgomp.fortran/target10.f90: Likewise.
798 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
800 PR tree-optimization/102192
801 * testsuite/libgomp.oacc-fortran/routine-10.f90: Document current
802 '-Wuninitialized' diagnostics.
804 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
806 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: Document
807 current '-Wuninitialized' diagnostics.
808 * testsuite/libgomp.oacc-fortran/data-5.f90: Likewise.
809 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Likewise.
810 * testsuite/libgomp.oacc-fortran/gemm.f90: Likewise.
811 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Likewise.
812 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
813 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
814 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: Likewise.
815 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
816 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
817 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
818 * testsuite/libgomp.oacc-fortran/reference-reductions.f90:
821 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
823 * testsuite/libgomp.c/address-space-1.c: Remove 'dg-xfail-run-if'
824 for 'offload_device_intel_mic'.
826 2022-01-13 Julian Brown <julian@codesourcery.com>
827 Thomas Schwinge <thomas@codesourcery.com>
829 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Remove GCN
830 offloading execution XFAIL.
832 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
835 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
837 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
838 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
841 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
843 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
845 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
847 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Likewise.
848 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: Likewise.
849 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: Likewise.
850 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: Likewise.
851 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
853 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
854 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
855 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
856 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
858 2022-01-04 Tobias Burnus <tobias@codesourcery.com>
860 * testsuite/libgomp.c-c++-common/target-45.c: Iterate over all devices.
861 * testsuite/libgomp.fortran/target10.f90: Likewise.
863 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
865 * plugin/plugin-gcn.c (GOMP_OFFLOAD_load_image): Change uses of STRINGX
866 into XSTRING when looking for GOMP_DEVICE_NUM_VAR in offload image.
867 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_load_image): Likewise.
869 2022-01-03 Jakub Jelinek <jakub@redhat.com>
871 * libgomp.texi: Bump @copying's copyright year.
873 2021-12-13 Tobias Burnus <tobias@codesourcery.com>
875 * libgomp.texi (OpenMP 5.1): Set Fortran support for atomic to 'Y'.
876 * testsuite/libgomp.fortran/atomic-19.f90: New test.
878 2021-12-10 Andrew Stubbs <ams@codesourcery.com>
880 * plugin/plugin-gcn.c (struct gcn_image_desc): Remove global_variables.
881 (GOMP_OFFLOAD_load_image): Locate the offload variables via the
882 table, not individual symbols.
884 2021-12-09 Chung-Lin Tang <cltang@codesourcery.com>
886 * testsuite/libgomp.c++/target-lambda-1.C: Only run under
887 "target offload_device_nonshared_as"
888 * testsuite/libgomp.c++/target-this-3.C: Likewise.
889 * testsuite/libgomp.c++/target-this-4.C: Likewise.
891 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
893 * target.c (gomp_map_vars_existing): Make sure attached pointer is
894 not overwritten during cross-host/device copying.
895 (gomp_update): Likewise.
896 (gomp_exit_data): Likewise.
897 * testsuite/libgomp.c++/target-11.C: Adjust testcase.
898 * testsuite/libgomp.c++/target-12.C: Likewise.
899 * testsuite/libgomp.c++/target-15.C: Likewise.
900 * testsuite/libgomp.c++/target-16.C: Likewise.
901 * testsuite/libgomp.c++/target-17.C: Likewise.
902 * testsuite/libgomp.c++/target-21.C: Likewise.
903 * testsuite/libgomp.c++/target-23.C: Likewise.
904 * testsuite/libgomp.c/target-23.c: Likewise.
905 * testsuite/libgomp.c/target-29.c: Likewise.
906 * testsuite/libgomp.c-c++-common/target-implicit-map-2.c: New testcase.
908 2021-12-08 Chung-Lin Tang <cltang@codesourcery.com>
911 * libgomp.h (gomp_attach_pointer): Add bool parameter.
912 * oacc-mem.c (acc_attach_async): Update call to gomp_attach_pointer.
913 (goacc_enter_data_internal): Likewise.
914 * target.c (gomp_map_vars_existing): Update assert condition to
915 include GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION.
916 (gomp_map_pointer): Add 'bool allow_zero_length_array_sections'
917 parameter, add support for mapping a pointer with NULL target.
918 (gomp_attach_pointer): Add 'bool allow_zero_length_array_sections'
919 parameter, add support for attaching a pointer with NULL target.
920 (gomp_map_vars_internal): Update calls to gomp_map_pointer and
921 gomp_attach_pointer, add handling for
922 GOMP_MAP_ATTACH_ZERO_LENGTH_ARRAY_SECTION, and
923 GOMP_MAP_POINTER_TO_ZERO_LENGTH_ARRAY_SECTION cases.
924 * testsuite/libgomp.c++/target-23.C: New testcase.
925 * testsuite/libgomp.c++/target-lambda-1.C: New testcase.
926 * testsuite/libgomp.c++/target-lambda-2.C: New testcase.
927 * testsuite/libgomp.c++/target-this-1.C: New testcase.
928 * testsuite/libgomp.c++/target-this-2.C: New testcase.
929 * testsuite/libgomp.c++/target-this-3.C: New testcase.
930 * testsuite/libgomp.c++/target-this-4.C: New testcase.
931 * testsuite/libgomp.c++/target-this-5.C: New testcase.
933 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
935 * libgomp.texi (OpenMP 5.1): Update status.
937 2021-12-04 Tobias Burnus <tobias@codesourcery.com>
939 * libgomp.texi (OMP_PLACES): Extend description for OMP 5.1 changes.
941 2021-12-02 Chung-Lin Tang <cltang@codesourcery.com>
944 * testsuite/libgomp.oacc-fortran/pr90030.f90: New test.
945 * testsuite/libgomp.fortran/pr90030.f90: New test.
947 2021-11-30 Kwok Cheung Yeung <kcy@codesourcery.com>
948 Thomas Schwinge <thomas@codesourcery.com>
950 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Remove
953 2021-11-30 Cesar Philippidis <cesar@codesourcery.com>
954 Thomas Schwinge <thomas@codesourcery.com>
956 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Temporarily
959 2021-11-29 Richard Biener <rguenther@suse.de>
961 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): Remove unreachable
964 2021-11-24 Jakub Jelinek <jakub@redhat.com>
967 * testsuite/libgomp.c/declare-variant-2.c: New test.
969 2021-11-18 David Edelsohn <dje.gcc@gmail.com>
971 * alloc.c (gomp_aligned_alloc): Fix typo.
973 2021-11-18 Jakub Jelinek <jakub@redhat.com>
976 * libgomp.h (GOMP_USE_ALIGNED_WORK_SHARES): Define if
977 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined and __AMDGCN__ is not.
978 (struct gomp_work_share): Use GOMP_USE_ALIGNED_WORK_SHARES instead of
979 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
980 * work.c (alloc_work_share, gomp_work_share_start): Likewise.
981 * team.c (gomp_new_team): If GOMP_USE_ALIGNED_WORK_SHARES, use
982 gomp_aligned_alloc instead of team_malloc.
984 2021-11-18 Jakub Jelinek <jakub@redhat.com>
987 * alloc.c (gomp_aligned_alloc): Prefer _aligned_alloc over
988 memalign over posix_memalign over aligned_alloc over fallback
989 with malloc instead of aligned_alloc over _aligned_alloc over
990 posix_memalign over memalign over fallback with malloc. For
991 aligned_alloc, round up size up to multiple of al.
993 2021-11-16 Jakub Jelinek <jakub@redhat.com>
995 * libgomp.texi (OpenMP 5.1): Mark thread_limit clause to target
996 construct as implemented.
998 2021-11-15 Tobias Burnus <tobias@codesourcery.com>
1000 * testsuite/libgomp.fortran/thread-limit-1.f90: New test.
1002 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1004 * task.c (gomp_create_target_task): Copy args array as well.
1005 * target.c (gomp_target_fallback): Add args argument.
1006 Set gomp_icv (true)->thread_limit_var if thread_limit is present.
1007 (GOMP_target): Adjust gomp_target_fallback caller.
1008 (GOMP_target_ext): Likewise.
1009 (gomp_target_task_fn): Likewise.
1010 * config/nvptx/team.c (gomp_nvptx_main): Set
1011 gomp_global_icv.thread_limit_var.
1012 * testsuite/libgomp.c-c++-common/thread-limit-1.c: New test.
1014 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1016 * config/nvptx/team.c (__gomp_team_num): Define as
1017 __attribute__((shared)) var.
1018 (gomp_nvptx_main): Initialize __gomp_team_num to 0.
1019 * config/nvptx/target.c (__gomp_team_num): Declare as
1020 extern __attribute__((shared)) var.
1021 (GOMP_teams4): Use __gomp_team_num as the team number instead of
1022 %ctaid.x. If first, initialize it to %ctaid.x. If num_teams_lower
1023 is bigger than num_blocks, use num_teams_lower teams and arrange for
1024 bumping of __gomp_team_num if !first and returning false once we run
1026 * config/nvptx/teams.c (__gomp_team_num): Declare as
1027 extern __attribute__((shared)) var.
1028 (omp_get_team_num): Return __gomp_team_num value instead of %ctaid.x.
1030 2021-11-15 Jakub Jelinek <jakub@redhat.com>
1032 * testsuite/libgomp.c/teams-5.c: New test.
1034 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1037 * config/gcn/icv-device.c (omp_get_num_teams, omp_get_team_num): Move
1039 * config/gcn/teams.c: ... here. New file.
1041 2021-11-12 Chung-Lin Tang <cltang@codesourcery.com>
1043 * target.c (gomp_map_vars_existing): Add 'bool implicit' parameter, add
1044 implicit map handling to allow a "superset" existing map as valid case.
1045 (get_kind): Adjust to filter out GOMP_MAP_IMPLICIT bits in return value.
1046 (get_implicit): New function to extract implicit status.
1047 (gomp_map_fields_existing): Adjust arguments in calls to
1048 gomp_map_vars_existing, and add uses of get_implicit.
1049 (gomp_map_vars_internal): Likewise.
1050 * testsuite/libgomp.c-c++-common/target-implicit-map-1.c: New test.
1052 2021-11-12 Jakub Jelinek <jakub@redhat.com>
1054 * libgomp_g.h (GOMP_teams4): Declare.
1055 * libgomp.map (GOMP_5.1): Export GOMP_teams4.
1056 * target.c (GOMP_teams4): New function.
1057 * config/nvptx/target.c (GOMP_teams): Remove.
1058 (GOMP_teams4): New function.
1059 * config/gcn/target.c (GOMP_teams): Remove.
1060 (GOMP_teams4): New function.
1061 * testsuite/libgomp.c/teams-4.c (main): Expect exactly 2
1062 teams instead of <= 2.
1063 * testsuite/libgomp.c-c++-common/teams-2.c: New test.
1065 2021-11-11 Tobias Burnus <tobias@codesourcery.com>
1067 * testsuite/libgomp.fortran/teams-1.f90: New test.
1069 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1071 * libgomp.h (struct gomp_thread): Add num_teams and team_num members.
1072 * team.c (struct gomp_thread_start_data): Likewise.
1073 (gomp_thread_start): Initialize thr->num_teams and thr->team_num.
1074 (gomp_team_start): Initialize start_data->num_teams and
1075 start_data->team_num. Update nthr->num_teams and nthr->team_num.
1076 * teams.c (gomp_num_teams, gomp_team_num): Remove.
1077 (GOMP_teams_reg): Set and restore thr->num_teams and thr->team_num
1078 instead of gomp_num_teams and gomp_team_num.
1079 (omp_get_num_teams): Use thr->num_teams + 1 instead of gomp_num_teams.
1080 (omp_get_team_num): Use thr->team_num instead of gomp_team_num.
1081 * testsuite/libgomp.c/teams-4.c: New test.
1083 2021-11-11 Jakub Jelinek <jakub@redhat.com>
1085 * testsuite/libgomp.c-c++-common/teams-1.c: New test.
1087 2021-11-09 Thomas Schwinge <thomas@codesourcery.com>
1089 * env.c (parse_gomp_openacc_dim): Restore parsing.
1091 2021-10-30 Tobias Burnus <tobias@codesourcery.com>
1093 PR middle-end/102972
1094 * testsuite/libgomp.c-c++-common/icv-3.c: Nest API calls inside
1096 * testsuite/libgomp.c-c++-common/icv-4.c: Likewise.
1097 * testsuite/libgomp.c/target-3.c: Likewise.
1098 * testsuite/libgomp.c/target-5.c: Likewise.
1099 * testsuite/libgomp.c/target-6.c: Likewise.
1100 * testsuite/libgomp.c/target-teams-1.c: Likewise.
1101 * testsuite/libgomp.c/teams-1.c: Likewise.
1102 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1103 * testsuite/libgomp.c/thread-limit-3.c: Likewise.
1104 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
1105 * testsuite/libgomp.c/thread-limit-5.c: Likewise.
1106 * testsuite/libgomp.fortran/icv-3.f90: Likewise.
1107 * testsuite/libgomp.fortran/icv-4.f90: Likewise.
1108 * testsuite/libgomp.fortran/teams1.f90: Likewise.
1110 2021-10-29 Aldy Hernandez <aldyh@redhat.com>
1112 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for threading changes.
1113 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1115 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1117 * libgomp.texi (OpenMP 5.0): Mention that Non-rectangular loop nests
1118 aren't implemented for Fortran yet.
1120 2021-10-27 Jakub Jelinek <jakub@redhat.com>
1122 * testsuite/libgomp.c/loop-26.c: New test.
1123 * testsuite/libgomp.c/loop-27.c: New test.
1125 2021-10-25 Tobias Burnus <tobias@codesourcery.com>
1128 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Use __builtin_alloca
1129 instead of #include <alloca.h> + alloca.
1131 2021-10-21 Chung-Lin Tang <cltang@codesourcery.com>
1133 * libgomp.texi (Support of strictly structured blocks in Fortran):
1135 * testsuite/libgomp.fortran/task-reduction-16.f90: Adjust testcase.
1137 2021-10-20 Chung-Lin Tang <cltang@codesourcery.com>
1139 * testsuite/libgomp.fortran/target-in-reduction-1.f90: New test.
1140 * testsuite/libgomp.fortran/target-in-reduction-2.f90: New test.
1142 2021-10-20 Jakub Jelinek <jakub@redhat.com>
1145 * libgomp.h (struct gomp_work_share_1st_cacheline): New type.
1146 (struct gomp_work_share): Only use aligned(64) attribute if
1147 GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined, otherwise just
1148 add padding before lock to ensure lock is at offset 64 bytes
1150 (gomp_workshare_struct_check1, gomp_workshare_struct_check2):
1151 New poor man's static assertions.
1152 * work.c (gomp_work_share_start): Use gomp_aligned_alloc instead of
1153 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC.
1155 2021-10-20 Aldy Hernandez <aldyh@redhat.com>
1156 Richard Biener <rguenther@suse.de>
1158 * testsuite/libgomp.graphite/force-parallel-5.c: Remove xfail.
1160 2021-10-18 Jakub Jelinek <jakub@redhat.com>
1162 * config/linux/affinity.c (gomp_affinity_init_numa_domains): Add
1163 && gomp_places_list_len < count after nfirst <= nlast loop condition.
1165 2021-10-18 Tobias Burnus <tobias@codesourcery.com>
1174 * testsuite/libgomp.fortran/optional-bind-c.f90: New test.
1176 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1178 * testsuite/libgomp.c/affinity-1.c (struct places): Change name field
1179 type from char [50] to const char *.
1180 (places_array): Add a testcase for simplified syntax place followed
1181 by length or length and stride.
1183 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1185 * env.c (parse_one_place): Handle non-negative-number the same
1186 as { non-negative-number }. Reject even !number:1 and
1187 !number:1:stride or !place:1 or !place:1:stride instead of just
1188 length other than 1.
1189 * libgomp.texi (OpenMP 5.1): Document OMP_PLACES syntax extensions
1190 and OMP_NUM_TEAMS/OMP_TEAMS_THREAD_LIMIT and
1191 omp_{set_num,get_max}_teams/omp_{s,g}et_teams_thread_limit features
1193 * testsuite/libgomp.c/affinity-1.c: Add a test for the 5.1 place
1196 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1198 * env.c (parse_schedule): For strtoul or strtoull calls which don't
1199 clearly reject return value 0 as invalid handle the case where end
1200 pointer is the same as first argument as invalid.
1201 (parse_unsigned_long_1): Likewise.
1202 (parse_one_place): Likewise.
1203 (parse_places_var): Likewise.
1204 (parse_stacksize): Likewise.
1205 (parse_spincount): Likewise.
1206 (parse_affinity): Likewise.
1207 (parse_gomp_openacc_dim): Likewise. Avoid strict aliasing violation.
1208 Make code valid C89.
1209 * config/linux/affinity.c (gomp_affinity_find_last_cache_level):
1210 For strtoul calls which don't clearly reject return value 0 as
1211 invalid handle the case where end pointer is the same as first
1212 argument as invalid.
1213 (gomp_affinity_init_level_1): Likewise.
1214 (gomp_affinity_init_numa_domains): Likewise.
1215 * config/rtems/proc.c (parse_thread_pools): Likewise.
1217 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1219 * config/linux/affinity.c (gomp_affinity_init_level_1): For level 1
1220 after creating count places clean up and return immediately.
1221 * testsuite/libgomp.c/places-6.c: New test.
1222 * testsuite/libgomp.c/places-7.c: New test.
1223 * testsuite/libgomp.c/places-8.c: New test.
1224 * testsuite/libgomp.c/places-9.c: New test.
1225 * testsuite/libgomp.c/places-10.c: New test.
1227 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1229 * env.c (parse_places_var): Handle numa_domains as level 5.
1230 * config/linux/affinity.c (gomp_affinity_init_numa_domains): New
1232 (gomp_affinity_init_level): Use it instead of
1233 gomp_affinity_init_level_1 for level == 5.
1234 * testsuite/libgomp.c/places-5.c: New test.
1236 2021-10-15 Jakub Jelinek <jakub@redhat.com>
1238 * env.c (parse_places_var): Handle ll_caches as level 4.
1239 * config/linux/affinity.c (gomp_affinity_find_last_cache_level): New
1241 (gomp_affinity_init_level_1): Handle level 4 as logical cpus sharing
1243 (gomp_affinity_init_level): Likewise.
1244 * testsuite/libgomp.c/places-1.c: New test.
1245 * testsuite/libgomp.c/places-2.c: New test.
1246 * testsuite/libgomp.c/places-3.c: New test.
1247 * testsuite/libgomp.c/places-4.c: New test.
1249 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1251 * libgomp.texi (OpenMP 5.0): Update entry for declare variant
1254 2021-10-14 Kwok Cheung Yeung <kcy@codesourcery.com>
1256 * testsuite/libgomp.fortran/declare-variant-1.f90: New test.
1258 2021-10-12 Julian Brown <julian@codesourcery.com>
1260 * target.c (gomp_copy_host2dev): Release device lock on cbuf
1263 2021-10-12 Tobias Burnus <tobias@codesourcery.com>
1265 * testsuite/libgomp.fortran/icv-3.f90: New.
1266 * testsuite/libgomp.fortran/icv-4.f90: New.
1268 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1270 * libgomp.texi (omp_get_max_teams, omp_get_teams_thread_limit,
1271 omp_set_num_teams, omp_set_teams_thread_limit, OMP_NUM_TEAMS,
1272 OMP_TEAMS_THREAD_LIMIT): Document.
1274 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1276 * libgomp.texi (omp_get_device_num): Move @node before omp_get_dynamic
1277 to avoid makeinfo warnings.
1279 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1281 * testsuite/libgomp.c-c++-common/icv-3.c: New test.
1282 * testsuite/libgomp.c-c++-common/icv-4.c: New test.
1284 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1288 * testsuite/libgomp.c-c++-common/alloc-9.c (main): Decrease
1289 allocation sizes from 420 to 320 and from 768 to 568.
1290 * testsuite/libgomp.fortran/alloc-11.f90: Likewise.
1291 * testsuite/libgomp.fortran/alloc-1.F90: Change expected alignment
1292 for cr from 16 to 4.
1294 2021-10-12 Jakub Jelinek <jakub@redhat.com>
1296 * testsuite/libgomp.c/scan-11.c: Remove option -fvect-cost-model=cheap.
1297 * testsuite/libgomp.c/scan-12.c: Likewise.
1298 * testsuite/libgomp.c/scan-13.c: Likewise.
1299 * testsuite/libgomp.c/scan-14.c: Likewise.
1300 * testsuite/libgomp.c/scan-15.c: Likewise.
1301 * testsuite/libgomp.c/scan-16.c: Likewise.
1302 * testsuite/libgomp.c/scan-17.c: Likewise.
1303 * testsuite/libgomp.c/scan-18.c: Likewise.
1304 * testsuite/libgomp.c/scan-19.c: Likewise.
1305 * testsuite/libgomp.c/scan-20.c: Likewise.
1306 * testsuite/libgomp.c/scan-21.c: Likewise.
1307 * testsuite/libgomp.c/scan-22.c: Likewise.
1308 * testsuite/libgomp.c++/scan-9.C: Likewise.
1309 * testsuite/libgomp.c++/scan-10.C: Likewise.
1310 * testsuite/libgomp.c++/scan-11.C: Likewise.
1311 * testsuite/libgomp.c++/scan-12.C: Likewise.
1312 * testsuite/libgomp.c++/scan-13.C: Likewise.
1313 * testsuite/libgomp.c++/scan-14.C: Likewise.
1314 * testsuite/libgomp.c++/scan-15.C: Likewise.
1315 * testsuite/libgomp.c++/scan-16.C: Likewise.
1317 2021-10-12 Kewen Lin <linkw@linux.ibm.com>
1319 * testsuite/libgomp.graphite/force-parallel-8.c: Add --param max-stores-to-sink=0.
1321 2021-10-11 Marcel Vollweiler <marcel@codesourcery.com>
1323 * allocator.c (omp_init_allocator): Replace omp_atv_sequential with
1325 * omp.h.in: Add deprecated flag for omp_atv_sequential.
1326 * omp_lib.f90.in: Add deprecated flag for omp_atv_sequential.
1327 * testsuite/libgomp.c-c++-common/alloc-10.c: New test.
1328 * testsuite/libgomp.fortran/alloc-12.f90: New test.
1330 2021-10-11 Jakub Jelinek <jakub@redhat.com>
1332 * omp.h.in (omp_set_num_teams, omp_get_max_teams,
1333 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1334 * omp_lib.f90.in (omp_set_num_teams, omp_get_max_teams,
1335 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1336 * omp_lib.h.in (omp_set_num_teams, omp_get_max_teams,
1337 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Declare.
1338 * libgomp.h (gomp_nteams_var, gomp_teams_thread_limit_var): Declare.
1339 * libgomp.map (OMP_5.1): Export omp_get_max_teams{,_},
1340 omp_get_teams_thread_limit{,_}, omp_set_num_teams{,_,_8_} and
1341 omp_set_teams_thread_limit{,_,_8_}.
1342 * icv.c (omp_set_num_teams, omp_get_max_teams,
1343 omp_set_teams_thread_limit, omp_get_teams_thread_limit): New
1345 * env.c (gomp_nteams_var, gomp_teams_thread_limit_var): Define.
1346 (omp_display_env): Print OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT.
1347 (initialize_env): Handle OMP_NUM_TEAMS and OMP_TEAMS_THREAD_LIMIT env
1349 * teams.c (GOMP_teams_reg): If thread_limit is not specified, use
1350 gomp_teams_thread_limit_var as fallback if not zero. If num_teams
1351 is not specified, use gomp_nteams_var.
1352 * fortran.c (omp_set_num_teams, omp_get_max_teams,
1353 omp_set_teams_thread_limit, omp_get_teams_thread_limit): Add
1355 (omp_set_num_teams_, omp_set_num_teams_8_, omp_get_max_teams_,
1356 omp_set_teams_thread_limit_, omp_set_teams_thread_limit_8_,
1357 omp_get_teams_thread_limit_): New functions.
1359 2021-10-09 liuhongt <hongtao.liu@intel.com>
1361 * testsuite/libgomp.c++/scan-10.C: Add option -fvect-cost-model=cheap.
1362 * testsuite/libgomp.c++/scan-11.C: Ditto.
1363 * testsuite/libgomp.c++/scan-12.C: Ditto.
1364 * testsuite/libgomp.c++/scan-13.C: Ditto.
1365 * testsuite/libgomp.c++/scan-14.C: Ditto.
1366 * testsuite/libgomp.c++/scan-15.C: Ditto.
1367 * testsuite/libgomp.c++/scan-16.C: Ditto.
1368 * testsuite/libgomp.c++/scan-9.C: Ditto.
1369 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: Ditto.
1370 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: Ditto.
1371 * testsuite/libgomp.c/scan-11.c: Ditto.
1372 * testsuite/libgomp.c/scan-12.c: Ditto.
1373 * testsuite/libgomp.c/scan-13.c: Ditto.
1374 * testsuite/libgomp.c/scan-14.c: Ditto.
1375 * testsuite/libgomp.c/scan-15.c: Ditto.
1376 * testsuite/libgomp.c/scan-16.c: Ditto.
1377 * testsuite/libgomp.c/scan-17.c: Ditto.
1378 * testsuite/libgomp.c/scan-18.c: Ditto.
1379 * testsuite/libgomp.c/scan-19.c: Ditto.
1380 * testsuite/libgomp.c/scan-20.c: Ditto.
1381 * testsuite/libgomp.c/scan-21.c: Ditto.
1382 * testsuite/libgomp.c/scan-22.c: Ditto.
1384 2021-10-09 Jakub Jelinek <jakub@redhat.com>
1386 * libgomp.texi (OpenMP 5.1): Mention implemented support for
1387 structured block sequences in C/C++. Mention support for
1388 unconstrained/reproducible modifiers on order clause.
1389 Mention partial (C/C++ only) support of extentensions to atomics
1390 construct. Mention partial (C/C++ on clause only) support of
1391 align/allocator modifiers on allocate clause.
1393 2021-10-02 Tobias Burnus <tobias@codesourcery.com>
1395 * testsuite/libgomp.fortran/order-reproducible-1.f90: New test
1396 based on libgomp.c-c++-common/order-reproducible-1.c.
1397 * testsuite/libgomp.fortran/order-reproducible-2.f90: Likewise.
1398 * testsuite/libgomp.fortran/my-usleep.c: New test.
1400 2021-10-01 Tobias Burnus <tobias@codesourcery.com>
1402 * testsuite/libgomp.fortran/alloc-10.f90: Fix alignment check.
1403 * testsuite/libgomp.fortran/alloc-7.f90: Fix array access.
1404 * testsuite/libgomp.fortran/alloc-8.f90: Likewise.
1405 * testsuite/libgomp.fortran/alloc-11.f90: New test for omp_realloc,
1406 based on libgomp.c-c++-common/alloc-9.c.
1408 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1410 * testsuite/libgomp.c-c++-common/order-reproducible-1.c: New test.
1411 * testsuite/libgomp.c-c++-common/order-reproducible-2.c: New test.
1413 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1415 * affinity-fmt.c (omp_get_team_num, omp_get_num_teams): Add
1417 * env.c (handle_omp_display_env): Use ialias_call.
1418 * icv-device.c: Move ialias right below each function.
1419 (omp_get_device_num): Use ialias_call.
1420 * fortran.c (omp_fulfill_event): Add ialias_redirect.
1421 * icv.c (omp_get_active_level): Add ialias_redirect.
1423 2021-10-01 Jakub Jelinek <jakub@redhat.com>
1425 * omp.h.in (omp_aligned_alloc, omp_aligned_calloc): Add
1426 __alloc_align__ (1) attribute.
1427 * testsuite/libgomp.c-c++-common/alloc-9.c: New test.
1429 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
1431 * testsuite/libgomp.fortran/alloc-7.f90: Add dg-prune-output
1432 for -fintrinsic-modules-path= warning of the C compiler.
1433 * testsuite/libgomp.fortran/alloc-9.f90: Likewise.
1434 * testsuite/libgomp.fortran/alloc-10.f90: Likewise.
1436 2021-09-30 Tobias Burnus <tobias@codesourcery.com>
1438 * libgomp.texi (OpenMP 5.1): Set implementation status to Y for
1439 omp_aligned_{,c}alloc and omp_{c,re}alloc routines.
1440 * omp_lib.f90.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1442 * omp_lib.h.in (omp_aligned_alloc, omp_aligned_calloc, omp_calloc,
1444 * testsuite/libgomp.fortran/alloc-10.f90: New test.
1445 * testsuite/libgomp.fortran/alloc-6.f90: New test.
1446 * testsuite/libgomp.fortran/alloc-7.c: New test.
1447 * testsuite/libgomp.fortran/alloc-7.f90: New test.
1448 * testsuite/libgomp.fortran/alloc-8.f90: New test.
1449 * testsuite/libgomp.fortran/alloc-9.f90: New test.
1451 2021-09-30 Jakub Jelinek <jakub@redhat.com>
1453 * omp.h.in (omp_aligned_alloc, omp_calloc, omp_aligned_calloc,
1454 omp_realloc): New prototypes.
1455 (omp_alloc): Move after omp_free prototype, add __malloc__ (omp_free)
1457 * allocator.c: Include string.h.
1458 (omp_aligned_alloc): No longer static, add ialias. Add new_alignment
1459 variable and use it instead of alignment so that when retrying the old
1460 alignment is used again. Don't retry if new alignment is the same
1461 as old alignment, unless allocator had pool size.
1462 (omp_alloc, GOMP_alloc, GOMP_free): Use ialias_call.
1463 (omp_aligned_calloc, omp_calloc, omp_realloc): New functions.
1464 * libgomp.map (OMP_5.0.2): Export omp_aligned_alloc, omp_calloc,
1465 omp_aligned_calloc and omp_realloc.
1466 * testsuite/libgomp.c-c++-common/alloc-4.c (main): Add
1467 omp_aligned_alloc, omp_calloc and omp_aligned_calloc tests.
1468 * testsuite/libgomp.c-c++-common/alloc-5.c: New test.
1469 * testsuite/libgomp.c-c++-common/alloc-6.c: New test.
1470 * testsuite/libgomp.c-c++-common/alloc-7.c: New test.
1471 * testsuite/libgomp.c-c++-common/alloc-8.c: New test.
1473 2021-09-28 Tobias Burnus <tobias@codesourcery.com>
1476 * configure.ac: Only check for int-type = 2*size_t support when
1477 building with Fortran support.
1478 * configure: Regenerate.
1480 2021-09-28 Thomas Schwinge <thomas@codesourcery.com>
1482 * testsuite/libgomp.oacc-fortran/if-1.f90: Adjust.
1483 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
1485 2021-09-27 Aldy Hernandez <aldyh@redhat.com>
1487 * team.c: Initialize start_data.
1488 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
1489 * testsuite/libgomp.graphite/force-parallel-8.c: Adjust.
1491 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
1493 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Change
1494 dg-message back to dg-note.
1496 2021-09-27 Tobias Burnus <tobias@codesourcery.com>
1499 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Update
1500 expected dg-note output.
1502 2021-09-22 Tobias Burnus <tobias@codesourcery.com>
1505 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Revert
1506 r12-3722 by removing -Wno-missing-include-dirs.
1507 * testsuite/libgomp.oacc-fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1509 2021-09-22 Jakub Jelinek <jakub@redhat.com>
1511 * testsuite/libgomp.c-c++-common/allocate-2.c: New test.
1512 * testsuite/libgomp.c-c++-common/allocate-3.c: New test.
1514 2021-09-21 Tobias Burnus <tobias@codesourcery.com>
1517 * testsuite/libgomp.fortran/fortran.exp: Add -Wno-missing-include-dirs
1519 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1521 2021-09-18 Jakub Jelinek <jakub@redhat.com>
1523 * testsuite/libgomp.c++/default-1.C: New test.
1524 * testsuite/libgomp.c-c++-common/default-1.c: New test.
1525 * libgomp.texi (OpenMP 5.1): Mark "private and firstprivate argument
1526 to default clause in C and C++" as implemented.
1528 2021-09-17 Julian Brown <julian@codesourcery.com>
1530 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: Update.
1532 2021-09-17 Julian Brown <julian@codesourcery.com>
1534 * testsuite/libgomp.oacc-c-c++-common/broadcast-many.c: New test.
1536 2021-09-17 Jakub Jelinek <jakub@redhat.com>
1538 * libgomp.texi (OpenMP 5.1): Spelling fix,
1539 declare variante -> declare variant.
1541 2021-09-17 Jakub Jelinek <jakub@redhat.com>
1543 * testsuite/libgomp.c-c++-common/atomic-19.c: Drop c effective target.
1544 Use /* */ comments instead of //.
1545 * testsuite/libgomp.c-c++-common/atomic-20.c: Likewise.
1546 * testsuite/libgomp.c-c++-common/atomic-21.c: Likewise.
1547 * testsuite/libgomp.c++/atomic-16.C: New test.
1548 * testsuite/libgomp.c++/atomic-17.C: New test.
1550 2021-09-10 Jakub Jelinek <jakub@redhat.com>
1552 * testsuite/libgomp.c-c++-common/atomic-19.c: New test.
1553 * testsuite/libgomp.c-c++-common/atomic-20.c: New test.
1554 * testsuite/libgomp.c-c++-common/atomic-21.c: New test.
1556 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
1558 * libgomp.texi (OpenMP Implementation Status): Extend
1560 (OpenACC Profiling Interface): Fix typo.
1562 2021-09-07 Tobias Burnus <tobias@codesourcery.com>
1564 * libgomp.texi (Enabling OpenMP): Refer to OMP spec in general
1565 not to 4.5; link to new section.
1566 (OpenMP Implementation Status): New.
1568 2021-09-06 Thomas Schwinge <thomas@codesourcery.com>
1570 * testsuite/libgomp.c/target-43.c: '-latomic' for nvptx offloading.
1572 2021-09-03 Tobias Burnus <tobias@codesourcery.com>
1574 * testsuite/libgomp.c-c++-common/error-1.c: Use \r\n not \n\r in
1576 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1578 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1579 Jakub Jelinek <jakub@redhat.com>
1581 * testsuite/libgomp.c/address-space-1.c: New file.
1583 2021-08-23 Thomas Schwinge <thomas@codesourcery.com>
1585 * testsuite/lib/libgomp.exp
1586 (check_effective_target_offload_target_intelmic): Remove 'proc'.
1587 (check_effective_target_offload_device_intel_mic): New 'proc'.
1588 * testsuite/libgomp.c-c++-common/on_device_arch.h
1589 (device_arch_intel_mic, on_device_arch_intel_mic): New.
1590 * testsuite/libgomp.c-c++-common/target-45.c: Use that for
1592 * testsuite/libgomp.fortran/target10.f90: Likewise.
1594 2021-08-23 Tobias Burnus <tobias@codesourcery.com>
1596 * testsuite/libgomp.fortran/taskloop-4-a.f90: New test.
1597 * testsuite/libgomp.fortran/taskloop-4.f90: New test.
1598 * testsuite/libgomp.fortran/taskloop-5-a.f90: New test.
1599 * testsuite/libgomp.fortran/taskloop-5.f90: New test.
1601 2021-08-23 Jakub Jelinek <jakub@redhat.com>
1603 * taskloop.c (GOMP_taskloop): Handle GOMP_TASK_FLAG_STRICT.
1604 * testsuite/libgomp.c-c++-common/taskloop-4.c (main): Fix up comment.
1605 * testsuite/libgomp.c-c++-common/taskloop-5.c: New test.
1607 2021-08-22 Thomas Schwinge <thomas@codesourcery.com>
1609 * config/nvptx/error.c (fwrite, exit): Override, too.
1610 * testsuite/libgomp.c-c++-common/error-1.c: Add a minimum amount
1611 of offloading testing.
1612 * testsuite/libgomp.fortran/error-1.f90: Likewise.
1614 2021-08-20 Tobias Burnus <tobias@codesourcery.com>
1616 * testsuite/libgomp.fortran/error-1.f90: New test.
1618 2021-08-20 Jakub Jelinek <jakub@redhat.com>
1620 * libgomp.map (GOMP_5.1): Add GOMP_error and GOMP_warning.
1621 * libgomp_g.h (GOMP_warning, GOMP_error): Declare.
1622 * error.c (GOMP_warning, GOMP_error): New functions.
1623 * testsuite/libgomp.c-c++-common/error-1.c: New test.
1625 2021-08-18 Tobias Burnus <tobias@codesourcery.com>
1627 * omp_lib.f90.in (omp_alloc, omp_free, omp_target_alloc,
1628 omp_target_free. omp_target_is_present, omp_target_memcpy,
1629 omp_target_memcpy_rect, omp_target_associate_ptr,
1630 omp_target_disassociate_ptr): Add interface.
1631 * omp_lib.h.in (omp_alloc, omp_free, omp_target_alloc,
1632 omp_target_free. omp_target_is_present, omp_target_memcpy,
1633 omp_target_memcpy_rect, omp_target_associate_ptr,
1634 omp_target_disassociate_ptr): Add interface.
1635 * testsuite/libgomp.fortran/alloc-1.F90: Remove local
1636 interface block for omp_alloc + omp_free.
1637 * testsuite/libgomp.fortran/alloc-4.f90: Likewise.
1638 * testsuite/libgomp.fortran/refcount-1.f90: New test.
1639 * testsuite/libgomp.fortran/target-12.f90: New test.
1641 2021-08-18 Jakub Jelinek <jakub@redhat.com>
1643 * testsuite/libgomp.c-c++-common/nothing-1.c: New test.
1645 2021-08-17 Tobias Burnus <tobias@codesourcery.com>
1647 * testsuite/libgomp.fortran/scope-1.f90: New test.
1648 * testsuite/libgomp.fortran/task-reduction-16.f90: New test.
1650 2021-08-17 Jakub Jelinek <jakub@redhat.com>
1652 * Makefile.am (libgomp_la_SOURCES): Add scope.c
1653 * Makefile.in: Regenerated.
1654 * libgomp_g.h (GOMP_scope_start): Declare.
1655 * libgomp.map: Add GOMP_scope_start@@GOMP_5.1.
1656 * scope.c: New file.
1657 * testsuite/libgomp.c-c++-common/scope-1.c: New test.
1658 * testsuite/libgomp.c-c++-common/task-reduction-16.c: New test.
1660 2021-08-16 Thomas Schwinge <thomas@codesourcery.com>
1662 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Address
1665 2021-08-16 Tobias Burnus <tobias@codesourcery.com>
1667 * testsuite/libgomp.fortran/masked-1.f90: New test.
1669 2021-08-13 Thomas Schwinge <thomas@codesourcery.com>
1671 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Adjust.
1673 2021-08-12 Jakub Jelinek <jakub@redhat.com>
1675 * testsuite/libgomp.c-c++-common/masked-1.c: New test.
1677 2021-08-12 Tobias Burnus <tobias@codesourcery.com>
1679 * env.c (parse_bind_var): Accept 'primary' as alias for
1681 (omp_display_env): Add TODO comment to
1682 change 'master' to 'primary' in proc_bind for OpenMP 5.1.
1683 * libgomp.texi: Change 'master thread' to 'primary thread'
1684 in line with OpenMP 5.1.
1685 (omp_get_proc_bind): Add omp_proc_bind_primary and note that
1686 omp_proc_bind_master is an alias of it.
1687 (OMP_PROC_BIND): Mention 'PRIMARY'.
1688 * omp.h.in (__GOMP_DEPRECATED_5_1): Define.
1689 (omp_proc_bind_primary): Add.
1690 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1691 * omp_lib.f90.in (omp_proc_bind_primary): Add.
1692 (omp_proc_bind_master): Deprecate for OpenMP 5.1.
1693 * omp_lib.h.in (omp_proc_bind_primary): Add.
1694 * testsuite/libgomp.c/affinity-1.c: Check that
1695 'primary' works and is identical to 'master'.
1697 2021-08-09 Julian Brown <julian@codesourcery.com>
1698 Kwok Cheung Yeung <kcy@codesourcery.com>
1699 Thomas Schwinge <thomas@codesourcery.com>
1701 * plugin/plugin-gcn.c (gcn_exec): Change default number of workers to
1703 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
1704 [acc_device_radeon]: Update.
1705 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c
1706 [ACC_DEVICE_TYPE_radeon]: Likewise.
1707 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
1708 [acc_device_radeon]: Likewise.
1709 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c
1710 [ACC_DEVICE_TYPE_radeon]: Likewise.
1711 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: XFAIL for
1712 'openacc_radeon_accel_selected' and '-O0'.
1713 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1715 2021-08-05 Chung-Lin Tang <cltang@codesourcery.com>
1717 * icv-device.c (omp_get_device_num): New API function, host side.
1718 * fortran.c (omp_get_device_num_): New interface function.
1719 * libgomp-plugin.h (GOMP_DEVICE_NUM_VAR): Define macro symbol.
1720 * libgomp.map (OMP_5.0.2): New version space with omp_get_device_num,
1721 omp_get_device_num_.
1722 * libgomp.texi (omp_get_device_num): Add documentation for new API
1724 * omp.h.in (omp_get_device_num): Add declaration.
1725 * omp_lib.f90.in (omp_get_device_num): Likewise.
1726 * omp_lib.h.in (omp_get_device_num): Likewise.
1727 * target.c (gomp_load_image_to_device): If additional entry for device
1728 number exists at end of returned entries from 'load_image_func' hook,
1729 copy the assigned device number over to the device variable.
1730 * config/gcn/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1731 (omp_get_device_num): New API function, device side.
1732 * plugin/plugin-gcn.c ("symcat.h"): Add include.
1733 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1734 at end of returned 'target_table' entries.
1735 * config/nvptx/icv-device.c (GOMP_DEVICE_NUM_VAR): Define static global.
1736 (omp_get_device_num): New API function, device side.
1737 * plugin/plugin-nvptx.c ("symcat.h"): Add include.
1738 (GOMP_OFFLOAD_load_image): Add addresses of device GOMP_DEVICE_NUM_VAR
1739 at end of returned 'target_table' entries.
1740 * testsuite/lib/libgomp.exp
1741 (check_effective_target_offload_target_intelmic): New function for
1742 testing for intelmic offloading.
1743 * testsuite/libgomp.c-c++-common/target-45.c: New test.
1744 * testsuite/libgomp.fortran/target10.f90: New test.
1746 2021-07-30 Thomas Schwinge <thomas@codesourcery.com>
1747 Ulrich Drepper <drepper@redhat.com>
1749 * fortran.c (omp_display_env_, omp_display_env_8_): Only
1750 '#ifndef LIBGOMP_OFFLOADED_ONLY'.
1752 2021-07-29 Thomas Schwinge <thomas@codesourcery.com>
1753 Julian Brown <julian@codesourcery.com>
1754 Kwok Cheung Yeung <kcy@codesourcery.com>
1756 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c:
1757 's%oaccdevlow%oaccloops%g'.
1758 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
1759 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
1760 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c:
1762 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c:
1764 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c:
1766 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c:
1768 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c:
1770 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c:
1772 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c:
1774 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c:
1776 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1778 2021-07-29 Aldy Hernandez <aldyh@redhat.com>
1780 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust for
1782 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
1784 2021-07-27 Ulrich Drepper <drepper@gmail.com>
1786 * env.c (wait_policy, stacksize): New static variables,
1787 move out of handle_omp_display_env.
1788 (omp_display_env): New function. The meat of the old
1789 handle_omp_display_env function.
1790 (handle_omp_display_env): Change to not take parameters
1791 and instead use the global variables. Only perform
1792 parsing, defer to omp_display_env for the implementation.
1793 (initialize_env): Remove local variables wait_policy and
1794 stacksize. Don't pass parameters to handle_omp_display_env.
1795 * fortran.c: Add ialias_redirect for omp_display_env.
1796 (omp_display_env_, omp_display_env_8_): New functions.
1797 * libgomp.map (OMP_5.1): New version. Add omp_display_env,
1798 omp_display_env_, and omp_display_env_8_.
1799 * omp.h.in: Declare omp_display_env.
1800 * omp_lib.f90.in: Likewise.
1801 * omp_lib.h.in: Likewise.
1803 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1804 Julian Brown <julian@codesourcery.com>
1806 * target.c (gomp_coalesce_buf_add): Update comment.
1807 (gomp_copy_host2dev, gomp_map_vars_internal): Don't expect to see
1809 (gomp_map_vars_internal): Only 'if (!aq)', do
1810 'gomp_coalesce_buf_add'.
1811 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Remove
1814 2021-07-27 Julian Brown <julian@codesourcery.com>
1815 Thomas Schwinge <thomas@codesourcery.com>
1817 * libgomp.h (gomp_copy_host2dev): Update prototype.
1818 * oacc-mem.c (memcpy_tofrom_device, update_dev_host): Add new
1819 argument to gomp_copy_host2dev (false).
1820 * plugin/plugin-gcn.c (struct copy_data): Remove free_src field.
1821 (copy_data): Don't free src.
1822 (queue_push_copy): Remove free_src handling.
1823 (GOMP_OFFLOAD_dev2dev): Update call to queue_push_copy.
1824 (GOMP_OFFLOAD_openacc_async_host2dev): Remove source-data
1826 (GOMP_OFFLOAD_openacc_async_dev2host): Update call to
1828 * target.c (goacc_device_copy_async): Add SRCADDR_ORIG parameter.
1829 (gomp_copy_host2dev): Add EPHEMERAL parameter. Snapshot source
1830 data when true, and set up deferred freeing of temporary buffer.
1831 (gomp_copy_dev2host): Update call to goacc_device_copy_async.
1832 (gomp_map_vars_existing, gomp_map_pointer, gomp_attach_pointer)
1833 (gomp_detach_pointer, gomp_map_vars_internal, gomp_update): Update
1834 calls to gomp_copy_host2dev with appropriate ephemeral argument.
1835 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: Remove
1838 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1839 Tom de Vries <tom@codesourcery.com>
1841 * testsuite/libgomp.oacc-c-c++-common/async-data-1-1.c: New file.
1842 * testsuite/libgomp.oacc-c-c++-common/async-data-1-2.c: Likewise.
1844 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1846 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Clarify
1847 sequencing of 'async' data copying vs. profiling events.
1848 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1851 2021-07-27 Thomas Schwinge <thomas@codesourcery.com>
1852 Julian Brown <julian@codesourcery.com>
1854 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: Fix OpenACC
1855 'async'/'wait' issue.
1856 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: Likewise.
1857 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: Likewise.
1858 * testsuite/libgomp.oacc-fortran/lib-16.f90: Likewise.
1860 2021-07-21 Thomas Schwinge <thomas@codesourcery.com>
1861 Joseph Myers <joseph@codesourcery.com>
1862 Cesar Philippidis <cesar@codesourcery.com>
1864 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-1.c: New
1866 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2.c:
1868 * testsuite/libgomp.oacc-c-c++-common/routine-nohost-2_2.c:
1870 * testsuite/libgomp.oacc-fortran/routine-nohost-1.f90: Likewise.
1872 2021-07-20 Thomas Schwinge <thomas@codesourcery.com>
1875 * configure.tgt [amdgcn*-*-*] (XCFLAGS): Add
1876 '-Wno-error=array-bounds'.
1877 * config/gcn/team.c: Remove '-Werror=array-bounds' work-around.
1878 * libgomp.h [__AMDGCN__]: Likewise.
1880 2021-07-19 Thomas Schwinge <thomas@codesourcery.com>
1883 * config/gcn/team.c: Apply '-Werror=array-bounds' work-around.
1884 * libgomp.h [__AMDGCN__]: Likewise.
1886 2021-07-13 Jakub Jelinek <jakub@redhat.com>
1887 Florian Weimer <fweimer@redhat.com>
1889 * config/linux/sem.h: Don't include limits.h.
1890 (SEM_WAIT): Define to -__INT_MAX__ - 1 instead of INT_MIN.
1891 * config/linux/affinity.c: Include limits.h.
1893 2021-07-01 Jakub Jelinek <jakub@redhat.com>
1896 * testsuite/libgomp.c-c++-common/pr94366.c: New test.
1898 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
1901 * testsuite/libgomp.c-c++-common/reduction-16.c: Replace
1902 -foffload=nvptx-none= by -foffload-options=nvptx-none= to
1903 avoid disabling other offload targets.
1904 * testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
1905 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
1906 * testsuite/libgomp.c/target-44.c: Likewise.
1908 2021-06-29 Tobias Burnus <tobias@codesourcery.com>
1910 * testsuite/libgomp.fortran/defaultmap-8.f90 (bar): Determine whether
1911 target has shared memory and disable some scalar pointer/allocatable
1912 checks if not as firstprivate does not work.
1914 2021-06-25 Chung-Lin Tang <cltang@codesourcery.com>
1917 * testsuite/libgomp.c-c++-common/struct-elem-5.c:
1918 Add "target offload_device_nonshared_as" condition for enabling test.
1920 2021-06-24 Jakub Jelinek <jakub@redhat.com>
1922 * testsuite/libgomp.c-c++-common/target-in-reduction-1.c: New test.
1923 * testsuite/libgomp.c-c++-common/target-in-reduction-2.c: New test.
1924 * testsuite/libgomp.c++/target-in-reduction-1.C: New test.
1925 * testsuite/libgomp.c++/target-in-reduction-2.C: New test.
1927 2021-06-23 Jakub Jelinek <jakub@redhat.com>
1929 PR middle-end/101167
1930 * testsuite/libgomp.c-c++-common/task-reduction-15.c: New test.
1932 2021-06-17 Chung-Lin Tang <cltang@codesourcery.com>
1934 * hashtab.h (htab_clear): New function with initialization code
1935 factored out from...
1936 (htab_create): ...here, adjust to use htab_clear function.
1937 * libgomp.h (REFCOUNT_SPECIAL): New symbol to denote range of
1938 special refcount values, add comments.
1939 (REFCOUNT_INFINITY): Adjust definition to use REFCOUNT_SPECIAL.
1940 (REFCOUNT_LINK): Likewise.
1941 (REFCOUNT_STRUCTELEM): New special refcount range for structure
1943 (REFCOUNT_STRUCTELEM_P): Macro for testing for structure element
1945 (REFCOUNT_STRUCTELEM_FLAG_FIRST): Flag to indicate first sibling.
1946 (REFCOUNT_STRUCTELEM_FLAG_LAST): Flag to indicate last sibling.
1947 (REFCOUNT_STRUCTELEM_FIRST_P): Macro to test _FIRST flag.
1948 (REFCOUNT_STRUCTELEM_LAST_P): Macro to test _LAST flag.
1949 (struct splay_tree_key_s): Add structelem_refcount and
1950 structelem_refcount_ptr fields into a union with dynamic_refcount.
1952 (gomp_map_vars): Delete declaration.
1953 (gomp_map_vars_async): Likewise.
1954 (gomp_unmap_vars): Likewise.
1955 (gomp_unmap_vars_async): Likewise.
1956 (goacc_map_vars): New declaration.
1957 (goacc_unmap_vars): Likewise.
1958 * oacc-mem.c (acc_map_data): Adjust to use goacc_map_vars.
1959 (goacc_enter_datum): Likewise.
1960 (goacc_enter_data_internal): Likewise.
1961 * oacc-parallel.c (GOACC_parallel_keyed): Adjust to use goacc_map_vars
1962 and goacc_unmap_vars.
1963 (GOACC_data_start): Adjust to use goacc_map_vars.
1964 (GOACC_data_end): Adjust to use goacc_unmap_vars.
1965 * target.c (hash_entry_type): New typedef.
1966 (htab_alloc): New function hook for hashtab.h.
1967 (htab_free): Likewise.
1968 (htab_hash): Likewise.
1969 (htab_eq): Likewise.
1970 (hashtab.h): Add file include.
1971 (gomp_increment_refcount): New function.
1972 (gomp_decrement_refcount): Likewise.
1973 (gomp_map_vars_existing): Add refcount_set parameter, adjust to use
1974 gomp_increment_refcount.
1975 (gomp_map_fields_existing): Add refcount_set parameter, adjust calls
1976 to gomp_map_vars_existing.
1977 (gomp_map_vars_internal): Add refcount_set parameter, add local openmp_p
1978 variable to guard OpenMP specific paths, adjust calls to
1979 gomp_map_vars_existing, add structure element sibling splay_tree_key
1980 sequence creation code, adjust Fortran map case to avoid increment
1982 (gomp_map_vars): Adjust to static, add refcount_set parameter, manage
1983 local refcount_set if caller passed in NULL, adjust call to
1984 gomp_map_vars_internal.
1985 (gomp_map_vars_async): Adjust and rename into...
1986 (goacc_map_vars): ...this new function, adjust call to
1987 gomp_map_vars_internal.
1988 (gomp_remove_splay_tree_key): New function with code factored out from
1989 gomp_remove_var_internal.
1990 (gomp_remove_var_internal): Add code to handle removing multiple
1991 splay_tree_key sequence for structure elements, adjust code to use
1992 gomp_remove_splay_tree_key for splay-tree key removal.
1993 (gomp_unmap_vars_internal): Add refcount_set parameter, adjust to use
1994 gomp_decrement_refcount.
1995 (gomp_unmap_vars): Adjust to static, add refcount_set parameter, manage
1996 local refcount_set if caller passed in NULL, adjust call to
1997 gomp_unmap_vars_internal.
1998 (gomp_unmap_vars_async): Adjust and rename into...
1999 (goacc_unmap_vars): ...this new function, adjust call to
2000 gomp_unmap_vars_internal.
2001 (GOMP_target): Manage refcount_set and adjust calls to gomp_map_vars and
2003 (GOMP_target_ext): Likewise.
2004 (gomp_target_data_fallback): Adjust call to gomp_map_vars.
2005 (GOMP_target_data): Likewise.
2006 (GOMP_target_data_ext): Likewise.
2007 (GOMP_target_end_data): Adjust call to gomp_unmap_vars.
2008 (gomp_exit_data): Add refcount_set parameter, adjust to use
2009 gomp_decrement_refcount, adjust to queue splay-tree keys for removal
2011 (GOMP_target_enter_exit_data): Manage refcount_set and adjust calls to
2012 gomp_map_vars and gomp_exit_data.
2013 (gomp_target_task_fn): Likewise.
2014 * testsuite/libgomp.c-c++-common/refcount-1.c: New testcase.
2015 * testsuite/libgomp.c-c++-common/struct-elem-1.c: New testcase.
2016 * testsuite/libgomp.c-c++-common/struct-elem-2.c: New testcase.
2017 * testsuite/libgomp.c-c++-common/struct-elem-3.c: New testcase.
2018 * testsuite/libgomp.c-c++-common/struct-elem-4.c: New testcase.
2019 * testsuite/libgomp.c-c++-common/struct-elem-5.c: New testcase.
2021 2021-06-15 Tobias Burnus <tobias@codesourcery.com>
2024 * testsuite/libgomp.fortran/defaultmap-8.f90: New test.
2026 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2027 Thomas Schwinge <thomas@codesourcery.com>
2029 * libgomp.map (GOACC_2.0.2): New symbol version.
2030 * libgomp_g.h (GOACC_enter_data, GOACC_exit_data) New prototypes.
2031 * oacc-mem.c (GOACC_enter_data, GOACC_exit_data) New functions.
2033 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2034 Andrew Stubbs <ams@codesourcery.com>
2036 * oacc-mem.c (goacc_enter_exit_data_internal): New function,
2038 (GOACC_enter_exit_data): ... here.
2039 (GOACC_declare): Use it.
2041 2021-06-10 Thomas Schwinge <thomas@codesourcery.com>
2043 * oacc-parallel.c (GOACC_declare): Move...
2044 * oacc-mem.c: ... here.
2045 * libgomp_g.h: Adjust.
2047 2021-06-10 Andrew Stubbs <ams@codesourcery.com>
2048 Thomas Schwinge <thomas@codesourcery.com>
2050 * oacc-parallel.c (GOACC_declare): Clean up 'GOMP_MAP_POINTER'
2053 2021-06-10 Jakub Jelinek <jakub@redhat.com>
2055 PR tree-optimization/100981
2056 * testsuite/libgomp.fortran/pr100981-2.f90 (cdcdot): Initialize
2057 dsdotr and dsdoti to 0.
2059 2021-06-09 H.J. Lu <hjl.tools@gmail.com>
2061 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -march=i486
2062 if atomic compare-and-swap is supported on 'int'.
2064 2021-06-09 Richard Biener <rguenther@suse.de>
2066 PR tree-optimization/100981
2067 * testsuite/libgomp.fortran/pr100981-2.f90: New testcase.
2069 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2071 * plugin/plugin-gcn.c (gcn_exec): Force 'num_workers (1)'
2073 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
2075 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2076 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2078 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2080 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Enable for all but
2081 '-DACC_MEM_SHARED=0'.
2082 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
2083 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2084 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2085 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2086 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2087 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2088 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2089 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2090 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2091 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2092 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
2093 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
2094 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
2095 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2096 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Add
2097 'acc_device_radeon' testing.
2098 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
2099 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
2100 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
2101 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Enable for all.
2102 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2103 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2104 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
2105 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
2106 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
2107 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
2108 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Improve checking
2109 for non-'openacc_nvidia_accel_selected'.
2110 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2111 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Clarify that "Not
2112 all implement this checking".
2113 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2114 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2115 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2116 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2117 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2119 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2121 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Simplify.
2122 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: Update.
2124 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2126 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Fix
2127 for 'acc_device_radeon'.
2129 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2131 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Enhance
2132 for non-'acc_device_nvidia'.
2134 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2136 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Add
2137 'acc_device_radeon' testing.
2138 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2139 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2140 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2142 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2144 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Don't
2145 require 'openacc_nvidia_accel_selected'. Fix up for
2146 'ACC_DEVICE_TYPE_radeon'.
2148 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2150 * testsuite/libgomp.oacc-c++/declare-1.C: Don't require
2151 'openacc_nvidia_accel_selected'.
2152 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2154 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2156 * testsuite/lib/libgomp.exp
2157 (check_effective_target_openacc_radeon_accel_selected):
2160 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2162 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Revert
2165 2021-06-08 Thomas Schwinge <thomas@codesourcery.com>
2167 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
2168 <acc_device_nvidia>: Update comment.
2170 2021-05-28 Tobias Burnus <tobias@codesourcery.com>
2172 * testsuite/libgomp.fortran/depend-iterator-2.f90: New test.
2174 2021-05-27 Jakub Jelinek <jakub@redhat.com>
2176 * testsuite/lib/libgomp.exp (check_effective_target_openacc_cuda,
2177 check_effective_target_openacc_cublas,
2178 check_effective_target_openacc_cudart): New.
2179 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Require effective
2180 target openacc_cublas.
2181 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2182 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2183 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Require effective
2184 target openacc_cuda.
2185 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
2186 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
2187 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
2188 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
2189 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
2190 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
2191 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
2192 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
2193 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Likewise.
2194 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
2195 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
2196 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2197 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
2198 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
2199 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
2200 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
2201 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Require effective
2202 targets openacc_cublas and openacc_cudart.
2203 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
2204 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
2205 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
2206 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
2207 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c:
2208 Require effective target openacc_cudart.
2209 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Add -DUSE_CUDA_H
2210 for effective target openacc_cuda and add && defined USE_CUDA_H to
2211 preprocessor conditionals. Guard -lcuda also on openacc_cuda
2214 2021-05-26 Jakub Jelinek <jakub@redhat.com>
2217 * config/nvptx/target.c (GOMP_target_ext, GOMP_target_data_ext,
2218 GOMP_target_end_data, GOMP_target_update_ext,
2219 GOMP_target_enter_exit_data): New dummy entrypoints.
2220 * config/gcn/target.c (GOMP_target_ext, GOMP_target_data_ext,
2221 GOMP_target_end_data, GOMP_target_update_ext,
2222 GOMP_target_enter_exit_data): Likewise.
2223 * testsuite/libgomp.c-c++-common/for-3.c (DO_PRAGMA, OMPTEAMS,
2224 OMPFROM, OMPTO): Define.
2225 (main): Remove #pragma omp target teams around all the tests.
2226 * testsuite/libgomp.c-c++-common/target-41.c: New test.
2227 * testsuite/libgomp.c-c++-common/target-42.c: New test.
2229 2021-05-25 Jakub Jelinek <jakub@redhat.com>
2232 * testsuite/libgomp.c-c++-common/reduction-17.c: New test.
2234 2021-05-24 Tobias Burnus <tobias@codesourcery.com>
2237 * testsuite/libgomp.fortran/class-firstprivate-1.f90: New test.
2238 * testsuite/libgomp.fortran/class-firstprivate-2.f90: New test.
2239 * testsuite/libgomp.fortran/class-firstprivate-3.f90: New test.
2241 2021-05-22 Thomas Schwinge <thomas@codesourcery.com>
2244 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Prune
2245 uninteresting/varying diagnostics.
2247 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2250 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: Update.
2251 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2253 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2256 * testsuite/libgomp.oacc-fortran/private-atomic-1-vector.f90: New
2258 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
2259 * testsuite/libgomp.oacc-c-c++-common/host_data-7.c: Likewise.
2260 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2262 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2264 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2266 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2268 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2270 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2272 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2274 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2276 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2278 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2280 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2282 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2284 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2286 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2288 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2290 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2292 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2294 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2296 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2298 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2300 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2302 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2303 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2304 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2305 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: Likewise.
2306 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2307 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2308 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2309 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2310 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2311 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2312 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2313 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2314 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2315 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2316 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2318 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c:
2320 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c:
2322 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2324 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
2325 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2327 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2328 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2329 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2330 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
2331 * testsuite/libgomp.oacc-fortran/host_data-5.F90: Likewise.
2332 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
2333 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2335 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2337 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2339 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2341 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2343 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2345 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2347 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2349 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2351 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2353 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2355 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2357 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2359 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2360 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2361 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2363 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2365 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2366 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Likewise.
2367 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2369 2021-05-21 Julian Brown <julian@codesourcery.com>
2370 Chung-Lin Tang <cltang@codesourcery.com>
2371 Thomas Schwinge <thomas@codesourcery.com>
2374 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1-gang.c: New
2376 * testsuite/libgomp.oacc-fortran/private-atomic-1-gang.f90:
2378 * testsuite/libgomp.oacc-fortran/private-atomic-1-worker.f90:
2381 2021-05-21 Thomas Schwinge <thomas@codesourcery.com>
2383 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: Don't skip
2384 for nvptx offloading.
2386 2021-05-21 Tobias Burnus <tobias@codesourcery.com>
2388 * testsuite/libgomp.oacc-fortran/privatized-ref-2.f90: New.
2390 2021-05-19 Thomas Schwinge <thomas@codesourcery.com>
2393 * testsuite/libgomp.oacc-c-c++-common/private-atomic-1.c: New.
2395 2021-05-19 Julian Brown <julian@codesourcery.com>
2397 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-2.c: New.
2399 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2401 * testsuite/lib/libgomp.exp
2402 (check_effective_target_offload_target_nvptx): Don't shadow global
2403 'offload_targets' variable.
2405 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2407 * testsuite/libgomp.c-c++-common/reduction-5.c: Restrict
2408 '-latomic' to nvptx offloading compilation.
2409 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2411 2021-05-18 Thomas Schwinge <thomas@codesourcery.com>
2413 * testsuite/libgomp.c/target-44.c: Restrict '-latomic' to nvptx
2414 offloading compilation.
2416 2021-05-17 Kwok Cheung Yeung <kcy@codesourcery.com>
2418 * task.c (omp_fulfill_event): Call gomp_team_barrier_set_task_pending
2419 if new tasks generated.
2420 * testsuite/libgomp.c-c++-common/task-detach-13.c: New.
2422 2021-05-14 Tobias Burnus <tobias@codesourcery.com>
2424 * testsuite/libgomp.fortran/parallel-master.f90: New test.
2426 2021-05-13 Martin Liska <mliska@suse.cz>
2429 * testsuite/libgomp.c/omp-nested-3.c: Prune new LTO warning.
2430 * testsuite/libgomp.c/pr46032-2.c: Likewise.
2431 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c: Likewise.
2432 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c: Likewise.
2434 2021-05-12 Tobias Burnus <tobias@codesourcery.com>
2436 * testsuite/libgomp.c-c++-common/task-detach-12.c: New test.
2437 * testsuite/libgomp.fortran/task-detach-12.f90: New test.
2439 2021-05-11 Jakub Jelinek <jakub@redhat.com>
2441 PR middle-end/100471
2442 * taskloop.c (GOMP_taskloop): If GOMP_TASK_FLAG_REDUCTION and not
2443 GOMP_TASK_FLAG_NOGROUP, when doing early return clear the task
2445 * testsuite/libgomp.c/task-reduction-4.c: New test.
2447 2021-05-07 Tobias Burnus <tobias@codesourcery.com>
2448 Tom de Vries <tdevries@suse.de>
2450 * testsuite/libgomp.c-c++-common/reduction-5.c: New test, testing
2451 complex/floating-point || + && reduction with 'omp target'.
2452 * testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
2454 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
2456 * testsuite/libgomp.c-c++-common/reduction-1.c: New test.
2457 * testsuite/libgomp.c-c++-common/reduction-2.c: New test.
2458 * testsuite/libgomp.c-c++-common/reduction-3.c: New test.
2459 * testsuite/libgomp.c-c++-common/reduction-4.c: New file.
2461 2021-05-04 Tobias Burnus <tobias@codesourcery.com>
2464 * testsuite/libgomp.fortran/depobj-1.f90 (dep2, dep3): Move var
2465 declaration to scope of non-'depend'-guarded assignment to avoid races.
2467 2021-05-03 Tom de Vries <tdevries@suse.de>
2470 * testsuite/libgomp.c/target-44.c: New test.
2472 2021-04-30 Roman Zhuykov <zhroma@ispras.ru>
2474 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-3.c: New test.
2476 2021-04-29 Tom de Vries <tdevries@suse.de>
2478 * testsuite/libgomp.c/pr81778.c: New test.
2480 2021-04-29 Tom de Vries <tdevries@suse.de>
2483 * testsuite/libgomp.c/target-43.c: New file.
2485 2021-04-28 Jakub Jelinek <jakub@redhat.com>
2486 Tobias Burnus <tobias@codesourcery.com>
2488 * configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
2489 * target.c (gomp_load_plugin_for_device): If set and if a plugin
2490 can't be dlopened, silently assume it has no devices.
2491 * Makefile.in: Regenerate.
2492 * config.h.in: Regenerate.
2493 * configure: Regenerate.
2495 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
2497 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2498 Use [Ww]arning in dg-bogus as FE diagnostic and default
2499 diagnostic differ and the result depends on ENABLE_OFFLOAD.
2500 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2501 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2502 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2504 2021-04-26 Tobias Burnus <tobias@codesourcery.com>
2506 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f:
2507 Correct spelling in dg-bogus to match -Wopenacc-parallelism.
2508 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2509 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2510 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2512 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2513 Nathan Sidwell <nathan@codesourcery.com>
2514 Tom de Vries <vries@codesourcery.com>
2515 Julian Brown <julian@codesourcery.com>
2516 Kwok Cheung Yeung <kcy@codesourcery.com>
2518 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Specify
2519 '-Wopenacc-parallelism', and match diagnostics, as appropriate.
2520 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2521 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2522 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2523 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2524 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c:
2526 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2527 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2528 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2529 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2531 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
2532 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
2534 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2535 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2536 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2537 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2538 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
2539 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c:
2541 * testsuite/libgomp.oacc-fortran/optional-private.f90: Likewise.
2542 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2543 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2544 * testsuite/libgomp.oacc-fortran/parallel-dims.f90: Likewise.
2545 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2546 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2547 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2548 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2549 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2550 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2551 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2553 2021-04-26 Thomas Schwinge <thomas@codesourcery.com>
2555 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Don't
2557 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2558 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c:
2560 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2561 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: Likewise.
2562 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2563 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2564 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2565 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2566 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2568 2021-04-22 Richard Biener <rguenther@suse.de>
2570 * testsuite/libgomp.c-c++-common/reduction-16.c: Use -latomic
2573 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2575 * testsuite/libgomp.fortran/depobj-1.f90: Use omp_lib's
2576 omp_depend_kind instead of defining it as 16.
2578 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2580 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
2581 New, based on check_effective_target_offload_target_nvptx.
2582 (check_effective_target_offload_target_nvptx): Call it.
2583 (check_effective_target_offload_target_amdgcn): New.
2584 * testsuite/libgomp.c-c++-common/function-not-offloaded.c:
2585 Require target offload_target_nvptx || offload_target_amdgcn.
2586 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: Likewise.
2587 * testsuite/libgomp.c/pr86416-1.c: Likewise.
2588 * testsuite/libgomp.c/pr86416-2.c: Likewise.
2590 2021-04-21 Tobias Burnus <tobias@codesourcery.com>
2592 * testsuite/libgomp.fortran/depobj-1.f90: New test.
2594 2021-04-19 Thomas Schwinge <thomas@codesourcery.com>
2596 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
2597 '-fopenacc-kernels=[...]' -> '--param=openacc-kernels=[...]'.
2598 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
2600 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
2602 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2604 2021-04-15 Thomas Schwinge <thomas@codesourcery.com>
2607 * testsuite/lib/libgomp.exp
2608 (check_effective_target_offload_device_nvptx): New.
2609 * testsuite/libgomp.c/pr99555-1.c <nvptx offload device>: Until
2610 resolved, make sure that we exit quickly, with error status,
2612 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise.
2613 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2615 2021-04-14 Jakub Jelinek <jakub@redhat.com>
2618 * testsuite/libgomp.fortran/alloc-1.F90: Call c_f_pointer after last
2619 cp = omp_alloc with cp, p arguments instead of cq, q and call
2620 c_f_pointer after last cq = omp_alloc with cq, q.
2622 2021-04-11 Hafiz Abid Qadeer <abidh@codesourcery.com>
2625 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Add check
2626 for loop with GT/GE condition.
2627 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
2629 2021-04-09 Thomas Schwinge <thomas@codesourcery.com>
2634 * testsuite/libgomp.oacc-c-c++-common/static-variable-1.c: New.
2636 2021-04-09 Jakub Jelinek <jakub@redhat.com>
2639 * team.c (gomp_thread_start): Call pthread_setspecific for
2640 !(defined HAVE_TLS || defined USE_EMUTLS) only after local_thr
2641 has been initialized to avoid false positive warning.
2643 2021-03-29 Tobias Burnus <tobias@codesourcery.com>
2646 * testsuite/lib/on_device_arch.c: Move to ...
2647 * testsuite/libgomp.c-c++-common/on_device_arch.h: ... here.
2648 * testsuite/libgomp.fortran/on_device_arch.c: New file;
2649 #include on_device_arch.h.
2650 * testsuite/libgomp.c-c++-common/task-detach-6.c: #include
2651 on_device_arch.h instead of using dg-additional-source.
2652 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2653 * testsuite/libgomp.fortran/task-detach-6.f90: Update to use
2654 on_device_arch.c without relative paths.
2656 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2658 * plugin/plugin-gcn.c (init_environment_variables): Don't prepend
2659 the 'HSA_RUNTIME_LIB' path to 'libhsa-runtime64.so'.
2660 * plugin/configfrag.ac (HSA_RUNTIME_LIB): Clean up.
2661 * config.h.in: Regenerate.
2662 * configure: Likewise.
2664 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2667 * testsuite/lib/on_device_arch.c: New file.
2668 * testsuite/libgomp.c/pr99555-1.c: Likewise.
2669 * testsuite/libgomp.c-c++-common/task-detach-6.c: Until resolved,
2670 skip for nvptx offloading, with error status.
2671 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise.
2673 2021-03-25 Thomas Schwinge <thomas@codesourcery.com>
2675 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90:
2676 OpenACC 'serial' construct diagnostic for nvptx offloading.
2678 2021-03-15 Tobias Burnus <tobias@codesourcery.com>
2681 * testsuite/libgomp.c-c++-common/declare_target-1.c: New test.
2683 2021-03-12 Tobias Burnus <tobias@codesourcery.com>
2686 * testsuite/libgomp.fortran/use_device_ptr-3.f90: New test.
2688 2021-03-04 Jakub Jelinek <jakub@redhat.com>
2690 * configure.ac: Add AC_CHECK_SIZEOF([void *]).
2691 * plugin/configfrag.ac: Check $ac_cv_sizeof_void_p value instead of
2692 checking of -m32 or -mx32 options on the command line.
2693 * config.h.in: Regenerated.
2694 * configure: Regenerated.
2696 2021-02-27 Iain Sandoe <iain@sandoe.co.uk>
2698 * testsuite/libgomp.c-c++-common/pr96390.c: Require alias
2699 support from the target.
2701 2021-02-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2702 Jakub Jelinek <jakub@redhat.com>
2705 * libgomp.h (enum gomp_task_kind): Add GOMP_TASK_DETACHED.
2706 (struct gomp_task): Replace detach and completion_sem fields with
2707 union containing completion_sem and detach_team. Add deferred_p
2709 (struct gomp_team): Remove task_detach_queue.
2710 * task.c: Include assert.h.
2711 (gomp_init_task): Initialize deferred_p and completion_sem fields.
2712 Rearrange initialization order of fields.
2713 (task_fulfilled_p): Delete.
2714 (GOMP_task): Use address of task as the event handle. Remove
2715 initialization of detach field. Initialize deferred_p field.
2716 Use automatic local for completion_sem. Initialize detach_team field
2718 (gomp_barrier_handle_tasks): Remove handling of task_detach_queue.
2719 Set kind of suspended detach task to GOMP_TASK_DETACHED and
2720 decrement task_running_count. Move finish_cancelled block out of
2721 else branch. Relocate call to gomp_team_barrier_done.
2722 (GOMP_taskwait): Handle tasks with completion events that have not
2724 (GOMP_taskgroup_end): Likewise.
2725 (omp_fulfill_event): Use address of task as event handle. Post to
2726 completion_sem for undeferred tasks. Clear detach_team if task
2727 has not finished. For finished tasks, handle post-execution tasks,
2728 call gomp_team_barrier_wake if necessary, and free task.
2729 * team.c (gomp_new_team): Remove initialization of task_detach_queue.
2730 (free_team): Remove free of task_detach_queue.
2731 * testsuite/libgomp.c-c++-common/task-detach-1.c: Fix formatting.
2732 * testsuite/libgomp.c-c++-common/task-detach-2.c: Fix formatting.
2733 * testsuite/libgomp.c-c++-common/task-detach-3.c: Fix formatting.
2734 * testsuite/libgomp.c-c++-common/task-detach-4.c: Fix formatting.
2735 * testsuite/libgomp.c-c++-common/task-detach-5.c: Fix formatting.
2736 Change data-sharing of detach events on enclosing parallel to private.
2737 * testsuite/libgomp.c-c++-common/task-detach-6.c: Likewise. Remove
2739 * testsuite/libgomp.c-c++-common/task-detach-7.c: New.
2740 * testsuite/libgomp.c-c++-common/task-detach-8.c: New.
2741 * testsuite/libgomp.c-c++-common/task-detach-9.c: New.
2742 * testsuite/libgomp.c-c++-common/task-detach-10.c: New.
2743 * testsuite/libgomp.c-c++-common/task-detach-11.c: New.
2744 * testsuite/libgomp.fortran/task-detach-1.f90: Fix formatting.
2745 * testsuite/libgomp.fortran/task-detach-2.f90: Fix formatting.
2746 * testsuite/libgomp.fortran/task-detach-3.f90: Fix formatting.
2747 * testsuite/libgomp.fortran/task-detach-4.f90: Fix formatting.
2748 * testsuite/libgomp.fortran/task-detach-5.f90: Fix formatting.
2749 Change data-sharing of detach events on enclosing parallel to private.
2750 * testsuite/libgomp.fortran/task-detach-6.f90: Likewise. Remove
2752 * testsuite/libgomp.fortran/task-detach-7.f90: New.
2753 * testsuite/libgomp.fortran/task-detach-8.f90: New.
2754 * testsuite/libgomp.fortran/task-detach-9.f90: New.
2755 * testsuite/libgomp.fortran/task-detach-10.f90: New.
2756 * testsuite/libgomp.fortran/task-detach-11.f90: New.
2758 2021-02-22 Tobias Burnus <tobias@codesourcery.com>
2761 * testsuite/libgomp.fortran/dummy-procs-1.f90: New test.
2763 2021-02-17 Julian Brown <julian@codesourcery.com>
2765 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Remove
2768 2021-02-17 Julian Brown <julian@codesourcery.com>
2770 * testsuite/libgomp.oacc-fortran/derivedtypes-arrays-1.f90: New test.
2771 * testsuite/libgomp.oacc-fortran/update-dt-array.f90: Likewise.
2773 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2775 * config/linux/x86/futex.h (__futex_wait):
2776 Revert output type back to long.
2777 (__futex_wake): Ditto.
2778 (futex_wait): Update for revert.
2779 (futex_wake): Ditto.
2781 2021-02-11 Uroš Bizjak <ubizjak@gmail.com>
2783 * config/linux/x86/futex.h (__futex_wait): New static inline
2784 wrapper function. Correct output type to int and
2785 timeout type to void *.
2786 (__futex_wake): New static inline wrapper function.
2787 Correct output type to int.
2788 (futex_wait): Use __futex_wait.
2789 (futex_wake): Use __futex_wake.
2791 2021-02-10 Julian Brown <julian@codesourcery.com>
2794 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: Add expected
2797 2021-02-04 Julian Brown <julian@codesourcery.com>
2799 * testsuite/libgomp.oacc-fortran/array-stride-dt-1.f90: New test.
2801 2021-02-03 Andrew Stubbs <ams@codesourcery.com>
2803 * plugin/plugin-gcn.c (EF_AMDGPU_MACH): Add
2804 EF_AMDGPU_MACH_AMDGCN_GFX908.
2805 (gcn_gfx908_s): New constant string.
2806 (isa_hsa_name): Add gfx908.
2807 (isa_code): Add gfx908.
2809 2021-01-25 Kwok Cheung Yeung <kcy@codesourcery.com>
2811 * libgomp.texi (omp_fulfill_event): New entry.
2813 2021-01-20 Jakub Jelinek <jakub@redhat.com>
2815 * task.c (GOMP_task): Rename priority argument to priority_arg,
2816 add priority automatic variable and modify that variable. Instead of
2817 clearing detach argument when GOMP_TASK_FLAG_DETACH bit is not set,
2818 check flags for that bit.
2820 2021-01-19 Tobias Burnus <tobias@codesourcery.com>
2823 * testsuite/libgomp.fortran/is_device_ptr-1.f90: New test.
2825 2021-01-18 Andreas Schwab <schwab@suse.de>
2827 * configure.tgt (riscv64*-*-linux*): Add linux to config_path.
2829 2021-01-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
2831 * config/rtems/sem.h (gomp_sem_getcount): New function.
2833 2021-01-18 Jakub Jelinek <jakub@redhat.com>
2835 * config/linux/sem.h (gomp_sem_getcount): New function.
2836 * config/posix/sem.h (gomp_sem_getcount): New function.
2837 * config/posix/sem.c (gomp_sem_getcount): New function.
2838 * config/accel/sem.h (gomp_sem_getcount): New function.
2839 * task.c (task_fulfilled_p): Use gomp_sem_getcount.
2840 (omp_fulfill_event): Likewise.
2842 2021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
2844 * fortran.c (omp_fulfill_event_): New.
2845 * libgomp.h (struct gomp_task): Add detach and completion_sem fields.
2846 (struct gomp_team): Add task_detach_queue and task_detach_count
2848 * libgomp.map (OMP_5.0.1): Add omp_fulfill_event and omp_fulfill_event_.
2849 * libgomp_g.h (GOMP_task): Add extra argument.
2850 * omp.h.in (enum omp_event_handle_t): New.
2851 (omp_fulfill_event): New.
2852 * omp_lib.f90.in (omp_event_handle_kind): New.
2853 (omp_fulfill_event): New.
2854 * omp_lib.h.in (omp_event_handle_kind): New.
2855 (omp_fulfill_event): Declare.
2856 * priority_queue.c (priority_tree_find): New.
2857 (priority_list_find): New.
2858 (priority_queue_find): New.
2859 * priority_queue.h (priority_queue_predicate): New.
2860 (priority_queue_find): New.
2861 * task.c (gomp_init_task): Initialize detach field.
2862 (task_fulfilled_p): New.
2863 (GOMP_task): Add detach argument. Ignore detach argument if
2864 GOMP_TASK_FLAG_DETACH not set in flags. Initialize completion_sem
2865 field. Copy address of completion_sem into detach argument and
2866 into the start of the data record. Wait for detach event if task
2868 (gomp_barrier_handle_tasks): Queue tasks with unfulfilled events.
2869 Remove completed tasks and requeue dependent tasks.
2870 (omp_fulfill_event): New.
2871 * team.c (gomp_new_team): Initialize task_detach_queue and
2872 task_detach_count fields.
2873 (free_team): Free task_detach_queue field.
2874 * testsuite/libgomp.c-c++-common/task-detach-1.c: New testcase.
2875 * testsuite/libgomp.c-c++-common/task-detach-2.c: New testcase.
2876 * testsuite/libgomp.c-c++-common/task-detach-3.c: New testcase.
2877 * testsuite/libgomp.c-c++-common/task-detach-4.c: New testcase.
2878 * testsuite/libgomp.c-c++-common/task-detach-5.c: New testcase.
2879 * testsuite/libgomp.c-c++-common/task-detach-6.c: New testcase.
2880 * testsuite/libgomp.fortran/task-detach-1.f90: New testcase.
2881 * testsuite/libgomp.fortran/task-detach-2.f90: New testcase.
2882 * testsuite/libgomp.fortran/task-detach-3.f90: New testcase.
2883 * testsuite/libgomp.fortran/task-detach-4.f90: New testcase.
2884 * testsuite/libgomp.fortran/task-detach-5.f90: New testcase.
2885 * testsuite/libgomp.fortran/task-detach-6.f90: New testcase.
2887 2021-01-15 Jakub Jelinek <jakub@redhat.com>
2890 * configure.tgt: For i?86 and x86_64 determine if -march=i486 needs to
2891 be added through preprocessor check on
2892 __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4.
2894 2021-01-14 Thomas Schwinge <thomas@codesourcery.com>
2897 * plugin/configfrag.ac (PLUGIN_NVPTX): Restrict to supported
2899 * configure: Regenerate.
2900 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Remove 64-bit
2903 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2905 * configure: Re-generate.
2907 2021-01-05 Samuel Thibault <samuel.thibault@ens-lyon.org>
2909 * configure: Re-generate.
2911 2021-01-05 Julian Brown <julian@codesourcery.com>
2913 * plugin/plugin-nvptx.c (SOFTSTACK_CACHE_LIMIT): New define.
2914 (struct ptx_device): Add omp_stacks struct.
2915 (nvptx_open_device): Initialise cached-stacks housekeeping info.
2916 (nvptx_close_device): Free cached stacks block and mutex.
2917 (nvptx_stacks_free): New function.
2918 (nvptx_alloc): Add SUPPRESS_ERRORS parameter.
2919 (GOMP_OFFLOAD_alloc): Add strategies for freeing soft-stacks block.
2920 (nvptx_stacks_alloc): Rename to...
2921 (nvptx_stacks_acquire): This. Cache stacks block between runs if same
2922 size or smaller is required.
2923 (nvptx_stacks_free): Remove.
2924 (GOMP_OFFLOAD_run): Call nvptx_stacks_acquire and lock stacks block
2925 during kernel execution.
2927 2021-01-01 Jakub Jelinek <jakub@redhat.com>
2929 * libgomp.texi: Bump @copying's copyright year.
2931 2020-12-28 Gerald Pfeifer <gerald@pfeifer.com>
2933 * libgomp.texi (Top): Avoid bad "up" link.
2935 2020-12-18 Jakub Jelinek <jakub@redhat.com>
2937 * testsuite/libgomp.c/task-6.c: New test.
2939 2020-12-09 Andrew Stubbs <ams@codesourcery.com>
2941 * plugin/plugin-gcn.c: Include hsa_ext_amd.h.
2942 (HSA_AMD_AGENT_INFO_COMPUTE_UNIT_COUNT): Delete redundant definition.
2944 2020-12-08 Tobias Burnus <tobias@codesourcery.com>
2946 * testsuite/libgomp.fortran/scan-1.f90: New test.
2948 2020-12-05 Iain Sandoe <iain@sandoe.co.uk>
2951 * configure: Regenerate.
2953 2020-11-29 John David Anglin <danglin@gcc.gnu.org>
2955 * configure: Regenerate.
2957 2020-11-25 Thomas Schwinge <thomas@codesourcery.com>
2959 * testsuite/libgomp.oacc-c++/cache-1.C: New.
2960 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Update.
2962 2020-11-25 Andrew Stubbs <ams@codesourcery.com>
2964 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Adjust
2967 2020-11-24 Andrew Stubbs <ams@codesourcery.com>
2969 * plugin/plugin-gcn.c: Don't redefine relocations if elf.h has them.
2970 (reserved): Delete unused define.
2972 2020-11-24 Thomas Schwinge <thomas@codesourcery.com>
2974 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c: Avoid
2975 Tcl 8.5-specific behavior.
2976 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
2978 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com>
2980 * env.c (gomp_global_icv): Remove nest_var field. Add
2981 max_active_levels_var field.
2982 (gomp_max_active_levels_var): Remove.
2983 (parse_boolean): Return true on success.
2984 (handle_omp_display_env): Express OMP_NESTED in terms of
2985 max_active_levels_var. Change format specifier for
2986 max_active_levels_var.
2987 (initialize_env): Set max_active_levels_var from
2988 OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and
2990 * icv.c (omp_set_nested): Express in terms of
2991 max_active_levels_var.
2992 (omp_get_nested): Likewise.
2993 (omp_set_max_active_levels): Use max_active_levels_var field instead
2994 of gomp_max_active_levels_var.
2995 (omp_get_max_active_levels): Likewise.
2996 * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add
2997 max_active_levels_var field.
2998 (gomp_supported_active_levels): Set to UCHAR_MAX.
2999 (gomp_max_active_levels_var): Delete.
3000 * libgomp.texi (omp_get_nested): Update documentation.
3001 (omp_set_nested): Likewise.
3002 (OMP_MAX_ACTIVE_LEVELS): Likewise.
3003 (OMP_NESTED): Likewise.
3004 (OMP_NUM_THREADS): Likewise.
3005 (OMP_PROC_BIND): Likewise.
3006 * parallel.c (gomp_resolve_num_threads): Replace reference
3007 to nest_var with max_active_levels_var. Use max_active_levels_var
3008 field instead of gomp_max_active_levels_var.
3010 2020-11-18 Tobias Burnus <tobias@codesourcery.com>
3012 * testsuite/libgomp.c/usleep.h (fallback_usleep): Renamed from
3013 nvptx_usleep; use also for device={arch(gcn)}.
3015 2020-11-14 Jakub Jelinek <jakub@redhat.com>
3017 * testsuite/libgomp.c-c++-common/allocate-1.c (struct S): New type.
3018 (foo): Add tests for non-VLA private and firstprivate clauses on
3020 (bar): Likewise. Remove taking of address from private/firstprivate
3022 * testsuite/libgomp.c++/allocate-1.C (struct S): New type.
3023 (foo): Add p, q, px and s arguments. Add tests for array reductions
3024 and for non-VLA private and firstprivate clauses on omp task.
3026 (main): Adjust foo caller. Don't call bar.
3028 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3029 Thomas Schwinge <thomas@codesourcery.com>
3031 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose-ice-1.c:
3033 * testsuite/libgomp.oacc-c-c++-common/declare-vla-kernels-decompose.c:
3035 * testsuite/libgomp.oacc-c-c++-common/kernels-decompose-1.c:
3037 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Adjust.
3038 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: Likewise.
3040 2020-11-13 Gergö Barany <gergo@codesourcery.com>
3041 Thomas Schwinge <thomas@codesourcery.com>
3044 * testsuite/libgomp.oacc-fortran/pr94358-1.f90: New.
3046 2020-11-13 Jakub Jelinek <jakub@redhat.com>
3048 * testsuite/libgomp.c-c++-common/allocate-1.c (foo): Add tests
3049 for array reductions.
3050 (main): Adjust foo callers.
3052 2020-11-12 Jakub Jelinek <jakub@redhat.com>
3054 * libgomp.map (GOMP_alloc, GOMP_free): Export at GOMP_5.0.1.
3055 * omp.h.in (omp_alloc): Add malloc and alloc_size attributes.
3056 * libgomp_g.h (GOMP_alloc, GOMP_free): Declare.
3057 * allocator.c (omp_aligned_alloc): New for now static function,
3058 add alignment argument and handle it.
3059 (omp_alloc): Reimplement using omp_aligned_alloc.
3060 (GOMP_alloc, GOMP_free): New functions.
3061 (omp_free): Add ialias.
3062 * testsuite/libgomp.c-c++-common/allocate-1.c: New test.
3063 * testsuite/libgomp.c++/allocate-1.C: New test.
3065 2020-11-12 Thomas Schwinge <thomas@codesourcery.com>
3068 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Adjust.
3070 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
3072 * libgomp.h (enum gomp_map_vars_kind): Adjust enum values to be bit-flag
3074 * oacc-mem.c (acc_map_data): Adjust gomp_map_vars argument flags to
3075 'GOMP_MAP_VARS_OPENACC | GOMP_MAP_VARS_ENTER_DATA'.
3076 (goacc_enter_datum): Likewise for call to gomp_map_vars_async.
3077 (goacc_enter_data_internal): Likewise.
3078 * target.c (gomp_map_vars_internal):
3079 Change checks of GOMP_MAP_VARS_ENTER_DATA to use bit-and (&). Adjust use
3080 of gomp_attach_pointer for OpenMP cases.
3081 (gomp_exit_data): Add handling of GOMP_MAP_DETACH.
3082 (GOMP_target_enter_exit_data): Add handling of GOMP_MAP_ATTACH.
3083 * testsuite/libgomp.c-c++-common/ptr-attach-1.c: New testcase.
3085 2020-11-05 Ulrich Drepper <drepper@redhat.com>
3086 Kwok Cheung Yeung <kcy@codesourcery.com>
3088 * Makefile.am (%.mod): Add -cpp and -fopenmp to compile flags.
3089 * Makefile.in: Regenerate.
3090 * fortran.c: Wrap uses of omp_set_nested and omp_get_nested with
3091 pragmas to ignore -Wdeprecated-declarations warnings.
3093 * omp.h.in (__GOMP_DEPRECATED_5_0): Define.
3094 Mark omp_lock_hint_* enum values, omp_lock_hint_t, omp_set_nested,
3095 and omp_get_nested with __GOMP_DEPRECATED_5_0.
3096 * omp_lib.f90.in: Mark omp_get_nested and omp_set_nested as
3098 * testsuite/libgomp.c++/affinity-1.C: Add -Wno-deprecated-declarations
3100 * testsuite/libgomp.c/affinity-1.c: Likewise.
3101 * testsuite/libgomp.c/affinity-2.c: Likewise.
3102 * testsuite/libgomp.c/appendix-a/a.15.1.c: Likewise.
3103 * testsuite/libgomp.c/lib-1.c: Likewise.
3104 * testsuite/libgomp.c/nested-1.c: Likewise.
3105 * testsuite/libgomp.c/nested-2.c: Likewise.
3106 * testsuite/libgomp.c/nested-3.c: Likewise.
3107 * testsuite/libgomp.c/pr32362-1.c: Likewise.
3108 * testsuite/libgomp.c/pr32362-2.c: Likewise.
3109 * testsuite/libgomp.c/pr32362-3.c: Likewise.
3110 * testsuite/libgomp.c/pr35549.c: Likewise.
3111 * testsuite/libgomp.c/pr42942.c: Likewise.
3112 * testsuite/libgomp.c/pr61200.c: Likewise.
3113 * testsuite/libgomp.c/sort-1.c: Likewise.
3114 * testsuite/libgomp.c/target-5.c: Likewise.
3115 * testsuite/libgomp.c/target-6.c: Likewise.
3116 * testsuite/libgomp.c/teams-1.c: Likewise.
3117 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
3118 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
3119 * testsuite/libgomp.c/thread-limit-4.c: Likewise.
3120 * testsuite/libgomp.fortran/affinity1.f90: Likewise.
3121 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3122 * testsuite/libgomp.fortran/lib2.f: Likewise.
3123 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3124 * testsuite/libgomp.fortran/teams1.f90: Likewise.
3126 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3129 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: Simplify and enhance.
3130 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: Likewise.
3131 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: Likewise.
3133 2020-11-02 Thomas Schwinge <thomas@codesourcery.com>
3137 * testsuite/lib/libgomp.exp (libgomp_init): Set
3138 'gcc_warning_prefix', 'gcc_error_prefix'.
3140 2020-10-30 Jakub Jelinek <jakub@redhat.com>
3142 * target.c (gomp_map_vars_internal): Use FIELD_TGT_EMPTY macro
3143 even in field_tgt_clear initializer.
3145 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3147 * testsuite/libgomp.c/target-42.c: New test.
3149 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3150 Tom de Vries <tdevries@suse.de>
3153 * testsuite/libgomp.c/usleep.h: New file.
3154 * testsuite/libgomp.c/target-32.c: Include usleep.h.
3155 (main): Use tgt_usleep instead of usleep.
3156 * testsuite/libgomp.c/thread-limit-2.c: Include usleep.h.
3157 (main): Use tgt_usleep instead of usleep.
3159 2020-10-28 Jakub Jelinek <jakub@redhat.com>
3162 * testsuite/libgomp.c/declare-variant-1.c: New test.
3164 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3166 * testsuite/libgomp.c/target-41.c: New test.
3168 2020-10-22 Jakub Jelinek <jakub@redhat.com>
3170 * icv.c (omp_get_initial_device): Remove including corresponding
3172 * icv-device.c (omp_get_initial_device): New function. Return
3173 gomp_get_num_devices (). Add ialias.
3174 * target.c (resolve_device): Don't fail with
3175 OMP_TARGET_OFFLOAD=mandatory if device_id is equal to
3176 gomp_get_num_devices ().
3177 (omp_target_alloc, omp_target_free, omp_target_is_present,
3178 omp_target_memcpy, omp_target_memcpy_rect, omp_target_associate_ptr,
3179 omp_target_disassociate_ptr, omp_pause_resource): Use
3180 gomp_get_num_devices () instead of GOMP_DEVICE_HOST_FALLBACK on the
3181 first use in the functions, in uses dominated by the
3182 gomp_get_num_devices call use num_devices_openmp instead.
3183 * libgomp.texi (omp_get_initial_device): Document.
3184 * config/gcn/icv-device.c (omp_get_initial_device): New function.
3186 * config/nvptx/icv-device.c (omp_get_initial_device): Likewise.
3187 * testsuite/libgomp.c/target-40.c: New test.
3189 2020-10-21 Jakub Jelinek <jakub@redhat.com>
3191 * env.c (parse_target_offload): Change new_offload var type to int,
3192 preinitialize to -1, remove found var and test new_offload != -1
3195 2020-10-20 Jakub Jelinek <jakub@redhat.com>
3197 * target.c (gomp_target_init): Inside of the function, use automatic
3198 variables corresponding to num_devices, num_devices_openmp and devices
3199 global variables and update the globals only at the end of the
3202 2020-10-20 Kwok Cheung Yeung <kcy@codesourcery.com>
3204 * env.c (gomp_target_offload_var): New.
3205 (parse_target_offload): New.
3206 (handle_omp_display_env): Print value of OMP_TARGET_OFFLOAD.
3207 (initialize_env): Parse OMP_TARGET_OFFLOAD.
3208 * libgomp.h (gomp_target_offload_t): New.
3209 (gomp_target_offload_var): New.
3210 * libgomp.texi (OMP_TARGET_OFFLOAD): New section.
3211 * target.c (resolve_device): Generate error if device not found and
3212 offloading is mandatory.
3213 (gomp_target_fallback): Generate error if offloading is mandatory.
3214 (GOMP_target): Add argument in call to gomp_target_fallback.
3215 (GOMP_target_ext): Likewise.
3216 (gomp_target_data_fallback): Generate error if offloading is mandatory.
3217 (GOMP_target_data): Add argument in call to gomp_target_data_fallback.
3218 (GOMP_target_data_ext): Likewise.
3219 (gomp_target_task_fn): Add argument in call to gomp_target_fallback.
3220 (gomp_target_init): Return early if offloading is disabled.
3222 2020-10-15 Kwok Cheung Yeung <kcy@codesourcery.com>
3224 * libgomp.texi (omp_get_max_active_levels): Modify description.
3225 (omp_get_supported_active_levels): Make descriptions consistent.
3227 2020-10-14 Jakub Jelinek <jakub@redhat.com>
3229 * libgomp.texi (omp_get_supported_active_levels): Fix a typo.
3231 2020-10-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3233 * env.c (gomp_max_active_levels_var): Initialize to
3234 gomp_supported_active_levels.
3235 (initialize_env): Limit gomp_max_active_levels_var to be at most
3236 equal to gomp_supported_active_levels.
3237 * fortran.c (omp_get_supported_active_levels): Add ialias_redirect.
3238 (omp_get_supported_active_levels_): New.
3239 * icv.c (omp_set_max_active_levels): Limit gomp_max_active_levels_var
3240 to at most equal to gomp_supported_active_levels.
3241 (omp_get_supported_active_levels): New.
3242 * libgomp.h (gomp_supported_active_levels): New.
3243 * libgomp.map (OMP_5.0.1): Add omp_get_supported_active_levels and
3244 omp_get_supported_active_levels_.
3245 * libgomp.texi (omp_get_supported_active_levels): New.
3246 (omp_set_max_active_levels): Update. Add reference to
3247 omp_get_supported_active_levels.
3248 * omp.h.in (omp_get_supported_active_levels): New.
3249 * omp_lib.f90.in (omp_get_supported_active_levels): New.
3250 * omp_lib.h.in (omp_get_supported_active_levels): New.
3251 * testsuite/libgomp.c/lib-2.c (main): Check omp_get_max_active_levels
3252 against omp_get_supported_active_levels.
3253 * testsuite/libgomp.fortran/lib4.f90 (lib4): Likewise.
3255 2020-10-11 Clement Chigot <clement.chigot@atos.net>
3257 * config/t-aix: Delete and recreate libgomp before creating
3260 2020-10-08 Tom de Vries <tdevries@suse.de>
3263 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_run): Report launch
3266 2020-10-06 Tom de Vries <tdevries@suse.de>
3268 * testsuite/libgomp.oacc-fortran/declare-5.f90: Add xfail for PR92790.
3270 2020-10-06 Tom de Vries <tdevries@suse.de>
3273 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Remove xfail.
3275 2020-10-05 Tom de Vries <tdevries@suse.de>
3278 * testsuite/libgomp.fortran/pr95654.f90: New test.
3280 2020-10-02 Tobias Burnus <tobias@codesourcery.com>
3282 * Makefile.in: Regenerate with automake 1.15.1.
3283 * aclocal.m4: Likewise.
3284 * configure: Likewise.
3285 * testsuite/Makefile.in: Likewise.
3287 2020-09-30 Andrew Stubbs <ams@codesourcery.com>
3289 * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx
3292 2020-09-30 Tobias Burnus <tobias@codesourcery.com>
3294 * testsuite/libgomp.fortran/declare-target-3.f90: New test.
3296 2020-09-29 Andrew Stubbs <ams@codesourcery.com>
3298 * config/gcn/bar.c (gomp_barrier_wait_end): Skip the barrier if the
3299 total number of threads is one.
3300 (gomp_team_barrier_wake): Likewise.
3301 (gomp_team_barrier_wait_end): Likewise.
3302 (gomp_team_barrier_wait_cancel_end): Likewise.
3303 * config/nvptx/bar.c (gomp_barrier_wait_end): Likewise.
3304 (gomp_team_barrier_wake): Likewise.
3305 (gomp_team_barrier_wait_end): Likewise.
3306 (gomp_team_barrier_wait_cancel_end): Likewise.
3307 * testsuite/libgomp.c-c++-common/nested-parallel-unbalanced.c: New test.
3309 2020-09-28 Tobias Burnus <tobias@codesourcery.com>
3312 * testsuite/libgomp.c++/pr96390.C: New test.
3313 * testsuite/libgomp.c-c++-common/pr96390.c: New test.
3315 2020-09-27 Clement Chigot <clement.chigot@atos.net>
3317 * config/t-aix: Use $(AR) without -X32_64.
3319 2020-09-25 Jakub Jelinek <jakub@redhat.com>
3321 * testsuite/libgomp.c/loop-25.c: New test.
3323 2020-09-22 Tobias Burnus <tobias@codesourcery.com>
3326 * testsuite/libgomp.fortran/pr66199-5.f90: Make stop codes unique.
3328 2020-09-22 Tom de Vries <tdevries@suse.de>
3330 * plugin/plugin-nvptx.c (link_ptx): Print elog if cuLinkComplete call
3333 2020-09-16 Nathan Sidwell <nathan@acm.org>
3335 * testsuite/libgomp.c++/udr-3.C: Add missing ctor.
3337 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
3340 * target.c (gomp_map_vars_internal): Initialize has_nullptr.
3342 2020-09-15 Tobias Burnus <tobias@codesourcery.com>
3345 * libgomp.h (struct target_var_desc): Add has_null_ptr_assoc member.
3346 * target.c (gomp_map_vars_existing): Add always_to_flag flag.
3347 (gomp_map_vars_existing): Update call to it.
3348 (gomp_map_fields_existing): Likewise
3349 (gomp_map_vars_internal): Update PSET handling such that if a nullptr is
3350 now allocated or if GOMP_MAP_POINTER is used PSET is updated and pointer
3352 (GOMP_target_enter_exit_data): Hanlde GOMP_MAP_ALWAYS_POINTER like
3354 * testsuite/libgomp.fortran/map-alloc-ptr-1.f90: New test.
3355 * testsuite/libgomp.fortran/map-alloc-ptr-2.f90: New test.
3357 2020-09-14 Tom de Vries <tdevries@suse.de>
3359 * config/nvptx/atomic.c: New file. Add
3360 __sync_val_compare_and_swap_16.
3361 * testsuite/libgomp.c-c++-common/reduction-16.c: Add -latomic for
3362 target offload_target_nvptx.
3364 2020-09-08 Julian Brown <julian@codesourcery.com>
3366 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c: Remove
3367 iteration-ordering assumptions.
3369 2020-09-08 Julian Brown <julian@codesourcery.com>
3371 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Fix race condition.
3372 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3374 2020-08-20 Chung-Lin Tang <cltang@codesourcery.com>
3376 * plugin/plugin-nvptx.c (nvptx_free):
3377 Change "GOMP_PLUGIN_acc_thread () == NULL" test into check of
3378 CUDA_ERROR_NOT_PERMITTED status for cuMemGetAddressRange. Adjust
3381 2020-08-20 Tobias Burnus <tobias@codesourcery.com>
3383 * testsuite/libgomp.fortran/lastprivate-conditional-10.f90: New test.
3385 2020-08-13 Kwok Cheung Yeung <kcy@codesourcery.com>
3387 * testsuite/libgomp.c-c++-common/reduction-16.c: New.
3389 2020-08-13 Jakub Jelinek <jakub@redhat.com>
3391 * testsuite/libgomp.c/loop-22.c (main): Add some further tests.
3392 * testsuite/libgomp.c/loop-23.c (main): Likewise.
3393 * testsuite/libgomp.c/loop-24.c: New test.
3395 2020-08-08 Jakub Jelinek <jakub@redhat.com>
3396 Tobias Burnus <tobias@codesourcery.com>
3399 * testsuite/libgomp.fortran/pr93553.f90: New test.
3401 2020-08-05 Jakub Jelinek <jakub@redhat.com>
3403 * testsuite/libgomp.c/loop-22.c: New test.
3404 * testsuite/libgomp.c/loop-23.c: New test.
3406 2020-08-05 Jakub Jelinek <jakub@redhat.com>
3409 * testsuite/libgomp.c/teams-3.c: New test.
3410 * testsuite/libgomp.c-c++-common/for-2.h (OMPTEAMS): Define to nothing
3412 (N(test)): Use it before all N(f*) calls.
3413 * testsuite/libgomp.c-c++-common/for-14.c (DO_PRAGMA, OMPTEAMS): Define.
3414 (main): Don't call all test_* functions from within
3415 #pragma omp teams reduction(|:err), call them directly.
3417 2020-08-04 Tom de Vries <tdevries@suse.de>
3420 * testsuite/libgomp.oacc-fortran/pr96628-part1.f90: New test.
3421 * testsuite/libgomp.oacc-fortran/pr96628-part2.f90: New test.
3423 2020-08-03 Julian Brown <julian@codesourcery.com>
3424 Thomas Schwinge <thomas@codesourcery.com>
3426 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: Don't run for
3427 shared-memory devices. Extend with further checking.
3429 2020-08-03 Martin Jambor <mjambor@suse.cz>
3431 * plugin/Makefrag.am: Remove configuration of HSA plugin.
3432 * aclocal.m4: Regenerated.
3433 * Makefile.in: Regenerated.
3434 * config.h.in: Regenerated.
3435 * configure: Regenerated.
3436 * plugin/configfrag.ac: Likewise.
3437 * plugin/hsa_ext_finalize.h: Removed.
3438 * plugin/plugin-hsa.c: Likewise.
3439 * testsuite/Makefile.in: Regenerated.
3440 * testsuite/lib/libgomp.exp
3441 (offload_target_to_openacc_device_type): Remove hsa case.
3442 (check_effective_target_hsa_offloading_selected_nocache): Removed
3443 (check_effective_target_hsa_offloading_selected): Likewise.
3444 (libgomp_init): Do not add -Wno-hsa to additional_flags.
3445 * testsuite/libgomp.hsa.c/alloca-1.c: Removed test.
3446 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3447 * testsuite/libgomp.hsa.c/bits-insns.c: Likewise.
3448 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3449 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3450 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3451 * testsuite/libgomp.hsa.c/complex-align-2.c: Likewise.
3452 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3453 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3454 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3455 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3456 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3457 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3458 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3459 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3460 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3461 * testsuite/libgomp.hsa.c/pr82416.c: Likewise.
3462 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3463 * testsuite/libgomp.hsa.c/staticvar.c: Likewise.
3464 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3465 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3466 * testsuite/libgomp.hsa.c/switch-sbr-2.c: Likewise.
3467 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
3468 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
3470 2020-07-27 Julian Brown <julian@codesourcery.com>
3471 Thomas Schwinge <thomas@codesourcery.com>
3473 * libgomp.h (struct target_var_desc): Rename do_detach field to
3475 * oacc-mem.c (goacc_exit_datum_1): Add assert. Don't set finalize for
3476 GOMP_MAP_FORCE_DETACH. Update checking to use is_attach field.
3477 (goacc_enter_data_internal): Don't affect reference counts
3478 for attach mappings.
3479 (goacc_exit_data_internal): Don't affect reference counts for detach
3481 * target.c (gomp_map_vars_existing): Don't affect reference counts for
3483 (gomp_map_vars_internal): Set renamed is_attach flag unconditionally to
3484 mark attach mappings.
3485 (gomp_unmap_vars_internal): Use is_attach flag to prevent affecting
3486 reference count for attach mappings.
3487 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-1.c: New test.
3488 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3489 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-2.c: New test.
3490 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Mark
3492 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust to fail
3493 gracefully in no-finalize mode.
3494 * testsuite/libgomp.oacc-c-c++-common/mdc-refcount-3.c: New file.
3496 2020-07-24 Thomas Schwinge <thomas@codesourcery.com>
3498 * testsuite/libgomp.oacc-c++/c++.exp: Unset 'offload_target' after
3500 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3501 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3503 2020-07-23 Julian Brown <julian@codesourcery.com>
3504 Thomas Schwinge <thomas@codesourcery.com>
3506 * target.c (gomp_unmap_vars_internal): Remove unnecessary forcing of
3507 finalization for detach operation.
3508 * testsuite/libgomp.oacc-c-c++-common/structured-detach-underflow.c:
3511 2020-07-23 Tobias Burnus <tobias@codesourcery.com>
3513 * configure.ac: Add OMP_DEPEND_KIND and OMP_INT128_SIZE.
3514 * libgomp_f.h.in (omp_check_defines): Check whether
3515 sizeof of determined Fortran kind and C typedef match.
3516 * omp_lib.f90.in: Add omp_depened_kind.
3517 * omp_lib.h.in: Likewise; fix omp_alloctrait_key_kind.
3518 * configure: Regenerate.
3519 * Makefile.in: Regenerate.
3520 * testsuite/Makefile.in: Regenerate.
3522 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
3524 * testsuite/libgomp.c-c++-common/critical-hint-1.c: New; moved from
3525 gcc/testsuite/c-c++-common/gomp/.
3526 * testsuite/libgomp.c-c++-common/critical-hint-2.c: Likewise.
3527 * testsuite/libgomp.fortran/critical-hint-1.f90: New; moved
3528 from gcc/testsuite/gfortran.dg/gomp/.
3529 * testsuite/libgomp.fortran/critical-hint-2.f90: Likewise.
3531 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
3533 * omp_lib.f90.in: Add omp_sync_hint_* and omp_sync_hint_kind.
3534 * omp_lib.h.in: Likewise.
3536 2020-07-18 H.J. Lu <hjl.tools@gmail.com>
3539 * testsuite/libgomp.c/pr95620.c: New test.
3541 2020-07-16 Julian Brown <julian@codesourcery.com>
3542 Thomas Schwinge <thomas@codesourcery.com>
3544 * testsuite/libgomp.oacc-fortran/attach-descriptor-1.f90: New test.
3545 * testsuite/libgomp.oacc-fortran/attach-descriptor-2.f90: New test.
3547 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3549 * testsuite/libgomp.fortran/alloc-1.F90: Use c_size_t to
3550 avoid conversion on 32bit systems from 32bit to 64bit due
3551 to -fdefault-integer-8.
3553 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3555 * testsuite/libgomp.fortran/struct-elem-map-1.f90: Remove unused
3556 variables; add character(kind=4) tests; update TODO comment.
3558 2020-07-15 Tobias Burnus <tobias@codesourcery.com>
3560 * allocator.c: Add ialias for omp_init_allocator and
3561 omp_destroy_allocator.
3562 * configure.ac: Set INTPTR_T_KIND.
3563 * configure: Regenerate.
3564 * Makefile.in: Regenerate.
3565 * testsuite/Makefile.in: Regenerate.
3566 * fortran.c (omp_init_allocator_, omp_destroy_allocator_,
3567 omp_set_default_allocator_, omp_get_default_allocator_): New
3568 functions and ialias_redirect.
3569 * icv.c: Add ialias for omp_set_default_allocator and
3570 omp_get_default_allocator.
3571 * libgomp.map (OMP_5.0.1): Add omp_init_allocator_,
3572 omp_destroy_allocator_, omp_set_default_allocator_ and
3573 omp_get_default_allocator_.
3574 * omp_lib.f90.in: Add allocator traits parameters, declare
3575 allocator routines and add related kind parameters.
3576 * omp_lib.h.in: Likewise.
3577 * testsuite/libgomp.c-c++-common/alloc-2.c: Fix sizeof.
3578 * testsuite/libgomp.fortran/alloc-1.F90: New test.
3579 * testsuite/libgomp.fortran/alloc-2.F90: New test.
3580 * testsuite/libgomp.fortran/alloc-3.F: New test.
3581 * testsuite/libgomp.fortran/alloc-4.f90: New test.
3582 * testsuite/libgomp.fortran/alloc-5.f90: New test.
3584 2020-07-14 Tom de Vries <tom@codesourcery.com>
3585 Cesar Philippidis <cesar@codesourcery.com>
3586 Thomas Schwinge <thomas@codesourcery.com>
3587 Kwok Cheung Yeung <kcy@codesourcery.com>
3589 * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
3591 (acc_init_1): Set acc_init_thread to pthread_self (). Set
3592 acc_init_state to initializing at the start, and to initialized at the
3594 (self_initializing_p): New function.
3595 (acc_get_device_type): Return acc_device_none if called by thread that
3596 is currently executing acc_init_1.
3597 * libgomp.texi (acc_get_device_type): Update documentation.
3598 (Implementation Status and Implementation-Defined Behavior): Likewise.
3599 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
3601 2020-07-14 David Edelsohn <dje.gcc@gmail.com>
3603 * config/t-aix: Set BITS from compiler cpp macro.
3605 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
3607 * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
3609 2020-07-14 Tobias Burnus <tobias@codesourcery.com>
3612 * testsuite/libgomp.fortran/target-map-1.f90: New test.
3614 2020-07-14 Jakub Jelinek <jakub@redhat.com>
3616 * testsuite/libgomp.c/loop-21.c: New test.
3618 2020-07-13 Julian Brown <julian@codesourcery.com>
3619 Thomas Schwinge <thomas@codesourcery.com>
3621 * testsuite/libgomp.oacc-fortran/dynamic-pointer-1.f90: New test.
3623 2020-07-10 Julian Brown <julian@codesourcery.com>
3624 Thomas Schwinge <thomas@codesourcery.com>
3626 * libgomp.h (struct splay_tree_key_s): Change virtual_refcount to
3628 (struct gomp_device_descr): Remove GOMP_MAP_VARS_OPENACC_ENTER_DATA.
3629 * oacc-mem.c (acc_map_data): Substitute virtual_refcount for
3631 (acc_unmap_data): Update comment.
3632 (goacc_map_var_existing, goacc_enter_datum): Adjust for
3633 dynamic_refcount semantics.
3634 (goacc_exit_datum_1, goacc_exit_datum): Re-add some error checking.
3635 Adjust for dynamic_refcount semantics.
3636 (goacc_enter_data_internal): Implement "present" case of dynamic
3637 memory-map handling here. Update "non-present" case for
3638 dynamic_refcount semantics.
3639 (goacc_exit_data_internal): Use goacc_exit_datum_1.
3640 * target.c (gomp_map_vars_internal): Remove
3641 GOMP_MAP_VARS_OPENACC_ENTER_DATA handling. Update for dynamic_refcount
3643 (gomp_unmap_vars_internal): Remove virtual_refcount handling.
3644 (gomp_load_image_to_device): Substitute dynamic_refcount for
3646 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Remove XFAILs.
3647 * testsuite/libgomp.oacc-c-c++-common/refcounting-1.c: New test.
3648 * testsuite/libgomp.oacc-c-c++-common/refcounting-2.c: New test.
3649 * testsuite/libgomp.oacc-c-c++-common/struct-3-1-1.c: New test.
3650 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Remove XFAILs and
3652 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: Remove
3654 * testsuite/libgomp.oacc-fortran/dynamic-incr-structural-1.f90: New
3656 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
3657 Remove stale comment.
3658 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Remove XFAILs.
3659 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3660 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3661 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3662 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3663 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Adjust XFAIL.
3665 2020-07-10 Julian Brown <julian@codesourcery.com>
3666 Thomas Schwinge <thomas@codesourcery.com>
3668 * oacc-mem.c (goacc_map_var_existing): New function.
3669 (goacc_enter_datum): Use above function.
3670 (goacc_exit_datum_1): New function.
3671 (goacc_exit_datum): Use above function.
3673 2020-07-09 Julian Brown <julian@codesourcery.com>
3674 Thomas Schwinge <thomas@codesourcery.com>
3677 * testsuite/libgomp.oacc-c-c++-common/pr95270-1.c: New test.
3678 * testsuite/libgomp.oacc-c-c++-common/pr95270-2.c: New test.
3680 2020-07-09 Julian Brown <julian@codesourcery.com>
3682 * oacc-mem.c (find_group_last): Group data-movement clauses
3683 (GOMP_MAP_TO_PSET, GOMP_MAP_TO, etc.) together with a subsequent
3684 GOMP_MAP_ATTACH. Allow standalone GOMP_MAP_ATTACH also.
3686 2020-07-09 Jakub Jelinek <jakub@redhat.com>
3688 * testsuite/libgomp.c/loop-19.c: New test.
3689 * testsuite/libgomp.c/loop-20.c: New test.
3691 2020-07-09 Jakub Jelinek <jakub@redhat.com>
3693 * omp.h.in (omp_alloctrait_value_t): Change omp_atv_default from
3694 2 to -1. Add omp_atv_serialized and define omp_atv_sequential using
3695 it. Remove __omp_alloctrait_value_max__.
3696 * allocator.c (omp_init_allocator): Handle omp_atv_default for
3697 omp_atk_alignment and omp_atk_pool_size.
3699 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3701 * oacc-mem.c (goacc_exit_data_internal): Revert always-copyfrom
3702 behavior for 'GOMP_MAP_FORCE_FROM'.
3703 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Adjust XFAIL.
3705 2020-07-03 Thomas Schwinge <thomas@codesourcery.com>
3707 * oacc-mem.c (goacc_exit_data_internal): Remove
3708 'GOMP_MAP_ALWAYS_FROM' handling.
3710 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3712 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Replace fragile
3713 'scan-assembler' with 'scan-offload-rtl'.
3714 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: Likewise.
3715 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
3716 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: Likewise.
3717 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: Likewise.
3719 2020-06-30 Thomas Schwinge <thomas@codesourcery.com>
3721 * target.c (gomp_map_vars_existing): Assert 'kind !=
3723 (gomp_map_vars_internal): Clean up.
3725 2020-06-27 Jakub Jelinek <jakub@redhat.com>
3727 * testsuite/libgomp.c/loop-17.c: New test.
3728 * testsuite/libgomp.c/loop-18.c: New test.
3730 2020-06-26 Marek Polacek <polacek@redhat.com>
3732 * testsuite/libgomp.c++/atomic-3.C: Use -std=gnu++14.
3734 2020-06-23 Alexandre Oliva <oliva@adacore.com>
3736 * testsuite/lib/libgomp.exp: Load gcc lib scanoffload.exp.
3737 * testsuite/lib/libgomp-dg.exp: Drop now-obsolete -save-temps.
3739 2020-06-22 David Edelsohn <dje.gcc@gmail.com>
3741 * Makefile.am: Use -include.
3742 * Makefile.in: Regenerate.
3744 2020-06-21 David Edelsohn <dje.gcc@gmail.com>
3746 * Makefile.am (tmake_file): Build and install AIX-style FAT libraries.
3747 * Makefile.in: Regenerate
3748 * configure.ac (tmake_file): Substitute.
3749 * configure: Regenerate.
3750 * configure.tgt (powerpc-ibm-aix*): Define tmake_file.
3751 * config/t-aix: New file.
3753 2020-06-17 Thomas Schwinge <thomas@codesourcery.com>
3756 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: Add
3759 2020-06-17 Andrew Stubbs <ams@codesourcery.com>
3761 * plugin/plugin-gcn.c (init_environment_variables): Use ".so.1"
3762 variant for HSA_RUNTIME_LIB name.
3763 (find_executable_symbol_1): Delete.
3764 (find_executable_symbol): Delete.
3765 (init_kernel_properties): Add ".kd" suffix to symbol names.
3766 (find_load_offset): Delete.
3767 (create_and_finalize_hsa_program): Remove relocation handling.
3769 2020-06-16 Tobias Burnus <tobias@codesourcery.com>
3771 * testsuite/libgomp.oacc-fortran/routine-10.f90: New test.
3773 2020-06-08 Tobias Burnus <tobias@codesourcery.com>
3777 * testsuite/libgomp.fortran/target-var.f90: New test.
3779 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3780 Julian Brown <julian@codesourcery.com>
3782 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>: Explain
3785 2020-06-05 Thomas Schwinge <thomas@codesourcery.com>
3786 Julian Brown <julian@codesourcery.com>
3788 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3791 2020-06-05 Julian Brown <julian@codesourcery.com>
3793 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-1.c: New test.
3794 * testsuite/libgomp.oacc-c-c++-common/struct-copyout-2.c: New test.
3796 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3798 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3799 Evaluate 'copyfrom' individually for each entry.
3800 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: Update.
3802 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3804 * oacc-mem.c (goacc_exit_data_internal) <GOMP_MAP_STRUCT>:
3805 Evaluate 'finalize' individually for each entry.
3806 * testsuite/libgomp.oacc-c-c++-common/struct-1.c: New file.
3807 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: Remove
3810 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3812 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: Fix 'sizeof'
3814 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: Likewise.
3816 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3817 Julian Brown <julian@codesourcery.com>
3819 * oacc-mem.c (goacc_exit_datum): Repair 'is_tgt_unmapped'
3821 (acc_unmap_data, goacc_exit_data_internal): Restore
3822 'is_tgt_unmapped' checking.
3823 * testsuite/libgomp.oacc-c-c++-common/struct-refcount-1.c: New
3825 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: Adjust.
3826 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3827 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3828 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3829 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3830 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3832 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3833 Julian Brown <julian@codesourcery.com>
3835 * oacc-mem.c (acc_unmap_data): Don't open-code 'gomp_remove_var'.
3837 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3840 * oacc-mem.c (acc_unmap_data): Remove 'tgt' reference counting.
3842 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3845 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: Extend some
3848 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3849 Julian Brown <julian@codesourcery.com>
3851 * oacc-mem.c (goacc_enter_datum): Use 'tgt' returned from
3853 (acc_map_data): Clean up accordingly.
3855 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3857 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: XFAIL behavior
3858 of over-eager 'finalize' clause.
3859 * testsuite/libgomp.oacc-fortran/deep-copy-6-no_finalize.F90: New
3861 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-1.f90: Likewise.
3862 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-1-2.F90: Likewise.
3863 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-1.f90: Likewise.
3864 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-2-2.f90: Likewise.
3865 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-1.f90: Likewise.
3866 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-3-2.f90: Likewise.
3867 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-1.f90: Likewise.
3868 * testsuite/libgomp.oacc-fortran/mdc-refcount-1-4-2.f90: Likewise.
3870 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3872 * oacc-mem.c (goacc_exit_data_internal): Unlock on error path.
3874 2020-06-04 Julian Brown <julian@codesourcery.com>
3876 * oacc-mem.c (acc_attach_async): Add missing gomp_mutex_unlock on
3878 (goacc_detach_internal): Likewise.
3880 2020-06-04 Thomas Schwinge <thomas@codesourcery.com>
3882 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Initialize before
3884 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3885 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3886 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3887 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3888 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3890 2020-06-02 Jakub Jelinek <jakub@redhat.com>
3892 * allocator.c (omp_free): Fix up build if HAVE_SYNC_BUILTINS is not
3895 2020-05-30 Jakub Jelinek <jakub@redhat.com>
3897 * testsuite/libgomp.c-c++-common/alloc-4.c: New test.
3899 2020-05-30 Jakub Jelinek <jakub@redhat.com>
3901 * allocator.c (omp_alloc): For size == 0, return NULL early.
3903 2020-05-29 H.J. Lu <hjl.tools@gmail.com>
3906 * configure: Regenerated.
3908 2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
3911 * testsuite/libgomp.fortran/async_io_9.f90: New test.
3913 2020-05-19 Jakub Jelinek <jakub@redhat.com>
3915 * omp.h.in (omp_uintptr_t): New typedef.
3916 (__GOMP_UINTPTR_T_ENUM): Define.
3917 (omp_memspace_handle_t, omp_allocator_handle_t, omp_alloctrait_key_t,
3918 omp_alloctrait_value_t, omp_alloctrait_t): New typedefs.
3919 (__GOMP_DEFAULT_NULL_ALLOCATOR): Define.
3920 (omp_init_allocator, omp_destroy_allocator, omp_set_default_allocator,
3921 omp_get_default_allocator, omp_alloc, omp_free): Declare.
3922 * libgomp.h (struct gomp_team_state): Add def_allocator field.
3923 (gomp_def_allocator): Declare.
3924 * libgomp.map (OMP_5.0.1): Export omp_set_default_allocator,
3925 omp_get_default_allocator, omp_init_allocator, omp_destroy_allocator,
3926 omp_alloc and omp_free.
3927 * team.c (gomp_team_start): Copy over ts.def_allocator.
3928 * env.c (gomp_def_allocator): New variable.
3929 (parse_wait_policy): Adjust function comment.
3930 (parse_allocator): New function.
3931 (handle_omp_display_env): Print OMP_ALLOCATOR.
3932 (initialize_env): Call parse_allocator.
3933 * Makefile.am (libgomp_la_SOURCES): Add allocator.c.
3934 * allocator.c: New file.
3935 * icv.c (omp_set_default_allocator, omp_get_default_allocator): New
3937 * testsuite/libgomp.c-c++-common/alloc-1.c: New test.
3938 * testsuite/libgomp.c-c++-common/alloc-2.c: New test.
3939 * testsuite/libgomp.c-c++-common/alloc-3.c: New test.
3940 * Makefile.in: Regenerated.
3942 2020-05-15 H.J. Lu <hongjiu.lu@intel.com>
3945 * configure: Regenerated.
3947 2020-05-14 Thomas Koenig <tkoenig@gcc.gnu.org>
3950 * testsuite/libgomp.fortran/close_errors_1.f90: New test.
3952 2020-05-14 H.J. Lu <hongjiu.lu@intel.com>
3954 * configure: Regenerated.
3956 2020-05-14 Jakub Jelinek <jakub@redhat.com>
3958 * testsuite/libgomp.c-c++-common/target-40.c: New test.
3960 2020-05-13 Tobias Burnus <tobias@codesourcery.com>
3963 * testsuite/libgomp.fortran/pr66199-3.f90: New.
3964 * testsuite/libgomp.fortran/pr66199-4.f90: New.
3965 * testsuite/libgomp.fortran/pr66199-5.f90: New.
3966 * testsuite/libgomp.fortran/pr66199-6.f90: New.
3967 * testsuite/libgomp.fortran/pr66199-7.f90: New.
3968 * testsuite/libgomp.fortran/pr66199-8.f90: New.
3969 * testsuite/libgomp.fortran/pr66199-9.f90: New.
3971 2020-05-12 Jakub Jelinek <jakub@redhat.com>
3973 * testsuite/libgomp.c/target-39.c: New test.
3975 2020-04-29 Thomas Schwinge <thomas@codesourcery.com>
3977 * config/accel/openacc.f90 (acc_device_current): Set to '-1'.
3978 * openacc.f90 (acc_device_current): Likewise.
3979 * openacc.h (acc_device_current): Likewise.
3980 * openacc_lib.h (acc_device_current): Likewise.
3983 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Remove
3984 'dg-allow-blank-lines-in-output'.
3986 * oacc-init.c (get_openacc_name): Handle 'gcn'.
3987 * testsuite/lib/libgomp.exp
3988 (offload_target_to_openacc_device_type) [amdgcn*]: Return
3989 'radeon'. Adjust all users.
3990 (check_effective_target_openacc_amdgcn_accel_present): Rename
3992 (check_effective_target_openacc_radeon_accel_present): ... this.
3994 (check_effective_target_openacc_amdgcn_accel_selected): Rename to...
3995 (check_effective_target_openacc_radeon_accel_selected): ... this.
3998 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Add
4001 2020-04-23 Andrew Stubbs <ams@codesourcery.com>
4005 * plugin/plugin-gcn.c (init_hsa_context): Check return value from
4007 (GOMP_OFFLOAD_init_device): Check return values from both calls to
4008 hsa_agent_iterate_regions.
4010 2020-04-20 Thomas Schwinge <thomas@codesourcery.com>
4013 * testsuite/libgomp.fortran/target-enter-data-2.F90: Add 'dg-do
4016 2020-04-20 Tobias Burnus <tobias@codesourcery.com>
4019 * testsuite/libgomp.oacc-c++/declare-pr94120.C: Fix 'declare copy(out)'
4022 2020-04-17 Tobias Burnus <tobias@codesourcery.com>
4025 * testsuite/libgomp.fortran/target-enter-data-2.F90: New.
4027 2020-04-13 Thomas Schwinge <thomas@codesourcery.com>
4030 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4032 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1-lib.c:
4034 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4036 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-1.c:
4038 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4040 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2-lib.c:
4042 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4044 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-2.c:
4046 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4048 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3-lib.c:
4050 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4052 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-3.c:
4054 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4056 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4-lib.c:
4058 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4060 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-4.c:
4062 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4064 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5-lib.c:
4066 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4068 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-5.c:
4070 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4072 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6-lib.c:
4074 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4076 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-6.c:
4078 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4080 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7-lib.c:
4082 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4084 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-7.c:
4086 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4088 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8-lib.c:
4090 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c::
4092 * testsuite/libgomp.oacc-c-c++-common/structured-dynamic-lifetimes-8.c:
4095 2020-04-10 Julian Brown <julian@codesourcery.com>
4096 Thomas Schwinge <thomas@codesourcery.com>
4099 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1-lib.c:
4101 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-1.c:
4103 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2-lib.c:
4105 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-2.c:
4107 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3-lib.c:
4109 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-3.c:
4111 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4-lib.c:
4113 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-4.c:
4115 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5-lib.c:
4117 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-5.c:
4119 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6-lib.c:
4121 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-6.c:
4123 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7-lib.c:
4125 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-7.c:
4127 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8-lib.c:
4129 * testsuite/libgomp.oacc-c-c++-common/static-dynamic-lifetimes-8.c:
4132 2020-04-10 Thomas Schwinge <thomas@codesourcery.com>
4134 * testsuite/libgomp.fortran/target-enter-data-1.f90: Add 'dg-do
4137 2020-04-08 Tobias Burnus <tobias@codesourcery.com>
4140 * libgomp.oacc-c++/declare-pr94120.C: New.
4142 2020-04-06 Maciej W. Rozycki <macro@wdc.com>
4144 * configure.ac: Add testsuite/libgomp-site-extra.exp to output
4146 * configure: Regenerate.
4147 * testsuite/libgomp-site-extra.exp.in: New file.
4148 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): Remove
4150 * testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
4152 * testsuite/Makefile.in: Regenerate.
4154 2020-04-03 Thomas Schwinge <thomas@codesourcery.com>
4156 PR tree-optimization/89713
4158 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Again expect
4160 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Likewise.
4162 2020-03-31 Tobias Burnus <tobias@codesourcery.com>
4164 * target.c (GOMP_target_enter_exit_data): Handle PSET/MAP_POINTER.
4165 * testsuite/libgomp.fortran/target-enter-data-1.f90: New.
4167 2020-03-24 Tobias Burnus <tobias@codesourcery.com>
4170 * testsuite/libgomp.c/target-link-1.c: Remove xfail.
4172 2020-03-20 Tobias Burnus <tobias@codesourcery.com>
4175 * target.c (gomp_load_image_to_device): Fix link
4178 2020-03-19 Jakub Jelinek <jakub@redhat.com>
4181 * testsuite/libgomp.c++/pr93931.C: New test.
4183 2020-03-19 Tobias Burnus <tobias@codesourcery.com>
4185 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: Add
4186 dg-allow-blank-lines-in-output.
4188 2020-03-18 Julian Brown <julian@codesourcery.com>
4189 Tobias Burnus <tobias@codesourcery.com>
4191 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Really make
4192 it work concurrently.
4194 2020-03-18 Tobias Burnus <tobias@codesourcery.com>
4196 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: Add
4197 #define DO_LONG_DOUBLE; set to 1, except for nvidia + gcn.
4198 * libgomp.oacc-c-c++-common/firstprivate-mappings-1.c: Likewise.
4200 2020-03-14 Jakub Jelinek <jakub@redhat.com>
4203 * testsuite/libgomp.c/pr93566.c: New test.
4205 2020-02-21 Frederik Harwath <frederik@codesourcery.com>
4207 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Adapt to
4208 changes from 2020-02-19, i.e. use integer(c_size_t) instead of
4209 integer(acc_device_property) for the type of the return value of
4212 2020-02-19 Tobias Burnus <tobias@codesourcery.com>
4214 * .gitattributes: New; whitespace handling for Fortran's openacc_lib.h.
4215 * config/accel/openacc.f90 (openacc_kinds): Add acc_device_current.
4216 (openacc_internal, acc_on_device_h): Fix argument name; minor cleanup.
4217 * libgomp.texi (Enabling OpenACC): No longer mark as experimental.
4218 (acc_set_device_num): Fix Fortran argument name, use same name for C.
4219 (acc_get_property): Update Fortran interface to post-OpenACC 3.0
4220 corrections; add note about the previous interface and named constant.
4221 (OpenACC library and environment variables): Fix two typos.
4222 * openacc.f90: Use for all procedures the argument names from the spec
4223 as for …_h they are user visible.
4224 (openacc_kinds): Rename acc_device_property to
4225 acc_device_property_kinds and change value to int32 ; and update users.
4226 Re-add acc_device_property for for backward compatibility.
4227 (acc_get_property_string_h): Clean up as acc_device_property_kind
4229 (acc_get_property_h): Likewise and return c_size_t instead of
4230 acc_device_property.
4231 (openacc): Also export acc_device_property_kinds.
4232 (acc_async_test_h, acc_async_test_all_h, acc_on_device_h,
4233 acc_is_present_32_h, acc_is_present_64_h): Simplify logical-return-value
4234 handling; check against /= 0 instead of == 1 to match C.
4235 * openacc_lib.h: Use for all procedures the argument names from the spec
4236 as for …_h they are user visible. Place !GCC$ into the first column to
4237 be active also for fixed-form souce form.
4238 (acc_device_current, acc_device_property_kind, acc_device_property,
4239 acc_property_memory, acc_property_free_memory, acc_property_name,
4240 acc_property_vendor, acc_property_driver): New named constants.
4241 (acc_get_property, acc_get_property_string): New generic interface.
4243 2020-02-13 Frederik Harwath <frederik@codesourcery.com>
4246 * plugin/plugin-nvptx.c: Remove GOMP_OFFLOAD_async_run stub.
4247 * target.c (gomp_load_plugin_for_device): Make "async_run" loading
4249 (gomp_target_task_fn): Assert "devicep->async_run_func".
4250 (clear_unsupported_flags): New function to remove unsupported flags
4251 (right now only GOMP_TARGET_FLAG_NOWAIT) that can be be ignored.
4252 (GOMP_target_ext): Apply clear_unsupported_flags to flags.
4253 * testsuite/libgomp.c/target-33.c:
4254 Remove xfail for offload_target_nvptx.
4255 * testsuite/libgomp.c/target-34.c: Likewise.
4257 2020-02-10 Frederik Harwath <frederik@codesourcery.com>
4259 * testsuite/libgomp.c/target-33.c: Add xfail for execution on
4260 offload_target_nvptx, cf. https://gcc.gnu.org/PR81688.
4261 * testsuite/libgomp.c/target-34.c: Likewise.
4262 * testsuite/libgomp.c/target-link-1.c: Add xfail for
4263 offload_target_nvptx, cf. https://gcc.gnu.org/PR81689.
4265 2020-02-09 Jakub Jelinek <jakub@redhat.com>
4267 * testsuite/libgomp.c/target-38.c: New test.
4269 2020-02-06 Jakub Jelinek <jakub@redhat.com>
4272 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
4274 2020-02-05 Tobias Burnus <tobias@codesourcery.com>
4276 * testsuite/lib/libgomp.exp
4277 (check_effective_target_offload_target_nvptx): Pass flags as 'options'
4278 and not as 'source' argument to libgomp_target_compile.
4280 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
4282 * plugin/plugin-gcn.c (EF_AMDGPU_MACH_AMDGCN_GFX801): Remove.
4283 (gcn_gfx801_s): Remove.
4284 (isa_hsa_name): Remove gfx801.
4285 (isa_gcc_name): Remove gfx801/carizzo.
4286 (isa_code): Remove gfx801.
4288 2020-02-03 Julian Brown <julian@codesourcery.com>
4289 Tobias Burnus <tobias@codesourcery.com>
4291 * libgomp.texi (OpenACC Runtime Library Routines): Document *_async
4292 and *_finalize variants; document acc_attach and acc_detach; update
4293 references from OpenACC 2.0 to 2.6.
4294 * openacc.f90 (openacc_version): Update to 201711.
4295 * openacc_lib.h (openacc_version): Update to 201711.
4296 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Update expected
4297 openacc_version to 201711.
4298 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4300 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
4302 * plugin/plugin-gcn.c (struct hsa_kernel_description): Add sgpr_count
4303 and vgpr_count fields.
4304 (struct kernel_info): Add a field for a hsa_kernel_description.
4305 (run_kernel): Reduce the number of threads/workers if the requested
4306 number would require too many VGPRs.
4307 (init_basic_kernel_info): Initialize description field with
4308 the hsa_kernel_description entry for the kernel.
4310 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
4313 * plugin/configfrag.ac (enable_offload_targets): Skip
4314 HSA and GCN plugin besides -m32 also for -mx32.
4315 * configure: Regenerate.
4317 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
4319 * oacc-init.c (name_of_acc_device_t): Handle acc_device_radeon.
4321 2020-01-29 Frederik Harwath <frederik@codesourcery.com>
4323 * plugin-gcn.c (struct agent_info): Add fields "name" and
4325 (GOMP_OFFLOAD_init_device): ... and init from here.
4326 (struct hsa_context_info): Add field "driver_version_s" ...
4327 (init_hsa_contest): ... and init from here.
4328 (GOMP_OFFLOAD_openacc_get_property): Replace stub with a proper
4330 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4331 Enable test execution for amdgcn and host offloading targets.
4332 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: Likewise.
4333 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4334 (expect_device_properties): Split function into ...
4335 (expect_device_string_properties): ... this new function ...
4336 (expect_device_memory): ... and this new function.
4337 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-gcn.c:
4340 2020-01-28 Julian Brown <julian@codesourcery.com>
4342 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: Remove test from here.
4343 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: Don't use mixed
4344 component/non-component variable refs in a single directive.
4345 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: Likewise.
4347 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
4349 * configure.ac: Handle `--with-toolexeclibdir='.
4350 * Makefile.in: Regenerate.
4351 * aclocal.m4: Regenerate.
4352 * configure: Regenerate.
4353 * testsuite/Makefile.in: Regenerate.
4355 2020-01-24 Frederik Harwath <frederik@codesourcery.com>
4357 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c
4358 (expect_device_properties): Remove "expected_free_mem" argument,
4359 change "expected_total_mem" argument type to size_t;
4360 change types of acc_get_property results to size_t,
4361 adapt format strings.
4362 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c:
4363 Use %zu instead of %zd to print size_t values.
4364 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: Adapt and
4366 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-nvptx.c: ... this.
4367 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: Adapt and
4369 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-host.c: ... this.
4371 2020-01-23 Andrew Stubbs <ams@codesourcery.com>
4373 * plugin/plugin-gcn.c (parse_target_attributes): Use correct mask for
4376 2020-01-20 Andrew Stubbs <ams@codesourcery.com>
4378 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Skip test on gcn.
4379 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c (main):
4380 Adjust test dimensions for amdgcn.
4381 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c (main): Adjust
4382 gang/worker/vector expectations dynamically.
4383 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c
4385 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c (main): Likewise.
4386 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c (main): Likewise.
4387 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c (main): Likewise.
4388 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c (main): Likewise.
4389 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c (main): Likewise.
4390 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c (main): Likewise.
4391 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c (main): Likewise.
4392 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c (main): Likewise.
4393 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c
4394 (acc_gang): Recognise acc_device_radeon.
4395 (acc_worker): Likewise.
4396 (acc_vector): Likewise.
4397 (main): Set expectations for amdgcn.
4398 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c
4399 (main): Adjust gang/worker/vector expectations dynamically.
4400 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c (main): Likewise.
4401 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c (main): Likewise.
4402 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c (main): Likewise.
4403 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Set expectations
4406 2020-01-17 Andrew Stubbs <ams@codesourcery.com>
4408 * config/accel/openacc.f90 (openacc_kinds): Rename acc_device_gcn to
4410 (openacc): Likewise.
4411 * openacc.f90 (openacc_kinds): Likewise.
4412 (openacc): Likewise.
4413 * openacc.h (acc_device_t): Likewise.
4414 * openacc_lib.h: Likewise.
4415 * testsuite/lib/libgomp.exp
4416 (check_effective_target_openacc_amdgcn_accel_present): Likewise.
4417 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c
4418 (cb_compute_construct_end): Likewise.
4419 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c
4420 (cb_enqueue_launch_start): Likewise.
4421 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c
4422 (cb_enter_data_end): Likewise.
4423 (cb_exit_data_start): Likewise.
4424 (cb_exit_data_end): Likewise.
4425 (cb_compute_construct_end): Likewise.
4426 (cb_enqueue_launch_start): Likewise.
4427 (cb_enqueue_launch_end): Likewise.
4428 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c
4431 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
4433 * libgomp-plugin.h (enum goacc_property): New. Adjust all users
4434 to use this instead of 'enum gomp_device_property'.
4435 (GOMP_OFFLOAD_get_property): Rename to...
4436 (GOMP_OFFLOAD_openacc_get_property): ... this. Adjust all users.
4437 * libgomp.h (struct gomp_device_descr): Move
4438 'GOMP_OFFLOAD_openacc_get_property'...
4439 (struct acc_dispatch_t): ... here. Adjust all users.
4440 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): Remove.
4442 * target.c (gomp_map_vars_internal)
4443 <GOMP_MAP_USE_DEVICE_PTR_IF_PRESENT>: Clean up/elaborate code
4446 2020-01-10 Jakub Jelinek <jakub@redhat.com>
4449 * libgomp.h (gomp_print_string): Change return type from void to int.
4450 * affinity-fmt.c (gomp_print_string): Likewise. Return true if
4451 not all characters have been written.
4453 2020-01-08 Tobias Burnus <tobias@codesourcery.com>
4455 * libgomp.texi: Fix typos, use https.
4457 2020-01-03 Tobias Burnus <tobias@codesourcery.com>
4459 * testsuite/libgomp.fortran/optional-map.f90: Add test for
4460 unallocated/disassociated actual arguments to nonallocatable/nonpointer
4461 dummy arguments; those are/shall be regarded as absent arguments.
4462 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4463 * testsuite/libgomp.fortran/use_device_ptr-optional-3.f90: New.
4465 2020-01-01 Jakub Jelinek <jakub@redhat.com>
4467 Update copyright years.
4469 * libgomp.texi: Bump @copying's copyright year.
4471 2019-12-31 Ayush Mittal <ayush.m@samsung.com>
4474 * oacc-init.c (goacc_runtime_deinitialize): New function.
4476 2019-12-28 Jakub Jelinek <jakub@redhat.com>
4479 * plugin/cuda/cuda.h (cuDeviceGetName, cuDriverGetVersion): Declare.
4480 (cuDeviceTotalMem, cuMemGetInfo): Likewise. Define to *_v2.
4482 2019-12-22 Maciej W. Rozycki <macro@codesourcery.com>
4483 Frederik Harwath <frederik@codesourcery.com>
4484 Thomas Schwinge <tschwinge@codesourcery.com>
4486 * libgomp.h (gomp_device_descr): Add `get_property_func' member.
4487 * libgomp-plugin.h (gomp_device_property_value): New union.
4488 (gomp_device_property_value): New prototype.
4489 * openacc.h (acc_device_t): Add `acc_device_current' enumeration
4491 (acc_device_property_t): New enum.
4492 (acc_get_property, acc_get_property_string): New prototypes.
4493 * oacc-init.c (acc_get_device_type): Also assert that result
4494 is not `acc_device_current'.
4495 (get_property_any, acc_get_property, acc_get_property_string):
4497 * openacc.f90 (openacc_kinds): Add `acc_device_current' and
4498 `acc_property_memory', `acc_property_free_memory',
4499 `acc_property_name', `acc_property_vendor' and
4500 `acc_property_driver' constants. Add `acc_device_property' data
4502 (openacc_internal): Add `acc_get_property' and
4503 `acc_get_property_string' interfaces. Add `acc_get_property_h',
4504 `acc_get_property_string_h', `acc_get_property_l' and
4505 `acc_get_property_string_l'.
4506 * oacc-host.c (host_get_property): New function.
4507 (host_dispatch): Wire it.
4508 * target.c (gomp_load_plugin_for_device): Handle `get_property'.
4509 * libgomp.map (OACC_2.6): Add `acc_get_property', `acc_get_property_h_',
4510 `acc_get_property_string' and `acc_get_property_string_h_' symbols.
4511 * libgomp.texi (OpenACC Runtime Library Routines): Add
4513 (acc_get_property): New node.
4514 * plugin/plugin-gcn.c (GOMP_OFFLOAD_get_property): New
4516 * plugin/plugin-hsa.c (GOMP_OFFLOAD_get_property): New function.
4517 * plugin/plugin-nvptx.c (CUDA_CALLS): Add `cuDeviceGetName',
4518 `cuDeviceTotalMem', `cuDriverGetVersion' and `cuMemGetInfo'
4520 (GOMP_OFFLOAD_get_property): New function.
4521 (struct ptx_device): Add new field "name".
4522 (cuda_driver_version_s): Add new static variable ...
4523 (nvptx_init): ... and init from here.
4525 * testsuite/libgomp.oacc-c-c++-common/acc_get_property.c: New test.
4526 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-2.c: New test.
4527 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-3.c: New test.
4528 * testsuite/libgomp.oacc-c-c++-common/acc_get_property-aux.c: New file
4529 with test helper functions.
4531 * testsuite/libgomp.oacc-fortran/acc_get_property.f90: New test.
4533 2019-12-22 Maciej W. Rozycki <macro@wdc.com>
4535 * testsuite/libgomp-test-support.exp.in (GCC_UNDER_TEST): New
4538 2019-12-21 Thomas Schwinge <thomas@codesourcery.com>
4540 * target.c (gomp_map_vars_internal): Restore 'omp declare target
4543 2019-12-19 Julian Brown <julian@codesourcery.com>
4545 * testsuite/libgomp.oacc-fortran/class-ptr-param.f95: New test.
4546 * testsuite/libgomp.oacc-fortran/classtypes-1.f95: New test.
4547 * testsuite/libgomp.oacc-fortran/classtypes-2.f95: New test.
4549 2019-12-19 Julian Brown <julian@codesourcery.com>
4550 Cesar Philippidis <cesar@codesourcery.com>
4552 * testsuite/libgomp.oacc-fortran/deep-copy-1.f90: New test.
4553 * testsuite/libgomp.oacc-fortran/deep-copy-2.f90: New test.
4554 * testsuite/libgomp.oacc-fortran/deep-copy-3.f90: New test.
4555 * testsuite/libgomp.oacc-fortran/deep-copy-4.f90: New test.
4556 * testsuite/libgomp.oacc-fortran/deep-copy-5.f90: New test.
4557 * testsuite/libgomp.oacc-fortran/deep-copy-6.f90: New test.
4558 * testsuite/libgomp.oacc-fortran/deep-copy-7.f90: New test.
4559 * testsuite/libgomp.oacc-fortran/deep-copy-8.f90: New test.
4560 * testsuite/libgomp.oacc-fortran/derived-type-1.f90: New test.
4561 * testsuite/libgomp.oacc-fortran/derivedtype-1.f95: New test.
4562 * testsuite/libgomp.oacc-fortran/derivedtype-2.f95: New test.
4563 * testsuite/libgomp.oacc-fortran/multidim-slice.f95: New test.
4564 * testsuite/libgomp.oacc-fortran/update-2.f90: New test.
4566 2019-12-19 Julian Brown <julian@codesourcery.com>
4568 * testsuite/libgomp.oacc-c-c++-common/deep-copy-1.c: New test.
4569 * testsuite/libgomp.oacc-c-c++-common/deep-copy-2.c: New test.
4570 * testsuite/libgomp.oacc-c-c++-common/deep-copy-4.c: New test.
4571 * testsuite/libgomp.oacc-c-c++-common/deep-copy-6.c: New test.
4572 * testsuite/libgomp.oacc-c-c++-common/deep-copy-7.c: New test.
4573 * testsuite/libgomp.oacc-c-c++-common/deep-copy-8.c: New test.
4574 * testsuite/libgomp.oacc-c-c++-common/deep-copy-9.c: New test.
4575 * testsuite/libgomp.oacc-c-c++-common/deep-copy-10.c: New test.
4576 * testsuite/libgomp.oacc-c-c++-common/deep-copy-11.c: New test.
4577 * testsuite/libgomp.oacc-c-c++-common/deep-copy-14.c: New test.
4578 * testsuite/libgomp.oacc-c++/deep-copy-12.C: New test.
4579 * testsuite/libgomp.oacc-c++/deep-copy-13.C: New test.
4581 2019-12-19 Julian Brown <julian@codesourcery.com>
4583 * libgomp.h (struct target_var_desc): Add do_detach flag.
4584 * oacc-init.c (acc_shutdown_1): Free aux block if present.
4585 * oacc-mem.c (find_group_last): Add SIZES parameter. Support
4586 struct components. Tidy up and add some new checks.
4587 (goacc_enter_data_internal): Update call to find_group_last.
4588 (goacc_exit_data_internal): Support detach operations and
4590 (GOACC_enter_exit_data): Handle initial GOMP_MAP_STRUCT or
4591 GOMP_MAP_FORCE_PRESENT in finalization detection code. Handle
4592 attach/detach in enter/exit data detection code.
4593 * target.c (gomp_map_vars_existing): Initialise do_detach field of
4595 (gomp_map_vars_internal): Support attach.
4596 (gomp_unmap_vars_internal): Support detach.
4598 2019-12-19 Julian Brown <julian@codesourcery.com>
4599 Thomas Schwinge <thomas@codesourcery.com>
4601 * libgomp.h (struct splay_tree_aux): Add attach_count field.
4602 (gomp_attach_pointer, gomp_detach_pointer): Add prototypes.
4603 * libgomp.map (OACC_2.6): New section. Add acc_attach,
4604 acc_attach_async, acc_detach, acc_detach_async, acc_detach_finalize,
4605 acc_detach_finalize_async.
4606 * oacc-mem.c (acc_attach_async, acc_attach, goacc_detach_internal,
4607 acc_detach, acc_detach_async, acc_detach_finalize,
4608 acc_detach_finalize_async): New functions.
4609 * openacc.h (acc_attach, acc_attach_async, acc_detach,
4610 (acc_detach_async, acc_detach_finalize, acc_detach_finalize_async): Add
4612 * target.c (gomp_attach_pointer, gomp_detach_pointer): New functions.
4613 (gomp_remove_var_internal): Free attachment counts if present.
4614 * testsuite/libgomp.oacc-c-c++-common/deep-copy-3.c: New test.
4615 * testsuite/libgomp.oacc-c-c++-common/deep-copy-5.c: New test.
4617 2019-12-19 Julian Brown <julian@codesourcery.com>
4618 Cesar Philippidis <cesar@codesourcery.com>
4620 * libgomp.h (gomp_map_val): Add prototype.
4621 * oacc-parallel.c (GOACC_parallel_keyed): Use gomp_map_val instead of
4622 open-coding device-address calculation.
4623 * target.c (gomp_map_val): Make global. Use OFFSET_POINTER in
4626 2019-12-19 Julian Brown <julian@codesourcery.com>
4628 * libgomp.h (struct splay_tree_key_s): Substitute dynamic_refcount
4629 field for virtual_refcount.
4630 (enum gomp_map_vars_kind): Add GOMP_MAP_VARS_OPENACC_ENTER_DATA.
4631 (gomp_free_memmap): Remove prototype.
4632 * oacc-init.c (acc_shutdown_1): Iteratively call gomp_remove_var
4633 instead of calling gomp_free_memmap.
4634 * oacc-mem.c (acc_map_data): Use virtual_refcount instead of
4636 (acc_unmap_data): Open code instead of forcing target_mem_desc's
4637 to_free field to NULL then calling gomp_unmap_vars. Handle
4638 REFCOUNT_INFINITY on target blocks.
4639 (goacc_enter_data): Rename to...
4640 (goacc_enter_datum): ...this. Remove MAPNUM parameter and special
4641 handling for mapping groups. Use virtual_refcount instead of
4642 dynamic_refcount. Use GOMP_MAP_VARS_OPENACC_ENTER_DATA for
4643 map_map_vars_async call. Re-do lookup for target pointer return value.
4644 (acc_create, acc_create_async, acc_copyin, acc_copyin_async): Call
4645 renamed goacc_enter_datum function.
4646 (goacc_exit_data): Rename to...
4647 (goacc_exit_datum): ...this. Update for virtual_refcount semantics.
4648 (acc_delete, acc_delete_async, acc_delete_finalize,
4649 acc_delete_finalize_async, acc_copyout, acc_copyout_async,
4650 acc_copyout_finalize, acc_copyout_finalize_async): Call renamed
4651 goacc_exit_datum function.
4652 (gomp_acc_remove_pointer, find_pointer): Remove functions.
4653 (find_group_last, goacc_enter_data_internal, goacc_exit_data_internal):
4655 (GOACC_enter_exit_data): Use goacc_enter_data_internal and
4656 goacc_exit_data_internal helper functions.
4657 * target.c (gomp_map_vars_internal): Handle
4658 GOMP_MAP_VARS_OPENACC_ENTER_DATA. Update for virtual_refcount
4660 (gomp_unmap_vars_internal): Update for virtual_refcount semantics.
4661 (gomp_load_image_to_device, omp_target_associate_ptr): Zero-initialise
4662 virtual_refcount field instead of dynamic_refcount.
4663 (gomp_free_memmap): Remove function.
4664 * testsuite/libgomp.oacc-c-c++-common/unmap-infinity-1.c: New test.
4665 * testsuite/libgomp.c-c++-common/unmap-infinity-2.c: New test.
4666 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: Add XFAIL.
4668 2019-12-19 Julian Brown <julian@codesourcery.com>
4669 Thomas Schwinge <thomas@codesourcery.com>
4671 * libgomp.h (struct splay_tree_aux): New.
4672 (struct splay_tree_key_s): Replace link_key field with aux pointer.
4673 * target.c (gomp_map_vars_internal): Adjust for link_key being moved
4675 (gomp_remove_var_internal): Free aux block if present.
4676 (gomp_load_image_to_device): Zero-initialise aux field instead of
4678 (omp_target_associate_pointer): Zero-initialise aux field.
4680 2019-12-18 Jakub Jelinek <jakub@redhat.com>
4683 * testsuite/libgomp.c/pr86416-1.c (main): Use L suffixes rather than
4685 * testsuite/libgomp.c/pr86416-2.c (main): Use Q suffixes rather than
4688 2019-12-19 Julian Brown <julian@codesourcery.com>
4689 Maciej W. Rozycki <macro@codesourcery.com>
4690 Tobias Burnus <tobias@codesourcery.com>
4691 Thomas Schwinge <thomas@codesourcery.com>
4693 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
4694 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
4695 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
4696 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
4697 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
4698 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
4699 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
4700 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
4701 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
4703 2019-12-18 Thomas Schwinge <thomas@codesourcery.com>
4705 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4707 (goacc_insert_pointer): ... from here, "present" case.
4708 (goacc_insert_pointer): Inline function into...
4709 (GOACC_enter_exit_data): ... here, and simplify.
4711 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
4713 (goacc_insert_pointer): ... from here, "not present" case.
4715 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
4718 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
4719 'goacc_enter_data', 'goacc_exit_data'.
4721 * oacc-mem.c (delete_copyout): Refactor into...
4722 (goacc_exit_data): ... this. Adjust all users.
4724 * oacc-mem.c (present_create_copy): Refactor into...
4725 (goacc_enter_data): ... this. Adjust all users.
4727 * target.c (gomp_unmap_vars_internal): Add a safeguard to
4730 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
4731 like 'GOMP_MAP_FROM'.
4736 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
4738 (GOACC_enter_exit_data): Simplify accordingly.
4739 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
4741 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
4742 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
4744 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
4746 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
4747 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
4749 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
4751 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
4753 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
4754 'finalize' handling.
4757 * oacc-mem.c (acc_map_data, present_create_copy)
4758 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
4759 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
4760 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
4761 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
4762 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
4763 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
4764 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
4765 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4768 * target.c (gomp_unmap_tgt): Make it 'static'.
4769 * libgomp.h (gomp_unmap_tgt): Remove.
4771 2019-12-18 Tobias Burnus <tobias@codesourcery.com>
4774 * testsuite/libgomp.c/pr86416-1.c: New.
4775 * testsuite/libgomp.c/pr86416-2.c: New.
4777 2019-12-17 Tobias Burnus <tobias@codesourcery.com>
4779 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
4780 all symbols as public except for the 'use …, only' imported symbol,
4782 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4783 all symbols from module openacc_kinds as PUBLIC
4784 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
4786 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
4788 2019-12-13 Julian Brown <julian@codesourcery.com>
4792 * libgomp.h (gomp_remove_var_async): Add prototype.
4793 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
4795 * target.c (gomp_unref_tgt): Change return type to bool, indicating
4796 whether target_mem_desc was unmapped.
4797 (gomp_unref_tgt_void): New.
4798 (gomp_remove_var): Reimplement in terms of...
4799 (gomp_remove_var_internal): ...this new helper function.
4800 (gomp_remove_var_async): New, implemented using above helper function.
4801 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
4804 2019-12-13 Andrew Stubbs <ams@codesourcery.com>
4806 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
4807 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
4808 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
4809 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
4810 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
4812 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
4813 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
4815 2019-12-13 Tobias Burnus <tobias@codesourcery.com>
4817 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
4818 as public except for the 'use …, only' imported symbol, which is
4820 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
4821 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
4822 attributes for acc_copyout_finalize and acc_delete_finalize.
4824 2019-12-11 Jakub Jelinek <jakub@redhat.com>
4827 * testsuite/libgomp.fortran/atomic1.f90: New test.
4829 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
4832 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
4833 reference counting for structured 'REFCOUNT_INFINITY'. Add some
4835 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
4836 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
4837 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
4838 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4839 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4841 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
4842 * oacc-mem.c: ... here.
4843 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
4844 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
4845 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4847 * libgomp_g.h: Update.
4849 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
4850 * oacc-async.c: ... here.
4851 * oacc-int.h (goacc_wait): Declare.
4852 * libgomp_g.h: Update
4855 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
4857 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
4859 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
4861 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
4863 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
4865 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
4868 2019-12-11 Thomas Schwinge <thomas@codesourcery.com>
4869 Julian Brown <julian@codesourcery.com>
4871 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
4872 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
4874 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
4876 * omp_lib.h.in: Fix spelling of function declaration
4877 omp_get_cancell(l)ation.
4878 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
4880 * env.c: Fix comment typos.
4881 * oacc-host.c: Likewise.
4882 * ordered.c: Likewise.
4885 * config/gcn/task.c: Likewise.
4886 * config/gcn/team.c: Likewise.
4887 * config/nvptx/task.c: Likewise.
4888 * config/nvptx/team.c: Likewise.
4889 * plugin/plugin-gcn.c: Likewise.
4890 * testsuite/libgomp.fortran/jacobi.f: Likewise.
4891 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4892 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
4894 2019-12-11 Tobias Burnus <tobias@codesourcery.com>
4896 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
4897 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
4898 unnecessary 'dg-additional-options "-w"'.
4900 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4901 Julian Brown <julian@codesourcery.com>
4906 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
4907 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
4909 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4911 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4913 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
4915 2019-12-09 Thomas Schwinge <thomas@codesourcery.com>
4918 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
4919 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
4921 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
4923 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
4925 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
4927 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
4929 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
4931 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4932 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4933 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4934 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4935 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4936 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4937 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4938 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4939 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4940 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4943 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
4944 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
4945 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
4947 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
4949 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
4951 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
4952 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
4955 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
4957 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
4959 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
4961 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
4963 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
4964 ... with their content moved into, and extended in this new file.
4965 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
4967 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
4969 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
4971 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
4974 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
4977 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
4979 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
4981 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
4983 2019-12-09 Tobias Burnus <tobias@codesourcery.com>
4985 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
4987 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
4988 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
4989 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
4990 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
4992 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
4993 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
4995 2019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
4997 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
4999 2019-12-06 Tobias Burnus <tobias@codesourcery.com>
5000 Kwok Cheung Yeung <kcy@codesourcery.com>
5002 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
5003 if input it a NULL pointer.
5004 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
5005 diagnostic of NULL pointer.
5006 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
5007 * testsuite/libgomp.fortran/optional-map.f90: New.
5008 * testsuite/libgomp.fortran/use_device_addr-1.f90
5009 (test_dummy_opt_callee_1_absent): New.
5010 (test_dummy_opt_call_1): Call it.
5011 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5012 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
5013 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5014 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
5015 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
5016 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
5017 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
5018 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
5019 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
5020 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
5021 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
5022 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
5023 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
5024 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
5025 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
5026 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
5028 2019-12-05 Tobias Burnus <tobias@codesourcery.com>
5030 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
5031 expect dg-output of 'Error termination.' for GCN.
5032 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
5033 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
5035 2019-12-04 Jakub Jelinek <jakub@redhat.com>
5038 * testsuite/libgomp.fortran/teams1.f90: New test.
5039 * testsuite/libgomp.fortran/teams2.f90: New test.
5041 2019-12-03 Frederik Harwath <frederik@codesourcery.com>
5043 * oacc-init.c (acc_known_device_type): Add function.
5044 (unknown_device_type_error): Add function.
5045 (name_of_acc_device_t): Change to call unknown_device_type_error
5047 (resolve_device): Use acc_known_device_type.
5048 (acc_init): Fail if acc_device_t argument is not valid.
5049 (acc_shutdown): Likewise.
5050 (acc_get_num_devices): Likewise.
5051 (acc_set_device_type): Likewise.
5052 (acc_get_device_num): Likewise.
5053 (acc_set_device_num): Likewise.
5054 (acc_on_device): Add comment that argument validity is not checked.
5056 2019-12-03 Andrew Stubbs <ams@codesourcery.com>
5058 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
5060 (check_effective_target_openacc_amdgcn_accel_present): New proc.
5061 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
5062 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
5063 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5064 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5066 2019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
5069 * configure.tgt: Avoid IE tls on *-*-musl*.
5071 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
5073 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
5074 adding a common-block test case.
5076 2019-11-29 Jakub Jelinek <jakub@redhat.com>
5079 * testsuite/libgomp.c++/udr-20.C: New test.
5080 * testsuite/libgomp.c++/udr-21.C: New test.
5082 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
5084 * testsuite/lib/libgomp.exp
5085 (check_effective_target_offload_target_nvptx): New proc.
5086 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
5088 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
5089 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
5090 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
5092 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5094 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
5095 * testsuite/libgomp.c/pr39591-2.c: Likewise.
5096 * testsuite/libgomp.c/pr39591-3.c: Likewise.
5097 * testsuite/libgomp.c/private-1.c: Likewise.
5098 * testsuite/libgomp.c/task-1.c: Likewise.
5099 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
5101 2019-11-20 Julian Brown <julian@codesourcery.com>
5103 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
5105 (queue_push_launch): Lock aq->mutex before calling
5106 wait_for_queue_nonfull.
5107 (queue_push_callback): Likewise.
5108 (queue_push_asyncwait): Likewise.
5109 (queue_push_placeholder): Likewise.
5111 2019-11-20 Julian Brown <julian@codesourcery.com>
5113 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
5114 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5115 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
5118 2019-11-20 Julian Brown <julian@codesourcery.com>
5122 * oacc-mem.c (present_create_copy): Fix device pointer return value in
5123 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
5124 in non-present/create case.
5125 (delete_copyout): Change error condition to fail only on copies outside
5126 of mapped block. Adjust error message accordingly.
5127 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
5128 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
5129 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
5131 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5132 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
5133 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5135 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
5137 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
5138 libatomic in build-tree testing.
5140 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
5142 * testsuite/Makefile.in: Regenerate.
5144 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
5146 * testsuite/libgomp.c/target-print-1.c: New file.
5147 * testsuite/libgomp.fortran/target-print-1.f90: New file.
5148 * testsuite/libgomp.oacc-c/print-1.c: New file.
5149 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
5151 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5152 Kwok Cheung Yeung <kcy@codesourcery.com>
5153 Julian Brown <julian@codesourcery.com>
5154 Tom de Vries <tom@codesourcery.com>
5156 * plugin/Makefrag.am: Add amdgcn plugin support.
5157 * plugin/configfrag.ac: Likewise.
5158 * plugin/plugin-gcn.c: New file.
5159 * configure: Regenerate.
5160 * Makefile.in: Regenerate.
5161 * testsuite/Makefile.in: Regenerate.
5163 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5165 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
5166 and use team_malloc variants.
5167 (gomp_gcn_exit_kernel): Use team_free.
5168 * libgomp.h (TEAM_ARENA_SIZE): Define.
5169 (TEAM_ARENA_START): Define.
5170 (TEAM_ARENA_FREE): Define.
5171 (TEAM_ARENA_END): Define.
5172 (team_malloc): New function.
5173 (team_malloc_cleared): New function.
5174 (team_free): New function.
5175 * team.c (gomp_new_team): Initialize and use team_malloc.
5176 (free_team): Use team_free.
5177 (gomp_free_thread): Use team_free.
5178 (gomp_pause_host): Use team_free.
5179 * work.c (gomp_init_work_share): Use team_malloc.
5180 (gomp_fini_work_share): Use team_free.
5182 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5183 Kwok Cheung Yeung <kcy@codesourcery.com>
5184 Julian Brown <julian@codesourcery.com>
5185 Tom de Vries <tom@codesourcery.com>
5187 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
5188 * Makefile.in: Regenerate.
5189 * config.h.in (PLUGIN_GCN): Add new undef.
5190 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
5191 * config/gcn/affinity-fmt.c: New file.
5192 * config/gcn/bar.c: New file.
5193 * config/gcn/bar.h: New file.
5194 * config/gcn/doacross.h: New file.
5195 * config/gcn/icv-device.c: New file.
5196 * config/gcn/oacc-target.c: New file.
5197 * config/gcn/simple-bar.h: New file.
5198 * config/gcn/target.c: New file.
5199 * config/gcn/task.c: New file.
5200 * config/gcn/team.c: New file.
5201 * config/gcn/time.c: New file.
5202 * configure.ac: Add amdgcn*-*-*.
5203 * configure: Regenerate.
5204 * configure.tgt: Add amdgcn*-*-*.
5205 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
5206 * libgomp.h (gcn_thrs): Add amdgcn variant.
5207 (set_gcn_thrs): Likewise.
5208 (gomp_thread): Likewise.
5209 * oacc-int.h (goacc_thread): Likewise.
5210 * oacc-target.c: New file.
5211 * openacc.f90 (acc_device_gcn): New parameter.
5212 * openacc.h (acc_device_t): Add acc_device_gcn.
5213 * team.c (gomp_free_pool_helper): Add amdgcn support.
5215 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5216 Julian Brown <julian@codesourcery.com>
5218 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
5220 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
5222 * oacc-host.c (host_openacc_async_construct): Add device parameter.
5223 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
5226 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
5228 * configure.tgt (nvptx*-*-*): Add "accel" directory.
5229 * config/nvptx/libgomp-plugin.c: Move ...
5230 * config/accel/libgomp-plugin.c: ... to here.
5231 * config/nvptx/lock.c: Move ...
5232 * config/accel/lock.c: ... to here.
5233 * config/nvptx/mutex.c: Move ...
5234 * config/accel/mutex.c: ... to here.
5235 * config/nvptx/mutex.h: Move ...
5236 * config/accel/mutex.h: ... to here.
5237 * config/nvptx/oacc-async.c: Move ...
5238 * config/accel/oacc-async.c: ... to here.
5239 * config/nvptx/oacc-cuda.c: Move ...
5240 * config/accel/oacc-cuda.c: ... to here.
5241 * config/nvptx/oacc-host.c: Move ...
5242 * config/accel/oacc-host.c: ... to here.
5243 * config/nvptx/oacc-init.c: Move ...
5244 * config/accel/oacc-init.c: ... to here.
5245 * config/nvptx/oacc-mem.c: Move ...
5246 * config/accel/oacc-mem.c: ... to here.
5247 * config/nvptx/oacc-plugin.c: Move ...
5248 * config/accel/oacc-plugin.c: ... to here.
5249 * config/nvptx/omp-lock.h: Move ...
5250 * config/accel/omp-lock.h: ... to here.
5251 * config/nvptx/openacc.f90: Move ...
5252 * config/accel/openacc.f90: ... to here.
5253 * config/nvptx/pool.h: Move ...
5254 * config/accel/pool.h: ... to here.
5255 * config/nvptx/proc.c: Move ...
5256 * config/accel/proc.c: ... to here.
5257 * config/nvptx/ptrlock.c: Move ...
5258 * config/accel/ptrlock.c: ... to here.
5259 * config/nvptx/ptrlock.h: Move ...
5260 * config/accel/ptrlock.h: ... to here.
5261 * config/nvptx/sem.c: Move ...
5262 * config/accel/sem.c: ... to here.
5263 * config/nvptx/sem.h: Move ...
5264 * config/accel/sem.h: ... to here.
5265 * config/nvptx/thread-stacksize.h: Move ...
5266 * config/accel/thread-stacksize.h: ... to here.
5268 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
5269 Tobias Burnus <tobias@codesourcery.com>
5270 Frederik Harwath <frederik@codesourcery.com>
5271 Thomas Schwinge <thomas@codesourcery.com>
5274 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
5275 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
5276 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
5278 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
5279 Kwok Cheung Yeung <kcy@codesourcery.com>
5281 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
5282 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
5284 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
5286 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
5288 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
5290 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
5291 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
5293 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
5295 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
5296 Add expected warnings about missing reduction clauses.
5297 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
5299 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
5301 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
5304 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
5306 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
5307 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
5308 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
5309 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5310 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5311 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5313 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
5316 * testsuite/libgomp.fortran/allocatable2.f90: Use
5317 unique numbers with 'stop'.
5318 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5319 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5320 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
5321 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
5322 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
5324 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
5326 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
5327 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
5328 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
5329 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
5330 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
5331 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
5333 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5335 * testsuite/libgomp.fortran/target9.f90: New.
5337 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5339 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
5340 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
5341 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
5342 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
5343 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
5344 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
5345 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
5346 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
5347 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
5348 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
5349 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
5350 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
5351 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
5352 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
5353 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
5354 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
5355 * testsuite/libgomp.fortran/associate1.f90: Ditto.
5356 * testsuite/libgomp.fortran/associate2.f90: Ditto.
5357 * testsuite/libgomp.fortran/associate3.f90: Ditto.
5358 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
5359 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
5360 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
5361 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
5362 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
5363 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
5364 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
5365 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
5366 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
5367 * testsuite/libgomp.fortran/character1.f90: Ditto.
5368 * testsuite/libgomp.fortran/character2.f90: Ditto.
5369 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
5370 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
5371 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
5372 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
5373 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
5374 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
5375 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
5376 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
5377 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
5378 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
5379 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
5380 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
5381 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
5382 * testsuite/libgomp.fortran/do1.f90: Ditto.
5383 * testsuite/libgomp.fortran/do2.f90: Ditto.
5384 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
5385 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
5386 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
5387 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
5388 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
5389 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
5390 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
5391 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
5392 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
5393 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
5394 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
5395 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
5396 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
5397 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
5398 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
5399 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
5400 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
5401 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
5402 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
5403 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
5404 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
5405 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
5406 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
5407 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
5408 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
5409 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
5410 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
5411 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
5412 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
5413 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
5414 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
5415 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
5416 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
5417 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
5418 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
5419 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
5420 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
5421 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
5422 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
5423 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
5424 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
5425 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
5426 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
5427 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
5428 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
5429 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
5430 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
5431 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
5432 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
5433 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5434 * testsuite/libgomp.fortran/lib1.f90: Ditto.
5435 * testsuite/libgomp.fortran/lib4.f90: Ditto.
5436 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
5437 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
5438 * testsuite/libgomp.fortran/nested1.f90: Ditto.
5439 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
5440 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
5441 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
5442 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5443 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
5444 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
5445 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
5446 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
5447 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
5448 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
5449 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
5450 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
5451 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
5452 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
5453 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
5454 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
5455 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
5456 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
5457 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
5458 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
5459 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
5460 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
5461 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
5462 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
5463 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5464 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
5465 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
5466 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
5467 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
5468 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
5469 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5470 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
5471 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
5472 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
5473 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
5474 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5475 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
5476 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
5477 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
5478 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
5479 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
5480 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
5481 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
5482 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
5483 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
5484 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
5485 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
5486 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
5487 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
5488 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
5489 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
5490 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
5491 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
5492 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
5493 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
5494 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
5495 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5496 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
5497 * testsuite/libgomp.fortran/reference1.f90: Ditto.
5498 * testsuite/libgomp.fortran/reference2.f90: Ditto.
5499 * testsuite/libgomp.fortran/retval1.f90: Ditto.
5500 * testsuite/libgomp.fortran/retval2.f90: Ditto.
5501 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
5502 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
5503 * testsuite/libgomp.fortran/simd1.f90: Ditto.
5504 * testsuite/libgomp.fortran/simd2.f90: Ditto.
5505 * testsuite/libgomp.fortran/simd3.f90: Ditto.
5506 * testsuite/libgomp.fortran/simd4.f90: Ditto.
5507 * testsuite/libgomp.fortran/simd5.f90: Ditto.
5508 * testsuite/libgomp.fortran/simd6.f90: Ditto.
5509 * testsuite/libgomp.fortran/simd7.f90: Ditto.
5510 * testsuite/libgomp.fortran/stack.f90: Ditto.
5511 * testsuite/libgomp.fortran/strassen.f90: Ditto.
5512 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
5513 * testsuite/libgomp.fortran/tabs2.f: Ditto.
5514 * testsuite/libgomp.fortran/target1.f90: Ditto.
5515 * testsuite/libgomp.fortran/target2.f90: Ditto.
5516 * testsuite/libgomp.fortran/target3.f90: Ditto.
5517 * testsuite/libgomp.fortran/target4.f90: Ditto.
5518 * testsuite/libgomp.fortran/target5.f90: Ditto.
5519 * testsuite/libgomp.fortran/target6.f90: Ditto.
5520 * testsuite/libgomp.fortran/target7.f90: Ditto.
5521 * testsuite/libgomp.fortran/target8.f90: Ditto.
5522 * testsuite/libgomp.fortran/task1.f90: Ditto.
5523 * testsuite/libgomp.fortran/task2.f90: Ditto.
5524 * testsuite/libgomp.fortran/task3.f90: Ditto.
5525 * testsuite/libgomp.fortran/task4.f90: Ditto.
5526 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5527 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5528 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
5529 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
5530 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
5531 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
5532 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
5533 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
5534 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
5535 * testsuite/libgomp.fortran/udr1.f90: Ditto.
5536 * testsuite/libgomp.fortran/udr10.f90: Ditto.
5537 * testsuite/libgomp.fortran/udr11.f90: Ditto.
5538 * testsuite/libgomp.fortran/udr12.f90: Ditto.
5539 * testsuite/libgomp.fortran/udr13.f90: Ditto.
5540 * testsuite/libgomp.fortran/udr14.f90: Ditto.
5541 * testsuite/libgomp.fortran/udr15.f90: Ditto.
5542 * testsuite/libgomp.fortran/udr2.f90: Ditto.
5543 * testsuite/libgomp.fortran/udr3.f90: Ditto.
5544 * testsuite/libgomp.fortran/udr4.f90: Ditto.
5545 * testsuite/libgomp.fortran/udr5.f90: Ditto.
5546 * testsuite/libgomp.fortran/udr6.f90: Ditto.
5547 * testsuite/libgomp.fortran/udr7.f90: Ditto.
5548 * testsuite/libgomp.fortran/udr8.f90: Ditto.
5549 * testsuite/libgomp.fortran/udr9.f90: Ditto.
5550 * testsuite/libgomp.fortran/vla1.f90: Ditto.
5551 * testsuite/libgomp.fortran/vla2.f90: Ditto.
5552 * testsuite/libgomp.fortran/vla3.f90: Ditto.
5553 * testsuite/libgomp.fortran/vla4.f90: Ditto.
5554 * testsuite/libgomp.fortran/vla5.f90: Ditto.
5555 * testsuite/libgomp.fortran/vla6.f90: Ditto.
5556 * testsuite/libgomp.fortran/vla7.f90: Ditto.
5557 * testsuite/libgomp.fortran/vla8.f90: Ditto.
5558 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5559 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5561 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
5563 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
5564 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
5565 Ditto; add 'dg-do run' for torture testing.
5566 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
5567 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
5568 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
5569 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
5570 * testsuite/libgomp.fortran/pr28390.f: Ditto.
5571 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
5572 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
5573 * testsuite/libgomp.fortran/task2.f90: Ditto.
5574 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
5575 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
5576 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
5577 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
5578 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
5579 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
5581 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
5583 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
5584 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
5585 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
5586 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
5587 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
5588 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
5589 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
5590 Use 'stop' not abort().
5591 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
5592 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
5593 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
5594 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
5595 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
5596 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
5597 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
5598 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
5599 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
5600 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
5601 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
5602 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
5603 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
5604 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
5605 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
5606 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
5607 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
5609 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
5611 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
5613 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
5615 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
5617 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
5619 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
5621 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
5623 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
5625 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
5627 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
5629 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
5631 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
5633 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
5635 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
5636 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
5637 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
5638 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
5639 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
5640 Likewise and also add 'dg-do run'.
5641 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
5644 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
5645 Tobias Burnus <tobias@codesourcery.com>
5647 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
5648 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
5649 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
5651 2019-10-14 Jakub Jelinek <jakub@redhat.com>
5654 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
5657 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
5659 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
5660 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
5662 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
5665 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
5668 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
5671 * testsuite/libgomp.fortran/fortran.exp: Conditionally
5673 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
5675 2019-10-09 Jakub Jelinek <jakub@redhat.com>
5678 * target.c (gomp_map_vars_internal): Readd the previous
5679 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
5680 though do that just in the !not_found_cnt case.
5682 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
5684 * gfortran.dg/gomp/target-simd.f90: New.
5686 2019-10-02 Julian Brown <julian@codesourcery.com>
5687 Cesar Philippidis <cesar@codesourcery.com>
5689 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
5690 * target.c (FIELD_TGT_EMPTY): Define.
5691 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
5692 as switch instead of list of ifs.
5693 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
5695 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
5697 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
5698 include. Replace alloca () with __builtin_alloca ().
5699 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
5701 2019-10-01 Jakub Jelinek <jakub@redhat.com>
5703 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
5704 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
5705 * oacc-parallel.c: Don't include "libgomp_g.h".
5706 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
5707 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
5708 * aclocal.m4: Regenerated.
5709 * config.h.in: Regenerated.
5710 * configure: Regenerated.
5711 * Makefile.in: Regenerated.
5713 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
5715 * libgomp_g.h: Include stdint.h instead of gstdint.h.
5717 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
5719 * configure: Regenerate.
5721 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
5723 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
5724 string is initialized.
5726 2019-09-06 Florian Weimer <fweimer@redhat.com>
5728 * configure: Regenerate.
5730 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
5733 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
5734 scanning to conform to the GNU Coding Standards.
5735 * configure: Regenerate.
5737 2019-08-28 Jakub Jelinek <jakub@redhat.com>
5740 * testsuite/libgomp.c/scan-21.c: New test.
5741 * testsuite/libgomp.c/scan-22.c: New test.
5743 2019-08-27 Jakub Jelinek <jakub@redhat.com>
5746 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
5748 * testsuite/libgomp.c/scan-12.c: Likewise.
5749 * testsuite/libgomp.c/scan-13.c: Likewise.
5750 * testsuite/libgomp.c/scan-14.c: Likewise.
5751 * testsuite/libgomp.c/scan-15.c: Likewise.
5752 * testsuite/libgomp.c/scan-16.c: Likewise.
5753 * testsuite/libgomp.c/scan-17.c: Likewise.
5754 * testsuite/libgomp.c/scan-18.c: Likewise.
5755 * testsuite/libgomp.c/scan-19.c: Likewise.
5756 * testsuite/libgomp.c/scan-20.c: Likewise.
5757 * testsuite/libgomp.c++/scan-9.C: Likewise.
5758 * testsuite/libgomp.c++/scan-10.C: Likewise.
5759 * testsuite/libgomp.c++/scan-11.C: Likewise.
5760 * testsuite/libgomp.c++/scan-12.C: Likewise.
5761 * testsuite/libgomp.c++/scan-14.C: Likewise.
5762 * testsuite/libgomp.c++/scan-15.C: Likewise.
5763 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
5764 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
5765 * testsuite/libgomp.c++/scan-16.C: Likewise.
5767 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
5770 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
5771 -std=legacy so invalid code in the test case is accepted.
5773 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
5776 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
5779 2019-08-08 Jakub Jelinek <jakub@redhat.com>
5781 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
5782 perform the lookup in the first loop only if !not_found_cnt, otherwise
5783 perform lookups for it in the second loop guarded with
5784 if (not_found_cnt || has_firstprivate).
5785 * testsuite/libgomp.c/target-37.c: New test.
5786 * testsuite/libgomp.c++/target-22.C: New test.
5788 2019-08-07 Jakub Jelinek <jakub@redhat.com>
5790 * testsuite/libgomp.c/target-18.c (struct S): New type.
5791 (foo): Use use_device_addr clause instead of use_device_ptr clause
5792 where required by OpenMP 5.0, add further tests for both use_device_ptr
5793 and use_device_addr clauses.
5794 * testsuite/libgomp.c++/target-9.C (struct S): New type.
5795 (foo): Use use_device_addr clause instead of use_device_ptr clause
5796 where required by OpenMP 5.0, add further tests for both use_device_ptr
5797 and use_device_addr clauses. Add t and u arguments.
5798 (main): Adjust caller.
5800 2019-08-06 Jakub Jelinek <jakub@redhat.com>
5802 * testsuite/libgomp.c++/loop-13.C: New test.
5803 * testsuite/libgomp.c++/loop-14.C: New test.
5804 * testsuite/libgomp.c++/loop-15.C: New test.
5806 2019-07-31 Jakub Jelinek <jakub@redhat.com>
5809 * testsuite/libgomp.c++/for-27.C: New test.
5811 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
5813 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
5814 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
5816 2019-07-20 Jakub Jelinek <jakub@redhat.com>
5818 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
5820 2019-07-08 Jakub Jelinek <jakub@redhat.com>
5822 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
5823 * testsuite/libgomp.c++/scan-16.C: Likewise.
5825 2019-07-06 Jakub Jelinek <jakub@redhat.com>
5827 * testsuite/libgomp.c/scan-19.c: New test.
5828 * testsuite/libgomp.c/scan-20.c: New test.
5830 * testsuite/libgomp.c/scan-11.c: New test.
5831 * testsuite/libgomp.c/scan-12.c: New test.
5832 * testsuite/libgomp.c/scan-13.c: New test.
5833 * testsuite/libgomp.c/scan-14.c: New test.
5834 * testsuite/libgomp.c/scan-15.c: New test.
5835 * testsuite/libgomp.c/scan-16.c: New test.
5836 * testsuite/libgomp.c/scan-17.c: New test.
5837 * testsuite/libgomp.c/scan-18.c: New test.
5838 * testsuite/libgomp.c++/scan-9.C: New test.
5839 * testsuite/libgomp.c++/scan-10.C: New test.
5840 * testsuite/libgomp.c++/scan-11.C: New test.
5841 * testsuite/libgomp.c++/scan-12.C: New test.
5842 * testsuite/libgomp.c++/scan-13.C: New test.
5843 * testsuite/libgomp.c++/scan-14.C: New test.
5844 * testsuite/libgomp.c++/scan-15.C: New test.
5845 * testsuite/libgomp.c++/scan-16.C: New test.
5847 2019-07-04 Jakub Jelinek <jakub@redhat.com>
5849 * testsuite/libgomp.c/scan-9.c: New test.
5850 * testsuite/libgomp.c/scan-10.c: New test.
5852 2019-07-03 Jakub Jelinek <jakub@redhat.com>
5854 * testsuite/libgomp.c++/scan-1.C: New test.
5855 * testsuite/libgomp.c++/scan-2.C: New test.
5856 * testsuite/libgomp.c++/scan-3.C: New test.
5857 * testsuite/libgomp.c++/scan-4.C: New test.
5858 * testsuite/libgomp.c++/scan-5.C: New test.
5859 * testsuite/libgomp.c++/scan-6.C: New test.
5860 * testsuite/libgomp.c++/scan-7.C: New test.
5861 * testsuite/libgomp.c++/scan-8.C: New test.
5862 * testsuite/libgomp.c/scan-1.c: New test.
5863 * testsuite/libgomp.c/scan-2.c: New test.
5864 * testsuite/libgomp.c/scan-3.c: New test.
5865 * testsuite/libgomp.c/scan-4.c: New test.
5866 * testsuite/libgomp.c/scan-5.c: New test.
5867 * testsuite/libgomp.c/scan-6.c: New test.
5868 * testsuite/libgomp.c/scan-7.c: New test.
5869 * testsuite/libgomp.c/scan-8.c: New test.
5871 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5873 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
5874 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
5877 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
5880 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
5882 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
5885 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
5888 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
5890 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
5891 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
5892 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
5893 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
5896 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
5899 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
5901 2019-06-16 Tom de Vries <tdevries@suse.de>
5903 PR tree-optimization/89376
5904 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
5906 2019-06-15 Tom de Vries <tdevries@suse.de>
5908 PR tree-optimization/89713
5909 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
5910 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
5912 2019-06-15 Jakub Jelinek <jakub@redhat.com>
5915 * testsuite/libgomp.c/pr90779.c: New test.
5916 * testsuite/libgomp.fortran/pr90779.f90: New test.
5918 2019-06-15 Tom de Vries <tdevries@suse.de>
5920 PR tree-optimization/90009
5921 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
5923 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
5925 PR tree-optimization/89713
5926 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
5928 2019-06-11 Jakub Jelinek <jakub@redhat.com>
5931 * testsuite/libgomp.c/pr90811.c: New test.
5933 2019-06-05 Jakub Jelinek <jakub@redhat.com>
5935 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
5936 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
5938 2019-06-04 Jakub Jelinek <jakub@redhat.com>
5940 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
5941 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
5942 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
5943 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
5945 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5947 * configure.ac: Call AX_COUNT_CPUS.
5948 Substitute CPU_COUNT.
5949 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
5951 * aclocal.m4: Regenerate.
5952 * configure: Regenerate.
5953 * Makefile.in, testsuite/Makefile.in: Regenerate.
5955 2019-05-29 Jakub Jelinek <jakub@redhat.com>
5957 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
5959 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
5960 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
5961 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
5963 2019-05-27 Jakub Jelinek <jakub@redhat.com>
5965 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
5967 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
5970 * work.c (gomp_init_work_share): Instead of aligning final ordered
5971 value to multiples of long long alignment, align to that the
5972 first part (ordered team ids) and if inline_ordered_team_ids
5973 is not on a long long alignment boundary within the structure,
5974 use __alignof__ (long long) - 1 pad size always.
5975 * loop.c (GOMP_loop_start): Fix *mem computation if
5976 inline_ordered_team_ids is not aligned on long long alignment boundary
5977 within the structure.
5978 * loop-ull.c (GOMP_loop_ull_start): Likewise.
5979 * sections.c (GOMP_sections2_start): Likewise.
5981 2019-05-24 Jakub Jelinek <jakub@redhat.com>
5983 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
5984 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
5987 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
5988 HAVE_INTTYPES_H is defined.
5989 (print_uint64_t): New typedef.
5990 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
5991 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
5992 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
5993 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
5994 before casting to void *.
5995 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
5996 * oacc-mem.c: Don't include config.h nor stdint.h.
5997 * target.c: Don't include config.h.
5998 * oacc-cuda.c: Likewise.
5999 * oacc-host.c: Don't include stdint.h.
6001 2019-05-20 Jakub Jelinek <jakub@redhat.com>
6004 * alloc.c (_GNU_SOURCE): Define.
6006 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
6008 * acc_prof.h: New file.
6009 * oacc-profiling.c: Likewise.
6010 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
6011 Add these, respectively.
6012 * Makefile.in: Regenerate.
6013 * env.c (initialize_env): Call goacc_profiling_initialize.
6014 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
6015 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
6016 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
6017 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
6018 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
6019 acc_prof_register, acc_prof_unregister, and acc_register_library.
6020 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
6021 GOMP_PLUGIN_goacc_thread.
6022 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
6023 prof_callbacks_enabled members.
6024 (goacc_prof_enabled, goacc_profiling_initialize)
6025 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
6026 (goacc_profiling_dispatch): Declare.
6027 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
6028 (GOACC_PROFILING_SETUP_P): Define.
6029 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
6030 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
6031 OpenACC Profiling Interface.
6032 * oacc-cuda.c (acc_get_current_cuda_device)
6033 (acc_get_current_cuda_context, acc_get_cuda_stream)
6034 (acc_set_cuda_stream): Likewise.
6035 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
6036 (acc_init, acc_set_device_type, acc_get_device_type)
6037 (acc_get_device_num, goacc_lazy_initialize): Likewise.
6038 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
6039 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
6040 (acc_unmap_data, present_create_copy, delete_copyout)
6041 (update_dev_host): Likewise.
6042 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
6043 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
6045 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
6046 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
6048 * libgomp.texi: Update.
6049 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
6051 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
6052 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
6054 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
6056 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
6058 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
6061 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
6063 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
6064 (struct goacc_asyncqueue_list): Likewise.
6065 (goacc_aq): Likewise.
6066 (goacc_aq_list): Likewise.
6067 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6068 (GOMP_OFFLOAD_openacc_async_test): Remove.
6069 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6070 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6071 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6072 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6073 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6074 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6075 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
6076 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
6077 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
6078 (GOMP_OFFLOAD_openacc_async_exec): Declare.
6079 (GOMP_OFFLOAD_openacc_async_construct): Declare.
6080 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
6081 (GOMP_OFFLOAD_openacc_async_test): Declare.
6082 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
6083 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
6084 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
6085 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
6086 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
6088 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
6089 (gomp_acc_insert_pointer): Adjust declaration.
6090 (gomp_copy_host2dev): New declaration.
6091 (gomp_copy_dev2host): Likewise.
6092 (gomp_map_vars_async): Likewise.
6093 (gomp_unmap_tgt): Likewise.
6094 (gomp_unmap_vars_async): Likewise.
6095 (gomp_fini_device): Likewise.
6097 * oacc-async.c (get_goacc_thread): New function.
6098 (get_goacc_thread_device): New function.
6099 (lookup_goacc_asyncqueue): New function.
6100 (get_goacc_asyncqueue): New function.
6101 (acc_async_test): Adjust code to use new async design.
6102 (acc_async_test_all): Likewise.
6103 (acc_wait): Likewise.
6104 (acc_wait_async): Likewise.
6105 (acc_wait_all): Likewise.
6106 (acc_wait_all_async): Likewise.
6107 (goacc_async_free): New function.
6108 (goacc_init_asyncqueues): Likewise.
6109 (goacc_fini_asyncqueues): Likewise.
6110 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
6112 (acc_set_cuda_stream): Likewise.
6113 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
6114 (host_openacc_register_async_cleanup): Remove.
6115 (host_openacc_async_exec): New function.
6116 (host_openacc_async_test): Adjust parameters.
6117 (host_openacc_async_test_all): Remove.
6118 (host_openacc_async_wait): Remove.
6119 (host_openacc_async_wait_async): Remove.
6120 (host_openacc_async_wait_all): Remove.
6121 (host_openacc_async_wait_all_async): Remove.
6122 (host_openacc_async_set_async): Remove.
6123 (host_openacc_async_synchronize): New function.
6124 (host_openacc_async_serialize): New function.
6125 (host_openacc_async_host2dev): New function.
6126 (host_openacc_async_dev2host): New function.
6127 (host_openacc_async_queue_callback): New function.
6128 (host_openacc_async_construct): New function.
6129 (host_openacc_async_destruct): New function.
6130 (struct gomp_device_descr host_dispatch): Remove initialization of old
6131 interface, add initialization of new async sub-struct.
6132 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
6133 (goacc_attach_host_thread_to_device): Remove old async code usage.
6134 * oacc-int.h (goacc_init_asyncqueues): New declaration.
6135 (goacc_fini_asyncqueues): Likewise.
6136 (goacc_async_copyout_unmap_vars): Likewise.
6137 (goacc_async_free): Likewise.
6138 (get_goacc_asyncqueue): Likewise.
6139 (lookup_goacc_asyncqueue): Likewise.
6140 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
6142 (present_create_copy): Adjust code to use new async design.
6143 (delete_copyout): Likewise.
6144 (update_dev_host): Likewise.
6145 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
6147 (gomp_acc_remove_pointer): Adjust code to use new async design.
6148 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
6150 (GOACC_enter_exit_data): Likewise.
6151 (goacc_wait): Likewise.
6152 (GOACC_update): Likewise.
6153 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
6154 when called, warn as obsolete in comment.
6155 * target.c (goacc_device_copy_async): New function.
6156 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
6157 add goacc_device_copy_async case.
6158 (gomp_copy_dev2host): Likewise.
6159 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
6160 (gomp_map_pointer): Likewise.
6161 (gomp_map_fields_existing): Likewise.
6162 (gomp_map_vars_internal): New always_inline function, renamed from
6164 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
6165 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
6166 passing goacc_asyncqueue argument.
6167 (gomp_unmap_tgt): Remove static, add attribute_hidden.
6168 (gomp_unref_tgt): New function.
6169 (gomp_unmap_vars_internal): New always_inline function, renamed from
6171 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
6172 (gomp_unmap_vars_async): Implement by calling
6173 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
6174 (gomp_fini_device): New function.
6175 (gomp_exit_data): Adjust gomp_copy_dev2host call.
6176 (gomp_load_plugin_for_device): Remove old interface, adjust to load
6177 new async interface.
6178 (gomp_target_fini): Adjust code to call gomp_fini_device.
6180 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
6181 (struct ptx_stream): Remove.
6182 (struct nvptx_thread): Remove current_stream field.
6183 (cuda_map_create): Remove.
6184 (cuda_map_destroy): Remove.
6189 (struct goacc_asyncqueue): Define.
6190 (struct nvptx_callback): Define.
6191 (struct ptx_free_block): Define.
6192 (struct ptx_device): Remove null_stream, active_streams, async_streams,
6193 stream_lock, and next fields.
6194 (enum ptx_event_type): Remove.
6195 (struct ptx_event): Remove.
6196 (ptx_event_lock): Remove.
6197 (ptx_events): Remove.
6198 (init_streams_for_device): Remove.
6199 (fini_streams_for_device): Remove.
6200 (select_stream_for_async): Remove.
6201 (nvptx_init): Remove ptx_events and ptx_event_lock references.
6202 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
6204 (nvptx_open_device): Add free_blocks initialization, remove
6205 init_streams_for_device call.
6206 (nvptx_close_device): Remove fini_streams_for_device call, add
6207 free_blocks destruct code.
6209 (event_add): Remove.
6210 (nvptx_exec): Adjust parameters and code.
6211 (nvptx_free): Likewise.
6212 (nvptx_host2dev): Remove.
6213 (nvptx_dev2host): Remove.
6214 (nvptx_set_async): Remove.
6215 (nvptx_async_test): Remove.
6216 (nvptx_async_test_all): Remove.
6217 (nvptx_wait): Remove.
6218 (nvptx_wait_async): Remove.
6219 (nvptx_wait_all): Remove.
6220 (nvptx_wait_all_async): Remove.
6221 (nvptx_get_cuda_stream): Remove.
6222 (nvptx_set_cuda_stream): Remove.
6223 (GOMP_OFFLOAD_alloc): Adjust code.
6224 (GOMP_OFFLOAD_free): Likewise.
6225 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
6226 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
6227 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
6228 (GOMP_OFFLOAD_openacc_async_wait): Remove.
6229 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
6230 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
6231 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
6232 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
6233 (cuda_free_argmem): New function.
6234 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
6235 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
6236 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
6237 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
6238 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
6239 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
6240 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
6241 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
6242 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
6243 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
6244 (cuda_callback_wrapper): New function.
6245 (cuda_memcpy_sanity_check): New function.
6246 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
6247 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
6248 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
6249 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
6251 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
6254 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
6256 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
6258 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
6260 2019-03-27 Kevin Buettner <kevinb@redhat.com>
6262 * team.c (gomp_team_start): Initialize pool->threads[0].
6264 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
6266 * testsuite/libgomp.oacc-c++/c++.exp: Specify
6267 "-foffload=$offload_target".
6268 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6269 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6270 * testsuite/lib/libgomp.exp
6271 (check_effective_target_openacc_nvidia_accel_configured): Remove,
6272 as (conceptually) merged into
6273 check_effective_target_openacc_nvidia_accel_selected. Adjust all
6276 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
6277 * testsuite/libgomp-test-support.exp.in: Adjust.
6278 * testsuite/lib/libgomp.exp: Likewise. Don't populate
6279 openacc_device_types_s.
6280 (offload_target_to_openacc_device_type): New proc.
6281 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
6282 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6283 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6284 * Makefile.in: Regenerate.
6285 * configure: Likewise.
6286 * testsuite/Makefile.in: Likewise.
6288 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
6289 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
6290 instead of OFFLOAD_TARGETS.
6291 * target.c (gomp_target_init): Adjust.
6292 * testsuite/libgomp-test-support.exp.in: Likewise.
6293 * testsuite/lib/libgomp.exp: Likewise. Populate
6294 openacc_device_types_s instead of offload_targets_s_openacc.
6295 (check_effective_target_openacc_nvidia_accel_selected)
6296 (check_effective_target_openacc_host_selected): Adjust.
6297 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6298 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6299 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6300 * Makefile.in: Regenerate.
6301 * config.h.in: Likewise.
6302 * configure: Likewise.
6303 * testsuite/Makefile.in: Likewise.
6305 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
6306 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
6307 "offloading: supported, but hardware not accessible".
6308 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6309 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6311 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
6314 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
6316 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
6317 and related adjustment.
6319 2019-01-30 Jakub Jelinek <jakub@redhat.com>
6322 * testsuite/libgomp.c++/pr88988.C: New test.
6324 2019-01-28 Jakub Jelinek <jakub@redhat.com>
6327 * testsuite/libgomp.c/pr89002.c: New test.
6329 2019-01-28 Richard Biener <rguenther@suse.de>
6332 PR tree-optimization/86865
6333 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
6335 2019-01-24 Tom de Vries <tdevries@suse.de>
6337 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
6338 once instantiated_devices drops to 0.
6340 2019-01-23 Tom de Vries <tdevries@suse.de>
6343 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
6345 (nvptx_exec): Don't call map_push if mapnum == 0.
6346 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
6348 2019-01-23 Tom de Vries <tdevries@suse.de>
6352 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
6353 (map_fini): Remove "assert (!s->map->active)".
6354 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
6356 2019-01-23 Tom de Vries <tdevries@suse.de>
6359 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
6360 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
6362 2019-01-15 Tom de Vries <tdevries@suse.de>
6365 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
6368 2019-01-12 Tom de Vries <tdevries@suse.de>
6370 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
6371 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
6372 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
6373 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
6375 2019-01-12 Tom de Vries <tdevries@suse.de>
6377 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
6379 2019-01-12 Tom de Vries <tdevries@suse.de>
6381 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
6382 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
6383 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
6385 2019-01-12 Tom de Vries <tdevries@suse.de>
6388 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
6389 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
6391 2019-01-12 Tom de Vries <tdevries@suse.de>
6394 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
6395 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
6397 2019-01-12 Tom de Vries <tdevries@suse.de>
6399 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
6400 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
6401 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
6403 2019-01-12 Tom de Vries <tdevries@suse.de>
6405 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
6406 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
6407 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
6409 2019-01-12 Tom de Vries <tdevries@suse.de>
6411 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
6412 resources diagnostic.
6414 2019-01-12 Tom de Vries <tdevries@suse.de>
6416 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
6417 vector length to be 128.
6418 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
6419 length 2097152 to be reduced to 1024 instead of 32.
6421 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
6422 James Norris <jnorris@codesourcery.com>
6424 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
6425 Library Routines", and "Environment Variables".
6427 2019-01-11 Tom de Vries <tdevries@suse.de>
6429 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
6432 2019-01-11 Tom de Vries <tdevries@suse.de>
6434 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
6436 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
6437 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
6438 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
6439 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
6441 2019-01-11 Tom de Vries <tdevries@suse.de>
6443 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
6446 2019-01-10 Nathan Sidwell <nathan@acm.org>
6447 Julian Brown <julian@codesourcery.com>
6450 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
6451 * testsuite/libgomp.oacc-c++/pr71959.C: New.
6453 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6455 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
6458 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
6460 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
6461 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6464 2019-01-09 Tom de Vries <tdevries@suse.de>
6467 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
6468 #define instead of "const int".
6469 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
6470 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
6471 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
6472 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
6474 2019-01-09 Tom de Vries <tdevries@suse.de>
6476 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
6479 2019-01-07 Tom de Vries <tdevries@suse.de>
6481 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
6482 GOMP_OPENACC_DIM argument.
6484 2019-01-03 Tom de Vries <tdevries@suse.de>
6486 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
6487 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
6489 2019-01-01 Jakub Jelinek <jakub@redhat.com>
6491 Update copyright years.
6493 2019-01-01 Jakub Jelinek <jakub@redhat.com>
6495 * libgomp.texi: Bump @copying's copyright year.
6497 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6499 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
6500 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
6501 (GOACC_declare): Redefine the "device" argument to "flags".
6503 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
6504 Cesar Philippidis <cesar@codesourcery.com>
6506 * target.c (struct gomp_coalesce_chunk): New structure.
6507 (struct gomp_coalesce_buf): Update the chunks member to use that
6508 type. Adjust all users.
6510 2018-12-19 Tom de Vries <tdevries@suse.de>
6512 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
6513 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
6514 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
6516 2018-12-19 Tom de Vries <tdevries@suse.de>
6518 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
6519 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
6520 gcc/testsuite/gcc.dg/goacc.
6521 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
6523 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6524 Chung-Lin Tang <cltang@codesourcery.com>
6526 * oacc-mem.c (acc_present_or_create): Remove definition and change
6527 to alias of acc_create.
6528 (acc_present_or_copyin): Remove definition and change to alias of
6530 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
6531 of acc_present_or_create.
6532 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
6533 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6534 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6535 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6536 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6537 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6538 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6539 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6540 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6541 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6542 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6543 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6544 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6545 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6546 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6547 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6549 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6552 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
6553 "identical parameters".
6554 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
6555 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
6558 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
6559 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
6562 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
6563 (nvptx_wait_async): Unseen async-argument is a no-op.
6564 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
6565 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
6566 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6567 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6568 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
6569 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
6570 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
6571 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
6572 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
6574 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
6575 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6577 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
6579 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
6580 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6581 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6583 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
6586 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
6587 (acc_set_cuda_stream): Clarify.
6588 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
6590 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
6592 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
6593 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
6594 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
6595 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6597 2018-12-14 Tom de Vries <tdevries@suse.de>
6599 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
6600 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
6601 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
6602 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
6603 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
6605 2018-12-13 Tom de Vries <tdevries@suse.de>
6607 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
6608 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
6609 * fortran.c (omp_display_affinity_): ... here.
6610 * libgomp.h (gomp_print_string): Declare.
6611 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
6612 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
6615 2018-12-13 Jakub Jelinek <jakub@redhat.com>
6618 * testsuite/libgomp.c++/for-24.C (results): Include it in
6619 omp declare target region.
6620 (main): Use map (always, tofrom: results) instead of
6621 map (tofrom: results).
6623 2018-12-12 Jakub Jelinek <jakub@redhat.com>
6626 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
6627 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
6629 * testsuite/libgomp.c-c++-common/for-16.c: New test.
6631 2018-12-12 Andreas Schwab <schwab@suse.de>
6633 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
6636 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
6639 * testsuite/libgomp.fortran/async_io_8.f90: New test.
6641 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
6642 Jakub Jelinek <jakub@redhat.com>
6644 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
6645 devicep->host2dev_func.
6647 2018-12-08 Jakub Jelinek <jakub@redhat.com>
6650 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
6651 tls_runtime effective target.
6652 (t): New threadprivate variable.
6653 (main): Set t in threads which execute iterations of the worksharing
6654 loop. Propagate that to the task after the loop and don't abort
6655 if the current taskgroup hasn't been cancelled.
6657 2018-12-02 Jakub Jelinek <jakub@redhat.com>
6659 * testsuite/libgomp.c/task-reduction-3.c: New test.
6661 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
6663 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
6666 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
6667 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
6669 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
6671 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
6673 2018-10-19 Richard Biener <rguenther@suse.de>
6675 PR tree-optimization/88182
6676 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
6678 2018-11-26 Jakub Jelinek <jakub@redhat.com>
6680 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
6681 (RUNTEST): Don't define.
6682 (RUNTESTDEFAULTFLAGS): Add.
6683 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
6684 (distclean-am): Depend on distclean-DEJAGNU.
6685 (check-am): If -j% option is present in MFLAGS and if
6686 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
6687 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
6688 * testsuite/Makefile.in: Regenerated.
6690 2018-11-26 Richard Biener <rguenther@suse.de>
6692 PR tree-optimization/88182
6693 * testsuite/libgomp.c++/pr88182.C: New testcase.
6695 2018-11-20 Jakub Jelinek <jakub@redhat.com>
6698 * config/mingw32/affinity-fmt.c: New file.
6700 2018-11-09 Jakub Jelinek <jakub@redhat.com>
6702 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
6703 (gomp_display_affinity): Use __builtin_choose_expr to handle
6704 properly handle argument having integral, or pointer or some other
6705 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
6706 with uint64_t type instead of %llx and unsigned long long.
6708 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
6709 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
6711 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6713 * affinity.c: Include <string.h>, <stdio.h>.
6714 (gomp_display_affinity_place): Remove cpusetp.
6715 * teams.c: Include <limits.h>.
6717 2018-11-08 Jakub Jelinek <jakub@redhat.com>
6719 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
6720 in_reduction clause for s[0].
6722 * affinity.c (gomp_display_affinity_place): New function.
6723 * affinity-fmt.c: New file.
6724 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
6725 * config/linux/affinity.c (gomp_display_affinity_place): New function.
6726 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
6727 Move these functions to ...
6728 * config/nvptx/teams.c: ... here. New file.
6729 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
6731 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
6733 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
6734 and _aligned_malloc.
6735 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
6736 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
6737 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
6738 gomp_affinity_format_len): New variables.
6739 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
6740 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
6741 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
6742 modifiers. Display (non-default) chunk sizes. Print
6743 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
6744 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
6745 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
6746 * fortran.c: Include stdio.h and string.h.
6747 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
6748 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
6749 (omp_set_affinity_format_, omp_get_affinity_format_,
6750 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
6751 omp_pause_resource_all_): New functions.
6752 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
6754 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
6756 * teams.c: ... here. New file.
6757 * libgomp_g.h: Include gstdint.h.
6758 (GOMP_loop_nonmonotonic_runtime_start,
6759 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
6760 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
6761 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
6762 GOMP_parallel_loop_nonmonotonic_runtime,
6763 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6764 GOMP_loop_ull_nonmonotonic_runtime_start,
6765 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
6766 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
6767 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6768 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
6769 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
6770 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6771 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6772 GOMP_teams_reg): Declare.
6773 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
6774 gomp_aligned_alloc uses fallback implementation.
6775 (gomp_aligned_alloc, gomp_aligned_free): Declare.
6776 (enum gomp_schedule_type): Add GFS_MONOTONIC.
6777 (struct gomp_doacross_work_share): Add extra field.
6778 (struct gomp_work_share): Add task_reductions field.
6779 (struct gomp_taskgroup): Add workshare and reductions fields.
6780 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
6781 (gomp_thread_handle): New typedef.
6782 (gomp_display_affinity_place, gomp_set_affinity_format,
6783 gomp_display_string, gomp_display_affinity,
6784 gomp_display_affinity_thread): Declare.
6785 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
6786 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
6787 gomp_workshare_task_reduction_register): Declare.
6788 (gomp_team_start): Add taskgroup argument.
6789 (gomp_pause_host): Declare.
6790 (gomp_init_work_share, gomp_work_share_start): Change bool argument
6792 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
6793 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
6794 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
6795 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6796 GOMP_loop_ull_doacross_start,
6797 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
6798 GOMP_loop_maybe_nonmonotonic_runtime_next,
6799 GOMP_loop_maybe_nonmonotonic_runtime_start,
6800 GOMP_loop_nonmonotonic_runtime_next,
6801 GOMP_loop_nonmonotonic_runtime_start,
6802 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6803 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6804 GOMP_loop_ull_nonmonotonic_runtime_next,
6805 GOMP_loop_ull_nonmonotonic_runtime_start,
6806 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6807 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
6808 GOMP_taskgroup_reduction_register,
6809 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6810 GOMP_teams_reg and GOMP_taskwait_depend.
6811 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
6812 omp_{capture,display}_affinity{,_}, and
6813 omp_[gs]et_affinity_format{,_}.
6814 * loop.c: Include string.h.
6815 (GOMP_loop_runtime_next): Add ialias.
6816 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6817 (gomp_loop_static_start, gomp_loop_dynamic_start,
6818 gomp_loop_guided_start, gomp_loop_ordered_static_start,
6819 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6820 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6821 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
6822 or gomp_doacross_init callers.
6823 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
6824 GOMP_loop_doacross_start): New functions.
6825 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6826 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
6827 Mask off GFS_MONOTONIC bit.
6828 (GOMP_loop_maybe_nonmonotonic_runtime_next,
6829 GOMP_loop_maybe_nonmonotonic_runtime_start,
6830 GOMP_loop_nonmonotonic_runtime_next,
6831 GOMP_loop_nonmonotonic_runtime_start,
6832 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
6833 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
6835 (gomp_parallel_loop_start): Pass NULL as taskgroup to
6837 * loop_ull.c: Include string.h.
6838 (GOMP_loop_ull_runtime_next): Add ialias.
6839 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6840 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
6841 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
6842 gomp_loop_ull_ordered_dynamic_start,
6843 gomp_loop_ull_ordered_guided_start,
6844 gomp_loop_ull_doacross_static_start,
6845 gomp_loop_ull_doacross_dynamic_start,
6846 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
6847 and gomp_doacross_ull_init callers.
6848 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
6849 GOMP_loop_ull_doacross_start): New functions.
6850 (GOMP_loop_ull_runtime_start,
6851 GOMP_loop_ull_ordered_runtime_start,
6852 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
6853 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
6854 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
6855 GOMP_loop_ull_nonmonotonic_runtime_next,
6856 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
6857 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
6858 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
6859 (omp_pause_resource_t, omp_depend_t): New typedefs.
6860 (enum omp_lock_hint_t): Renamed to ...
6861 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
6862 enumerators using numbers and omp_lock_hint_* as their aliases.
6863 (omp_lock_hint_t): New typedef. Rename to ...
6864 (omp_sync_hint_t): ... this.
6865 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
6866 omp_sync_hint_t instead of omp_lock_hint_t.
6867 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6868 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6870 (omp_target_is_present, omp_target_disassociate_ptr):
6871 Change first argument from void * to const void *.
6872 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
6873 from void * to const void *.
6874 (omp_target_associate_ptr): Change first and second arguments from
6875 void * to const void *.
6876 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
6877 omp_pause_hard): New parameters.
6878 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6879 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6881 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
6882 omp_pause_hard): New parameters.
6883 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
6884 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
6886 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
6887 EXTRA argument. If not needed to prepare array, if extra is 0,
6888 clear ws->doacross, otherwise allocate just doacross structure and
6889 extra payload. If array is needed, allocate also extra payload.
6890 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
6891 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
6893 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
6895 (GOMP_parallel): Likewise. Formatting fix.
6896 (GOMP_parallel_reductions): New function.
6897 (GOMP_cancellation_point): If taskgroup has workshare
6898 flag set, check cancelled of prev taskgroup if any.
6899 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
6900 on prev taskgroup if any.
6901 * sections.c: Include string.h.
6902 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
6903 (GOMP_sections_start): Adjust gomp_work_share_start caller.
6904 (GOMP_sections2_start): New function.
6905 (GOMP_parallel_sections_start, GOMP_parallel_sections):
6906 Pass NULL as taskgroup to gomp_team_start.
6907 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
6908 gomp_work_share_start callers.
6909 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
6910 If taskgroup has workshare flag set, check cancelled on prev
6911 taskgroup if any. Guard all cancellation tests with
6912 gomp_cancel_var test.
6913 (omp_target_is_present, omp_target_disassociate_ptr):
6914 Change ptr argument from void * to const void *.
6915 (omp_target_memcpy): Change src argument from void * to const void *.
6916 (omp_target_memcpy_rect): Likewise.
6917 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
6918 instead of char * where needed.
6919 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
6920 from void * to const void *.
6921 (omp_pause_resource, omp_pause_resource_all): New functions.
6922 * task.c (gomp_task_handle_depend): Handle new depend array format
6923 in addition to the old. Handle mutexinoutset kinds the same as
6924 inout for now, handle unspecified kinds.
6925 (gomp_create_target_task): If taskgroup has workshare flag set, check
6926 cancelled on prev taskgroup if any. Guard all cancellation tests with
6927 gomp_cancel_var test. Handle new depend array format count in
6928 addition to the old.
6929 (GOMP_task): Likewise. Adjust function comment.
6930 (gomp_task_run_pre): If taskgroup has workshare flag set, check
6931 cancelled on prev taskgroup if any. Guard all cancellation tests with
6932 gomp_cancel_var test.
6933 (GOMP_taskwait_depend): New function.
6934 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
6935 format in addition to the old. Handle mutexinoutset kinds the same as
6936 inout for now, handle unspecified kinds. Fix a function comment typo.
6937 (gomp_taskgroup_init): New function.
6938 (GOMP_taskgroup_start): Use it.
6939 (gomp_reduction_register, gomp_create_artificial_team,
6940 GOMP_taskgroup_reduction_register,
6941 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
6942 gomp_parallel_reduction_register,
6943 gomp_workshare_task_reduction_register,
6944 gomp_workshare_taskgroup_start,
6945 GOMP_workshare_task_reduction_unregister): New functions.
6946 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
6947 check cancelled on prev taskgroup if any. Guard all cancellation
6948 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
6949 by calling GOMP_taskgroup_reduction_register.
6950 * team.c (gomp_thread_attr): Remove comment.
6951 (struct gomp_thread_start_data): Add handle field.
6952 (gomp_thread_start): Call pthread_detach.
6953 (gomp_new_team): Adjust gomp_init_work_share caller.
6954 (gomp_free_pool_helper): Call pthread_detach.
6955 (gomp_team_start): Add taskgroup argument, initialize implicit
6956 tasks' taskgroup field to that. Don't call
6957 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
6958 (gomp_team_end): Determine nesting by thr->ts.level != 0
6959 rather than thr->ts.team != NULL.
6960 (gomp_pause_pool_helper, gomp_pause_host): New functions.
6961 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
6962 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
6963 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
6964 if more than 1 allocate also extra payload at the end of array. Never
6965 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
6966 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
6967 return true instead of ws.
6968 * Makefile.in: Regenerated.
6969 * configure: Regenerated.
6970 * config.h.in: Regenerated.
6971 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
6973 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
6974 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
6975 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
6976 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
6977 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
6978 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
6979 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
6980 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
6981 * testsuite/libgomp.c-c++-common/for-10.c: New test.
6982 * testsuite/libgomp.c-c++-common/for-11.c: New test.
6983 * testsuite/libgomp.c-c++-common/for-12.c: New test.
6984 * testsuite/libgomp.c-c++-common/for-13.c: New test.
6985 * testsuite/libgomp.c-c++-common/for-14.c: New test.
6986 * testsuite/libgomp.c-c++-common/for-15.c: New test.
6987 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
6988 define a different N(test), don't define N(f0) to N(f14), but instead
6989 define N(f20) to N(f34) using != comparisons.
6990 * testsuite/libgomp.c-c++-common/for-7.c: New test.
6991 * testsuite/libgomp.c-c++-common/for-8.c: New test.
6992 * testsuite/libgomp.c-c++-common/for-9.c: New test.
6993 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
6994 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
6995 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
6996 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
6997 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
6998 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
6999 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
7000 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
7001 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
7002 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
7003 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
7004 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
7005 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
7006 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
7007 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
7008 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
7009 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
7010 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
7011 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
7012 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
7013 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
7014 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
7015 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
7016 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
7017 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
7018 * testsuite/libgomp.c++/depend-1.C: New test.
7019 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
7020 * testsuite/libgomp.c++/depobj-1.C: New test.
7021 * testsuite/libgomp.c++/for-16.C: New test.
7022 * testsuite/libgomp.c++/for-21.C: New test.
7023 * testsuite/libgomp.c++/for-22.C: New test.
7024 * testsuite/libgomp.c++/for-23.C: New test.
7025 * testsuite/libgomp.c++/for-24.C: New test.
7026 * testsuite/libgomp.c++/for-25.C: New test.
7027 * testsuite/libgomp.c++/for-26.C: New test.
7028 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
7029 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
7030 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
7031 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
7032 * testsuite/libgomp.c++/task-reduction-10.C: New test.
7033 * testsuite/libgomp.c++/task-reduction-11.C: New test.
7034 * testsuite/libgomp.c++/task-reduction-12.C: New test.
7035 * testsuite/libgomp.c++/task-reduction-13.C: New test.
7036 * testsuite/libgomp.c++/task-reduction-14.C: New test.
7037 * testsuite/libgomp.c++/task-reduction-15.C: New test.
7038 * testsuite/libgomp.c++/task-reduction-16.C: New test.
7039 * testsuite/libgomp.c++/task-reduction-17.C: New test.
7040 * testsuite/libgomp.c++/task-reduction-18.C: New test.
7041 * testsuite/libgomp.c++/task-reduction-19.C: New test.
7042 * testsuite/libgomp.c/task-reduction-1.c: New test.
7043 * testsuite/libgomp.c++/task-reduction-1.C: New test.
7044 * testsuite/libgomp.c/task-reduction-2.c: New test.
7045 * testsuite/libgomp.c++/task-reduction-2.C: New test.
7046 * testsuite/libgomp.c++/task-reduction-3.C: New test.
7047 * testsuite/libgomp.c++/task-reduction-4.C: New test.
7048 * testsuite/libgomp.c++/task-reduction-5.C: New test.
7049 * testsuite/libgomp.c++/task-reduction-6.C: New test.
7050 * testsuite/libgomp.c++/task-reduction-7.C: New test.
7051 * testsuite/libgomp.c++/task-reduction-8.C: New test.
7052 * testsuite/libgomp.c++/task-reduction-9.C: New test.
7053 * testsuite/libgomp.c/teams-1.c: New test.
7054 * testsuite/libgomp.c/teams-2.c: New test.
7055 * testsuite/libgomp.c/thread-limit-4.c: New test.
7056 * testsuite/libgomp.c/thread-limit-5.c: New test.
7057 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
7059 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
7061 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
7062 acc_memcpy_to/from_device functions, now with async parameter.
7063 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
7064 (acc_memcpy_from_device): Likewise.
7065 (acc_memcpy_to_device_async): New API function.
7066 (acc_memcpy_from_device_async): Likewise.
7067 (present_create_copy): Add async parameter and async setting/unsetting.
7068 (acc_create): Adjust present_create_copy call.
7069 (acc_copyin): Likewise.
7070 (acc_present_or_create): Likewise.
7071 (acc_present_or_copyin): Likewise.
7072 (acc_create_async): New API function.
7073 (acc_copyin_async): New API function.
7074 (delete_copyout): Add async parameter and async setting/unsetting.
7075 (acc_delete): Adjust delete_copyout call.
7076 (acc_copyout): Likewise.
7077 (acc_delete_async): New API function.
7078 (acc_copyout_async): Likewise.
7079 (update_dev_host): Add async parameter and async setting/unsetting.
7080 (acc_update_device): Adjust update_dev_host call.
7081 (acc_update_self): Likewise.
7082 (acc_update_device_async): New API function.
7083 (acc_update_self_async): Likewise.
7084 * openacc.h (acc_copyin_async): Declare new API function.
7085 (acc_create_async): Likewise.
7086 (acc_copyout_async): Likewise.
7087 (acc_delete_async): Likewise.
7088 (acc_update_device_async): Likewise.
7089 (acc_update_self_async): Likewise.
7090 (acc_memcpy_to_device_async): Likewise.
7091 (acc_memcpy_from_device_async): Likewise.
7092 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
7093 (acc_copyin_async_64_h): New subroutine.
7094 (acc_copyin_async_array_h): New subroutine.
7095 (acc_create_async_32_h): New subroutine.
7096 (acc_create_async_64_h): New subroutine.
7097 (acc_create_async_array_h): New subroutine.
7098 (acc_copyout_async_32_h): New subroutine.
7099 (acc_copyout_async_64_h): New subroutine.
7100 (acc_copyout_async_array_h): New subroutine.
7101 (acc_delete_async_32_h): New subroutine.
7102 (acc_delete_async_64_h): New subroutine.
7103 (acc_delete_async_array_h): New subroutine.
7104 (acc_update_device_async_32_h): New subroutine.
7105 (acc_update_device_async_64_h): New subroutine.
7106 (acc_update_device_async_array_h): New subroutine.
7107 (acc_update_self_async_32_h): New subroutine.
7108 (acc_update_self_async_64_h): New subroutine.
7109 (acc_update_self_async_array_h): New subroutine.
7110 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
7111 (acc_copyin_async_64_h): New subroutine.
7112 (acc_copyin_async_array_h): New subroutine.
7113 (acc_create_async_32_h): New subroutine.
7114 (acc_create_async_64_h): New subroutine.
7115 (acc_create_async_array_h): New subroutine.
7116 (acc_copyout_async_32_h): New subroutine.
7117 (acc_copyout_async_64_h): New subroutine.
7118 (acc_copyout_async_array_h): New subroutine.
7119 (acc_delete_async_32_h): New subroutine.
7120 (acc_delete_async_64_h): New subroutine.
7121 (acc_delete_async_array_h): New subroutine.
7122 (acc_update_device_async_32_h): New subroutine.
7123 (acc_update_device_async_64_h): New subroutine.
7124 (acc_update_device_async_array_h): New subroutine.
7125 (acc_update_self_async_32_h): New subroutine.
7126 (acc_update_self_async_64_h): New subroutine.
7127 (acc_update_self_async_array_h): New subroutine.
7128 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
7129 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
7130 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
7131 acc_memcpy_to_device_async*, acc_update_device_async*, and
7132 acc_update_self_async* entries.
7133 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
7134 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
7135 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
7137 2018-10-31 Joseph Myers <joseph@codesourcery.com>
7140 * Makefile.am: Include multilib.am
7141 (AUTOMAKE_OPTIONS): Add info-in-builddir.
7142 (CLEANFILES): Remove libgomp.info.
7143 * configure.ac: Remove AC_PREREQ.
7144 * testsuite/Makefile.am (RUNTEST): Remove quotes.
7145 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
7148 2018-10-29 Joseph Myers <joseph@codesourcery.com>
7149 Julian Brown <julian@codesourcery.com>
7151 * testsuite/libgomp.oacc-c++/this.C: New.
7153 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
7155 * plugin/plugin-nvptx.c (struct cuda_map): New.
7156 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
7157 h_tail with (cuda_map *) map.
7158 (cuda_map_create): New function.
7159 (cuda_map_destroy): New function.
7160 (map_init): Update to use a linked list of cuda_map objects.
7161 (map_fini): Likewise.
7162 (map_pop): Likewise.
7163 (map_push): Likewise. Return CUdeviceptr instead of void.
7164 (init_streams_for_device): Remove stales references to ptx_stream
7166 (select_stream_for_async): Likewise.
7167 (nvptx_exec): Update call to map_init.
7169 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
7170 Julian Brown <julian@codesourcery.com>
7173 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
7175 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
7176 Thomas Koenig <tkoenig@gcc.gnu.org>
7179 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7180 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7181 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7182 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7183 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7184 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7185 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7187 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
7188 Tom de Vries <tdevries@suse.de>
7191 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
7192 (cuOccupancyMaxPotentialBlockSize): Declare.
7193 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
7194 CUDA_ONE_CALL_MAYBE_NULL.
7195 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
7196 CUoccupancyB2DSize and declare
7197 cuOccupancyMaxPotentialBlockSize.
7198 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
7199 default num_gangs and num_workers when the driver supports it.
7201 2018-08-08 Tom de Vries <tdevries@suse.de>
7203 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
7204 CUDA_ONE_CALL_MAYBE_NULL.
7205 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
7206 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
7207 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
7210 2018-08-08 Tom de Vries <tdevries@suse.de>
7212 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
7213 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
7216 2018-08-08 Tom de Vries <tdevries@suse.de>
7218 * plugin/plugin-nvptx.c
7219 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
7220 (nvptx_open_device): Use
7221 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
7223 2018-08-08 Tom de Vries <tdevries@suse.de>
7225 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
7226 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
7228 2018-08-07 Tom de Vries <tdevries@suse.de>
7230 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
7231 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
7232 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
7233 corresponding call in CUDA_ONE_CALL. Add def/undef of
7234 CUDA_ONE_CALL_MAYBE_NULL.
7235 (CUDA_CALL_EXISTS): Define.
7237 2018-08-07 Tom de Vries <tdevries@suse.de>
7239 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
7240 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
7241 corresponding undefs right after.
7243 2018-08-04 Tom de Vries <tdevries@suse.de>
7245 * plugin/configfrag.ac: For --without-cuda-driver, set
7246 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
7247 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
7248 * configure: Regenerate.
7250 2018-08-02 Tom de Vries <tdevries@suse.de>
7253 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
7254 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
7255 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
7257 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
7258 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
7259 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
7261 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7262 Thomas Schwinge <thomas@codesourcery.com>
7264 * config/nvptx/oacc-parallel.c: Truncate.
7266 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
7267 James Norris <jnorris@codesourcery.com>
7269 * plugin/plugin-nvptx.c (struct map): Removed.
7270 (map_init, map_pop): Remove use of struct map.
7271 (map_push): Likewise and change argument list.
7272 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
7274 2018-08-01 Tom de Vries <tdevries@suse.de>
7276 * plugin/cuda-lib.def: New file. Factor out of ...
7277 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
7278 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
7281 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
7283 Revert 'AsyncI/O patch committed'.
7284 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7285 Thomas Koenig <tkoenig@gcc.gnu.org>
7288 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7289 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7290 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7291 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7292 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7293 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7294 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7296 2018-07-30 Tom de Vries <tdevries@suse.de>
7298 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
7299 (nvptx_exec): Ensure worker and vector default dims don't exceed
7300 targ_fn->max_threads_per_block.
7302 2018-07-30 Tom de Vries <tdevries@suse.de>
7304 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
7305 (nvptx_open_device): Init default_dims for device.
7306 (nvptx_exec): Use default_dims from device.
7308 2018-07-26 Jakub Jelinek <jakub@redhat.com>
7311 * testsuite/libgomp.c++/for-15.C (results): Include it in
7312 omp declare target region.
7313 (main): Use map (always, tofrom: results) instead of
7314 map (tofrom: results).
7317 * testsuite/libgomp.c/pr86660.c: New test.
7319 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7320 Tom de Vries <tdevries@suse.de>
7322 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
7323 sufficient resources to launch a kernel, and give a hint on how to fix
7326 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
7327 Tom de Vries <tdevries@suse.de>
7329 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
7330 max_threads_per_block and max_threads_per_multiprocessor fields.
7331 (nvptx_open_device): Initialize new fields.
7332 (nvptx_exec): Use num_sms, and new fields.
7334 2018-07-26 Tom de Vries <tdevries@suse.de>
7336 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
7337 to correct locations. Remove xfail.
7339 2018-07-26 Tom de Vries <tdevries@suse.de>
7341 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
7342 acc_wait. Move acc_async_test calls to correct locations. Remove
7345 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
7346 Thomas Koenig <tkoenig@gcc.gnu.org>
7349 * testsuite/libgomp.fortran/async_io_1.f90: New test.
7350 * testsuite/libgomp.fortran/async_io_2.f90: New test.
7351 * testsuite/libgomp.fortran/async_io_3.f90: New test.
7352 * testsuite/libgomp.fortran/async_io_4.f90: New test.
7353 * testsuite/libgomp.fortran/async_io_5.f90: New test.
7354 * testsuite/libgomp.fortran/async_io_6.f90: New test.
7355 * testsuite/libgomp.fortran/async_io_7.f90: New test.
7357 2018-07-17 Jakub Jelinek <jakub@redhat.com>
7360 * testsuite/libgomp.c++/pr86542.C: New test.
7363 * testsuite/libgomp.c++/pr86539.C: New test.
7365 2018-07-11 Jakub Jelinek <jakub@redhat.com>
7368 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
7369 (results): Make sure the variable is not inside declare target region.
7370 (qux): Remove unused function.
7372 2018-07-10 Jakub Jelinek <jakub@redhat.com>
7375 * testsuite/libgomp.c++/for-15.C: New test.
7377 2018-06-26 Jakub Jelinek <jakub@redhat.com>
7380 * testsuite/libgomp.c++/pr86291.C: New test.
7382 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
7384 * libgomp.texi (Top): Move www.openmp.org to https.
7385 (Enabling OpenMP): Ditto.
7386 (omp_get_active_level): Ditto.
7387 (omp_get_ancestor_thread_num): Ditto.
7388 (omp_get_cancellation): Ditto.
7389 (omp_get_default_device): Ditto.
7390 (omp_get_dynamic): Ditto.
7391 (omp_get_level): Ditto.
7392 (omp_get_max_active_levels): Ditto.
7393 (omp_get_max_task_priority): Ditto.
7394 (omp_get_max_threads): Ditto.
7395 (omp_get_nested): Ditto.
7396 (omp_get_num_devices): Ditto.
7397 (omp_get_num_procs): Ditto.
7398 (omp_get_num_teams): Ditto.
7399 (omp_get_num_threads): Ditto.
7400 (omp_get_proc_bind): Ditto.
7401 (omp_get_schedule): Ditto.
7402 (omp_get_team_num): Ditto.
7403 (omp_get_team_size): Ditto.
7404 (omp_get_thread_limit): Ditto.
7405 (omp_get_thread_num): Ditto.
7406 (omp_in_parallel): Ditto.
7407 (omp_in_final): Ditto.
7408 (omp_is_initial_device): Ditto.
7409 (omp_set_default_device): Ditto.
7410 (omp_set_dynamic): Ditto.
7411 (omp_set_max_active_levels): Ditto.
7412 (omp_set_nested): Ditto.
7413 (omp_set_num_threads): Ditto.
7414 (omp_set_schedule): Ditto.
7415 (omp_init_lock): Ditto.
7416 (omp_set_lock): Ditto.
7417 (omp_test_lock): Ditto.
7418 (omp_unset_lock): Ditto.
7419 (omp_destroy_lock): Ditto.
7420 (omp_init_nest_lock): Ditto.
7421 (omp_set_nest_lock): Ditto.
7422 (omp_test_nest_lock): Ditto.
7423 (omp_unset_nest_lock): Ditto.
7424 (omp_destroy_nest_lock): Ditto.
7425 (omp_get_wtick): Ditto.
7426 (omp_get_wtime): Ditto.
7427 (OMP_CANCELLATION): Ditto.
7428 (OMP_DISPLAY_ENV): Ditto.
7429 (OMP_DEFAULT_DEVICE): Ditto.
7430 (OMP_DYNAMIC): Ditto.
7431 (OMP_MAX_ACTIVE_LEVELS): Ditto.
7432 (OMP_MAX_TASK_PRIORITY): Ditto.
7433 (OMP_NESTED): Ditto.
7434 (OMP_NUM_THREADS): Ditto.
7435 (OMP_PROC_BIND): Ditto.
7436 (OMP_PLACES): Ditto.
7437 (OMP_STACKSIZE): Ditto.
7438 (OMP_SCHEDULE): Ditto.
7439 (OMP_THREAD_LIMIT): Ditto.
7440 (OMP_WAIT_POLICY): Ditto.
7442 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
7443 James Norris <jnorris@codesourcery.com>
7444 Julian Brown <julian@codesourcery.com>
7445 Thomas Schwinge <thomas@codesourcery.com>
7446 Tom de Vries <tom@codesourcery.com>
7448 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
7449 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
7450 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
7451 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
7452 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7453 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7454 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
7455 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
7456 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
7457 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
7459 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
7461 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
7463 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
7465 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
7467 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
7469 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
7471 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
7473 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
7475 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
7477 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
7479 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
7481 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
7483 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
7485 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
7487 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
7489 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
7491 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
7493 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
7495 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
7497 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
7499 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
7501 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
7503 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
7505 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
7507 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
7509 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
7511 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
7512 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
7513 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
7514 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
7515 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
7516 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
7517 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
7518 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
7519 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
7521 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
7523 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
7524 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
7525 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
7527 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
7528 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
7529 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
7531 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
7533 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
7535 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
7537 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
7539 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
7541 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
7543 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
7545 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
7547 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
7549 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
7551 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
7553 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
7555 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
7557 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
7559 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
7560 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
7561 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
7562 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
7563 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
7564 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
7565 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
7567 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
7568 Thomas Schwinge <thomas@codesourcery.com>
7569 Cesar Philippidis <cesar@codesourcery.com>
7571 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
7572 (gomp_acc_remove_pointer): Update declaration.
7573 (gomp_acc_declare_allocate): Declare.
7574 (gomp_remove_var): Declare.
7575 * libgomp.map (OACC_2.5): Define.
7576 * oacc-mem.c (acc_map_data): Update refcount.
7577 (acc_unmap_data): Likewise.
7578 (present_create_copy): Likewise.
7579 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
7580 (acc_copyin): Likewise.
7581 (FLAG_FINALIZE): Define.
7582 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
7583 (acc_delete_finalize): New function.
7584 (acc_delete_finalize_async): New function.
7585 (acc_copyout_finalize): New function.
7586 (acc_copyout_finalize_async): New function.
7587 (gomp_acc_insert_pointer): Update refcounts.
7588 (gomp_acc_remove_pointer): Return if data is not present on the
7590 * oacc-parallel.c (find_pset): Rename to find_pointer.
7591 (find_pointer): Add support for GOMP_MAP_POINTER.
7592 (handle_ftn_pointers): New function.
7593 (GOACC_parallel_keyed): Update refcounts of variables.
7594 (GOACC_enter_exit_data): Add support for finalized data mappings.
7595 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
7597 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
7598 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
7599 for GOMP_MAP_FORCE_FROM.
7600 * openacc.f90 (module openacc_internal): Add
7601 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
7602 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
7603 acc_copyout_finalize and acc_delete_finalize.
7604 (acc_copyout_finalize_32_h): New subroutine.
7605 (acc_copyout_finalize_64_h): New subroutine.
7606 (acc_copyout_finalize_array_h): New subroutine.
7607 (acc_delete_finalize_32_h): New subroutine.
7608 (acc_delete_finalize_64_h): New subroutine.
7609 (acc_delete_finalize_array_h): New subroutine.
7610 * openacc.h (acc_copyout_finalize): Declare.
7611 (acc_copyout_finalize_async): Declare.
7612 (acc_delete_finalize): Declare.
7613 (acc_delete_finalize_async): Declare.
7614 * openacc_lib.h (acc_copyout_finalize): New interface.
7615 (acc_delete_finalize): New interface.
7616 * target.c (gomp_map_vars): Update dynamic_refcount.
7617 (gomp_remove_var): New function.
7618 (gomp_unmap_vars): Use it.
7619 (gomp_unload_image_from_device): Likewise.
7620 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
7621 case to utilize OpenACC 2.5 data clause semantics.
7622 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7623 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7624 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7625 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7626 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7627 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7628 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7629 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7630 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7631 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7632 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7633 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
7634 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
7635 utilize OpenACC 2.5 data clause semantics.
7636 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7637 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7638 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7639 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7640 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7641 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7642 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7643 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
7644 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
7646 2018-05-21 Janus Weil <janus@gcc.gnu.org>
7650 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
7651 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
7652 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
7653 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
7654 * testsuite/libgomp.fortran/task2.f90: Ditto.
7655 * testsuite/libgomp.fortran/vla1.f90: Ditto.
7656 * testsuite/libgomp.fortran/vla2.f90: Ditto.
7657 * testsuite/libgomp.fortran/vla3.f90: Ditto.
7658 * testsuite/libgomp.fortran/vla4.f90: Ditto.
7659 * testsuite/libgomp.fortran/vla5.f90: Ditto.
7660 * testsuite/libgomp.fortran/vla6.f90: Ditto.
7661 * testsuite/libgomp.fortran/vla8.f90: Ditto.
7662 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
7663 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
7665 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
7668 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
7670 2018-05-09 Tom de Vries <tom@codesourcery.com>
7673 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
7674 to GOACC_enter_exit_data.
7676 2018-05-09 Tom de Vries <tom@codesourcery.com>
7679 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
7680 (async_synchronous_p): New function.
7681 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
7683 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
7684 async_valid_stream_id_p.
7685 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
7686 * oacc-parallel.c (GOACC_parallel_keyed): Same.
7688 2018-05-07 Tom de Vries <tom@codesourcery.com>
7691 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
7692 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
7694 2018-05-03 Tom de Vries <tom@codesourcery.com>
7697 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
7698 extra_tool_flags if it contains an -foffload=-fdump-* flag.
7699 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
7700 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
7702 2018-05-02 Tom de Vries <tom@codesourcery.com>
7705 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
7706 GOMP_OPENACC_DIM ...
7707 * env.c (parse_gomp_openacc_dim): ... here. New function.
7708 (initialize_env): Call parse_gomp_openacc_dim.
7709 (goacc_default_dims): Define.
7710 * libgomp.h (goacc_default_dims): Declare.
7711 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
7712 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
7713 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
7714 GOMP_PLUGIN_acc_default_dim.
7715 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
7716 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
7718 2018-05-02 Tom de Vries <tom@codesourcery.com>
7721 * testsuite/libgomp.c++/udr-9.C: Update.
7722 * testsuite/libgomp.c++/atomic-16.C: Remove.
7723 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
7724 * testsuite/libgomp.c++/loop-13.C: Remove.
7725 * testsuite/libgomp.c++/loop-14.C: Remove.
7726 * testsuite/libgomp.c++/loop-15.C: Remove.
7727 * testsuite/libgomp.c++/monotonic-1.C: Remove.
7728 * testsuite/libgomp.c++/monotonic-2.C: Remove.
7729 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
7730 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
7731 * testsuite/libgomp.c++/ordered-1.C: Remove.
7732 * testsuite/libgomp.c++/pr45784.C: Remove.
7733 * testsuite/libgomp.c++/pr64824.C: Remove.
7734 * testsuite/libgomp.c++/pr64868.C: Remove.
7735 * testsuite/libgomp.c++/pr66199-1.C: Remove.
7736 * testsuite/libgomp.c++/pr66199-2.C: Remove.
7737 * testsuite/libgomp.c++/pr66199-3.C: Remove.
7738 * testsuite/libgomp.c++/pr66199-4.C: Remove.
7739 * testsuite/libgomp.c++/pr66199-5.C: Remove.
7740 * testsuite/libgomp.c++/pr66199-6.C: Remove.
7741 * testsuite/libgomp.c++/pr66199-7.C: Remove.
7742 * testsuite/libgomp.c++/pr66199-8.C: Remove.
7743 * testsuite/libgomp.c++/pr66199-9.C: Remove.
7744 * testsuite/libgomp.c++/pr69389.C: Remove.
7745 * testsuite/libgomp.c++/simd10.C: Remove.
7746 * testsuite/libgomp.c++/simd11.C: Remove.
7747 * testsuite/libgomp.c++/simd12.C: Remove.
7748 * testsuite/libgomp.c++/simd13.C: Remove.
7749 * testsuite/libgomp.c++/target-1.C: Remove.
7750 * testsuite/libgomp.c++/target-3.C: Remove.
7751 * testsuite/libgomp.c++/target-4.C: Remove.
7752 * testsuite/libgomp.c++/target-5.C: Remove.
7753 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
7754 * testsuite/libgomp.c++/taskloop-1.C: Remove.
7755 * testsuite/libgomp.c++/taskloop-2.C: Remove.
7756 * testsuite/libgomp.c++/taskloop-3.C: Remove.
7757 * testsuite/libgomp.c++/taskloop-4.C: Remove.
7758 * testsuite/libgomp.c++/udr-9.C: Remove.
7759 * testsuite/libgomp.c++/for-10.C: Remove.
7760 * testsuite/libgomp.c++/for-11.C: Remove.
7761 * testsuite/libgomp.c++/for-12.C: Remove.
7762 * testsuite/libgomp.c++/for-13.C: Remove.
7763 * testsuite/libgomp.c++/for-14.C: Remove.
7764 * testsuite/libgomp.c++/for-9.C: Remove.
7765 * testsuite/libgomp.c/atomic-18.c: Move ...
7766 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
7767 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
7768 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
7769 * testsuite/libgomp.c/loop-13.c: Move ...
7770 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
7771 * testsuite/libgomp.c/loop-14.c: Move ...
7772 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
7773 * testsuite/libgomp.c/loop-15.c: Remove.
7774 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
7775 * testsuite/libgomp.c/monotonic-1.c: Move ...
7776 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
7777 * testsuite/libgomp.c/monotonic-2.c: Move ...
7778 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
7779 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
7780 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
7781 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
7782 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
7783 * testsuite/libgomp.c/ordered-4.c: Move ...
7784 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
7785 * testsuite/libgomp.c/pr45784.c: Move ...
7786 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
7787 * testsuite/libgomp.c/pr64824.c: Move ...
7788 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
7789 * testsuite/libgomp.c/pr64868.c: Move ...
7790 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
7791 * testsuite/libgomp.c/pr66199-1.c: Move ...
7792 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
7793 * testsuite/libgomp.c/pr66199-2.c: Move ...
7794 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
7795 * testsuite/libgomp.c/pr66199-3.c: Move ...
7796 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
7797 * testsuite/libgomp.c/pr66199-4.c: Move ...
7798 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
7799 * testsuite/libgomp.c/pr66199-5.c: Move ...
7800 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
7801 * testsuite/libgomp.c/pr66199-6.c: Move ...
7802 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
7803 * testsuite/libgomp.c/pr66199-7.c: Move ...
7804 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
7805 * testsuite/libgomp.c/pr66199-8.c: Move ...
7806 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
7807 * testsuite/libgomp.c/pr66199-9.c: Move ...
7808 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
7809 * testsuite/libgomp.c/pr69389.c: Move ...
7810 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
7811 * testsuite/libgomp.c/simd-14.c: Move ...
7812 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
7813 * testsuite/libgomp.c/simd-15.c: Move ...
7814 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
7815 * testsuite/libgomp.c/simd-16.c: Move ...
7816 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
7817 * testsuite/libgomp.c/simd-17.c: Move ...
7818 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
7819 * testsuite/libgomp.c/target-1.c: Move ...
7820 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
7821 * testsuite/libgomp.c/target-10.c: Move ...
7822 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
7823 * testsuite/libgomp.c/target-13.c: Move ...
7824 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
7825 * testsuite/libgomp.c/target-2.c: Move ...
7826 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
7827 * testsuite/libgomp.c/taskgroup-1.c: Move ...
7828 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
7829 * testsuite/libgomp.c/taskloop-1.c: Move ...
7830 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
7831 * testsuite/libgomp.c/taskloop-2.c: Move ...
7832 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
7833 * testsuite/libgomp.c/taskloop-3.c: Move ...
7834 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
7835 * testsuite/libgomp.c/taskloop-4.c: Move ...
7836 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
7837 * testsuite/libgomp.c/udr-1.c: Move ...
7838 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
7839 * testsuite/libgomp.c/for-1.c: Move ...
7840 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
7841 * testsuite/libgomp.c/for-1.h: Move ...
7842 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
7843 * testsuite/libgomp.c/for-2.c: Move ...
7844 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
7845 * testsuite/libgomp.c/for-2.h: Move ...
7846 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
7847 * testsuite/libgomp.c/for-3.c: Move ...
7848 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
7849 * testsuite/libgomp.c/for-4.c: Move ...
7850 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
7851 * testsuite/libgomp.c/for-5.c: Move ...
7852 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
7853 * testsuite/libgomp.c/for-6.c: Move ...
7854 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
7856 2018-05-02 Tom de Vries <tom@codesourcery.com>
7859 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
7860 __builtin_goacc_parlevel_{id,size}.
7861 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
7862 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
7863 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
7864 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
7865 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
7866 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
7867 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
7868 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
7869 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
7870 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
7871 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
7872 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
7873 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
7874 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
7875 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
7876 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
7877 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
7878 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
7879 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
7880 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
7881 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
7882 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
7883 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
7885 2018-05-02 Tom de Vries <tom@codesourcery.com>
7888 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
7890 2018-05-02 Tom de Vries <tom@codesourcery.com>
7893 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
7895 2018-04-29 Julian Brown <julian@codesourcery.com>
7896 Tom de Vries <tom@codesourcery.com>
7899 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
7900 arbitrary order for iterations of atomic subtract check.
7902 2018-04-28 Tom de Vries <tom@codesourcery.com>
7905 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
7906 atomic capture results obtained in parallel loop to an array, instead of
7909 2018-04-26 Tom de Vries <tom@codesourcery.com>
7912 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
7913 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
7914 (process_GOMP_NVPTX_JIT): New function.
7915 (link_ptx): Use process_GOMP_NVPTX_JIT.
7917 2018-04-26 Richard Biener <rguenther@suse.de>
7918 Tom de Vries <tom@codesourcery.com>
7921 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
7923 2018-04-26 Tom de Vries <tom@codesourcery.com>
7926 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
7927 recursion depth from 25 to 23.
7928 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
7930 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
7932 * configure: Regenerated.
7934 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
7935 Tom de Vries <tom@codesourcery.com>
7938 * testsuite/libgomp.oacc-c++/ref-1.C: New.
7940 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
7943 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
7944 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
7945 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
7946 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
7947 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
7948 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
7951 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
7953 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7955 2018-04-19 Jakub Jelinek <jakub@redhat.com>
7957 * configure: Regenerated.
7959 2018-04-18 David Malcolm <dmalcolm@redhat.com>
7962 * configure: Regenerate.
7964 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
7965 Tom de Vries <tom@codesourcery.com>
7968 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7969 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7971 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
7975 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
7976 test from gfortran.dg to here.
7978 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7980 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
7981 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
7983 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
7986 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
7987 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
7989 2018-04-05 Tom de Vries <tom@codesourcery.com>
7992 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
7994 2018-03-26 Tom de Vries <tom@codesourcery.com>
7996 PR tree-optimization/85063
7997 * testsuite/libgomp.c/switch-conversion-2.c: New test.
7998 * testsuite/libgomp.c/switch-conversion.c: New test.
7999 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
8000 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
8002 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
8005 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
8006 call abort by STOP n.
8007 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
8008 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
8009 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
8010 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
8011 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
8012 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
8013 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
8014 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
8015 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
8016 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
8017 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
8018 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
8019 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
8020 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
8021 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
8022 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
8023 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
8024 * testsuite/libgomp.fortran/associate1.f90: Likewise.
8025 * testsuite/libgomp.fortran/associate2.f90: Likewise.
8026 * testsuite/libgomp.fortran/associate3.f90: Likewise.
8027 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
8028 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
8029 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
8030 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
8031 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
8032 * testsuite/libgomp.fortran/character1.f90: Likewise.
8033 * testsuite/libgomp.fortran/character2.f90: Likewise.
8034 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
8035 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
8036 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
8037 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
8038 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
8039 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
8040 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
8041 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
8042 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
8043 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
8044 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
8045 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
8046 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
8047 * testsuite/libgomp.fortran/do1.f90: Likewise.
8048 * testsuite/libgomp.fortran/do2.f90: Likewise.
8049 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
8050 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
8051 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
8052 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
8053 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
8054 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
8055 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
8056 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
8057 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
8058 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
8059 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
8060 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
8061 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
8062 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
8063 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
8064 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
8065 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
8066 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
8067 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
8068 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
8069 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
8070 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
8071 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
8072 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
8073 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
8074 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
8075 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
8076 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
8077 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
8078 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
8079 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
8080 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
8081 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
8082 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
8083 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
8084 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
8085 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
8086 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
8087 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
8088 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
8089 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
8090 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
8091 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
8092 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
8093 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
8094 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
8095 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
8096 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
8097 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
8098 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8099 * testsuite/libgomp.fortran/lib2.f: Likewise.
8100 * testsuite/libgomp.fortran/lib3.f: Likewise.
8101 * testsuite/libgomp.fortran/lib4.f90: Likewise.
8102 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
8103 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
8104 * testsuite/libgomp.fortran/nested1.f90: Likewise.
8105 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
8106 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
8107 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
8108 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
8109 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
8110 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
8111 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
8112 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
8113 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
8114 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
8115 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
8116 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
8117 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
8118 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
8119 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
8120 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
8121 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
8122 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
8123 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
8124 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8125 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
8126 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
8127 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
8128 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
8129 * testsuite/libgomp.fortran/pr25162.f: Likewise.
8130 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
8131 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
8132 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
8133 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
8134 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
8135 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
8136 * testsuite/libgomp.fortran/pr28390.f: Likewise.
8137 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
8138 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
8139 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
8140 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
8141 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
8142 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
8143 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
8144 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
8145 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
8146 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
8147 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
8148 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
8149 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
8150 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
8151 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
8152 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
8153 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
8154 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
8155 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
8156 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
8157 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
8158 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
8159 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
8160 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
8161 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
8162 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8163 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
8164 * testsuite/libgomp.fortran/reference1.f90: Likewise.
8165 * testsuite/libgomp.fortran/reference2.f90: Likewise.
8166 * testsuite/libgomp.fortran/retval1.f90: Likewise.
8167 * testsuite/libgomp.fortran/retval2.f90: Likewise.
8168 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
8169 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
8170 * testsuite/libgomp.fortran/simd1.f90: Likewise.
8171 * testsuite/libgomp.fortran/simd2.f90: Likewise.
8172 * testsuite/libgomp.fortran/simd3.f90: Likewise.
8173 * testsuite/libgomp.fortran/simd4.f90: Likewise.
8174 * testsuite/libgomp.fortran/simd5.f90: Likewise.
8175 * testsuite/libgomp.fortran/simd6.f90: Likewise.
8176 * testsuite/libgomp.fortran/simd7.f90: Likewise.
8177 * testsuite/libgomp.fortran/stack.f90: Likewise.
8178 * testsuite/libgomp.fortran/strassen.f90: Likewise.
8179 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
8180 * testsuite/libgomp.fortran/tabs2.f: Likewise.
8181 * testsuite/libgomp.fortran/target1.f90: Likewise.
8182 * testsuite/libgomp.fortran/target2.f90: Likewise.
8183 * testsuite/libgomp.fortran/target3.f90: Likewise.
8184 * testsuite/libgomp.fortran/target4.f90: Likewise.
8185 * testsuite/libgomp.fortran/target5.f90: Likewise.
8186 * testsuite/libgomp.fortran/target6.f90: Likewise.
8187 * testsuite/libgomp.fortran/target7.f90: Likewise.
8188 * testsuite/libgomp.fortran/target8.f90: Likewise.
8189 * testsuite/libgomp.fortran/task1.f90: Likewise.
8190 * testsuite/libgomp.fortran/task2.f90: Likewise.
8191 * testsuite/libgomp.fortran/task3.f90: Likewise.
8192 * testsuite/libgomp.fortran/task4.f90: Likewise.
8193 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
8194 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
8195 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
8196 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
8197 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
8198 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8199 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8200 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8201 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
8202 * testsuite/libgomp.fortran/udr1.f90: Likewise.
8203 * testsuite/libgomp.fortran/udr10.f90: Likewise.
8204 * testsuite/libgomp.fortran/udr11.f90: Likewise.
8205 * testsuite/libgomp.fortran/udr12.f90: Likewise.
8206 * testsuite/libgomp.fortran/udr13.f90: Likewise.
8207 * testsuite/libgomp.fortran/udr14.f90: Likewise.
8208 * testsuite/libgomp.fortran/udr15.f90: Likewise.
8209 * testsuite/libgomp.fortran/udr2.f90: Likewise.
8210 * testsuite/libgomp.fortran/udr3.f90: Likewise.
8211 * testsuite/libgomp.fortran/udr4.f90: Likewise.
8212 * testsuite/libgomp.fortran/udr5.f90: Likewise.
8213 * testsuite/libgomp.fortran/udr6.f90: Likewise.
8214 * testsuite/libgomp.fortran/udr7.f90: Likewise.
8215 * testsuite/libgomp.fortran/udr8.f90: Likewise.
8216 * testsuite/libgomp.fortran/udr9.f90: Likewise.
8217 * testsuite/libgomp.fortran/vla1.f90: Likewise.
8218 * testsuite/libgomp.fortran/vla2.f90: Likewise.
8219 * testsuite/libgomp.fortran/vla3.f90: Likewise.
8220 * testsuite/libgomp.fortran/vla4.f90: Likewise.
8221 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8222 * testsuite/libgomp.fortran/vla6.f90: Likewise.
8223 * testsuite/libgomp.fortran/vla7.f90: Likewise.
8224 * testsuite/libgomp.fortran/vla8.f90: Likewise.
8225 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
8226 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
8227 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8228 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8229 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8230 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8231 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8232 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8233 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8234 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8235 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
8236 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
8237 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
8238 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
8239 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
8240 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8241 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8242 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8243 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8244 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8245 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8246 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8247 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8248 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
8249 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
8250 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8251 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8252 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8253 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8254 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8255 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
8256 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8257 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8258 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8259 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8260 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8261 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
8262 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
8263 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
8264 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
8265 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
8266 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8267 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
8268 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
8269 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
8270 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
8271 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
8272 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
8273 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8274 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8275 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8276 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8277 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
8278 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8279 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8280 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8281 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8282 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8283 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8284 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8285 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
8286 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
8287 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
8288 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8289 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8290 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8291 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
8292 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8293 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
8294 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8295 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
8296 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
8297 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
8298 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
8299 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
8300 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8301 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8302 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8303 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8304 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8305 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8306 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8307 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
8308 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
8309 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8310 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8311 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8312 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8313 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
8314 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
8315 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
8316 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8317 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8318 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
8320 2018-03-20 Richard Biener <rguenther@suse.de>
8322 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
8323 parallelizable loop.
8325 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8328 * configure: Regenerate.
8330 2018-02-16 Jakub Jelinek <jakub@redhat.com>
8333 * libgomp.fortran/pr84418-1.f90: New test.
8334 * libgomp.fortran/pr84418-2.f90: New test.
8336 2018-02-14 Jakub Jelinek <jakub@redhat.com>
8339 * testsuite/libgomp.fortran/threadprivate4.f90: Add
8340 -std=f2003 -fall-intrinsics into dg-additional-options.
8342 2018-02-08 Martin Jambor <mjambor@suse.cz>
8344 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
8347 2018-02-08 Martin Jambor <mjambor@suse.cz>
8349 * testsuite/libgomp.hsa.c/staticvar.c: New test.
8351 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8353 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
8354 [__cplusplus]: Declare extern "C".
8356 2018-02-07 Tom de Vries <tom@codesourcery.com>
8359 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
8361 2018-01-29 Christoph Spiel <cspiel@freenet.de>
8362 Jakub Jelinek <jakub@redhat.com>
8365 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
8366 instead of omp_lock_t.
8368 2018-01-25 Tom de Vries <tom@codesourcery.com>
8371 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
8373 2018-01-24 Tom de Vries <tom@codesourcery.com>
8376 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
8378 2018-01-24 Tom de Vries <tom@codesourcery.com>
8381 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
8383 2018-01-19 Tom de Vries <tom@codesourcery.com>
8384 Cesar Philippidis <cesar@codesourcery.com>
8387 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
8388 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
8390 2018-01-03 Jakub Jelinek <jakub@redhat.com>
8392 Update copyright years.
8394 * libgomp.texi: Bump @copying's copyright year.
8396 2017-12-30 Tom de Vries <tom@codesourcery.com>
8399 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
8400 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
8402 2017-12-27 Tom de Vries <tom@codesourcery.com>
8405 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
8406 (test_nonstatic): Fix return type to workaround PR83046.
8408 2017-12-05 Jakub Jelinek <jakub@redhat.com>
8411 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
8412 j suffix instead of i.
8413 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
8416 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
8418 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
8419 call to acc_wait (1).
8421 2017-11-24 Jakub Jelinek <jakub@redhat.com>
8424 * testsuite/libgomp.fortran/pr81304.f90: New test.
8426 2017-11-23 Jakub Jelinek <jakub@redhat.com>
8429 * libgomp.fortran/pr81841.f90: New test.
8431 2017-11-22 Jakub Jelinek <jakub@redhat.com>
8434 * target.c (gomp_target_init): Compute lengths just once and
8435 use them in both malloc size and subsequent copying.
8437 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
8439 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
8440 * acinclude.m4: Add cet.m4.
8441 * configure: Regenerate.
8442 * Makefile.in: Likewise.
8443 * testsuite/Makefile.in: Likewise.
8445 2017-11-15 Tom de Vries <tom@codesourcery.com>
8447 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
8448 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
8449 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
8450 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
8451 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
8452 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
8454 2017-11-14 Tom de Vries <tom@codesourcery.com>
8456 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
8459 2017-11-07 Jakub Jelinek <jakub@redhat.com>
8462 * testsuite/libgomp.c++/pr82835.C: New test.
8464 2017-11-06 Martin Liska <mliska@suse.cz>
8466 * testsuite/libgomp.c++/loop-2.C: Return a value
8467 for functions with non-void return type, or change type to void,
8468 or add -Wno-return-type for test.
8469 * testsuite/libgomp.c++/loop-4.C: Likewise.
8470 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8471 * testsuite/libgomp.c++/shared-1.C: Likewise.
8472 * testsuite/libgomp.c++/single-1.C: Likewise.
8473 * testsuite/libgomp.c++/single-2.C: Likewise.
8475 2017-10-31 Tom de Vries <tom@codesourcery.com>
8477 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
8478 "do {} while (false)".
8479 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
8480 after HSA_DEBUG call.
8482 2017-10-28 Jakub Jelinek <jakub@redhat.com>
8484 * target.c (struct gomp_coalesce_buf): New type.
8485 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
8486 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
8487 (gomp_copy_host2dev): Add CBUF argument, if copying into
8488 the cached ranges, memcpy into buffer instead of copying
8490 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
8491 Add CBUF argument, pass it through to other calls.
8492 (gomp_map_vars): Aggregate copies from host to device if small enough
8493 and with small enough gaps in between into memcpy into a buffer and
8494 fewer host to device copies from the buffer.
8495 (gomp_update): Adjust gomp_copy_host2dev caller.
8497 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
8499 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
8501 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
8502 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
8503 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8504 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
8506 2017-10-16 Tom de Vries <tom@codesourcery.com>
8508 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
8509 openacc_nvidia_accel_selected.
8510 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
8511 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
8512 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
8513 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
8514 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
8515 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
8516 openacc_nvidia_accel_selected. Skip for shared memory device.
8517 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
8518 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
8520 2017-10-09 Martin Jambor <mjambor@suse.cz>
8523 * testsuite/libgomp.hsa.c/pr82416.c: New test.
8525 2017-10-07 Tom de Vries <tom@codesourcery.com>
8527 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
8528 Remove acc_device_nvidia references.
8529 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
8532 2017-10-05 Tom de Vries <tom@codesourcery.com>
8534 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
8535 vector_length(32) clause from acc parallel directive.
8536 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
8538 2017-10-04 Tom de Vries <tom@codesourcery.com>
8540 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
8541 (main): Reduce sum of arr elements. Assert that hres is exactly
8542 representable in 32-bit floating point.
8543 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
8544 (main): Reduce sum of arr elements. Assert that hres and hmres are
8545 exactly representable in 32-bit floating point.
8546 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
8548 2017-09-28 Tom de Vries <tom@codesourcery.com>
8550 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
8552 * testsuite/libgomp.c++/pr69393.C: Same.
8553 * testsuite/libgomp.c++/taskloop-1.C: Same.
8554 * testsuite/libgomp.c++/taskloop-3.C: Same.
8555 * testsuite/libgomp.c++/taskloop-4.C: Same.
8556 * testsuite/libgomp.c/for-4.c: Same.
8557 * testsuite/libgomp.c/pr66199-3.c: Same.
8558 * testsuite/libgomp.c/pr66199-4.c: Same.
8559 * testsuite/libgomp.c/pr66199-6.c: Same.
8560 * testsuite/libgomp.c/taskloop-1.c: Same.
8561 * testsuite/libgomp.c/taskloop-3.c: Same.
8562 * testsuite/libgomp.c/taskloop-4.c: Same.
8563 * testsuite/libgomp.fortran/aligned1.f03: Same.
8564 * testsuite/libgomp.fortran/condinc1.f: Same.
8565 * testsuite/libgomp.fortran/condinc3.f90: Same.
8566 * testsuite/libgomp.fortran/crayptr1.f90: Same.
8567 * testsuite/libgomp.fortran/crayptr2.f90: Same.
8568 * testsuite/libgomp.fortran/crayptr3.f90: Same.
8569 * testsuite/libgomp.fortran/omp_cond1.f: Same.
8570 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
8571 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
8572 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
8573 * testsuite/libgomp.fortran/recursion1.f90: Same.
8574 * testsuite/libgomp.fortran/target2.f90: Same.
8575 * testsuite/libgomp.fortran/target5.f90: Same.
8576 * testsuite/libgomp.fortran/task3.f90: Same.
8578 2017-09-28 Tom de Vries <tom@codesourcery.com>
8580 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
8581 vector_length(32) clause from acc parallel directive.
8582 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
8584 2017-09-27 Tom de Vries <tom@codesourcery.com>
8586 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
8587 Remove acc_device_nvidia references.
8589 2017-09-16 Tom de Vries <tom@codesourcery.com>
8592 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
8594 2017-09-14 Tom de Vries <tom@codesourcery.com>
8596 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
8597 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
8598 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
8599 * testsuite/libgomp.c/c.exp: Include test-cases from
8600 libgomp.c-c++-common.
8601 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
8604 2017-09-14 Jakub Jelinek <jakub@redhat.com>
8607 * testsuite/libgomp.c++/pr81314.C: New test.
8609 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
8611 * libgomp.texi (Top): www.openacc.org now uses https.
8612 (Enabling OpenACC): Ditto.
8613 (acc_get_num_devices): Ditto.
8614 (acc_set_device_type): Ditto.
8615 (acc_get_device_type): Ditto.
8616 (acc_set_device_num): Ditto.
8617 (acc_get_device_num): Ditto.
8618 (acc_async_test): Ditto.
8619 (acc_async_test_all): Ditto.
8621 (acc_wait_all): Ditto.
8622 (acc_wait_all_async): Ditto.
8623 (acc_wait_async): Ditto.
8625 (acc_shutdown): Ditto.
8626 (acc_on_device): Ditto.
8627 (acc_malloc): Ditto.
8629 (acc_copyin): Ditto.
8630 (acc_present_or_copyin): Ditto.
8631 (acc_create): Ditto.
8632 (acc_present_or_create): Ditto.
8633 (acc_copyout): Ditto.
8634 (acc_delete): Ditto.
8635 (acc_update_device): Ditto.
8636 (acc_update_self): Ditto.
8637 (acc_map_data): Ditto.
8638 (acc_unmap_data): Ditto.
8639 (acc_deviceptr): Ditto.
8640 (acc_hostptr): Ditto.
8641 (acc_is_present): Ditto.
8642 (acc_memcpy_to_device): Ditto.
8643 (acc_memcpy_from_device): Ditto.
8644 (acc_get_current_cuda_device): Ditto.
8645 (acc_get_current_cuda_context): Ditto.
8646 (acc_get_cuda_stream): Ditto.
8647 (acc_set_cuda_stream): Ditto.
8648 (ACC_DEVICE_TYPE): Ditto.
8649 (ACC_DEVICE_NUM): Ditto.
8650 (OpenACC Library Interoperability): Ditto.
8652 2017-08-09 Jakub Jelinek <jakub@redhat.com>
8655 * testsuite/libgomp.c/pr81687-1.c: New test.
8656 * testsuite/libgomp.c/pr81687-2.c: New test.
8658 2017-08-07 Jakub Jelinek <jakub@redhat.com>
8661 * testsuite/libgomp.c/pr69389.c: New test.
8662 * testsuite/libgomp.c++/pr69389.C: New test.
8664 2017-08-07 Tom de Vries <tom@codesourcery.com>
8667 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
8668 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
8670 2017-07-27 Jakub Jelinek <jakub@redhat.com>
8673 * testsuite/libgomp.c/pr45784.c: New test.
8674 * testsuite/libgomp.c++/pr45784.C: New test.
8676 2017-07-19 Tom de Vries <tom@codesourcery.com>
8678 * testsuite/libgomp.oacc-c/vec.c: New test.
8680 2017-07-03 Tom de Vries <tom@codesourcery.com>
8682 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
8684 2017-06-27 Tom de Vries <tom@codesourcery.com>
8686 * plugin/plugin-nvptx.c (notify_var): New function.
8687 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
8689 2017-06-27 Tom de Vries <tom@codesourcery.com>
8691 * env.c (parse_unsigned_long_1): Factor out of ...
8692 (parse_unsigned_long): ... here.
8693 (parse_int_1): Factor out of ...
8694 (parse_int): ... here.
8695 (parse_int_secure): New function.
8696 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
8697 * secure_getenv.h: Factor out of ...
8698 * plugin/plugin-hsa.c: ... here.
8699 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
8701 2017-06-21 Jakub Jelinek <jakub@redhat.com>
8704 * testsuite/libgomp.c++/pr81130.C: New test.
8706 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8708 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
8710 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
8711 dg-xfail-run-if default args.
8713 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
8715 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
8716 * testsuite/libgomp.c/pr39591-3.c: Likewise.
8718 2017-05-30 Jakub Jelinek <jakub@redhat.com>
8721 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
8722 (gomp_affinity_init_level): Use it. Always analyze the core and thread
8723 sibling lists, depending on level just pick up what CPUs to put
8724 together into a place vs. whether add multiple ordered places.
8726 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
8728 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
8729 * libgomp.map (OACC_2.0.1): Add these.
8730 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
8731 for "acc_wait", and "acc_wait_all", respectively.
8732 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
8733 for "acc_wait", and "acc_wait_all", respectively.
8734 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
8735 * libgomp.texi (acc_wait, acc_wait_all): Update.
8736 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
8737 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
8738 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
8740 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
8741 acc_present_or_copyin and acc_present_or_create procedures,
8743 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
8744 generally different variants of OpenACC Runtime Library functions.
8745 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8747 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
8748 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
8750 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
8751 of preprocessor definitions.
8752 * libgomp.h (strong_alias): Guard by "#ifdef
8753 HAVE_ATTRIBUTE_ALIAS".
8754 * oacc-mem.c: Provide "acc_pcreate" as alias for
8755 "acc_present_or_create", and "acc_pcopyin" as alias for
8756 "acc_present_or_copyin".
8757 * libgomp.map: New version "OACC_2.0.1".
8758 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
8759 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
8761 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
8764 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
8765 when disabling nvptx offloading.
8767 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
8769 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
8770 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
8771 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
8773 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
8774 * testsuite/lib/libgomp.exp
8775 (check_effective_target_openacc_nvidia_accel_configured): New
8777 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
8778 (check_effective_target_c++): New procs.
8779 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
8780 (check_effective_target_c++): Likewise.
8782 2017-05-22 Jakub Jelinek <jakub@redhat.com>
8785 * testsuite/libgomp.c/pr80809-2.c: New test.
8786 * testsuite/libgomp.c/pr80809-3.c: New test.
8789 * testsuite/libgomp.c/pr80809-1.c: New test.
8792 * testsuite/libgomp.c/pr80853.c: New test.
8794 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
8796 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
8797 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
8798 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8799 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
8800 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
8802 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
8803 Debug output for failure.
8805 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8807 * testsuite/lib/libgomp.exp: Load scanlang.exp.
8809 2017-04-27 Jakub Jelinek <jakub@redhat.com>
8812 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
8813 bootstrap compare failures.
8815 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
8817 * testsuite/libgomp.c/target-36.c: New testcase.
8819 2017-04-13 Jakub Jelinek <jakub@redhat.com>
8821 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
8824 2017-04-11 Jakub Jelinek <jakub@redhat.com>
8827 * testsuite/libgomp.c/pr80394.c: New test.
8829 2017-04-04 Jakub Jelinek <jakub@redhat.com>
8832 * config/posix/thread-stacksize.h: New file.
8833 * config/darwin/thread-stacksize.h: New file.
8834 * config/nvptx/thread-stacksize.h: New file.
8835 * env.c: Include thread-stacksize.h.
8836 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
8837 instead of 0. Call pthread_attr_setstacksize even if
8838 GOMP_DEFAULT_STACKSIZE is non-zero.
8840 2017-03-30 Jakub Jelinek <jakub@redhat.com>
8842 * env.c (initialize_env): Initialize stacksize to 0.
8844 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
8847 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
8849 2017-03-08 Jakub Jelinek <jakub@redhat.com>
8852 * testsuite/libgomp.c/pr79940.c: New test.
8854 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8856 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
8858 Add __float128 options.
8860 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
8862 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
8863 hppa*-*-* dg-skip-if directive.
8865 2017-02-09 Jakub Jelinek <jakub@redhat.com>
8867 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
8868 dg-skip-if directive into a comment.
8870 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
8871 Chung-Lin Tang <cltang@codesourcery.com>
8873 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
8874 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
8875 add additional case.
8876 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
8877 "openacc_nvidia_accel_selected".
8878 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
8879 Add num_workers(8) clause.
8881 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
8883 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
8885 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
8886 include complex.h on hppa*-*-hpux*.
8887 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
8889 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
8891 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
8893 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
8894 GOMP_OFFLOAD_openacc_exec. Adjust all users.
8895 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
8896 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
8897 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
8898 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
8899 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
8900 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
8901 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
8902 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
8904 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
8906 * libgomp-plugin.h: #include <stdbool.h>.
8907 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
8908 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
8909 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
8910 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
8911 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
8912 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
8913 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
8914 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
8915 (GOMP_OFFLOAD_openacc_register_async_cleanup)
8916 (GOMP_OFFLOAD_openacc_async_test)
8917 (GOMP_OFFLOAD_openacc_async_test_all)
8918 (GOMP_OFFLOAD_openacc_async_wait)
8919 (GOMP_OFFLOAD_openacc_async_wait_async)
8920 (GOMP_OFFLOAD_openacc_async_wait_all)
8921 (GOMP_OFFLOAD_openacc_async_wait_all_async)
8922 (GOMP_OFFLOAD_openacc_async_set_async)
8923 (GOMP_OFFLOAD_openacc_create_thread_data)
8924 (GOMP_OFFLOAD_openacc_destroy_thread_data)
8925 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
8926 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
8927 (GOMP_OFFLOAD_openacc_get_cuda_stream)
8928 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
8929 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
8931 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
8932 (GOMP_OFFLOAD_unload_image): Fix argument types.
8934 2017-01-26 Jakub Jelinek <jakub@redhat.com>
8936 * testsuite/lib/libgomp.exp
8937 (check_effective_target_hsa_offloading_selected_nocache): Fix up
8938 check_compile invocation. Fix up removal of executable. Drop
8939 bogus "2>&1" argument.
8941 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
8944 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
8945 Martin Jambor <mjambor@suse.cz>
8947 * plugin/hsa.h: Moved to top level include.
8948 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
8950 2017-01-21 Jakub Jelinek <jakub@redhat.com>
8953 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
8954 of cat to get version from BASE-VER file.
8955 * testsuite/Makefile.in: Regenerated.
8957 2017-01-19 Jakub Jelinek <jakub@redhat.com>
8959 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
8962 2017-01-17 Jakub Jelinek <jakub@redhat.com>
8964 * plugin/hsa.h: Add GCC runtime library exception.
8965 * plugin/hsa_ext_finalize.h: Likewise.
8967 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
8968 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
8969 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
8970 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
8971 plugin/include/cuda as include dir and -ldl instead of -lcuda as
8972 library to link ptx plugin against.
8973 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
8974 (CUDA_CALLS): Define.
8975 (cuda_lib, cuda_lib_inited): New variables.
8976 (init_cuda_lib): New function.
8977 (CUDA_CALL_PREFIX): Define.
8978 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
8979 (CUDA_CALL): Use FN instead of (FN).
8980 (CUDA_CALL_NOCHECK): Define.
8981 (cuda_error, fini_streams_for_device, select_stream_for_async,
8982 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
8983 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
8984 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
8985 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
8987 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
8989 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
8990 Use CUDA_CALL_NOCHECK.
8991 * plugin/cuda/cuda.h: New file.
8992 * config.h.in: Regenerated.
8993 * configure: Regenerated.
8996 * configure.ac: Add GCC_BASE_VER.
8997 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
8998 get version from BASE-VER file.
8999 * testsuite/Makefile.in: Regenerated.
9000 * configure: Regenerated.
9001 * Makefile.in: Regenerated.
9003 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9006 * Makefile.am: Make fincludedir multilib-aware.
9007 * Makefile.in: Regenerate.
9009 2017-01-01 Jakub Jelinek <jakub@redhat.com>
9011 Update copyright years.
9013 * libgomp.texi: Bump @copying's copyright year.
9015 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9017 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
9018 pthread_spinlock_t instead of gomp_mutex_t lock.
9019 (gomp_get_thread_pool): Likewise.
9020 (gomp_release_thread_pool): Likewise.
9021 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
9024 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
9026 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
9027 thread pool in case nthreads == 1.
9029 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9031 * config/nvptx/env.c: Delete.
9032 * icv.c: Move definitions of ICV variables back ...
9033 * env.c: ...here. Do not compile environment-related functionality if
9034 LIBGOMP_OFFLOADED_ONLY is set.
9036 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9038 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
9039 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
9040 * configure: Regenerate.
9041 * config.h.in: Likewise.
9043 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
9045 * Makefile.in: Regenerate with automake-1.11.6.
9046 * aclocal.m4: Likewise.
9047 * configure: Likewise.
9048 * testsuite/Makefile.in: Likewise.
9050 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
9052 * config/nvptx/critical.c: Delete to use generic implementation.
9054 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
9056 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
9057 ../../affinity.c as fallback.
9058 * config/nvptx/affinity.c: Delete to use fallback implementation.
9060 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
9061 Jakub Jelinek <jakub@redhat.com>
9062 Dmitry Melnik <dm@ispras.ru>
9064 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
9065 * Makefile.in. Regenerate.
9066 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
9067 (LIBGOMP_USE_PTHREADS): ...here; new define.
9068 * configure: Regenerate.
9069 * config.h.in: Likewise.
9070 * config/posix/affinity.c: Move to...
9071 * affinity.c: ...here (new file). Guard use of Pthreads-specific
9072 interface by LIBGOMP_USE_PTHREADS.
9073 * critical.c: Split out GOMP_atomic_{start,end} into...
9074 * atomic.c: ...here (new file).
9075 * env.c: Split out ICV definitions into...
9076 * icv.c: ...here (new file) and...
9077 * icv-device.c: ...here. New file.
9078 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
9079 (gomp_destroy_lock_30): Ditto.
9080 (gomp_set_lock_30): Ditto.
9081 (gomp_unset_lock_30): Ditto.
9082 (gomp_test_lock_30): Ditto.
9083 (gomp_init_nest_lock_30): Ditto.
9084 (gomp_destroy_nest_lock_30): Ditto.
9085 (gomp_set_nest_lock_30): Ditto.
9086 (gomp_unset_nest_lock_30): Ditto.
9087 (gomp_test_nest_lock_30): Ditto.
9089 * config/nvptx/lock.c: New.
9090 * config/nvptx/bar.c: New.
9091 * config/nvptx/bar.h: New.
9092 * config/nvptx/doacross.h: New.
9093 * config/nvptx/error.c: New.
9094 * config/nvptx/icv-device.c: New.
9095 * config/nvptx/mutex.h: New.
9096 * config/nvptx/pool.h: New.
9097 * config/nvptx/proc.c: New.
9098 * config/nvptx/ptrlock.h: New.
9099 * config/nvptx/sem.h: New.
9100 * config/nvptx/simple-bar.h: New.
9101 * config/nvptx/target.c: New.
9102 * config/nvptx/task.c: New.
9103 * config/nvptx/team.c: New.
9104 * config/nvptx/time.c: New.
9105 * config/posix/simple-bar.h: New.
9106 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
9107 (gomp_num_teams_var): Declare.
9108 (struct gomp_thread_pool): Change threads_dock member to
9109 gomp_simple_barrier_t.
9110 [__nvptx__] (gomp_thread): New implementation.
9111 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
9112 (gomp_thread_destructor): Ditto.
9113 (gomp_init_thread_affinity): Ditto.
9114 * team.c: Guard uses of Pthreads-specific interfaces by
9115 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
9116 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
9117 * config/nvptx/alloc.c: Delete.
9118 * config/nvptx/barrier.c: Ditto.
9119 * config/nvptx/fortran.c: Ditto.
9120 * config/nvptx/iter.c: Ditto.
9121 * config/nvptx/iter_ull.c: Ditto.
9122 * config/nvptx/loop.c: Ditto.
9123 * config/nvptx/loop_ull.c: Ditto.
9124 * config/nvptx/ordered.c: Ditto.
9125 * config/nvptx/parallel.c: Ditto.
9126 * config/nvptx/priority_queue.c: Ditto.
9127 * config/nvptx/sections.c: Ditto.
9128 * config/nvptx/single.c: Ditto.
9129 * config/nvptx/splay-tree.c: Ditto.
9130 * config/nvptx/work.c: Ditto.
9131 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
9132 -foffload=-lgfortran in addition to -lgfortran.
9133 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
9134 * plugin/plugin-nvptx.c: Include <limits.h>.
9135 (struct targ_fn_descriptor): Add new fields.
9136 (struct ptx_device): Ditto. Set them...
9137 (nvptx_open_device): ...here.
9138 (nvptx_adjust_launch_bounds): New.
9139 (nvptx_host2dev): Allow NULL 'nvthd'.
9140 (nvptx_dev2host): Ditto.
9141 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
9142 (link_ptx): Adjust log sizes.
9143 (nvptx_host2dev): Allow NULL 'nvthd'.
9144 (nvptx_dev2host): Ditto.
9145 (nvptx_set_clocktick): New. Use it...
9146 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
9148 (GOMP_OFFLOAD_dev2dev): New.
9149 (nvptx_adjust_launch_bounds): New.
9150 (nvptx_stacks_size): New.
9151 (nvptx_stacks_alloc): New.
9152 (nvptx_stacks_free): New.
9153 (GOMP_OFFLOAD_run): New.
9154 (GOMP_OFFLOAD_async_run): New (stub).
9156 2016-11-23 Martin Jambor <mjambor@suse.cz>
9158 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
9159 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
9160 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
9162 2016-11-23 Martin Liska <mliska@suse.cz>
9163 Martin Jambor <mjambor@suse.cz>
9165 * plugin/hsa.h: New file.
9166 * plugin/hsa_ext_finalize.h: New file.
9167 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
9168 header file unistd.h, and functions secure_getenv, __secure_getenv,
9169 getuid, geteuid, getgid and getegid.
9170 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
9172 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
9173 Handle various cases of secure_getenv presence, add an implementation
9174 when we can test effective UID and GID.
9175 (struct hsa_runtime_fn_info): New structure.
9176 (hsa_runtime_fn_info hsa_fns): New variable.
9177 (hsa_runtime_lib): Likewise.
9178 (support_cpu_devices): Likewise.
9179 (init_enviroment_variables): Load newly introduced ENV
9181 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
9182 (hsa_fatal): Likewise.
9183 (DLSYM_FN): New macro.
9184 (init_hsa_runtime_functions): New function.
9185 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
9186 structure. Depending on environment, also allow CPU devices.
9187 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
9188 (get_kernarg_memory_region): Likewise.
9189 (GOMP_OFFLOAD_init_device): Likewise.
9190 (destroy_hsa_program): Likewise.
9191 (init_basic_kernel_info): New function.
9192 (GOMP_OFFLOAD_load_image): Use it.
9193 (create_and_finalize_hsa_program): Call hsa run-time functions via
9195 (create_single_kernel_dispatch): Likewise.
9196 (release_kernel_dispatch): Likewise.
9197 (init_single_kernel): Likewise.
9198 (parse_target_attributes): Allow up multiple HSA grid dimensions.
9199 (get_group_size): New function.
9200 (run_kernel): Likewise.
9201 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
9202 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
9204 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
9205 * testsuite/libgomp-test-support.exp.in: Likewise.
9206 * Makefile.in: Regenerated.
9207 * aclocal.m4: Likewise.
9208 * config.h.in: Likewise.
9209 * configure: Likewise.
9210 * testsuite/Makefile.in: Likewise.
9212 2016-11-15 Martin Jambor <mjambor@suse.cz>
9213 Alexander Monakov <amonakov@ispras.ru>
9215 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
9216 mapping clauses to target constructs.
9217 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
9219 2016-11-15 Matthias Klose <doko@ubuntu.com>
9221 * configure: Regenerate.
9223 2016-11-10 Jakub Jelinek <jakub@redhat.com>
9225 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
9226 * omp_lib.h.in (openmp_version): Likewise.
9227 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
9229 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
9231 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
9232 (fib_wrapper): Add map(from: x) clause.
9233 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
9235 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
9236 (accum): Add map(tmp) clause.
9237 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
9238 (accum): Add map(tofrom: tmp) clause.
9239 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
9240 (gramSchmidt): Likewise.
9241 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
9242 map(tofrom: sum) clause.
9243 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
9244 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
9245 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
9246 only allowed on the loop iterator.
9247 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
9248 * testsuite/libgomp.fortran/taskloop2.f90: New test.
9249 * testsuite/libgomp.fortran/taskloop4.f90: New test.
9250 * testsuite/libgomp.fortran/doacross1.f90: New test.
9251 * testsuite/libgomp.fortran/doacross3.f90: New test.
9252 * testsuite/libgomp.fortran/taskloop1.f90: New test.
9253 * testsuite/libgomp.fortran/taskloop3.f90: New test.
9254 * testsuite/libgomp.fortran/doacross2.f90: New test.
9255 * testsuite/libgomp.c/doacross-1.c (main): Add missing
9256 #pragma omp atomic read.
9257 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9258 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
9260 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
9261 Nathan Sidwell <nathan@acm.org>
9263 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
9264 to determine default geometry.
9265 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
9268 2016-11-01 Jakub Jelinek <jakub@redhat.com>
9270 * hashtab.h: Use standard GPLv3 with runtime exception
9273 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
9275 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
9276 size when allocating new thread.
9278 2016-09-14 Marek Polacek <polacek@redhat.com>
9280 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
9282 2016-08-19 Jakub Jelinek <jakub@redhat.com>
9285 * testsuite/libgomp.fortran/pr71014.f90: New test.
9287 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
9290 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
9291 firstprivate clauses.
9292 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
9294 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9295 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
9296 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
9297 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
9298 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
9299 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
9300 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9301 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
9302 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9303 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9304 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9305 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
9307 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
9310 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
9312 2016-08-08 Jakub Jelinek <jakub@redhat.com>
9315 * testsuite/libgomp.c++/pr58706.C: New test.
9317 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
9319 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
9320 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
9321 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
9323 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
9324 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
9326 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
9328 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
9329 test, and don't hardcode -O0.
9331 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
9333 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
9335 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
9337 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
9340 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
9343 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
9344 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
9346 2016-07-01 Jakub Jelinek <jakub@redhat.com>
9349 * testsuite/libgomp.fortran/associate3.f90: New test.
9351 2016-06-17 Jakub Jelinek <jakub@redhat.com>
9353 * testsuite/libgomp.c++/target-21.C: New test.
9355 2016-06-16 Jakub Jelinek <jakub@redhat.com>
9357 * testsuite/libgomp.c++/target-20.C: New test.
9359 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9360 Cesar Philippidis <cesar@codesourcery.com>
9363 * libgomp.oacc-c/nested-function-1.c: New file.
9364 * libgomp.oacc-c/nested-function-2.c: Likewise.
9365 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
9366 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
9367 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
9369 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
9372 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
9373 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
9374 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
9376 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
9378 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
9379 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
9381 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
9384 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
9386 2016-05-26 Jakub Jelinek <jakub@redhat.com>
9388 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
9389 instead of invalid schedule(static, 0).
9390 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
9392 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9394 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
9395 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
9396 parameter, use to set async stream around call to gomp_unmap_vars,
9397 call gomp_unmap_vars() with 'do_copyfrom' set to true.
9398 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
9399 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
9400 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
9401 (event_add): Add int parameter, initialize 'val' field when
9402 adding new ptx_event struct.
9403 (nvptx_evec): Adjust event_add() call arguments.
9404 (nvptx_host2dev): Likewise.
9405 (nvptx_dev2host): Likewise.
9406 (nvptx_wait_async): Likewise.
9407 (nvptx_wait_all_async): Likewise.
9408 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
9409 pass to event_add() call.
9410 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
9412 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
9413 call openacc.register_async_cleanup_func() hook.
9414 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
9415 * target.c (gomp_copy_from_async): Delete function.
9416 (gomp_map_vars): Remove async_refcount.
9417 (gomp_unmap_vars): Likewise.
9418 (gomp_load_image_to_device): Likewise.
9419 (omp_target_associate_ptr): Likewise.
9420 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
9421 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
9422 (gomp_copy_from_async): Remove.
9424 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
9426 * target.c (gomp_device_copy): New function.
9427 (gomp_copy_host2dev): Likewise.
9428 (gomp_copy_dev2host): Likewise.
9429 (gomp_free_device_memory): Likewise.
9430 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
9431 (gomp_map_pointer): Likewise.
9432 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
9433 NULL value from alloc_func plugin hook.
9434 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
9435 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
9436 (gomp_unmap_vars): Likewise.
9437 (gomp_update): Adjust to call gomp_copy_dev2host and
9438 gomp_copy_host2dev functions.
9439 (gomp_unload_image_from_device): Handle false value from
9440 unload_image_func plugin hook.
9441 (gomp_init_device): Handle false value from init_device_func
9443 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
9444 (omp_target_free): Adjust to call gomp_free_device_memory.
9445 (omp_target_memcpy): Handle return values from host2dev_func,
9446 dev2host_func, and dev2dev_func plugin hooks.
9447 (omp_target_memcpy_rect_worker): Likewise.
9448 (gomp_target_fini): Handle false value from fini_device_func
9450 * libgomp.h (struct gomp_device_descr): Adjust return type of
9451 init_device_func, fini_device_func, unload_image_func, free_func,
9452 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
9453 * oacc-init.c (acc_shutdown_1): Handle false value from
9454 fini_device_func plugin hook.
9455 * oacc-host.c (host_init_device): Change return type to bool.
9456 (host_fini_device): Likewise.
9457 (host_unload_image): Likewise.
9458 (host_free): Likewise.
9459 (host_dev2host): Likewise.
9460 (host_host2dev): Likewise.
9461 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
9462 (acc_memcpy_to_device): Likewise.
9463 (acc_memcpy_from_device): Likewise.
9464 (delete_copyout): Add libfnname parameter, handle free_func
9465 hook fatal error case.
9466 (acc_delete): Adjust delete_copyout call.
9467 (acc_copyout): Likewise.
9468 (update_dev_host): Move gomp_mutex_unlock to after
9469 host2dev/dev2host hook calls.
9471 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
9472 to 'hsa_error_msg', for clarity.
9473 (hsa_fatal): Likewise.
9474 (hsa_error): New function.
9475 (init_hsa_context): Change return type to bool, adjust to return
9477 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
9479 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
9480 return false on error.
9481 (get_agent_info): Adjust to return NULL on error.
9482 (destroy_hsa_program): Change return type to bool, adjust to
9483 return false on error.
9484 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
9485 (destroy_module): Change return type to bool, adjust to
9486 return false on error.
9487 (GOMP_OFFLOAD_unload_image): Likewise.
9488 (GOMP_OFFLOAD_fini_device): Likewise.
9489 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
9490 (GOMP_OFFLOAD_free): Change to return false when called.
9491 (GOMP_OFFLOAD_dev2host): Likewise.
9492 (GOMP_OFFLOAD_host2dev): Likewise.
9493 (GOMP_OFFLOAD_dev2dev): Likewise.
9495 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
9496 (CUDA_CALL): Likewise.
9497 (CUDA_CALL_ASSERT): Likewise.
9498 (map_init): Change return type to bool, use CUDA_CALL* macros.
9499 (map_fini): Likewise.
9500 (init_streams_for_device): Change return type to bool, adjust
9502 (fini_streams_for_device): Change return type to bool, adjust
9504 (select_stream_for_async): Release stream_lock before calls to
9505 GOMP_PLUGIN_fatal, adjust call to map_init.
9506 (nvptx_init): Use CUDA_CALL* macros.
9507 (nvptx_attach_host_thread_to_device): Change return type to bool,
9508 use CUDA_CALL* macros.
9509 (nvptx_open_device): Use CUDA_CALL* macros.
9510 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
9512 (nvptx_get_num_devices): Use CUDA_CALL* macros.
9513 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
9514 (nvptx_exec): Use CUDA_CALL* macros.
9515 (nvptx_alloc): Use CUDA_CALL* macros.
9516 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
9517 (nvptx_host2dev): Likewise.
9518 (nvptx_dev2host): Likewise.
9519 (nvptx_wait): Use CUDA_CALL* macros.
9520 (nvptx_wait_async): Likewise.
9521 (nvptx_wait_all): Likewise.
9522 (nvptx_wait_all_async): Likewise.
9523 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
9524 use CUDA_CALL* macros, adjust call to map_fini.
9525 (GOMP_OFFLOAD_init_device): Change return type to bool,
9526 adjust code accordingly.
9527 (GOMP_OFFLOAD_fini_device): Likewise.
9528 (GOMP_OFFLOAD_load_image): Adjust calls to
9529 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
9530 use CUDA_CALL* macros.
9531 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
9533 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
9534 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
9535 handle error return.
9536 (GOMP_OFFLOAD_dev2host): Likewise.
9537 (GOMP_OFFLOAD_host2dev): Likewise.
9538 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
9539 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
9541 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
9543 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
9544 (acc_free): Likewise.
9545 (acc_memcpy_to_device): Likewise.
9546 (acc_memcpy_from_device): Likewise.
9547 (acc_deviceptr): Likewise.
9548 (acc_hostptr): Likewise.
9549 (acc_is_present): Likewise.
9550 (acc_map_data): Likewise.
9551 (acc_unmap_data): Likewise.
9552 (present_create_copy): Likewise.
9553 (delete_copyout): Likewise.
9554 (update_dev_host): Likewise.
9555 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
9556 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
9557 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
9558 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
9559 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
9560 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
9561 it only runs on nvptx targets.
9562 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
9563 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
9564 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
9565 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
9566 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
9567 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
9568 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
9569 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
9570 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
9571 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
9572 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
9573 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
9574 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
9575 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
9576 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
9577 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
9578 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
9579 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
9580 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
9581 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
9582 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
9583 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
9584 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
9586 2016-05-23 Martin Jambor <mjambor@suse.cz>
9588 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
9590 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
9592 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
9593 to gomp_init_targets_once.
9594 (acc_set_device_type): Remove !cached_base_dev condition on call to
9595 gomp_init_targets_once, move call to before acc_device_lock acquire,
9597 (acc_get_device_num): Remove !cached_base_dev condition on call to
9598 gomp_init_targets_once.
9599 (acc_set_device_num): Likewise.
9601 2016-05-16 Martin Jambor <mjambor@suse.cz>
9603 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
9605 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
9607 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
9608 expected partitioning.
9610 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
9613 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
9614 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
9615 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
9617 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
9619 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
9622 2016-04-19 Jakub Jelinek <jakub@redhat.com>
9625 * testsuite/libgomp.c/pr70680-1.c: New test.
9626 * testsuite/libgomp.c/pr70680-2.c: New test.
9628 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9630 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
9631 pass parameter variables to subroutines.
9633 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
9636 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
9638 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
9641 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
9642 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9644 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
9646 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
9647 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
9648 GOACC_declare prototype.
9650 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
9651 Merge this file, and...
9652 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
9653 ... this file, and...
9654 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
9655 ... this file, and...
9656 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
9657 ... this file, and...
9658 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
9659 ... this file, and...
9660 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
9661 ... this file, and...
9662 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
9663 ... this file, and...
9664 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
9665 ... this file, and...
9666 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
9667 ... this file, and...
9668 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
9669 ... this file, and...
9670 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
9671 ... this file, and...
9672 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
9673 ... this file, and...
9674 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
9675 ... this file into...
9676 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
9679 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
9680 Make failure observable.
9682 2016-04-12 Jakub Jelinek <jakub@redhat.com>
9684 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
9686 * target.c (gomp_target_fallback_firstprivate,
9687 gomp_target_unshare_firstprivate): Removed.
9688 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
9689 before waiting for dependencies.
9690 (gomp_target_task_fn): Don't copy firstprivate vars here.
9691 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
9692 firstprivate_copies here.
9693 (gomp_create_target_task): Don't initialize firstprivate_copies field.
9694 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
9695 explicit/implicit firstprivate.
9697 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
9701 PR tree-optimization/70373
9705 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
9707 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
9709 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
9711 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
9713 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
9715 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
9717 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
9719 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
9721 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
9723 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
9724 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
9725 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
9726 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
9728 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
9730 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
9732 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
9734 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
9736 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
9737 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
9738 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
9739 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
9740 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
9741 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
9743 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
9744 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
9745 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
9746 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
9747 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
9748 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
9749 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
9750 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
9751 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
9752 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
9753 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
9754 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
9755 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
9756 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
9757 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
9759 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
9760 James Norris <jnorris@codesourcery.com>
9761 Nathan Sidwell <nathan@codesourcery.com>
9762 Julian Brown <julian@codesourcery.com>
9763 Cesar Philippidis <cesar@codesourcery.com>
9764 Chung-Lin Tang <cltang@codesourcery.com>
9765 Tom de Vries <tom@codesourcery.com>
9767 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
9768 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
9769 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
9770 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
9771 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
9772 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
9773 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
9774 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
9775 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
9777 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
9779 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
9781 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
9782 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
9783 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
9784 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
9786 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
9788 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
9789 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
9790 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
9791 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
9792 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
9793 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
9794 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
9795 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
9796 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
9797 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
9799 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
9800 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
9801 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
9803 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
9805 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
9807 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
9809 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
9811 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
9812 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
9813 ... this new file. Update.
9814 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
9815 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
9816 ... this new file. Update.
9817 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
9818 file. Incorporate...
9819 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
9821 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
9823 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
9825 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
9827 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
9829 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
9830 set-torture-options.
9832 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
9834 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
9836 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9837 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
9838 -fno-builtin-acc_on_device instead of -O0.
9839 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
9841 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
9842 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
9844 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
9845 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
9846 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
9847 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
9848 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
9849 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
9850 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
9851 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
9852 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
9853 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
9854 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
9855 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
9856 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
9857 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
9858 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
9859 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
9860 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
9861 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
9863 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
9865 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
9868 2016-03-24 Martin Liska <mliska@suse.cz>
9870 * plugin/plugin-hsa.c (packet_store_release): New function
9871 that is taken from the HSA runtime manual.
9872 (GOMP_OFFLOAD_run): Use the function.
9874 2016-03-23 Jakub Jelinek <jakub@redhat.com>
9877 * testsuite/libgomp.c++/pr70376.C: New test.
9879 2016-03-23 Tom de Vries <tom@codesourcery.com>
9881 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
9882 initialization of lresult and lvresult.
9883 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
9885 2016-03-23 James Norris <jnorris@codesourcery.com>
9886 Daichi Fukuoka <dc-fukuoka@sgi.com>
9889 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
9890 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
9891 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
9892 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
9894 2016-03-23 Martin Liska <mliska@suse.cz>
9897 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
9898 argument just in case a dispatched kernel uses that argument.
9900 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
9902 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
9903 -ftree-parallelize-loops/-fopenacc changes.
9904 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
9906 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9908 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
9910 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
9912 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
9913 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
9915 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
9917 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
9918 always_ld_library_path the path to libgcc_s.
9920 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
9923 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
9925 2016-03-09 Tom de Vries <tom@codesourcery.com>
9927 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
9928 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
9929 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
9931 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
9932 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
9933 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
9934 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
9936 2016-03-07 Martin Jambor <mjambor@suse.cz>
9938 * testsuite/lib/libgomp.exp
9939 (check_effective_target_hsa_offloading_selected_nocache): New.
9940 (check_effective_target_hsa_offloading_selected): Likewise.
9941 * testsuite/libgomp.hsa.c/c.exp: Likewise.
9942 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
9943 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
9944 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
9945 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
9946 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
9947 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
9948 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
9949 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
9950 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
9951 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
9952 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
9953 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
9954 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
9955 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
9956 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
9957 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
9959 2016-03-07 Martin Jambor <mjambor@suse.cz>
9961 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
9962 non-shared memory accelerators.
9963 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
9964 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
9965 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
9966 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
9967 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
9968 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
9969 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
9970 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
9971 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
9973 2016-03-07 Martin Jambor <mjambor@suse.cz>
9975 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
9978 2016-03-02 Jakub Jelinek <jakub@redhat.com>
9981 * testsuite/libgomp.c++/pr69555-1.C: New test.
9982 * testsuite/libgomp.c++/pr69555-2.C: New test.
9984 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
9985 Martin Jambor <mjambor@suse.cz>
9987 * testsuite/lib/libgomp.exp
9988 (check_effective_target_offload_device_shared_as): New proc.
9989 * testsuite/libgomp.c++/declare_target-1.C: New test.
9991 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
9994 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
9996 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
9998 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
9999 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
10001 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
10002 -ftree-parallelize-loops/-fopenacc changes.
10003 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
10004 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
10006 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
10008 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
10010 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
10012 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
10014 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
10016 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
10018 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
10019 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
10021 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
10022 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
10024 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
10025 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
10028 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
10030 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
10032 2016-02-19 Jakub Jelinek <jakub@redhat.com>
10035 * testsuite/libgomp.c/pr69805.c: New test.
10037 2016-02-16 Tom de Vries <tom@codesourcery.com>
10040 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
10042 2016-02-09 Tom de Vries <tom@codesourcery.com>
10044 PR tree-optimization/69599
10045 * testsuite/libgomp.c/omp-nested-3.c: New test.
10046 * testsuite/libgomp.c/pr46032-2.c: New test.
10047 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
10048 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
10050 2016-02-09 Tom de Vries <tom@codesourcery.com>
10053 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
10055 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10057 * testsuite/libgomp.c/target-31.c: Fix testcase.
10059 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
10061 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
10063 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
10064 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
10065 reduction and map clauses.
10066 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
10068 2016-02-02 James Norris <jnorris@codesourcery.com>
10070 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
10072 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
10074 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
10075 * oacc-parallel.c (GOACC_host_data): Remove function definition.
10077 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
10080 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
10082 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
10083 (hsa_kmt_lib): Set variables.
10084 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
10085 always_ld_library_path.
10086 * Makefile.in: Regenerate.
10087 * configure: Likewise.
10088 * testsuite/Makefile.in: Likewise.
10090 * plugin/configfrag.ac (offload_additional_options)
10091 (offload_additional_lib_paths): Don't amend for hsa offloading.
10092 * configure: Regenerate.
10094 * plugin/configfrag.ac: Don't configure for offloading target if
10095 we don't build the corresponding plugin.
10096 * configure: Regenerate.
10098 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
10100 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
10101 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
10103 2016-01-26 Tom de Vries <tom@codesourcery.com>
10105 PR tree-optimization/69110
10106 * testsuite/libgomp.c/pr69110.c: New test.
10108 2016-01-25 Richard Biener <rguenther@suse.de>
10111 * testsuite/libgomp.c++/pr69393.C: New testcase.
10113 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
10115 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
10116 function wasn't mapped to the device with non-shared memory.
10118 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
10120 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
10122 2016-01-19 Martin Jambor <mjambor@suse.cz>
10123 Martin Liska <mliska@suse.cz>
10125 * plugin/Makefrag.am: Add HSA plugin requirements.
10126 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
10127 (HSA_RUNTIME_LIB): Likewise.
10128 (HSA_RUNTIME_CPPFLAGS): Likewise.
10129 (HSA_RUNTIME_INCLUDE): New substitution.
10130 (HSA_RUNTIME_LIB): Likewise.
10131 (HSA_RUNTIME_LDFLAGS): Likewise.
10132 (hsa-runtime): New configure option.
10133 (hsa-runtime-include): Likewise.
10134 (hsa-runtime-lib): Likewise.
10135 (PLUGIN_HSA): New substitution variable.
10136 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
10138 (PLUGIN_HSA_CPPFLAGS): Likewise.
10139 (PLUGIN_HSA_LDFLAGS): Likewise.
10140 (PLUGIN_HSA_LIBS): Likewise.
10141 Check that we have access to HSA run-time.
10142 * libgomp-plugin.h (offload_target_type): New element
10143 OFFLOAD_TARGET_TYPE_HSA.
10144 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
10146 (bool gomp_create_target_task): Updated.
10147 (gomp_device_descr): Extra parameter of run_func and async_run_func,
10148 new field can_run_func.
10149 * libgomp_g.h (GOMP_target_ext): Update prototype.
10150 * oacc-host.c (host_run): Added a new parameter args.
10151 * target.c (calculate_firstprivate_requirements): New function.
10152 (copy_firstprivate_data): Likewise.
10153 (gomp_target_fallback_firstprivate): Use them.
10154 (gomp_target_unshare_firstprivate): New function.
10155 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
10157 (GOMP_target): Do host fallback for all shared memory devices. Do not
10158 pass any args to plugins.
10159 (GOMP_target_ext): Introduce device-specific argument parameter args.
10160 Allow host fallback if device shares memory. Do not remap data if
10161 device has shared memory.
10162 (gomp_target_task_fn): Likewise. Also treat shared memory devices
10163 like host fallback for mappings.
10164 (GOMP_target_data): Treat shared memory devices like host fallback.
10165 (GOMP_target_data_ext): Likewise.
10166 (GOMP_target_update): Likewise.
10167 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
10168 gomp_create_target_task.
10169 (GOMP_target_enter_exit_data): Likewise.
10170 (omp_target_alloc): Treat shared memory devices like host fallback.
10171 (omp_target_free): Likewise.
10172 (omp_target_is_present): Likewise.
10173 (omp_target_memcpy): Likewise.
10174 (omp_target_memcpy_rect): Likewise.
10175 (omp_target_associate_ptr): Likewise.
10176 (gomp_load_plugin_for_device): Also load can_run.
10177 * task.c (GOMP_PLUGIN_target_task_completion): Free
10178 firstprivate_copies.
10179 (gomp_create_target_task): Accept new argument args and store it to
10181 * plugin/plugin-hsa.c: New file.
10183 2016-01-18 Tom de Vries <tom@codesourcery.com>
10185 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
10186 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
10187 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
10188 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
10189 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
10190 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
10191 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
10192 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
10193 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
10194 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
10195 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
10197 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
10199 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
10200 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
10201 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
10202 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
10203 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
10204 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
10205 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
10206 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
10208 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
10210 2016-01-15 Jakub Jelinek <jakub@redhat.com>
10212 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
10214 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
10216 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
10218 2016-01-12 James Norris <jnorris@codesourcery.com>
10220 * libgomp.texi: Updates for OpenACC.
10222 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
10224 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
10226 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
10229 * testsuite/libgomp.fortran/pr66680.f90: New test.
10231 2016-01-07 Jakub Jelinek <jakub@redhat.com>
10233 PR middle-end/68960
10234 * testsuite/libgomp.c/pr68960.c: New test.
10236 2016-01-06 Nathan Sidwell <nathan@acm.org>
10238 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
10239 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
10241 2016-01-04 Jakub Jelinek <jakub@redhat.com>
10243 Update copyright years.
10245 * libgomp.texi: Bump @copying's copyright year.
10247 2015-12-31 Nathan Sidwell <nathan@acm.org>
10249 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
10250 dg-additional-options syntax.
10251 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
10252 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
10253 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
10254 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
10255 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
10256 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
10257 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
10258 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
10259 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
10260 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
10261 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
10262 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
10263 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
10264 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
10265 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
10266 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
10267 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
10268 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
10270 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
10272 * libgomp.h (REFCOUNT_LINK): Define.
10273 (struct splay_tree_key_s): Add link_key.
10274 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
10275 Replace target address of the pointer with target address of newly
10276 mapped object in the splay tree. Set link pointer on target to the
10277 device address of the mapped object.
10278 (gomp_unmap_vars): Restore target address of the pointer in the splay
10279 tree for REFCOUNT_LINK objects after unmapping.
10280 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
10281 declare target link" objects.
10282 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
10283 "omp declare target link" objects, which were mapped for the image.
10284 (gomp_exit_data): Restore target address of the pointer in the splay
10285 tree for REFCOUNT_LINK objects after unmapping.
10286 * testsuite/libgomp.c/target-link-1.c: New file.
10288 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
10290 * libgomp.h (gomp_device_state): New enum.
10291 (struct gomp_device_descr): Replace is_initialized with state.
10292 (gomp_fini_device): Remove declaration.
10293 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
10294 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
10295 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
10296 (acc_set_device_type): Use state instead of is_initialized.
10297 (acc_set_device_num): Likewise.
10298 * target.c (resolve_device): Use state instead of is_initialized.
10299 Do not initialize finalized device.
10300 (gomp_map_vars): Do nothing if device is finalized.
10301 (gomp_unmap_vars): Likewise.
10302 (gomp_update): Likewise.
10303 (GOMP_offload_register_ver): Use state instead of is_initialized.
10304 (GOMP_offload_unregister_ver): Likewise.
10305 (gomp_init_device): Likewise.
10306 (gomp_unload_device): Likewise.
10307 (gomp_fini_device): Remove.
10308 (gomp_get_target_fn_addr): Do nothing if device is finalized.
10309 (GOMP_target): Go to host fallback if device is finalized.
10310 (GOMP_target_ext): Likewise.
10311 (gomp_exit_data): Do nothing if device is finalized.
10312 (gomp_target_task_fn): Go to host fallback if device is finalized.
10313 (gomp_target_fini): New static function.
10314 (gomp_target_init): Use state instead of is_initialized.
10315 Call gomp_target_fini at exit.
10317 2015-12-09 Tom de Vries <tom@codesourcery.com>
10319 PR tree-optimization/68716
10320 * testsuite/libgomp.c/omp-nested-2.c: New test.
10322 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
10324 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
10325 target openacc_nvidia_accel_selected.
10326 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
10327 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
10328 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
10329 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
10331 2015-12-01 Julian Brown <julian@codesourcery.com>
10332 James Norris <James_Norris@mentor.com>
10334 * oacc-parallel.c (GOACC_host_data): New function.
10335 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
10336 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
10337 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
10338 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
10339 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
10340 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
10341 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
10343 2015-11-30 James Norris <jnorris@codesourcery.com>
10344 Cesar Philippidis <cesar@codesourcery.com>
10347 * libgomp.oacc-fortran/routine-5.f90: New test.
10348 * libgomp.oacc-fortran/routine-7.f90: New test.
10349 * libgomp.oacc-fortran/routine-9.f90: New test.
10351 2015-11-30 Tom de Vries <tom@codesourcery.com>
10353 PR tree-optimization/46032
10354 * testsuite/libgomp.c/pr46032.c: New test.
10356 2015-11-27 Jakub Jelinek <jakub@redhat.com>
10359 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
10360 (gomp_create_target_task): Call it before freeing
10361 GOMP_TARGET_TASK_DATA tasks.
10364 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
10365 in between case label and OpenMP standalone directives.
10366 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
10368 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
10370 * configure: Regenerate.
10372 2015-11-26 Jakub Jelinek <jakub@redhat.com>
10374 * testsuite/libgomp.c/target-35.c: New test.
10376 2015-11-22 James Norris <jnorris@codesourcery.com>
10377 Cesar Philippidis <cesar@codesourcery.com>
10379 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
10380 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
10381 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
10382 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
10383 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
10385 2015-11-20 Jakub Jelinek <jakub@redhat.com>
10387 PR middle-end/68221
10388 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
10389 * testsuite/libgomp.c/reduction-12.c: Likewise.
10390 * testsuite/libgomp.c++/reduction-11.C: Likewise.
10391 * testsuite/libgomp.c++/reduction-12.C: Likewise.
10393 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
10395 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
10396 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
10397 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
10398 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
10399 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
10401 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10402 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10404 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
10406 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
10407 worker & gang cases.
10408 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
10410 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
10412 * config/nvptx/priority_queue.c: New file.
10414 2015-11-14 Jakub Jelinek <jakub@redhat.com>
10416 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
10419 2015-11-14 Jakub Jelinek <jakub@redhat.com>
10420 Aldy Hernandez <aldyh@redhat.com>
10421 Ilya Verbin <ilya.verbin@intel.com>
10423 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
10424 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
10425 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
10426 iterators or IV by chunk size.
10427 * parallel.c (gomp_resolve_num_threads): Don't assume that
10428 if thr->ts.team is non-NULL, then pool must be non-NULL.
10429 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
10430 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
10431 GOMP_PLUGIN_target_task_completion.
10432 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
10433 * Makefile.in: Regenerate.
10434 * libgomp.h: Shuffle prototypes and forward definitions around so
10435 priority queues can be defined.
10436 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
10437 (enum gomp_target_task_state): New enum.
10438 (struct gomp_target_task): Add state, tgt, task and team fields.
10439 (gomp_create_target_task): Change return type to bool, add
10441 (gomp_target_task_fn): Change return type to bool.
10442 (struct gomp_device_descr): Add async_run_func.
10443 (struct gomp_task): Remove children, next_child, prev_child,
10444 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
10446 (struct gomp_taskgroup): Remove children.
10447 Add taskgroup_queue.
10448 (struct gomp_team): Change task_queue type to a priority queue.
10449 (splay_compare): Define inline.
10450 (priority_queue_offset): New.
10451 (priority_node_to_task): New.
10452 (task_to_priority_node): New.
10453 * oacc-mem.c: Do not include splay-tree.h.
10454 * priority_queue.c: New file.
10455 * priority_queue.h: New file.
10456 * splay-tree.c: Do not include splay-tree.h.
10457 (splay_tree_foreach_internal): New.
10458 (splay_tree_foreach): New.
10459 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
10460 (splay_tree_callback): Define typedef.
10461 * target.c (splay_compare): Move to libgomp.h.
10462 (GOMP_target): Don't adjust *thr in any way around running offloaded
10464 (GOMP_target_ext): Likewise. Handle target nowait.
10465 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
10466 return value from gomp_create_target_task, if false, fallthrough
10467 as if no dependencies exist.
10468 (gomp_target_task_fn): Change return type to bool, return true
10469 if the task should have another part scheduled later. Handle
10471 (gomp_load_plugin_for_device): Initialize async_run.
10472 * task.c (gomp_init_task): Initialize children_queue.
10473 (gomp_clear_parent_in_list): New.
10474 (gomp_clear_parent_in_tree): New.
10475 (gomp_clear_parent): Handle priorities.
10476 (GOMP_task): Likewise.
10477 (priority_queue_move_task_first,
10478 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
10480 (gomp_create_target_task): Use priority queues. Change return type
10481 to bool, add state argument, return false if for async
10482 {{enter,exit} data,update} constructs no dependencies need to be
10483 waited for, handle target nowait. Set task->fn to NULL instead of
10484 gomp_target_task_fn.
10485 (verify_children_queue): Remove.
10486 (priority_list_upgrade_task): New.
10487 (priority_queue_upgrade_task): New.
10488 (verify_task_queue): Remove.
10489 (priority_list_downgrade_task): New.
10490 (priority_queue_downgrade_task): New.
10491 (gomp_task_run_pre): Use priority queues.
10492 Abstract code out to priority_queue_downgrade_task.
10493 (gomp_task_run_post_handle_dependers): Use priority queues.
10494 (gomp_task_run_post_remove_parent): Likewise.
10495 (gomp_task_run_post_remove_taskgroup): Likewise.
10496 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
10498 (GOMP_taskwait): Likewise.
10499 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
10500 priority-queue_upgrade_task.
10501 (GOMP_taskgroup_start): Use priority queues.
10502 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
10503 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
10505 * taskloop.c (GOMP_taskloop): Handle priorities.
10506 * team.c (gomp_new_team): Call priority_queue_init.
10507 (free_team): Call priority_queue_free.
10508 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
10509 team created for target nowait in implicit parallel region.
10510 (gomp_team_start): For nested check, test thr->ts.level instead of
10511 thr->ts.team != NULL.
10512 * testsuite/libgomp.c/doacross-3.c: New test.
10513 * testsuite/libgomp.c/ordered-5.c: New test.
10514 * testsuite/libgomp.c/priority.c: New test.
10515 * testsuite/libgomp.c/target-31.c: New test.
10516 * testsuite/libgomp.c/target-32.c: New test.
10517 * testsuite/libgomp.c/target-33.c: New test.
10518 * testsuite/libgomp.c/target-34.c: New test.
10520 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10522 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
10524 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
10525 loop is sequential.
10527 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
10529 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
10530 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
10532 2015-11-12 James Norris <jnorris@codesourcery.com>
10533 Joseph Myers <joseph@codesourcery.com>
10535 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
10536 * oacc-parallel.c (GOACC_declare): New function.
10537 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
10538 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
10539 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
10540 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
10541 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
10543 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
10545 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
10547 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
10549 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
10550 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
10552 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10554 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
10555 inadvertent commit.
10557 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
10559 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
10560 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
10561 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
10562 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
10563 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
10565 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
10567 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
10568 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
10570 2015-11-05 Jakub Jelinek <jakub@redhat.com>
10571 Ilya Verbin <ilya.verbin@intel.com>
10573 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
10574 GOMP_loop_nonmonotonic_dynamic_start,
10575 GOMP_loop_nonmonotonic_guided_next,
10576 GOMP_loop_nonmonotonic_guided_start,
10577 GOMP_loop_ull_nonmonotonic_dynamic_next,
10578 GOMP_loop_ull_nonmonotonic_dynamic_start,
10579 GOMP_loop_ull_nonmonotonic_guided_next,
10580 GOMP_loop_ull_nonmonotonic_guided_start,
10581 GOMP_parallel_loop_nonmonotonic_dynamic,
10582 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
10583 (GOMP_target_41): Renamed to ...
10584 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10586 (GOMP_target_data_41): Renamed to ...
10587 (GOMP_target_data_ext): ... this.
10588 (GOMP_target_update_41): Renamed to ...
10589 (GOMP_target_update_ext): ... this.
10590 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
10591 GOMP_target_data_ext and GOMP_target_update_ext instead of
10592 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
10593 Export GOMP_loop_nonmonotonic_dynamic_next,
10594 GOMP_loop_nonmonotonic_dynamic_start,
10595 GOMP_loop_nonmonotonic_guided_next,
10596 GOMP_loop_nonmonotonic_guided_start,
10597 GOMP_loop_ull_nonmonotonic_dynamic_next,
10598 GOMP_loop_ull_nonmonotonic_dynamic_start,
10599 GOMP_loop_ull_nonmonotonic_guided_next,
10600 GOMP_loop_ull_nonmonotonic_guided_start,
10601 GOMP_parallel_loop_nonmonotonic_dynamic and
10602 GOMP_parallel_loop_nonmonotonic_guided.
10603 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
10604 GOMP_parallel_loop_nonmonotonic_guided,
10605 GOMP_loop_nonmonotonic_dynamic_start,
10606 GOMP_loop_nonmonotonic_guided_start,
10607 GOMP_loop_nonmonotonic_dynamic_next,
10608 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
10609 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
10610 GOMP_loop_ull_nonmonotonic_guided_start,
10611 GOMP_loop_ull_nonmonotonic_dynamic_next,
10612 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
10613 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
10615 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
10616 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
10617 Use gomp_map_val function.
10618 (gomp_target_fallback_firstprivate): New static function.
10619 (GOMP_target_41): Renamed to ...
10620 (GOMP_target_ext): ... this. Add num_teams and thread_limit
10621 arguments. Move firstprivate fallback handling into a new
10623 (GOMP_target_data_41): Renamed to ...
10624 (GOMP_target_data_ext): ... this.
10625 (GOMP_target_update_41): Renamed to ...
10626 (GOMP_target_update_ext): ... this.
10627 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
10628 gomp_map_0len_lookup instead of gomp_map_lookup.
10629 (omp_target_is_present): Use gomp_map_0len_lookup instead of
10631 * testsuite/libgomp.c/target-28.c: Likewise.
10632 * testsuite/libgomp.c/monotonic-1.c: New test.
10633 * testsuite/libgomp.c/monotonic-2.c: New test.
10634 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
10635 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
10636 * testsuite/libgomp.c/pr66199-5.c: New test.
10637 * testsuite/libgomp.c/pr66199-6.c: New test.
10638 * testsuite/libgomp.c/pr66199-7.c: New test.
10639 * testsuite/libgomp.c/pr66199-8.c: New test.
10640 * testsuite/libgomp.c/pr66199-9.c: New test.
10641 * testsuite/libgomp.c/reduction-11.c: New test.
10642 * testsuite/libgomp.c/reduction-12.c: New test.
10643 * testsuite/libgomp.c/reduction-13.c: New test.
10644 * testsuite/libgomp.c/reduction-14.c: New test.
10645 * testsuite/libgomp.c/reduction-15.c: New test.
10646 * testsuite/libgomp.c/target-12.c (main): Adjust for
10647 omp_target_is_present change for one-past-last element.
10648 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
10649 the same var is both mapped and privatized.
10650 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
10651 handling of zero-length array sections.
10652 * testsuite/libgomp.c/target-28.c: New test.
10653 * testsuite/libgomp.c/target-29.c: New test.
10654 * testsuite/libgomp.c/target-30.c: New test.
10655 * testsuite/libgomp.c/target-teams-1.c: New test.
10656 * testsuite/libgomp.c++/member-6.C: New test.
10657 * testsuite/libgomp.c++/member-7.C: New test.
10658 * testsuite/libgomp.c++/monotonic-1.C: New test.
10659 * testsuite/libgomp.c++/monotonic-2.C: New test.
10660 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
10661 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
10662 * testsuite/libgomp.c++/pr66199-3.C: New test.
10663 * testsuite/libgomp.c++/pr66199-4.C: New test.
10664 * testsuite/libgomp.c++/pr66199-5.C: New test.
10665 * testsuite/libgomp.c++/pr66199-6.C: New test.
10666 * testsuite/libgomp.c++/pr66199-7.C: New test.
10667 * testsuite/libgomp.c++/pr66199-8.C: New test.
10668 * testsuite/libgomp.c++/pr66199-9.C: New test.
10669 * testsuite/libgomp.c++/reduction-11.C: New test.
10670 * testsuite/libgomp.c++/reduction-12.C: New test.
10671 * testsuite/libgomp.c++/target-13.C: New test.
10672 * testsuite/libgomp.c++/target-14.C: New test.
10673 * testsuite/libgomp.c++/target-15.C: New test.
10674 * testsuite/libgomp.c++/target-16.C: New test.
10675 * testsuite/libgomp.c++/target-17.C: New test.
10676 * testsuite/libgomp.c++/target-18.C: New test.
10677 * testsuite/libgomp.c++/target-19.C: New test.
10679 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10681 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
10682 and reduction copy.
10683 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
10684 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
10685 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
10686 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10687 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
10688 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
10689 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
10690 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10691 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
10692 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
10693 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
10694 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
10695 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
10696 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
10698 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
10700 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
10701 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
10702 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
10703 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
10704 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
10705 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
10706 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
10707 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
10709 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
10711 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
10712 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
10713 (GOMP_OFFLOAD_openacc_parallel): Likewise.
10714 * oacc-host.c (host_openacc_exec): Likewise.
10715 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
10717 2015-11-03 Julian Brown <julian@codesourcery.com>
10718 Thomas Schwinge <thomas@codesourcery.com>
10720 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
10721 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
10722 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
10724 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
10725 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
10727 2015-11-03 James Norris <jnorris@codesourcery.com>
10729 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
10731 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
10733 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
10734 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
10735 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
10736 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
10737 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
10739 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
10741 * openacc.h (enum acc_device_t): Reformat. Ensure layout
10743 (enum acc_async_t): Reformat.
10744 (acc_on_device): Declare compatible with builtin and provide C++
10746 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
10748 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
10749 Cesar Philippidis <cesar@codesourcery.com>
10751 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
10752 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
10753 ... this. Add a description of the test at the top of the file.
10754 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
10755 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
10756 ... this. Add a description of the test at the top of the file.
10758 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
10760 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
10761 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
10762 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
10763 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
10764 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
10765 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
10767 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
10769 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
10772 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
10775 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
10777 2015-10-27 James Norris <jnorris@codesourcery.com>
10779 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
10780 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
10782 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
10784 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
10785 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
10787 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
10788 acc_device_nvidia usage.
10789 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
10790 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
10791 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
10793 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
10794 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
10797 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
10801 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
10802 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
10804 2015-10-23 Tom de Vries <tom@codesourcery.com>
10807 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
10809 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
10811 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
10813 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
10815 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
10816 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
10818 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
10819 to 0 when mapnum is 0.
10821 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
10823 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
10824 Cast to int from int32_t.
10826 2015-10-13 Jakub Jelinek <jakub@redhat.com>
10827 Aldy Hernandez <aldyh@redhat.com>
10828 Ilya Verbin <ilya.verbin@intel.com>
10830 * config/linux/affinity.c (omp_get_place_num_procs,
10831 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10832 * config/linux/doacross.h: New file.
10833 * config/posix/affinity.c (omp_get_place_num_procs,
10834 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
10835 * config/posix/doacross.h: New file.
10836 * env.c: Include gomp-constants.h.
10837 (struct gomp_task_icv): Rename run_sched_modifier to
10838 run_sched_chunk_size.
10839 (gomp_max_task_priority_var): New variable.
10840 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
10841 (handle_omp_display_env): Change _OPENMP value from 201307 to
10842 201511. Print OMP_MAX_TASK_PRIORITY.
10843 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
10844 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
10845 chunk_size and run_sched_modifier to run_sched_chunk_size.
10846 (omp_get_max_task_priority, omp_get_initial_device,
10847 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
10848 omp_get_partition_place_nums): New functions.
10849 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
10850 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
10852 (omp_get_num_places_, omp_get_place_num_procs_,
10853 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
10854 omp_get_place_proc_ids_8_, omp_get_place_num_,
10855 omp_get_partition_num_places_, omp_get_partition_place_nums_,
10856 omp_get_partition_place_nums_8_, omp_get_initial_device_,
10857 omp_get_max_task_priority_): New functions.
10858 * libgomp_g.h (GOMP_loop_doacross_static_start,
10859 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
10860 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
10861 GOMP_loop_ull_doacross_dynamic_start,
10862 GOMP_loop_ull_doacross_guided_start,
10863 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
10864 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
10865 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
10866 GOMP_target_data_41, GOMP_target_update_41,
10867 GOMP_target_enter_exit_data): New prototypes.
10868 (GOMP_task): Add prototype argument.
10869 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
10870 (struct gomp_doacross_work_share): New type.
10871 (struct gomp_work_share): Add doacross field.
10872 (struct gomp_task_icv): Rename run_sched_modifier to
10873 run_sched_chunk_size.
10874 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
10875 GOMP_TASK_UNDEFERRED. Add comments.
10876 (struct gomp_task_depend_entry): Add comments.
10877 (struct gomp_task): Likewise.
10878 (struct gomp_taskgroup): Likewise.
10879 (struct gomp_target_task): New type.
10880 (struct gomp_team): Add comment.
10881 (gomp_get_place_proc_ids_8, gomp_doacross_init,
10882 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
10883 gomp_create_target_task, gomp_target_task_fn): New prototypes.
10884 (struct target_var_desc): New type.
10885 (struct target_mem_desc): Adjust comment. Use struct
10886 target_var_desc instead of splay_tree_key for list.
10887 (REFCOUNT_INFINITY): Define.
10888 (struct splay_tree_key_s): Remove copy_from field.
10889 (struct gomp_device_descr): Add dev2dev_func field.
10890 (enum gomp_map_vars_kind): New enum.
10891 (gomp_map_vars): Add one argument.
10892 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
10893 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
10894 omp_get_place_num_procs, omp_get_place_num_procs_,
10895 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
10896 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
10897 omp_get_place_num_, omp_get_partition_num_places,
10898 omp_get_partition_num_places_, omp_get_partition_place_nums,
10899 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
10900 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
10901 omp_target_free, omp_target_is_present, omp_target_memcpy,
10902 omp_target_memcpy_rect, omp_target_associate_ptr and
10903 omp_target_disassociate_ptr.
10904 (GOMP_4.0.2): Renamed to ...
10905 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
10906 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
10907 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
10908 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10909 GOMP_loop_doacross_static_start, GOMP_doacross_post,
10910 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
10911 GOMP_loop_ull_doacross_guided_start,
10912 GOMP_loop_ull_doacross_runtime_start,
10913 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
10914 GOMP_doacross_ull_wait.
10915 * libgomp.texi: Document omp_get_max_task_priority.
10916 Rename modifier argument to chunk_size for omp_set_schedule and
10917 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
10918 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
10919 to run_sched_chunk_size renaming.
10920 (GOMP_loop_ordered_runtime_start): Likewise.
10921 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
10922 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
10923 GOMP_parallel_loop_runtime_start): New functions.
10924 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
10925 to run_sched_chunk_size renaming.
10926 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
10927 GOMP_loop_doacross_guided_start): New functions or aliases.
10928 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
10929 run_sched_modifier to run_sched_chunk_size renaming.
10930 (GOMP_loop_ull_ordered_runtime_start): Likewise.
10931 (gomp_loop_ull_doacross_static_start,
10932 gomp_loop_ull_doacross_dynamic_start,
10933 gomp_loop_ull_doacross_guided_start,
10934 GOMP_loop_ull_doacross_runtime_start): New functions.
10935 (GOMP_loop_ull_doacross_static_start,
10936 GOMP_loop_ull_doacross_dynamic_start,
10937 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
10938 * oacc-mem.c (acc_map_data, present_create_copy,
10939 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
10941 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
10942 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
10943 instead of false to gomp_map_vars.
10944 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
10945 * omp.h.in (omp_lock_hint_t): New type.
10946 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10947 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10948 omp_get_place_num, omp_get_partition_num_places,
10949 omp_get_partition_place_nums, omp_get_initial_device,
10950 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
10951 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
10952 omp_target_associate_ptr, omp_target_disassociate_ptr): New
10954 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
10955 (omp_lock_hint_none, omp_lock_hint_uncontended,
10956 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10957 omp_lock_hint_speculative): New parameters.
10958 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10959 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10960 omp_get_place_num, omp_get_partition_num_places,
10961 omp_get_partition_place_nums, omp_get_initial_device,
10962 omp_get_max_task_priority): New interfaces.
10963 (omp_set_schedule, omp_get_schedule): Rename modifier argument
10965 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
10966 (omp_lock_hint_none, omp_lock_hint_uncontended,
10967 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
10968 omp_lock_hint_speculative): New parameters.
10969 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
10970 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
10971 omp_get_place_num, omp_get_partition_num_places,
10972 omp_get_partition_place_nums, omp_get_initial_device,
10973 omp_get_max_task_priority): New functions and subroutines.
10974 * ordered.c: Include stdarg.h and string.h.
10975 (MAX_COLLAPSED_BITS): Define.
10976 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
10977 gomp_doacross_ull_init, GOMP_doacross_ull_post,
10978 GOMP_doacross_ull_wait): New functions.
10979 * target.c: Include errno.h.
10980 (resolve_device): If device is not initialized, call
10981 gomp_init_device on it.
10982 (gomp_map_lookup): New function.
10983 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
10984 Don't bump refcount if REFCOUNT_INFINITY. Handle
10985 GOMP_MAP_ALWAYS_TO_P.
10986 (get_kind): Rename is_openacc argument to short_mapkind.
10987 (gomp_map_pointer): Use gomp_map_lookup.
10988 (gomp_map_fields_existing): New function.
10989 (gomp_map_vars): Rename is_openacc argument to short_mapkind
10990 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
10991 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
10992 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
10993 Adjust for tgt->list changed type and copy_from living in there.
10994 (gomp_copy_from_async): Adjust for tgt->list changed type and
10995 copy_from living in there.
10996 (gomp_unmap_vars): Likewise.
10997 (gomp_update): Likewise. Rename is_openacc argument to
10998 short_mapkind. Don't fail if object is not mapped.
10999 (gomp_load_image_to_device): Initialize refcount to
11001 (gomp_target_fallback): New function.
11002 (gomp_get_target_fn_addr): Likewise.
11003 (GOMP_target): Adjust gomp_map_vars caller, use
11004 gomp_get_target_fn_addr and gomp_target_fallback.
11005 (GOMP_target_41): New function.
11006 (gomp_target_data_fallback): New function.
11007 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
11008 (GOMP_target_data_41): New function.
11009 (GOMP_target_update): Adjust gomp_update caller.
11010 (GOMP_target_update_41): New function.
11011 (gomp_exit_data, GOMP_target_enter_exit_data,
11012 gomp_target_task_fn, omp_target_alloc, omp_target_free,
11013 omp_target_is_present, omp_target_memcpy,
11014 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
11015 omp_target_associate_ptr, omp_target_disassociate_ptr,
11016 gomp_load_plugin_for_device): New functions.
11017 * task.c: Include gomp-constants.h. Include taskloop.c
11018 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
11019 (gomp_task_handle_depend): New function.
11020 (GOMP_task): Use it. Add priority argument. Use
11021 gomp-constant.h constants instead of hardcoded numbers.
11022 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
11023 (gomp_create_target_task): New function.
11024 (verify_children_queue, verify_taskgroup_queue,
11025 verify_task_queue): New functions.
11026 (gomp_task_run_pre): Call verify_*_queue functions.
11027 If an upcoming tied task is about to leave the sibling or
11028 taskgroup queues in an invalid state, adjust appropriately.
11029 Remove taskgroup argument. Add comments.
11030 (gomp_task_run_post_handle_dependers): Add comments.
11031 (gomp_task_run_post_remove_parent): Likewise.
11032 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
11033 (GOMP_taskwait): Likewise. Add comments.
11034 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
11035 problem such that the first non parent_depends_on task does not
11036 end up at the end of the children queue.
11037 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
11038 GOMP_TASK_UNDEFERRED.
11039 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
11040 * taskloop.c: New file.
11041 * testsuite/lib/libgomp.exp
11042 (check_effective_target_offload_device_nonshared_as): New proc.
11043 * testsuite/libgomp.c/affinity-2.c: New test.
11044 * testsuite/libgomp.c/doacross-1.c: New test.
11045 * testsuite/libgomp.c/doacross-2.c: New test.
11046 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
11047 Add map clause to target.
11048 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
11049 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
11050 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
11051 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
11052 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
11054 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
11055 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
11056 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
11057 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
11058 not defined. Use those where needed.
11059 * testsuite/libgomp.c/for-4.c: New test.
11060 * testsuite/libgomp.c/for-5.c: New test.
11061 * testsuite/libgomp.c/for-6.c: New test.
11062 * testsuite/libgomp.c/linear-1.c: New test.
11063 * testsuite/libgomp.c/ordered-4.c: New test.
11064 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
11065 only allowed on the loop iterator.
11066 * testsuite/libgomp.c/pr66199-3.c: New test.
11067 * testsuite/libgomp.c/pr66199-4.c: New test.
11068 * testsuite/libgomp.c/reduction-7.c: New test.
11069 * testsuite/libgomp.c/reduction-8.c: New test.
11070 * testsuite/libgomp.c/reduction-9.c: New test.
11071 * testsuite/libgomp.c/reduction-10.c: New test.
11072 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
11074 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
11075 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
11076 * testsuite/libgomp.c/target-11.c: New test.
11077 * testsuite/libgomp.c/target-12.c: New test.
11078 * testsuite/libgomp.c/target-13.c: New test.
11079 * testsuite/libgomp.c/target-14.c: New test.
11080 * testsuite/libgomp.c/target-15.c: New test.
11081 * testsuite/libgomp.c/target-16.c: New test.
11082 * testsuite/libgomp.c/target-17.c: New test.
11083 * testsuite/libgomp.c/target-18.c: New test.
11084 * testsuite/libgomp.c/target-19.c: New test.
11085 * testsuite/libgomp.c/target-20.c: New test.
11086 * testsuite/libgomp.c/target-21.c: New test.
11087 * testsuite/libgomp.c/target-22.c: New test.
11088 * testsuite/libgomp.c/target-23.c: New test.
11089 * testsuite/libgomp.c/target-24.c: New test.
11090 * testsuite/libgomp.c/target-25.c: New test.
11091 * testsuite/libgomp.c/target-26.c: New test.
11092 * testsuite/libgomp.c/target-27.c: New test.
11093 * testsuite/libgomp.c/taskloop-1.c: New test.
11094 * testsuite/libgomp.c/taskloop-2.c: New test.
11095 * testsuite/libgomp.c/taskloop-3.c: New test.
11096 * testsuite/libgomp.c/taskloop-4.c: New test.
11097 * testsuite/libgomp.c++/ctor-13.C: New test.
11098 * testsuite/libgomp.c++/doacross-1.C: New test.
11099 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
11100 Replace offload_device with offload_device_nonshared_as.
11101 * testsuite/libgomp.c++/for-12.C: New test.
11102 * testsuite/libgomp.c++/for-13.C: New test.
11103 * testsuite/libgomp.c++/for-14.C: New test.
11104 * testsuite/libgomp.c++/linear-1.C: New test.
11105 * testsuite/libgomp.c++/member-1.C: New test.
11106 * testsuite/libgomp.c++/member-2.C: New test.
11107 * testsuite/libgomp.c++/member-3.C: New test.
11108 * testsuite/libgomp.c++/member-4.C: New test.
11109 * testsuite/libgomp.c++/member-5.C: New test.
11110 * testsuite/libgomp.c++/ordered-1.C: New test.
11111 * testsuite/libgomp.c++/reduction-5.C: New test.
11112 * testsuite/libgomp.c++/reduction-6.C: New test.
11113 * testsuite/libgomp.c++/reduction-7.C: New test.
11114 * testsuite/libgomp.c++/reduction-8.C: New test.
11115 * testsuite/libgomp.c++/reduction-9.C: New test.
11116 * testsuite/libgomp.c++/reduction-10.C: New test.
11117 * testsuite/libgomp.c++/reference-1.C: New test.
11118 * testsuite/libgomp.c++/simd14.C: New test.
11119 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
11120 * testsuite/libgomp.c++/target-5.C: New test.
11121 * testsuite/libgomp.c++/target-6.C: New test.
11122 * testsuite/libgomp.c++/target-7.C: New test.
11123 * testsuite/libgomp.c++/target-8.C: New test.
11124 * testsuite/libgomp.c++/target-9.C: New test.
11125 * testsuite/libgomp.c++/target-10.C: New test.
11126 * testsuite/libgomp.c++/target-11.C: New test.
11127 * testsuite/libgomp.c++/target-12.C: New test.
11128 * testsuite/libgomp.c++/taskloop-1.C: New test.
11129 * testsuite/libgomp.c++/taskloop-2.C: New test.
11130 * testsuite/libgomp.c++/taskloop-3.C: New test.
11131 * testsuite/libgomp.c++/taskloop-4.C: New test.
11132 * testsuite/libgomp.c++/taskloop-5.C: New test.
11133 * testsuite/libgomp.c++/taskloop-6.C: New test.
11134 * testsuite/libgomp.c++/taskloop-7.C: New test.
11135 * testsuite/libgomp.c++/taskloop-8.C: New test.
11136 * testsuite/libgomp.c++/taskloop-9.C: New test.
11137 * testsuite/libgomp.fortran/affinity1.f90: New test.
11138 * testsuite/libgomp.fortran/affinity2.f90: New test.
11140 2015-10-13 Tom de Vries <tom@codesourcery.com>
11142 PR tree-optimization/67476
11143 * testsuite/libgomp.c/autopar-3.c: New test.
11144 * testsuite/libgomp.c/autopar-4.c: New test.
11145 * testsuite/libgomp.c/autopar-5.c: New test.
11146 * testsuite/libgomp.c/autopar-6.c: New test.
11147 * testsuite/libgomp.c/autopar-7.c: New test.
11148 * testsuite/libgomp.c/autopar-8.c: New test.
11150 2015-10-12 James Norris <jnorris@codesourcery.com>
11152 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
11155 2015-10-09 David Malcolm <dmalcolm@redhat.com>
11157 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
11158 using load_gcc_lib.
11160 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
11162 * oacc-ptx.h: Remove file, moving its content into...
11163 * config/nvptx/fortran.c: ... here...
11164 * config/nvptx/oacc-init.c: ..., here...
11165 * config/nvptx/oacc-parallel.c: ..., and here.
11166 * config/nvptx/openacc.f90: New file.
11167 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
11168 (link_ptx): Don't link in predefined bits of PTX code.
11170 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
11171 Bernd Schmidt <bernds@codesourcery.com>
11173 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
11174 (struct targ_ptx_obj): New.
11175 (nvptx_tdata): Move earlier, change data format.
11176 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
11178 (GOMP_OFFLOAD_load_image): Adjust.
11180 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
11182 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
11183 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
11184 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
11185 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
11186 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
11187 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
11188 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
11189 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
11190 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
11191 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
11192 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
11193 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
11194 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
11195 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
11196 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
11197 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
11198 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
11199 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
11200 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
11201 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
11202 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
11203 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
11204 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
11205 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
11206 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
11207 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
11208 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
11209 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
11210 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
11211 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
11212 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
11213 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
11214 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
11215 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
11216 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11217 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
11218 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
11219 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
11220 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
11221 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
11222 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
11223 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
11224 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
11225 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
11226 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
11227 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
11228 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
11229 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
11230 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
11231 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
11232 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
11233 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
11234 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
11235 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
11236 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
11237 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
11238 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
11239 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
11240 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
11241 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
11242 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
11243 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
11244 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
11246 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11248 * oacc-init.c (acc_on_device): Force optimization level.
11250 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
11252 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
11253 (cuda_errlist): Delete.
11254 (cuda_error): Reimplement.
11256 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
11258 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
11260 * libgomp.map (GOACC_parallel_keyed): New.
11261 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
11263 (GOACC_parallel_keyed): New interface. Lose geometry arguments
11264 and take keyed varargs list. Adjust call to exec_func.
11265 (GOACC_parallel): Force host fallback.
11266 * libgomp_g.h (GOACC_parallel): Remove.
11267 (GOACC_parallel_keyed): Declare.
11268 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
11269 (struct targ_gn_descriptor): Replace name field with launch field.
11270 (nvptx_exec): Lose separate geometry args, take array. Process
11271 dynamic dimensions and adjust.
11272 (struct nvptx_tdata): Replace fn_names field with fn_descs.
11273 (GOMP_OFFLOAD_load_image): Adjust for change in function table
11275 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
11277 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
11280 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
11283 * oacc-int.h (goacc_host_init): Add declaration.
11284 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
11285 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
11287 2015-09-08 Aditya Kumar <hiraditya@msn.com>
11288 Sebastian Pop <s.pop@samsung.com>
11290 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
11292 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
11293 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
11294 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
11295 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
11296 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
11298 2015-09-03 Jakub Jelinek <jakub@redhat.com>
11300 * configure.tgt: Add missing ;; in between nvptx and rtems
11303 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11305 * config/posix/pool.h (gomp_adjust_thread_attr): New.
11306 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
11307 (gomp_thread_pool_reservoir): Add priority member.
11308 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
11310 (parse_thread_pools): Likewise.
11311 * team.c (gomp_team_start): Call configuration provided
11312 gomp_adjust_thread_attr(). Destroy thread attributes if
11314 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
11316 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11318 * config/posix/pool.h: New.
11319 * config/rtems/pool.h: Likewise.
11320 * config/rtems/proc.c: Likewise.
11321 * libgomp.h (gomp_thread_destructor): Declare.
11322 * team.c: Include configuration provided "pool.h".
11323 (gomp_get_thread_pool): Define in configuration.
11324 (gomp_team_end): Call configuration defined
11325 gomp_release_thread_pool().
11327 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11329 * config/rtems/bar.c: New.
11330 * config/rtems/bar.h: Likewise.
11331 * config/rtems/mutex.c: Likewise.
11332 * config/rtems/mutex.h: Likewise.
11333 * config/rtems/sem.c: Likewise.
11334 * config/rtems/sem.h: Likewise.
11335 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
11336 <sys/lock.h> header file.
11337 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
11338 supported by Newlib.
11339 * configure: Regenerate.
11341 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
11343 * team.c (gomp_new_thread_pool): Delete and move content to ...
11344 (gomp_get_thread_pool): ... new function. Allocate and
11345 initialize thread pool on demand.
11346 (get_last_team): Use gomp_get_thread_pool().
11347 (gomp_team_start): Delete thread pool initialization.
11349 2015-09-03 Tom de Vries <tom@codesourcery.com>
11351 PR tree-optimization/65637
11352 * testsuite/libgomp.c/autopar-2.c: New test.
11354 2015-08-29 Tom de Vries <tom@codesourcery.com>
11356 PR tree-optimization/46193
11357 * testsuite/libgomp.c/pr46193.c: New test.
11359 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
11362 * libgomp.map: Add 4.0.2 version.
11363 * target.c (offload_image_descr): Add version field.
11364 (gomp_load_image_to_device): Add version argument. Adjust plugin
11365 call. Improve load mismatch diagnostic.
11366 (gomp_unload_image_from_device): Add version argument. Adjust plugin
11368 (GOMP_offload_regster): Make stub function, move bulk to ...
11369 (GOMP_offload_register_ver): ... here. Process version argument.
11370 (GOMP_offload_unregister): Make stub function, move bulk to ...
11371 (GOMP_offload_unregister_ver): ... here. Process version argument.
11372 (gomp_init_device): Process version field.
11373 (gomp_unload_device): Process version field.
11374 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
11375 macros. Check plugin version.
11376 * libgomp.h (gomp_device_descr): Add version function field. Adjust
11377 loader and unloader types.
11378 * oacc-host.c: Include gomp-constants.h.
11379 (host_version): New.
11380 (host_load_image, host_unload_image): Adjust.
11381 (host_dispatch): Add host_version.
11382 * plugin/plugin-nvptx.c: Include gomp-constants.h.
11383 (GOMP_OFFLOAD_version): New.
11384 (GOMP_OFFLOAD_load_image): Add version arg and check it.
11385 (GOMP_OFFLOAD_unload_image): Likewise.
11386 * plugin/plugin-host.c: Include gomp-constants.h.
11387 (GOMP_OFFLOAD_version): New.
11388 (GOMP_OFFLOAD_load_image): Add version arg.
11389 (GOMP_OFFLOAD_unload_image): Likewise.
11391 2015-08-24 Tom de Vries <tom@codesourcery.com>
11393 PR tree-optimization/65468
11394 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
11396 2015-08-24 Tom de Vries <tom@codesourcery.com>
11398 PR tree-optimization/65468
11399 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
11401 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
11405 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
11406 (gomp_iter_guided_next): Idem.
11407 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
11408 (gomp_iter_ull_guided_next): Idem.
11409 * config/linux/wait.h (do_spin): Idem.
11411 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11413 * libgomp-plugin.h (enum offload_target_type): Remove
11414 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
11415 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
11416 * openacc.h (enum acc_device_t): Likewise.
11417 * openacc_lib.h: Likewise.
11418 * oacc-init.c (name_of_acc_device_t): Don't handle it.
11419 (acc_on_device): Just use __builtin_acc_on_device.
11420 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
11421 of acc_on_device builtin.
11422 * plugin/plugin-host.h: Remove file.
11423 * plugin/plugin-host.c: Likewise, but salvage some content into...
11424 * oacc-host.c: ... this file.
11425 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
11426 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
11427 * Makefile.in: Regenerate.
11428 * configure: Likewise.
11429 * testsuite/lib/libgomp.exp
11430 (check_effective_target_openacc_host_nonshm_selected): Remove.
11431 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
11432 ACC_DEVICE_TYPE=host_nonshm.
11433 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11434 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11435 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
11436 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
11437 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
11438 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
11440 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11441 Jakub Jelinek <jakub@redhat.com>
11443 * config/nvptx/affinity.c: New file.
11444 * config/nvptx/alloc.c: Likewise.
11445 * config/nvptx/bar.c: Likewise.
11446 * config/nvptx/barrier.c: Likewise.
11447 * config/nvptx/critical.c: Likewise.
11448 * config/nvptx/env.c: Likewise.
11449 * config/nvptx/error.c: Likewise.
11450 * config/nvptx/fortran.c: Likewise.
11451 * config/nvptx/iter.c: Likewise.
11452 * config/nvptx/iter_ull.c: Likewise.
11453 * config/nvptx/libgomp-plugin.c: Likewise.
11454 * config/nvptx/lock.c: Likewise.
11455 * config/nvptx/loop.c: Likewise.
11456 * config/nvptx/loop_ull.c: Likewise.
11457 * config/nvptx/mutex.c: Likewise.
11458 * config/nvptx/oacc-async.c: Likewise.
11459 * config/nvptx/oacc-cuda.c: Likewise.
11460 * config/nvptx/oacc-host.c: Likewise.
11461 * config/nvptx/oacc-init.c: Likewise.
11462 * config/nvptx/oacc-mem.c: Likewise.
11463 * config/nvptx/oacc-parallel.c: Likewise.
11464 * config/nvptx/oacc-plugin.c: Likewise.
11465 * config/nvptx/omp-lock.h: Likewise.
11466 * config/nvptx/ordered.c: Likewise.
11467 * config/nvptx/parallel.c: Likewise.
11468 * config/nvptx/proc.c: Likewise.
11469 * config/nvptx/ptrlock.c: Likewise.
11470 * config/nvptx/sections.c: Likewise.
11471 * config/nvptx/sem.c: Likewise.
11472 * config/nvptx/single.c: Likewise.
11473 * config/nvptx/splay-tree.c: Likewise.
11474 * config/nvptx/target.c: Likewise.
11475 * config/nvptx/task.c: Likewise.
11476 * config/nvptx/team.c: Likewise.
11477 * config/nvptx/time.c: Likewise.
11478 * config/nvptx/work.c: Likewise.
11479 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
11480 * configure: Regenerate.
11481 * configure.tgt (config_path): Set to "nvptx" for target
11484 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
11486 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
11488 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
11490 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
11491 (cuda_errlist): Constify.
11492 (errmsg): Move into ...
11493 (cuda_error): ... here. Make smaller.
11494 (_XSTR, _STR): Delete.
11495 (cuda_synames): Delete.
11496 (verify_device_library): Delete.
11497 (nvptx_init): Don't call it.
11499 2015-07-28 Tom de Vries <tom@codesourcery.com>
11501 * testsuite/libgomp.c/uns-outer-4.c: New test.
11503 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
11505 * testsuite/libgomp.c/pr66714.c: New test.
11507 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
11510 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
11511 (fib_ref): New function.
11512 (fib): Correct corner cases in the recursion.
11513 (main): Replace the non-simd loop with fib_ref call.
11514 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
11516 (fibonacci): Lower the parameter N to 30. Correct accordingly check
11517 for the last array element value. Replace the non-simd loop with
11518 fib_ref call. Remove redundant b_ref array. Remove the comparison
11519 of the last array element with according Fibonacci sequence element.
11520 (fib): Correct corner cases in the recursion.
11522 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
11524 * target.c (gomp_offload_image_to_device): Rename to ...
11525 (gomp_load_image_to_device): ... here.
11526 (GOMP_offload_register): Adjust call.
11527 (gomp_init_device): Likewise.
11528 (gomp_unload_image_from_device): New. Broken out of ...
11529 (GOMP_offload_unregister): ... here. Call it.
11530 (gomp_unload_device): New.
11531 * libgomp.h (gomp_unload_device): Declare.
11532 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
11535 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
11537 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
11539 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
11541 (goacc_waits): Move !num_waits handling to ...
11542 (GOACC_wait): ... here, the only caller that might have zero waits.
11544 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
11545 (struct ptx_image_data): Move earlier, add fns field.
11546 (struct ptx_device): Add images and image_lock fields.
11547 (ptx_images, ptx_image_lock): Delete.
11548 (nvptx_open_device): Initialize images and image_lock fields.
11549 (nvptx_close_device): Destroy image_lock.
11550 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
11551 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
11554 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
11556 * target.c (GOMP_offload_register): Use int for device type arg.
11557 (GOMP_offload_unregister): Likewise.
11559 * target.c (struct_offload_image_descr): Constify host_table.
11560 (gomp_offload_image_to_device): Likewise.
11561 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
11563 * libgomp.h (gomp_device_descr): Constify target data arguments.
11564 * target.c (struct offload_image_descr): Constify target_data.
11565 (gomp_offload_image_to_device): Likewise.
11566 (GOMP_offload_register): Likewise.
11567 (GOMP_offload_unregister): Likewise.
11568 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
11569 GOMP_OFFLOAD_unload_image): Constify target data.
11570 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
11571 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
11573 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
11575 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
11576 Workaround driver library const error.
11577 (struct nvptx_tdata, nvptx_tdata_t): New.
11578 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
11581 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
11583 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
11584 of EPS parameter from integer to real.
11585 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
11586 type of EPS parameter from integer to real.
11588 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
11590 * team.c (get_last_team): New.
11591 (gomp_new_team): Recycle last non-nested team if possible.
11592 (gomp_team_end): Move team work share list free lock destruction
11594 (free_team): ... here.
11596 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
11598 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
11599 and ref from int to double. Replaced their comparison with
11600 an inequality of their difference and EPS.
11601 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
11602 comparison of pri and a reference number with an inequality of their
11603 difference and EPS.
11604 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
11605 the comparison of sum and sum_ref with an inequality of their
11606 difference and EPS.
11607 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
11608 the comparison of pri and a reference number with an inequality of
11609 their difference and EPS.
11611 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
11613 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
11614 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
11615 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
11616 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
11617 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
11618 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
11619 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
11620 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
11621 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
11622 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
11623 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
11624 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
11625 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
11627 (vec_mult): Likewise. Add #pragma omp taskwait.
11628 (main): Adjust caller.
11629 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
11630 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
11631 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
11632 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
11633 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
11634 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
11635 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
11636 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
11637 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
11638 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
11639 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
11640 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
11641 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
11642 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
11643 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
11644 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
11645 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
11646 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
11647 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
11648 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
11649 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
11650 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
11651 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
11652 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
11653 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
11654 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
11655 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
11656 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
11657 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
11658 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
11659 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
11660 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
11661 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
11662 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
11663 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
11664 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
11665 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
11666 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
11667 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
11668 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
11669 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
11670 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
11671 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
11672 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
11673 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
11674 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
11675 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
11676 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
11677 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
11678 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
11679 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
11680 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
11681 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
11682 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
11683 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
11684 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
11685 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
11686 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
11687 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
11688 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
11689 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
11690 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
11691 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
11692 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
11693 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
11694 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
11695 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
11696 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
11697 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
11698 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
11699 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
11700 (vec_mult): Add !$omp taskwait.
11701 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
11702 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
11703 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
11704 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
11705 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
11706 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
11707 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
11708 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
11709 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
11710 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
11711 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
11712 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
11713 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
11714 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
11715 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
11716 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
11717 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
11718 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
11719 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
11720 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
11721 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
11722 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
11723 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
11724 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
11725 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
11726 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
11727 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
11728 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
11729 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
11730 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
11731 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
11732 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
11733 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
11734 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
11735 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
11736 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
11737 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
11738 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
11739 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
11740 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
11741 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
11742 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
11743 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
11744 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
11745 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
11746 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
11747 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
11748 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
11749 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
11750 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
11751 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
11752 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
11753 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
11754 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
11755 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
11756 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
11757 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
11758 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
11759 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
11760 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
11761 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
11762 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
11763 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
11764 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
11765 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
11766 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
11767 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
11769 2015-07-10 Tom de Vries <tom@codesourcery.com>
11771 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
11772 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
11774 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
11777 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
11778 in a 64-bit configuration.
11779 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
11780 offloading testing if no such device is available.
11781 * testsuite/libgomp.oacc-c/c.exp: Likewise.
11782 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
11784 2015-07-08 Tom de Vries <tom@codesourcery.com>
11786 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
11788 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11790 2015-07-07 Tom de Vries <tom@codesourcery.com>
11792 PR tree-optimization/66642
11793 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
11794 iteration count case.
11795 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
11796 function, factor out of ...
11797 (main): ... here. Test low iteration count case.
11799 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
11801 * libgomp.h (gomp_thread_pool): Comment last_team field.
11803 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
11805 * testsuite/libgomp.c++/pr66702-1.C: Require
11806 vect_simd_clones effective target.
11807 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
11809 2015-06-30 Tom de Vries <tom@codesourcery.com>
11811 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11812 already set. Use DEFAULT_CFLAGS in dg-runtest.
11813 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
11816 2015-06-30 Tom de Vries <tom@codesourcery.com>
11818 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
11819 already set. Use DEFAULT_CFLAGS in dg-runtest.
11820 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
11821 * testsuite/libgomp.c++/pr64824.C: Same.
11822 * testsuite/libgomp.c++/pr64868.C: Same.
11823 * testsuite/libgomp.c++/pr66199-1.C: Same.
11824 * testsuite/libgomp.c++/pr66199-2.C: Same.
11825 * testsuite/libgomp.c++/target-2.C: Same.
11826 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
11827 -std=<standard> option.
11828 * testsuite/libgomp.c++/udr-11.C: Same.
11829 * testsuite/libgomp.c++/udr-12.C: Same.
11830 * testsuite/libgomp.c++/udr-13.C: Same.
11831 * testsuite/libgomp.c++/udr-14.C: Same.
11832 * testsuite/libgomp.c++/udr-15.C: Same.
11833 * testsuite/libgomp.c++/udr-16.C: Same.
11834 * testsuite/libgomp.c++/udr-17.C: Same.
11835 * testsuite/libgomp.c++/udr-18.C: Same.
11836 * testsuite/libgomp.c++/udr-19.C: Same.
11837 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
11838 * testsuite/libgomp.c++/simd-1.C: Same.
11839 * testsuite/libgomp.c++/simd-2.C: Same.
11840 * testsuite/libgomp.c++/simd-3.C: Same.
11841 * testsuite/libgomp.c++/simd-4.C: Same.
11842 * testsuite/libgomp.c++/simd-5.C: Same.
11843 * testsuite/libgomp.c++/simd-6.C: Same.
11844 * testsuite/libgomp.c++/simd-7.C: Same.
11845 * testsuite/libgomp.c++/simd-8.C: Same.
11846 * testsuite/libgomp.c++/simd-9.C: Same.
11847 * testsuite/libgomp.c++/simd10.C: Same.
11848 * testsuite/libgomp.c++/simd11.C: Same.
11849 * testsuite/libgomp.c++/simd12.C: Same.
11850 * testsuite/libgomp.c++/simd13.C: Same.
11852 2015-06-30 Jakub Jelinek <jakub@redhat.com>
11854 PR middle-end/66702
11855 * testsuite/libgomp.c++/pr66702-1.C: New test.
11856 * testsuite/libgomp.c++/pr66702-2.C: New test.
11858 2015-06-30 Tom de Vries <tom@codesourcery.com>
11860 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
11861 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
11862 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
11863 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
11865 2015-06-30 Tom de Vries <tom@codesourcery.com>
11867 PR tree-optimization/66652
11868 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
11869 using restrict pointers.
11870 (main): Add arguments to calls to f.
11871 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11873 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
11875 * configure.ac: Fix check for header <sys/sysctl.h>.
11876 * configure: Regenerate.
11877 * config.h.in: Likewise.
11879 2015-06-23 Tom de Vries <tom@codesourcery.com>
11881 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
11883 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
11885 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
11887 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
11891 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
11892 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
11894 2015-06-15 Tom de Vries <tom@codesourcery.com>
11896 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
11897 dg-additional-options for any remaining options.
11898 * testsuite/libgomp.c/atomic-2.c: Same.
11899 * testsuite/libgomp.c/atomic-4.c: Same.
11900 * testsuite/libgomp.c/atomic-5.c: Same.
11901 * testsuite/libgomp.c/atomic-6.c: Same.
11902 * testsuite/libgomp.c/autopar-1.c: Same.
11903 * testsuite/libgomp.c/copyin-1.c: Same.
11904 * testsuite/libgomp.c/copyin-2.c: Same.
11905 * testsuite/libgomp.c/copyin-3.c: Same.
11906 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
11907 * testsuite/libgomp.c/nestedfn-5.c: Same.
11908 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
11909 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
11910 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
11911 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11912 * testsuite/libgomp.c/pr32362-1.c: Same.
11913 * testsuite/libgomp.c/pr32362-2.c: Same.
11914 * testsuite/libgomp.c/pr32362-3.c: Same.
11915 * testsuite/libgomp.c/pr39591-1.c: Same.
11916 * testsuite/libgomp.c/pr39591-2.c: Same.
11917 * testsuite/libgomp.c/pr39591-3.c: Same.
11918 * testsuite/libgomp.c/pr58392.c: Same.
11919 * testsuite/libgomp.c/pr58756.c: Same.
11920 * testsuite/libgomp.c/simd-1.c: Same.
11921 * testsuite/libgomp.c/simd-10.c: Same.
11922 * testsuite/libgomp.c/simd-11.c: Same.
11923 * testsuite/libgomp.c/simd-12.c: Same.
11924 * testsuite/libgomp.c/simd-13.c: Same.
11925 * testsuite/libgomp.c/simd-14.c: Same.
11926 * testsuite/libgomp.c/simd-15.c: Same.
11927 * testsuite/libgomp.c/simd-2.c: Same.
11928 * testsuite/libgomp.c/simd-3.c: Same.
11929 * testsuite/libgomp.c/simd-4.c: Same.
11930 * testsuite/libgomp.c/simd-5.c: Same.
11931 * testsuite/libgomp.c/simd-6.c: Same.
11932 * testsuite/libgomp.c/simd-7.c: Same.
11933 * testsuite/libgomp.c/simd-8.c: Same.
11934 * testsuite/libgomp.c/simd-9.c: Same.
11936 2015-06-15 Tom de Vries <tom@codesourcery.com>
11938 * testsuite/libgomp.c/pr35625.c: Fix typo.
11940 2015-06-15 Tom de Vries <tom@codesourcery.com>
11942 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
11944 * testsuite/libgomp.c/atomic-3.c: Same.
11945 * testsuite/libgomp.c/debug-1.c: Same.
11946 * testsuite/libgomp.c/nqueens-1.c: Same.
11947 * testsuite/libgomp.c/pr26171.c: Same.
11948 * testsuite/libgomp.c/pr48591.c: Same.
11949 * testsuite/libgomp.c/pr64824.c: Same.
11950 * testsuite/libgomp.c/pr64868.c: Same.
11951 * testsuite/libgomp.c/pr66133.c: Same.
11952 * testsuite/libgomp.c/pr66199-1.c: Same.
11953 * testsuite/libgomp.c/pr66199-2.c: Same.
11954 * testsuite/libgomp.c/target-8.c: Same.
11956 2015-06-15 Tom de Vries <tom@codesourcery.com>
11958 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
11960 * testsuite/libgomp.c/for-1.c: Same.
11961 * testsuite/libgomp.c/for-2.c: Same.
11962 * testsuite/libgomp.c/for-3.c: Same.
11963 * testsuite/libgomp.c/pr35625.c: Same.
11964 * testsuite/libgomp.c/pr39154.c: Same.
11965 * testsuite/libgomp.c/simd-16.c: Same.
11966 * testsuite/libgomp.c/simd-17.c: Same.
11968 2015-06-13 Tom de Vries <tom@codesourcery.com>
11970 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
11972 2015-06-13 Tom de Vries <tom@codesourcery.com>
11974 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
11975 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
11976 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
11978 (main): Use N instead of hardcoded constants.
11980 2015-06-05 Tom de Vries <tom@codesourcery.com>
11982 merge from gomp4 branch:
11983 2015-05-28 Tom de Vries <tom@codesourcery.com>
11985 PR tree-optimization/65443
11986 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
11987 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
11988 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
11990 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
11992 * testsuite/libgomp.graphite/bounds.c: Adjust for
11993 cleanup-tree-dump removal.
11994 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
11995 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
11996 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
11997 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
11998 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
11999 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
12000 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
12001 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
12002 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
12003 * testsuite/libgomp.graphite/pr41118.c: Likewise.
12005 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
12007 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
12008 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
12009 (futex_wake) [!__x86_64__]: Ditto.
12011 2015-05-28 Julian Brown <julian@codesourcery.com>
12013 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
12014 function comment. Only call gomp_fatal if new argument is true.
12015 (acc_dev_num_out_of_range): New function.
12016 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
12017 acc_dev_num_out_of_range as appropriate.
12018 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12019 (acc_get_device_num, acc_set_device_num): Update calls to
12021 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
12024 2015-05-28 Julian Brown <julian@codesourcery.com>
12027 * oacc-init.c (plugin/plugin-host.h): Include.
12028 (acc_on_device): Check whether we're in an offloaded region for
12030 plugin. Don't use __builtin_acc_on_device.
12031 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
12032 nonshm_exec flag in thread-local data.
12033 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
12034 data for host_nonshm plugin.
12035 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
12036 for host_nonshm plugin.
12037 * plugin/plugin-host.h: New.
12039 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12041 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
12043 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12045 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
12047 (FUTEX_PRIVATE_FLAG): Remove L suffix.
12048 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
12051 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
12053 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
12055 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
12057 * target.c (gomp_map_pointer): New function abstracting out
12058 GOMP_MAP_POINTER handling.
12059 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
12060 gomp_map_pointer().
12062 2015-05-19 Jakub Jelinek <jakub@redhat.com>
12064 PR middle-end/66199
12065 * testsuite/libgomp.c/pr66199-1.c: New test.
12066 * testsuite/libgomp.c/pr66199-2.c: New test.
12067 * testsuite/libgomp.c++/pr66199-1.C: New test.
12068 * testsuite/libgomp.c++/pr66199-2.C: New test.
12069 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
12070 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
12072 2015-05-19 Julian Brown <julian@codesourcery.com>
12074 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
12077 2015-05-13 Jakub Jelinek <jakub@redhat.com>
12079 PR middle-end/66133
12080 * testsuite/libgomp.c/pr66133.c: New test.
12082 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
12084 * Makefile.in: Regenerated with automake-1.11.6.
12085 * aclocal.m4: Likewise.
12086 * config.h.in: Likewise.
12087 * configure: Likewise.
12088 * testsuite/Makefile.in: Likewise.
12090 2015-05-08 Jason Merrill <jason@redhat.com>
12092 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
12095 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
12097 2015-05-06 Julian Brown <julian@codesourcery.com>
12099 * oacc-init.c (acc_device_lock): Add explanatory comment.
12100 (resolve_device): Add comment about locking requirement.
12101 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
12102 gomp_init_device and gomp_fini_device calls.
12103 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
12104 (acc_get_device_num, acc_set_device_num): Add locking around
12105 resolve_device and gomp_init_device calls.
12107 2015-05-06 Julian Brown <julian@codesourcery.com>
12109 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
12110 goacc_thread_lock on error paths.
12111 * oacc-mem.c (lookup_host): Remove locking from function. Note
12112 locking requirement for caller in function comment.
12113 (lookup_dev): Likewise.
12114 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
12115 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
12116 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
12119 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
12123 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
12124 don't expect "0x" prefix for "%p" format specifier, don't expect
12125 "(nil)" for NULL pointer.
12126 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12127 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12128 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12129 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12130 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12131 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12132 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12133 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12134 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12135 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12136 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12137 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12138 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12139 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12140 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12141 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12142 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12143 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12144 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12145 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12146 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12147 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12148 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12149 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12150 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12151 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12152 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12153 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12154 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
12155 accurately specify what we're looking for.
12156 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12157 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12158 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12159 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12160 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12162 2015-04-30 James Norris <jnorris@codesourcery.com>
12165 * testsuite/lib/libgomp.exp
12166 (check_effective_target_openacc_host_selected)
12167 (check_effective_target_openacc_host_nonshm_selected): New
12169 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
12171 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12172 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12173 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12174 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12175 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12176 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12177 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12178 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12179 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12180 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12181 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12182 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12183 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12184 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12185 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12186 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12187 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12188 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12189 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12190 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12191 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12192 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12193 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12194 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12195 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12196 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12197 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12198 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12199 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12200 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12201 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12202 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12203 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12204 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12205 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12206 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12207 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12208 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12209 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12210 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12211 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12212 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12213 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12215 2015-04-08 Julian Brown <julian@codesourcery.com>
12217 * libgomp.h (target_mem_desc: Remove mem_map field.
12218 (acc_dispatch_t): Remove open_device_func, close_device_func,
12219 get_device_num_func, set_device_num_func, target_data members.
12220 Change create_thread_data_func argument to device number instead of
12222 * oacc-async.c (assert.h): Include.
12223 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
12224 (acc_wait_all, acc_wait_all_async): Use current host thread's
12225 active device, not base_dev.
12226 * oacc-cuda.c (acc_get_current_cuda_device)
12227 (acc_get_current_cuda_context, acc_get_cuda_stream)
12228 (acc_set_cuda_stream): Likewise.
12229 * oacc-host.c (host_dispatch): Don't set open_device_func,
12230 close_device_func, get_device_num_func or set_device_num_func.
12231 * oacc-init.c (base_dev, init_key): Remove.
12232 (cached_base_dev): New.
12233 (name_of_acc_device_t): New.
12234 (acc_init_1): Initialise default-numbered device, not zeroth.
12235 (acc_shutdown_1): Close all devices of a given type.
12236 (goacc_destroy_thread): Don't use base_dev.
12237 (lazy_open, lazy_init, lazy_init_and_open): Remove.
12238 (goacc_attach_host_thread_to_device): New.
12239 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
12240 (acc_get_num_devices): Don't use base_dev.
12241 (acc_set_device_type): Reimplement.
12242 (acc_get_device_type): Don't use base_dev.
12243 (acc_get_device_num): Tweak logic.
12244 (acc_set_device_num): Likewise.
12245 (acc_on_device): Use acc_get_device_type.
12246 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
12247 (goacc_lazy_initialize): Reimplement with acc_init and
12248 goacc_attach_host_thread_to_device.
12249 * oacc-int.h (goacc_thread): Add base_dev field.
12250 (base_dev): Remove extern declaration.
12251 (goacc_attach_host_thread_to_device): Add prototype.
12252 * oacc-mem.c (acc_malloc): Use current thread's device instead of
12254 (acc_free): Likewise.
12255 (acc_memcpy_to_device): Likewise.
12256 (acc_memcpy_from_device): Likewise.
12257 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
12258 goacc_lazy_initialize (throughout).
12259 (GOACC_parallel): Use tgt_offset to locate target functions.
12260 * target.c (gomp_map_vars): Don't set tgt->mem_map.
12261 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
12262 (gomp_load_plugin_for_device): Remove open_device, close_device,
12263 get_device_num, set_device_num openacc hook initialisation. Don't set
12264 openacc.target_data.
12265 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
12266 (GOMP_OFFLOAD_openacc_close_device)
12267 (GOMP_OFFLOAD_openacc_get_device_num)
12268 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
12269 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
12271 * plugin/plugin-nvptx.c (ptx_inited): Remove.
12272 (instantiated_devices, ptx_dev_lock): New.
12273 (struct ptx_image_data): New.
12274 (ptx_devices, ptx_images, ptx_image_lock): New.
12275 (fini_streams_for_device): Reorder cuStreamDestroy call.
12276 (nvptx_get_num_devices): Remove forward declaration.
12277 (nvptx_init): Change return type to bool.
12278 (nvptx_fini): Remove.
12279 (nvptx_attach_host_thread_to_device): New.
12280 (nvptx_open_device): Return struct ptx_device* instead of void*.
12281 (nvptx_close_device): Change argument type to struct ptx_device*,
12282 return type to void.
12283 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
12284 (kernel_target_data, kernel_host_table): Remove static globals.
12285 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
12286 (GOMP_OFFLOAD_init_device): Reimplement.
12287 (GOMP_OFFLOAD_fini_device): Likewise.
12288 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
12289 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
12290 (GOMP_OFFLOAD_host2dev): Use ORD argument.
12291 (GOMP_OFFLOAD_openacc_open_device)
12292 (GOMP_OFFLOAD_openacc_close_device)
12293 (GOMP_OFFLOAD_openacc_set_device_num)
12294 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
12295 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
12299 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
12301 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
12303 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
12304 * libgomp.h (struct gomp_memory_mapping): Remove.
12305 (struct target_mem_desc): Change type of mem_map from
12306 gomp_memory_mapping * to splay_tree_s *.
12307 (struct gomp_device_descr): Remove register_image_func, get_table_func.
12308 Add load_image_func, unload_image_func.
12309 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
12310 Remove offload_regions_registered.
12311 (gomp_init_tables): Remove.
12312 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12314 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
12315 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
12316 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
12317 offload_regions_registered.
12318 Initialize load_image_func, unload_image_func, mem_map.root.
12319 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
12320 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
12321 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
12322 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
12323 gomp_memory_mapping *. Use dev's lock and splay_tree.
12324 (lookup_dev): Use dev's lock.
12325 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
12326 (acc_is_present): Likewise.
12327 (acc_map_data): Likewise.
12328 (acc_unmap_data): Likewise. Use dev's lock.
12329 (present_create_copy): Likewise.
12330 (delete_copyout): Pass dev to lookup_host instead of mem_map.
12331 (update_dev_host): Likewise.
12332 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
12333 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
12334 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
12335 (GOMP_OFFLOAD_get_table): Remove
12336 (GOMP_OFFLOAD_load_image): New function.
12337 (GOMP_OFFLOAD_unload_image): New function.
12338 * target.c (register_lock): New mutex for offload image registration.
12339 (num_devices): Do not guard with PLUGIN_SUPPORT.
12340 (gomp_realloc_unlock): New static function.
12341 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
12343 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
12344 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
12345 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
12347 (gomp_unmap_vars): Likewise.
12348 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
12349 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
12350 (gomp_offload_image_to_device): New static function.
12351 (GOMP_offload_register): Add mutex lock.
12352 Call gomp_offload_image_to_device for all initialized devices.
12353 Replace gomp_realloc with gomp_realloc_unlock.
12354 (GOMP_offload_unregister): New function.
12355 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
12356 get_table_func from the plugin with calls to init_device_func and
12357 gomp_offload_image_to_device.
12358 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
12360 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
12361 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
12362 (GOMP_target_data): Do not call gomp_init_tables.
12363 (GOMP_target_update): Likewise. Remove argument from gomp_update.
12364 (gomp_load_plugin_for_device): Replace register_image and get_table
12365 with load_image and unload_image in DLSYM ().
12366 (gomp_register_images_for_device): Remove function.
12367 (gomp_target_init): Do not initialize current_device.mem_map.*,
12368 current_device.offload_regions_registered.
12369 Remove call to gomp_register_images_for_device.
12370 Do not free offload_images and num_offload_images.
12372 2015-03-30 Jakub Jelinek <jakub@redhat.com>
12375 * testsuite/libgomp.fortran/pr65597.f90: New test.
12377 2015-03-27 Tom de Vries <tom@codesourcery.com>
12380 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
12381 (init, check): New function.
12382 (foo): Change return type to void.
12383 (main): Call init and check.
12385 2015-03-27 Tom de Vries <tom@codesourcery.com>
12388 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
12389 (foo): Use M for non-inner loops to scale down test-case.
12391 2015-03-25 Kai Tietz <ktietz@redhat.com>
12394 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
12395 (GOACC_data_start): Likewise.
12396 * target.c (gomp_map_vars): Likewise.
12398 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
12400 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
12403 2015-03-19 Jakub Jelinek <jakub@redhat.com>
12405 * testsuite/libgomp.c/target-10.c: New test.
12406 * testsuite/libgomp.c++/target-4.C: New test.
12408 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
12410 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
12411 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
12413 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
12415 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
12416 * configure.ac (*-*-rtems*): Assume Pthread is supported.
12417 (pthread.h): Check for this header file.
12418 * configure: Regenerate.
12420 2015-02-25 Tom de Vries <tom@codesourcery.com>
12422 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
12423 (check_reduction_op, check_reduction_macro, max, min):
12425 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
12427 (main): Use new functions.
12429 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
12431 * target.c (gomp_load_plugin_for_device): Use const char * instead of
12432 char * for variables holding dlerror return values.
12433 (DLSYM_OPT): Ditto.
12435 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12437 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
12439 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
12440 Cesar Philippidis <cesar@codesourcery.com>
12442 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
12443 GOACC_ctaid, and GOACC_nctaid routines.
12445 2015-02-11 Jakub Jelinek <jakub@redhat.com>
12448 * testsuite/libgomp.c/atomic-18.c: New test.
12449 * testsuite/libgomp.c++/atomic-16.C: New test.
12451 2015-02-04 Jakub Jelinek <jakub@redhat.com>
12455 * testsuite/libgomp.c/pr64824.c: New test.
12456 * testsuite/libgomp.c/pr64868.c: New test.
12457 * testsuite/libgomp.c++/pr64824.C: New test.
12458 * testsuite/libgomp.c++/pr64868.C: New test.
12460 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
12463 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
12464 Link with -lpthread.
12465 * config/aix/plugin-suffix.h: Delete.
12467 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
12470 * configure.tgt (*-*-aix*): Use config_path "aix posix".
12471 (*-*-darwin*): Use config_path "bsd darwin posix".
12472 (*-*-hpux*): Use config_path "hpux posix".
12473 * target.c: Add include of plugin-suffix.h and use
12474 SONAME_SUFFIX macro.
12475 * config/aix/plugin-suffix.h: New file.
12476 * config/darwin/plugin-suffix.h: New file.
12477 * config/hpux/plugin-suffix.h: New file.
12478 * config/posix/plugin-suffix.h: New file.
12480 2015-01-23 Jakub Jelinek <jakub@redhat.com>
12482 PR middle-end/64734
12483 * libgomp.c/pr64734.c: New test.
12485 2015-01-23 Tom de Vries <tom@codesourcery.com>
12488 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
12490 2015-01-23 Tom de Vries <tom@codesourcery.com>
12493 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
12496 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
12499 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
12500 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
12501 formal parameter. Update all users.
12502 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
12503 Document unused formal parameter.
12505 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
12507 * oacc-parallel.c: Don't include <alloca.h>.
12508 (GOACC_parallel): Use gomp_alloca instead of alloca.
12510 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
12512 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
12514 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
12515 James Norris <jnorris@codesourcery.com>
12516 Tom de Vries <tom@codesourcery.com>
12517 Julian Brown <julian@codesourcery.com>
12518 Cesar Philippidis <cesar@codesourcery.com>
12519 Nathan Sidwell <nathan@codesourcery.com>
12520 Tobias Burnus <burnus@net-b.de>
12522 * Makefile.am (search_path): Add $(top_srcdir)/../include.
12523 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
12524 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
12525 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
12526 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
12527 Include $(top_srcdir)/plugin/Makefrag.am.
12528 (nodist_libsubinclude_HEADERS): Add openacc.h.
12529 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
12530 openacc.f90, openacc.mod, openacc_kinds.mod.
12531 (omp_lib.mod): Generalize into...
12532 (%.mod): ... this new rule.
12533 (openacc_kinds.mod, openacc.mod): New rules.
12534 * plugin/configfrag.ac: New file.
12535 * configure.ac: Move plugin/offloading support into it. Include
12536 it. Instantiate testsuite/libgomp-test-support.pt.exp.
12537 * plugin/Makefrag.am: New file.
12538 * testsuite/Makefile.am (OFFLOAD_TARGETS)
12539 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
12541 (libgomp-test-support.exp): New rule.
12542 (all-local): Depend on it.
12543 * Makefile.in: Regenerate.
12544 * testsuite/Makefile.in: Regenerate.
12545 * config.h.in: Likewise.
12546 * configure: Likewise.
12547 * configure.tgt: Harden shell syntax.
12548 * env.c: Include "oacc-int.h".
12549 (parse_acc_device_type): New function.
12550 (gomp_debug_var, goacc_device_type, goacc_device_num): New
12552 (initialize_env): Initialize those. Call
12553 goacc_runtime_initialize.
12554 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
12555 (gomp_fatal): Call gomp_vfatal.
12556 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
12557 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
12558 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
12559 (splay_tree_node, splay_tree, splay_tree_key)
12560 (struct target_mem_desc, struct splay_tree_key_s)
12561 (struct gomp_memory_mapping, struct acc_dispatch_t)
12562 (struct gomp_device_descr, gomp_acc_insert_pointer)
12563 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
12564 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
12565 (gomp_free_memmap, gomp_fini_device): New declarations.
12566 (gomp_vdebug, gomp_debug): New macros.
12567 Include "splay-tree.h".
12568 * libgomp.map (OACC_2.0): New symbol version. Use for
12569 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
12570 acc_set_device_type_h_, acc_get_device_type,
12571 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
12572 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
12573 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
12574 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
12575 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
12576 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
12577 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
12578 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
12579 acc_copyin_array_h_, acc_present_or_copyin,
12580 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
12581 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
12582 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
12583 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
12584 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
12585 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
12586 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
12587 acc_update_device, acc_update_device_32_h_,
12588 acc_update_device_64_h_, acc_update_device_array_h_,
12589 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
12590 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
12591 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
12592 acc_is_present_64_h_, acc_is_present_array_h_,
12593 acc_memcpy_to_device, acc_memcpy_from_device,
12594 acc_get_current_cuda_device, acc_get_current_cuda_context,
12595 acc_get_cuda_stream, acc_set_cuda_stream.
12596 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
12597 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
12598 GOACC_update, GOACC_wait, GOACC_get_thread_num,
12599 GOACC_get_num_threads.
12600 (GOMP_PLUGIN_1.0): New symbol version. Use for
12601 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
12602 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
12603 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
12604 GOMP_PLUGIN_acc_thread.
12605 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
12606 environment variable.
12607 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
12608 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
12609 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
12610 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
12611 (splay_tree_remove): New declarations.
12612 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
12613 (splay_tree_remove, splay_tree_lookup): Move into...
12614 * splay-tree.c: ... this new file.
12615 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
12616 (splay_tree_node, splay_tree, splay_tree_key)
12617 (struct target_mem_desc, struct splay_tree_key_s)
12618 (struct gomp_device_descr): Don't declare.
12619 (num_devices_openmp): New variable.
12620 (gomp_get_num_devices ): Use it.
12621 (gomp_init_targets_once): New function.
12622 (gomp_get_num_devices ): Use it.
12623 (get_kind, gomp_copy_from_async, gomp_free_memmap)
12624 (gomp_fini_device, gomp_register_image_for_device): New functions.
12625 (gomp_map_vars): Add devaddrs parameter.
12626 (gomp_update): Add mm parameter.
12627 (gomp_init_device): Move most of it into...
12628 (gomp_init_tables): ... this new function.
12629 (gomp_register_images_for_device): Remove function.
12630 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
12631 Make them hidden instead of static.
12632 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
12633 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
12634 (GOMP_target_end_data, GOMP_target_update)
12635 (gomp_load_plugin_for_device, gomp_target_init): Update for
12637 * oacc-async.c: New file.
12638 * oacc-cuda.c: Likewise.
12639 * oacc-host.c: Likewise.
12640 * oacc-init.c: Likewise.
12641 * oacc-int.h: Likewise.
12642 * oacc-mem.c: Likewise.
12643 * oacc-parallel.c: Likewise.
12644 * oacc-plugin.c: Likewise.
12645 * oacc-plugin.h: Likewise.
12646 * oacc-ptx.h: Likewise.
12647 * openacc.f90: Likewise.
12648 * openacc.h: Likewise.
12649 * openacc_lib.h: Likewise.
12650 * plugin/plugin-host.c: Likewise.
12651 * plugin/plugin-nvptx.c: Likewise.
12652 * libgomp-plugin.c: Likewise.
12653 * libgomp-plugin.h: Likewise.
12654 * libgomp_target.h: Remove file after merging content into the
12655 former file. Update all users.
12656 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
12657 (offload_targets_s, offload_targets_s_openacc): New variables.
12658 (check_effective_target_openacc_nvidia_accel_present)
12659 (check_effective_target_openacc_nvidia_accel_selected): New
12661 (libgomp_init): Update for OpenACC changes.
12662 * testsuite/libgomp-test-support.exp.in: New file.
12663 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
12664 * testsuite/libgomp.oacc-c/c.exp: Likewise.
12665 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
12666 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
12667 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
12668 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
12669 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
12670 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
12671 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
12672 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
12673 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
12674 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
12675 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
12676 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
12677 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
12678 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
12679 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
12680 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
12681 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
12682 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
12683 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
12684 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
12685 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
12686 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
12687 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
12688 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
12689 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
12690 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
12691 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
12692 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
12693 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
12694 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
12695 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
12696 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
12697 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
12698 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
12699 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
12700 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
12701 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
12702 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
12703 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
12704 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
12705 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
12706 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
12707 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
12708 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
12709 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
12710 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
12711 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
12712 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
12713 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
12714 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
12715 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
12716 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
12717 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
12718 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
12719 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
12720 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
12721 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
12722 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
12723 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
12724 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
12725 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
12726 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
12727 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
12728 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
12729 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
12730 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
12731 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
12732 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
12733 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
12734 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
12735 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
12736 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
12737 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
12738 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
12739 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
12740 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
12741 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
12742 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
12743 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
12744 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
12745 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
12746 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
12747 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
12748 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
12749 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
12750 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
12751 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
12752 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
12753 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
12754 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
12755 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
12756 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
12757 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
12758 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
12759 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
12760 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
12761 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
12762 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
12763 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
12764 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
12765 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
12766 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
12767 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
12768 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
12769 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
12770 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
12771 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
12772 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
12773 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
12774 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
12775 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
12776 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
12777 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
12778 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
12779 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
12780 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
12781 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
12782 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
12783 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
12784 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
12785 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
12786 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
12787 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
12788 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
12789 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
12790 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
12791 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
12792 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
12793 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
12794 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
12795 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
12796 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
12797 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
12798 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
12799 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
12800 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
12801 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
12802 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
12804 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
12805 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
12806 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
12807 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
12808 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
12809 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
12810 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
12811 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
12812 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
12813 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
12814 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
12815 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
12816 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
12817 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
12818 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
12819 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
12820 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
12821 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
12822 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
12823 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
12824 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
12825 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
12826 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
12827 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
12828 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
12829 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
12830 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
12831 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
12832 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
12833 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
12834 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
12835 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
12836 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
12837 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
12838 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
12839 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
12840 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
12841 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
12842 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
12843 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
12844 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
12845 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
12846 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
12847 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
12848 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
12849 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
12850 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
12851 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
12852 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
12853 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
12854 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
12855 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
12856 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
12857 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
12858 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
12859 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
12860 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
12861 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
12862 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
12863 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
12865 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
12866 Julian Brown <julian@codesourcery.com>
12867 David Malcolm <dmalcolm@redhat.com>
12869 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
12870 to "GNU Offloading and Multi Processing Runtime Library". Change
12872 * configure: Regenerate.
12873 * libgomp.texi: Update.
12875 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
12877 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
12879 * configure: Regenerate.
12881 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
12882 "intelmic" in $offload_targets.
12884 2015-01-05 Jakub Jelinek <jakub@redhat.com>
12886 Update copyright years.
12888 * libgomp.texi: Bump @copying's copyright year.
12890 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12892 * testsuite/lib/libgomp.exp: Load target-utils.exp.
12893 Move load of target-supports.exp earlier.
12895 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
12897 * testsuite/libgomp.c/target-9.c: New test.
12899 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
12901 * config.h.in: Regenerate.
12902 * configure: Regenerate.
12903 * configure.ac: Add GCC_CHECK_EMUTLS.
12904 * libgomp.h: Add check for USE_EMUTLS: this case
12905 is equal to HAVE_TLS.
12906 * team.c: Likewise.
12908 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
12910 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
12912 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
12913 Ilya Verbin <ilya.verbin@intel.com>
12915 * testsuite/libgomp.c/target-critical-1.c: New test.
12917 2014-11-26 Jakub Jelinek <jakub@redhat.com>
12919 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
12920 to dg-options unless expensive testing is on.
12921 (TESTITERS): Define to N if not defined.
12922 (main): Use TESTITERS instead of N.
12923 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
12924 dg-additional-options depending on whether expensive testing is on.
12925 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
12926 Decrease N to 100000 and CHUNKSZ to 10000.
12928 2014-11-24 Jakub Jelinek <jakub@redhat.com>
12931 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
12932 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
12934 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
12936 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
12938 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
12941 * configure: Regenerated.
12943 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
12945 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
12946 vect_simd_clones effective target.
12947 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
12949 2014-11-14 Jakub Jelinek <jakub@redhat.com>
12951 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
12952 of 32 as block_size.
12953 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
12954 instead of 32 as block_size.
12956 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12957 Ilya Verbin <ilya.verbin@intel.com>
12959 * Makefile.in: Regenerate.
12960 * configure: Regenerate.
12961 * configure.ac: Set up offload_additional_options,
12962 offload_additional_lib_paths and offload_targets.
12963 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
12964 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
12965 * testsuite/Makefile.in: Regenerate.
12966 * testsuite/lib/libgomp.exp (libgomp_init): Append
12967 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
12968 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
12969 build directory to LD_LIBRARY_PATH for intelmic offload targets.
12971 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
12972 Ilya Verbin <ilya.verbin@intel.com>
12973 Kirill Yukhin <kirill.yukhin@intel.com>
12974 Ilya Tocar <ilya.tocar@intel.com>
12976 * testsuite/lib/libgomp.exp
12977 (check_effective_target_offload_device): New.
12978 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
12979 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
12980 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
12981 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
12982 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
12983 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
12984 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
12985 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
12986 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
12987 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
12988 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
12989 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
12990 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
12991 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
12992 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
12993 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
12994 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
12995 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
12996 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
12997 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
12998 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
12999 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
13000 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
13001 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
13002 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
13003 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
13004 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
13005 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
13006 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
13007 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
13008 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
13009 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
13010 * testsuite/libgomp.c/target-7.c: Fix test.
13011 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
13012 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
13013 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
13014 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
13015 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
13016 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
13017 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
13018 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
13019 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
13020 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
13021 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
13022 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
13023 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
13024 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
13025 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
13026 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
13027 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
13028 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
13029 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
13030 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
13031 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
13032 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
13033 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
13034 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
13035 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
13036 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
13037 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
13038 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
13039 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
13040 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
13041 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
13043 2014-11-13 Jakub Jelinek <jakub@redhat.com>
13044 Ilya Verbin <ilya.verbin@intel.com>
13045 Thomas Schwinge <thomas@codesourcery.com>
13046 Andrey Turetskiy <andrey.turetskiy@intel.com>
13048 * libgomp.map (GOMP_4.0.1): New symbol version.
13049 Add GOMP_offload_register.
13050 * libgomp_target.h: New file.
13051 * splay-tree.h: New file.
13052 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
13053 (gomp_target_init): New forward declaration.
13054 (gomp_is_initialized): New static variable.
13055 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
13056 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
13058 (offload_images, num_offload_images, devices, num_devices): New static
13060 (splay_compare): New static function.
13061 (struct gomp_device_descr): New structure.
13062 (gomp_get_num_devices): Call gomp_target_init.
13063 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
13064 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
13065 (GOMP_offload_register): New function.
13066 (GOMP_target): Arrange for host callback to be performed in a separate
13067 initial thread and contention group, inheriting ICVs from
13068 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
13069 Add device initialization and lookup for target function in splay tree.
13070 (GOMP_target_data): Add device initialization and call gomp_map_vars.
13071 (GOMP_target_end_data): Call gomp_unmap_vars.
13072 (GOMP_target_update): Add device initialization and call gomp_update.
13073 (gomp_load_plugin_for_device, gomp_register_images_for_device)
13074 (gomp_target_init): New static functions.
13076 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
13077 Thomas Schwinge <thomas@codesourcery.com>
13078 Ilya Verbin <ilya.verbin@intel.com>
13079 Andrey Turetskiy <andrey.turetskiy@intel.com>
13081 * config.h.in: Regenerate.
13082 * configure: Regenerate.
13083 * configure.ac: Check for libdl, required for plugin support.
13084 (PLUGIN_SUPPORT): Define if plugins are supported.
13085 (enable_offload_targets): Support Intel MIC targets.
13086 (OFFLOAD_TARGETS): List of target names suitable for offloading.
13088 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
13091 * configure: Regenerate.
13093 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
13095 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
13097 2014-10-06 Marek Polacek <polacek@redhat.com>
13099 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
13100 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
13101 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
13102 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13104 2014-10-06 Marek Polacek <polacek@redhat.com>
13106 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
13107 * testsuite/libgomp.c/nqueens-1.c: Likewise.
13108 * testsuite/libgomp.c/pr26943-3.c: Likewise.
13109 * testsuite/libgomp.c/pr26943-4.c: Likewise.
13110 * testsuite/libgomp.c/pr36802-2.c: Likewise.
13111 * testsuite/libgomp.c/pr36802-3.c: Likewise.
13112 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
13113 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
13114 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
13115 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
13116 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
13117 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
13118 * testsuite/libgomp.c/omp-single-1.c: Likewise.
13119 * testsuite/libgomp.c/omp-single-2.c: Likewise.
13120 * testsuite/libgomp.c/omp_matvec.c: Likewise.
13121 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
13122 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
13123 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
13126 2014-10-03 Jakub Jelinek <jakub@redhat.com>
13129 * testsuite/libgomp.c/pr61200.c: New test.
13131 2014-09-18 Jakub Jelinek <jakub@redhat.com>
13134 * testsuite/libgomp.c++/pr63248.C: New test.
13136 2014-08-04 Jakub Jelinek <jakub@redhat.com>
13138 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
13139 is not zero, but taskgroup->children is NULL and there are
13140 any task->children, schedule those instead of waiting.
13141 * testsuite/libgomp.c/depend-6.c: New test.
13142 * testsuite/libgomp.c/depend-7.c: New test.
13143 * testsuite/libgomp.c/depend-8.c: New test.
13144 * testsuite/libgomp.c/depend-9.c: New test.
13145 * testsuite/libgomp.c/depend-10.c: New test.
13147 2014-08-01 Jakub Jelinek <jakub@redhat.com>
13149 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
13150 (struct gomp_taskwait): New type.
13151 (struct gomp_task): Add taskwait and parent_depends_on, remove
13152 in_taskwait and taskwait_sem fields.
13153 (gomp_finish_task): Don't destroy taskwait_sem.
13154 * task.c (gomp_init_task): Don't init in_taskwait, instead init
13155 taskwait and parent_depends_on.
13156 (GOMP_task): For if (0) tasks with depend clause that depend on
13157 earlier tasks don't defer them, instead call
13158 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
13159 Initialize redundant_out field, for redundant out entries just
13160 move them at the end of linked list instead of removing them
13161 completely, and set redundant_out flag instead of redundant.
13162 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
13164 (gomp_task_run_post_handle_dependers): If parent is in
13165 gomp_task_maybe_wait_for_dependencies and newly runnable task
13166 is not parent_depends_on, queue it in parent->children linked
13167 list after all runnable tasks with parent_depends_on set.
13168 Adjust for addition of taskwait indirection.
13169 (gomp_task_run_post_remove_parent): If parent is in
13170 gomp_task_maybe_wait_for_dependencies and task to be removed
13171 is parent_depends_on, decrement n_depend and if needed awake
13172 parent. Adjust for addition of taskwait indirection.
13173 (GOMP_taskwait): Adjust for addition of taskwait indirection.
13174 (gomp_task_maybe_wait_for_dependencies): New function.
13175 * testsuite/libgomp.c/depend-5.c: New test.
13177 2014-07-13 Tobias Burnus <burnus@net-b.de>
13179 * testsuite/libgomp.fortran/pr34020.f90: Make compile
13180 with TS 18508/Fortran 2015.
13182 2014-07-06 Marek Polacek <polacek@redhat.com>
13185 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
13187 2014-07-03 Jakub Jelinek <jakub@redhat.com>
13189 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
13190 matches regex $lang_source_re, add $lang_include_flags to options.
13191 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
13192 * testsuite/libgomp.c++/c++.exp: Likewise.
13193 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
13194 and lang_include_flags instead of adding -fintrinsic-modules-path= to
13196 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
13198 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
13200 * testsuite/libgomp.fortran/fortran.exp: Explain
13201 gfortran-dg-runtest usage.
13203 2014-06-25 Jakub Jelinek <jakub@redhat.com>
13205 * testsuite/libgomp.fortran/simd5.f90: New test.
13206 * testsuite/libgomp.fortran/simd6.f90: New test.
13207 * testsuite/libgomp.fortran/simd7.f90: New test.
13209 2014-06-24 Jakub Jelinek <jakub@redhat.com>
13211 * testsuite/libgomp.c/for-2.c: Define SC to static for
13212 #pragma omp for simd testing.
13213 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
13214 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
13216 * testsuite/libgomp.c/simd-14.c: New test.
13217 * testsuite/libgomp.c/simd-15.c: New test.
13218 * testsuite/libgomp.c/simd-16.c: New test.
13219 * testsuite/libgomp.c/simd-17.c: New test.
13220 * testsuite/libgomp.c++/for-10.C: Define SC to static for
13221 #pragma omp for simd testing.
13222 * testsuite/libgomp.c++/simd10.C: New test.
13223 * testsuite/libgomp.c++/simd11.C: New test.
13224 * testsuite/libgomp.c++/simd12.C: New test.
13225 * testsuite/libgomp.c++/simd13.C: New test.
13227 * testsuite/libgomp.fortran/aligned1.f03: New test.
13228 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
13229 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
13230 tasks with !$omp parallel !$omp single.
13231 * testsuite/libgomp.fortran/target8.f90: New test.
13232 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
13233 not to use trim in the combiner, instead call elemental function.
13234 (fn): New elemental function.
13235 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
13237 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
13239 * testsuite/libgomp.fortran/udr12.f90: New test.
13240 * testsuite/libgomp.fortran/udr13.f90: New test.
13241 * testsuite/libgomp.fortran/udr14.f90: New test.
13242 * testsuite/libgomp.fortran/udr15.f90: New test.
13244 2014-06-18 Jakub Jelinek <jakub@redhat.com>
13246 * omp_lib.f90.in (openmp_version): Set to 201307.
13247 * omp_lib.h.in (openmp_version): Likewise.
13248 * testsuite/libgomp.c/target-8.c: New test.
13249 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
13250 and inbranch clauses.
13251 * testsuite/libgomp.fortran/depend-3.f90: New test.
13252 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
13254 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13255 * testsuite/libgomp.fortran/target1.f90: New test.
13256 * testsuite/libgomp.fortran/target2.f90: New test.
13257 * testsuite/libgomp.fortran/target3.f90: New test.
13258 * testsuite/libgomp.fortran/target4.f90: New test.
13259 * testsuite/libgomp.fortran/target5.f90: New test.
13260 * testsuite/libgomp.fortran/target6.f90: New test.
13261 * testsuite/libgomp.fortran/target7.f90: New test.
13263 2014-06-10 Jakub Jelinek <jakub@redhat.com>
13266 * testsuite/libgomp.fortran/allocatable9.f90: New test.
13267 * testsuite/libgomp.fortran/allocatable10.f90: New test.
13268 * testsuite/libgomp.fortran/allocatable11.f90: New test.
13269 * testsuite/libgomp.fortran/allocatable12.f90: New test.
13270 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
13271 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
13272 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
13273 * testsuite/libgomp.fortran/associate1.f90: New test.
13274 * testsuite/libgomp.fortran/associate2.f90: New test.
13275 * testsuite/libgomp.fortran/procptr1.f90: New test.
13277 2014-06-06 Jakub Jelinek <jakub@redhat.com>
13279 * testsuite/libgomp.fortran/simd1.f90: New test.
13280 * testsuite/libgomp.fortran/udr1.f90: New test.
13281 * testsuite/libgomp.fortran/udr2.f90: New test.
13282 * testsuite/libgomp.fortran/udr3.f90: New test.
13283 * testsuite/libgomp.fortran/udr4.f90: New test.
13284 * testsuite/libgomp.fortran/udr5.f90: New test.
13285 * testsuite/libgomp.fortran/udr6.f90: New test.
13286 * testsuite/libgomp.fortran/udr7.f90: New test.
13287 * testsuite/libgomp.fortran/udr8.f90: New test.
13288 * testsuite/libgomp.fortran/udr9.f90: New test.
13289 * testsuite/libgomp.fortran/udr10.f90: New test.
13290 * testsuite/libgomp.fortran/udr11.f90: New test.
13292 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
13294 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
13295 vect_simd_clones effective target.
13296 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
13298 2014-05-21 Jakub Jelinek <jakub@redhat.com>
13300 PR middle-end/61252
13301 * testsuite/libgomp.c++/simd-9.C: New test.
13303 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
13305 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
13306 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
13307 texts according to their @menu entry positions.
13309 2014-05-11 Jakub Jelinek <jakub@redhat.com>
13311 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
13312 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
13313 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
13314 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
13315 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
13316 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
13317 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
13318 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
13319 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
13320 * testsuite/libgomp.fortran/depend-1.f90: New test.
13321 * testsuite/libgomp.fortran/depend-2.f90: New test.
13322 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
13323 * testsuite/libgomp.fortran/simd1.f90: New test.
13324 * testsuite/libgomp.fortran/simd2.f90: New test.
13325 * testsuite/libgomp.fortran/simd3.f90: New test.
13326 * testsuite/libgomp.fortran/simd4.f90: New test.
13327 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
13329 2014-05-02 Jakub Jelinek <jakub@redhat.com>
13331 * testsuite/libgomp.c/simd-10.c: New test.
13332 * testsuite/libgomp.c/simd-11.c: New test.
13333 * testsuite/libgomp.c/simd-12.c: New test.
13334 * testsuite/libgomp.c/simd-13.c: New test.
13336 2014-04-24 Jakub Jelinek <jakub@redhat.com>
13338 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
13339 atomic type clauses in any order and optional comma in between.
13340 * testsuite/libgomp.c++/atomic-15.C: Likewise.
13341 * testsuite/libgomp.c/atomic-17.c: Likewise.
13343 * testsuite/libgomp.c/simd-7.c: New test.
13344 * testsuite/libgomp.c/simd-8.c: New test.
13345 * testsuite/libgomp.c/simd-9.c: New test.
13346 * testsuite/libgomp.c/loop-16.c: New test.
13348 2014-04-02 Richard Henderson <rth@redhat.com>
13350 * config/linux/futex.h (futex_wait): Get error value from errno.
13351 (futex_wake): Likewise.
13353 2014-03-25 Jakub Jelinek <jakub@redhat.com>
13356 * testsuite/libgomp.c++/udr-11.C: New test.
13357 * testsuite/libgomp.c++/udr-12.C: New test.
13358 * testsuite/libgomp.c++/udr-13.C: New test.
13359 * testsuite/libgomp.c++/udr-14.C: New test.
13360 * testsuite/libgomp.c++/udr-15.C: New test.
13361 * testsuite/libgomp.c++/udr-16.C: New test.
13362 * testsuite/libgomp.c++/udr-17.C: New test.
13363 * testsuite/libgomp.c++/udr-18.C: New test.
13364 * testsuite/libgomp.c++/udr-19.C: New test.
13366 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13368 Update copyright years
13370 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
13372 * hashtab.h: Use the standard form for the copyright notice.
13374 2014-01-02 Tobias Burnus <burnus@net-b.de>
13376 * libgomp.texi: Bump @copying's copyright year.
13378 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
13380 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
13381 alloca () with __builtin_alloca ().
13382 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
13383 * testsuite/libgomp.c/lock-3.c: Likewise.
13384 * testsuite/libgomp.c/pr48591.c: Likewise.
13386 2013-12-17 Jakub Jelinek <jakub@redhat.com>
13389 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
13392 2013-12-16 Jakub Jelinek <jakub@redhat.com>
13395 * testsuite/libgomp.c/pr58756.c: New test.
13397 2013-12-12 Jakub Jelinek <jakub@redhat.com>
13400 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
13403 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
13405 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
13407 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
13408 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
13409 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
13410 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
13413 * libgomp_g.h: Include <stddef.h> for size_t.
13415 * libgomp.spec.in: Update comment about libgomp's dependencies.
13416 * configure.ac: Likewise.
13417 * configure: Regenerate.
13419 2013-10-16 Tobias Burnus <burnus@net-b.de>
13421 * libgomp.texi: (Runtime Library Routines): Update references for
13422 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
13423 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
13424 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
13425 (Environment Variables): Update references for OpenMP 4.0. Add
13426 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
13427 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
13430 2013-10-14 Jakub Jelinek <jakub@redhat.com>
13432 * env.c (parse_bind_var): Initialize value to avoid
13433 (false positive) warning.
13435 2013-10-12 Jakub Jelinek <jakub@redhat.com>
13438 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
13440 (gomp_init_num_threads): Move i variable declaration into
13441 #ifdef CPU_ALLOC_SIZE block.
13442 * config/linux/affinity.c (gomp_affinity_init_level): Test
13443 gomp_places_list_len == 0 rather than gomp_places_list == 0
13444 when checking for topology reading error.
13445 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
13446 * env.c (parse_affinity): Add ignore argument, if true, don't populate
13447 gomp_places_list, only parse env var and always return false.
13448 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
13449 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
13450 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
13451 and either of these variables were parsed correctly into a places
13454 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13455 Jakub Jelinek <jakub@redhat.com>
13457 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
13458 of 5 loopfn matches.
13459 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
13460 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
13461 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
13462 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
13463 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
13464 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
13465 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
13466 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
13468 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
13470 * Makefile.am (omp_lib.mod): Streamline rule.
13471 * Makefile.in: Regenerate.
13473 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
13476 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
13477 * testsuite/libgomp.fortran/lib1.f90: Likewise.
13478 * testsuite/libgomp.fortran/lib2.f: Likewise.
13479 * testsuite/libgomp.fortran/lib3.f: Likewise.
13481 * configure.ac: Typo fix.
13482 * configure: Regenerate.
13484 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
13485 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
13487 * omp.h.in: Don't touch the user's namespace.
13489 2013-10-11 Jakub Jelinek <jakub@redhat.com>
13490 Tobias Burnus <burnus@net-b.de>
13491 Richard Henderson <rth@redhat.com>
13493 * target.c: New file.
13494 * Makefile.am (libgomp_la_SOURCES): Add target.c.
13495 * Makefile.in: Regenerated.
13496 * libgomp_g.h (GOMP_task): Add depend argument.
13497 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13498 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13499 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
13500 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13501 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13502 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
13503 GOMP_taskgroup_start, GOMP_taskgroup_end,
13504 GOMP_parallel_sections): New prototypes.
13505 * fortran.c (omp_is_initial_device): Add ialias_redirect.
13506 (omp_is_initial_device_): New function.
13507 (ULP, STR1, STR2, ialias_redirect): Removed.
13508 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
13509 omp_set_default_device_8_, omp_get_default_device_,
13510 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
13512 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
13513 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
13514 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
13516 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
13517 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
13518 omp_set_default_device, omp_set_default_device_,
13519 omp_set_default_device_8_, omp_get_default_device,
13520 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
13521 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
13522 omp_get_team_num_): Export @@OMP_4.0.
13523 * team.c (struct gomp_thread_start_data): Add place field.
13524 (gomp_thread_start): Clear thr->thread_pool and
13525 thr->task before returning. Use gomp_team_barrier_wait_final
13526 instead of gomp_team_barrier_wait. Initialize thr->place.
13527 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
13528 team_cancelled and task_queued_count fields.
13529 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
13530 before calling pthread_exit.
13531 (gomp_free_thread): No longer static. Use
13532 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
13533 (gomp_team_start): Add flags argument. Set
13534 thr->thread_pool->threads_busy to nthreads immediately after creating
13535 new pool. Use gomp_managed_threads_lock instead of
13536 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
13537 (gomp_team_end): Use gomp_managed_threads_lock instead of
13538 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
13539 of gomp_team_barrier_wait. If team->team_cancelled, call
13540 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
13541 rather than thr->ts.work_share.
13542 (initialize_team): Don't call gomp_sem_init here.
13543 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
13545 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
13546 * env.c (gomp_global_icv): Add default_device_var, target_data and
13547 bind_var initializers.
13548 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13549 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13550 gomp_places_list_len): New variables.
13551 (parse_bind_var, parse_one_place, parse_places_var): New functions.
13552 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
13554 (gomp_cancel_var): New global variable.
13555 (parse_int): New function.
13556 (handle_omp_display_env): New function.
13557 (initialize_env): Use it. Initialize default_device_var.
13558 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
13559 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
13560 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
13561 been successfully parsed (and call gomp_init_affinity in that case).
13562 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13563 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13564 omp_get_team_num, omp_is_initial_device): New functions.
13565 * libgomp.h: Include stdlib.h.
13566 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
13568 (struct target_mem_desc): Forward declare.
13569 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
13570 and thread_limit_var fields.
13571 (gomp_get_num_devices): New prototype.
13572 (gomp_cancel_var): New extern decl.
13573 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
13574 team_cancelled and task_queued_count fields. Add comments about
13575 task_{,queued_,running_}count.
13576 (gomp_cancel_kind): New enum.
13577 (gomp_work_share_end_cancel): New prototype.
13578 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
13579 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
13581 (struct gomp_taskgroup): New type.
13582 (struct gomp_task_depend_entry,
13583 struct gomp_dependers_vec): New types.
13584 (gomp_finish_task): Free depend_hash if non-NULL.
13585 (struct gomp_team_state): Add place_partition_off
13586 and place_partition_len fields.
13587 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
13588 gomp_places_list_len): New extern decls.
13589 (struct gomp_thread): Add place field.
13590 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
13591 (gomp_init_thread_affinity): Add place argument.
13592 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13593 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13594 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13595 gomp_affinity_init_level, gomp_affinity_print_place): New
13597 (gomp_team_start): Add flags argument.
13598 (gomp_thread_limit_var, gomp_remaining_threads_count,
13599 gomp_remaining_threads_lock): Remove.
13600 (gomp_managed_threads_lock): New variable.
13601 (struct gomp_thread_pool): Add threads_busy field.
13602 (gomp_free_thread): New prototype.
13603 * task.c: Include hashtab.h.
13604 (hash_entry_type): New typedef.
13605 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
13606 (gomp_init_task): Clear dependers, depend_hash, depend_count,
13607 copy_ctors_done and taskgroup fields.
13608 (GOMP_task): Add depend argument, handle depend clauses. If
13609 gomp_team_barrier_cancelled or if it's taskgroup has been
13610 cancelled, don't queue or start new tasks. Set copy_ctors_done
13611 field if needed. Initialize taskgroup field. If copy_ctors_done
13612 and already cancelled, don't discard the task. If taskgroup is
13613 non-NULL, enqueue the task into taskgroup queue. Increment
13614 num_children field in taskgroup. Increment task_queued_count.
13615 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
13616 gomp_task_run_post_remove_taskgroup): New inline functions.
13617 (gomp_task_run_post_handle_depend_hash,
13618 gomp_task_run_post_handle_dependers,
13619 gomp_task_run_post_handle_depend): New functions.
13620 (GOMP_taskwait): Use them. If more than one new tasks
13621 have been queued, wake other threads if needed.
13622 (gomp_barrier_handle_tasks): Likewise. If
13623 gomp_team_barrier_cancelled, don't start any new tasks, just free
13625 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
13627 (omp_proc_bind_kind, omp_proc_bind_false,
13628 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13629 omp_proc_bind_spread): New params.
13630 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13631 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13632 omp_get_team_num, omp_is_initial_device): New interfaces.
13633 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
13634 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
13635 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
13636 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
13637 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
13638 useless use omp_lib_kinds.
13639 * omp.h.in (omp_proc_bind_t): New typedef.
13640 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13641 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13642 omp_get_team_num, omp_is_initial_device): New prototypes.
13643 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
13644 through to gomp_team_start.
13645 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
13646 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
13647 Adjust gomp_parallel_loop_start callers.
13648 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
13649 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
13650 GOMP_loop_end_cancel): New functions.
13651 (GOMP_parallel_end): Add ialias_redirect.
13652 * hashtab.h: New file.
13653 * libgomp.texi (Environment Variables): Minor cleanup,
13654 update section refs to OpenMP 4.0rc2.
13655 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
13656 environment variables.
13657 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
13658 team->work_shares_to_free to thr->ts.work_share before calling
13660 (gomp_work_share_end_cancel): New function.
13661 * config/linux/proc.c: Include errno.h.
13662 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
13663 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
13664 sizeof (cpu_set_t) to determine number of iterations. Fix up check
13665 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
13666 gomp_cpuset_size is sizeof (cpu_set_t).
13667 (gomp_init_num_threads): Initialize gomp_cpuset_size,
13668 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
13669 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
13670 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
13671 contain any logical CPUs.
13672 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
13673 is NULL. Use gomp_cpusetp instead of &cpuset and pass
13674 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
13675 pthread_getaffinity_np. Check gomp_places_list instead of
13676 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
13677 * config/linux/bar.c (gomp_barrier_wait_end,
13678 gomp_barrier_wait_last): Use BAR_* defines.
13679 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
13680 from state where needed. Set work_share_cancelled to 0 on last
13682 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
13683 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
13685 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
13686 Add cpusetsize argument.
13687 (gomp_cpuset_size, gomp_cpusetp): Declare.
13688 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
13689 (affinity_counter): Remove.
13690 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
13691 if CPU_ALLOC_SIZE isn't defined.
13692 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
13693 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
13694 bind current thread to the first place.
13695 (gomp_init_thread_affinity): Rewritten. Add place argument, just
13696 pthread_setaffinity_np to gomp_places_list[place].
13697 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13698 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13699 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13700 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
13701 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13702 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13703 (gomp_barrier_t): Add awaited_final field.
13704 (gomp_barrier_init): Initialize awaited_final field.
13705 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
13706 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
13708 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
13710 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
13711 gomp_team_barrier_cancelled): New inline functions.
13712 (gomp_barrier_last_thread,
13713 gomp_team_barrier_set_task_pending,
13714 gomp_team_barrier_clear_task_pending,
13715 gomp_team_barrier_set_waiting_for_tasks,
13716 gomp_team_barrier_waiting_for_tasks,
13717 gomp_team_barrier_done): Use BAR_* defines.
13718 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
13719 (gomp_barrier_wait_end): Use BAR_* defines.
13720 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
13721 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
13723 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
13724 gomp_team_barrier_cancel): New functions.
13725 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
13727 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
13728 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
13729 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
13730 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
13731 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
13732 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
13733 (gomp_barrier_t): Add cancellable field.
13734 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
13735 gomp_team_barrier_cancel): New prototypes.
13736 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
13737 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
13738 gomp_team_barrier_cancelled): New inline functions.
13739 (gomp_barrier_wait_start, gomp_barrier_last_thread,
13740 gomp_team_barrier_set_task_pending,
13741 gomp_team_barrier_clear_task_pending,
13742 gomp_team_barrier_set_waiting_for_tasks,
13743 gomp_team_barrier_waiting_for_tasks,
13744 gomp_team_barrier_done): Use BAR_* defines.
13745 * barrier.c (GOMP_barrier_cancel): New function.
13746 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
13747 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
13748 omp_proc_bind_spread): New params.
13749 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
13750 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
13751 omp_get_team_num, omp_is_initial_device): New externals.
13752 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
13754 (gomp_resolve_num_threads): Adjust for thread_limit now being in
13755 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13756 infinity. If not nested, just return minimum of max_num_threads
13757 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
13758 to the returned value. Otherwise, don't update atomically
13759 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
13760 (GOMP_parallel_end): Adjust for thread_limit now being in
13761 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
13762 infinity. Adjust threads_busy in the pool rather than
13763 gomp_remaining_threads_count. Remember team->nthreads and call
13764 gomp_team_end before adjusting threads_busy, if not nested
13765 afterwards, just set it to 1 non-atomically. Add ialias.
13766 (GOMP_parallel_start): Adjust gomp_team_start caller.
13767 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
13768 * testsuite/libgomp.c/affinity-1.c: New test.
13769 * testsuite/libgomp.c/atomic-15.c: New test.
13770 * testsuite/libgomp.c/atomic-16.c: New test.
13771 * testsuite/libgomp.c/atomic-17.c: New test.
13772 * testsuite/libgomp.c/cancel-for-1.c: New test.
13773 * testsuite/libgomp.c/cancel-for-2.c: New test.
13774 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
13775 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
13776 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
13777 * testsuite/libgomp.c/cancel-sections-1.c: New test.
13778 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
13779 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
13780 * testsuite/libgomp.c/depend-1.c: New test.
13781 * testsuite/libgomp.c/depend-2.c: New test.
13782 * testsuite/libgomp.c/depend-3.c: New test.
13783 * testsuite/libgomp.c/depend-4.c: New test.
13784 * testsuite/libgomp.c/for-1.c: New test.
13785 * testsuite/libgomp.c/for-1.h: New file.
13786 * testsuite/libgomp.c/for-2.c: New test.
13787 * testsuite/libgomp.c/for-2.h: New file.
13788 * testsuite/libgomp.c/for-3.c: New test.
13789 * testsuite/libgomp.c/pr58392.c: New test.
13790 * testsuite/libgomp.c/simd-1.c: New test.
13791 * testsuite/libgomp.c/simd-2.c: New test.
13792 * testsuite/libgomp.c/simd-3.c: New test.
13793 * testsuite/libgomp.c/simd-4.c: New test.
13794 * testsuite/libgomp.c/simd-5.c: New test.
13795 * testsuite/libgomp.c/simd-6.c: New test.
13796 * testsuite/libgomp.c/target-1.c: New test.
13797 * testsuite/libgomp.c/target-2.c: New test.
13798 * testsuite/libgomp.c/target-3.c: New test.
13799 * testsuite/libgomp.c/target-4.c: New test.
13800 * testsuite/libgomp.c/target-5.c: New test.
13801 * testsuite/libgomp.c/target-6.c: New test.
13802 * testsuite/libgomp.c/target-7.c: New test.
13803 * testsuite/libgomp.c/taskgroup-1.c: New test.
13804 * testsuite/libgomp.c/thread-limit-1.c: New test.
13805 * testsuite/libgomp.c/thread-limit-2.c: New test.
13806 * testsuite/libgomp.c/thread-limit-3.c: New test.
13807 * testsuite/libgomp.c/udr-1.c: New test.
13808 * testsuite/libgomp.c/udr-2.c: New test.
13809 * testsuite/libgomp.c/udr-3.c: New test.
13810 * testsuite/libgomp.c++/affinity-1.C: New test.
13811 * testsuite/libgomp.c++/atomic-10.C: New test.
13812 * testsuite/libgomp.c++/atomic-11.C: New test.
13813 * testsuite/libgomp.c++/atomic-12.C: New test.
13814 * testsuite/libgomp.c++/atomic-13.C: New test.
13815 * testsuite/libgomp.c++/atomic-14.C: New test.
13816 * testsuite/libgomp.c++/atomic-15.C: New test.
13817 * testsuite/libgomp.c++/cancel-for-1.C: New test.
13818 * testsuite/libgomp.c++/cancel-for-2.C: New test.
13819 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
13820 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
13821 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
13822 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
13823 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
13824 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
13825 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
13826 * testsuite/libgomp.c++/cancel-test.h: New file.
13827 * testsuite/libgomp.c++/for-9.C: New test.
13828 * testsuite/libgomp.c++/for-10.C: New test.
13829 * testsuite/libgomp.c++/for-11.C: New test.
13830 * testsuite/libgomp.c++/simd-1.C: New test.
13831 * testsuite/libgomp.c++/simd-2.C: New test.
13832 * testsuite/libgomp.c++/simd-3.C: New test.
13833 * testsuite/libgomp.c++/simd-4.C: New test.
13834 * testsuite/libgomp.c++/simd-5.C: New test.
13835 * testsuite/libgomp.c++/simd-6.C: New test.
13836 * testsuite/libgomp.c++/simd-7.C: New test.
13837 * testsuite/libgomp.c++/simd-8.C: New test.
13838 * testsuite/libgomp.c++/target-1.C: New test.
13839 * testsuite/libgomp.c++/target-2.C: New test.
13840 * testsuite/libgomp.c++/target-2-aux.cc: New file.
13841 * testsuite/libgomp.c++/target-3.C: New test.
13842 * testsuite/libgomp.c++/taskgroup-1.C: New test.
13843 * testsuite/libgomp.c++/udr-1.C: New test.
13844 * testsuite/libgomp.c++/udr-2.C: New test.
13845 * testsuite/libgomp.c++/udr-3.C: New test.
13846 * testsuite/libgomp.c++/udr-4.C: New test.
13847 * testsuite/libgomp.c++/udr-5.C: New test.
13848 * testsuite/libgomp.c++/udr-6.C: New test.
13849 * testsuite/libgomp.c++/udr-7.C: New test.
13850 * testsuite/libgomp.c++/udr-8.C: New test.
13851 * testsuite/libgomp.c++/udr-9.C: New test.
13853 2013-09-20 Jakub Jelinek <jakub@redhat.com>
13856 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
13859 2013-09-20 Alan Modra <amodra@gmail.com>
13861 * configure: Regenerate.
13863 2013-09-19 Jakub Jelinek <jakub@redhat.com>
13865 * testsuite/libgomp.c/sections-2.c: New test.
13867 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
13869 * testsuite/libgomp.fortran/strassen.f90:
13870 Add dg-skip-if aarch64_tiny.
13872 2013-06-20 Iain Sandoe <iain@codesourcery.com>
13873 Cesar Philippidis <cesar@codesourcery.com>
13875 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
13876 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
13877 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
13878 * testsuite/libgomp.fortran/fortran.exp: Likewise.
13879 * testsuite/libgomp.graphite/graphite.exp: Likewise.
13880 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
13881 Use dg-runtest rather than gfortran-dg-runtest.
13883 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
13885 * testsuite/libgomp.c/icv-2.c: Extend current handling of
13886 Linux-based x86 systems to cover all GNU systems.
13887 * testsuite/libgomp.c/lock-3.c: Likewise.
13888 * testsuite/libgomp.c/pr48591.c: Likewise.
13890 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
13892 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
13893 GNU/Hurd, as done for Linux-based systems.
13895 * config/posix/ptrlock.h: Fix comment.
13897 2013-05-27 Tobias Burnus <burnus@net-b.de>
13900 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
13901 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
13902 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
13903 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
13904 omp_destroy_nest_lock): Correct arguments to match the one in
13906 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
13907 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
13908 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
13909 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
13911 2013-05-16 Jakub Jelinek <jakub@redhat.com>
13913 * testsuite/libgomp.c/loop-13.c: New test.
13914 * testsuite/libgomp.c/loop-14.c: New test.
13915 * testsuite/libgomp.c/loop-15.c: New test.
13916 * testsuite/libgomp.c++/loop-13.C: New test.
13917 * testsuite/libgomp.c++/loop-14.C: New test.
13918 * testsuite/libgomp.c++/loop-15.C: New test.
13920 2013-02-06 Jakub Jelinek <jakub@redhat.com>
13922 PR middle-end/56217
13923 * testsuite/libgomp.c++/pr56217.C: New test.
13925 2013-02-01 Alan Modra <amodra@gmail.com>
13927 * task.c (GOMP_task, GOMP_taskwait): Comment.
13929 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
13930 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
13933 * config/linux/wait.h (do_spin): Use atomic load for addr.
13934 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
13935 for intptr and ptrlock.
13936 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
13939 2013-01-22 Alan Modra <amodra@gmail.com>
13943 * task.c (GOMP_task): Revert 2011-12-09 change.
13944 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
13945 barrier to read task->children..
13946 (gomp_barrier_handle_tasks): ..and matching atomic store with
13947 release barrier here when setting parent->children to NULL.
13949 2013-01-16 Jakub Jelinek <jakub@redhat.com>
13950 Tobias Burnus <burnus@net-b.de>
13953 * testsuite/libgomp.fortran/fortran.exp: Use
13954 -fintrinsic-modules-path= instead of
13955 -fintrinsic-modules-path.
13957 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
13959 Update copyright years.
13961 2012-12-19 Tobias Burnus <burnus@net-b.de>
13963 * testsuite/libgomp.fortran/fortran.exp: Set
13964 -fintrinsic-modules-path.
13966 2012-12-19 Tobias Burnus <burnus@net-b.de>
13968 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
13969 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
13971 2012-11-21 Jakub Jelinek <jakub@redhat.com>
13974 * team.c (gomp_free_thread): Decrease gomp_managed_threads
13975 if pool had any threads_used.
13977 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
13979 * testsuite/libgomp.c++/pr24455.C: Use
13980 -Wl,-undefined,dynamic_lookup on darwin.
13982 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
13984 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
13986 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
13988 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
13990 2012-10-23 Ian Bolton <ian.bolton@arm.com>
13991 Jim MacArthur <jim.macarthur@arm.com>
13992 Marcus Shawcroft <marcus.shawcroft@arm.com>
13993 Nigel Stephens <nigel.stephens@arm.com>
13994 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13995 Richard Earnshaw <rearnsha@arm.com>
13996 Sofiane Naci <sofiane.naci@arm.com>
13997 Stephen Thomas <stephen.thomas@arm.com>
13998 Tejas Belagod <tejas.belagod@arm.com>
13999 Yufeng Zhang <yufeng.zhang@arm.com>
14001 * configure.tgt: Add AArch64.
14003 2012-10-04 Jason Merrill <jason@redhat.com>
14005 * testsuite/libgomp.c++/tls-init1.C: New.
14007 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
14009 * configure: Regenerated.
14011 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
14013 * config/linux/mips/futex.h (sys_futex0): Change to static
14014 function with noinline, nomips16 attributes under MIPS16. Adjust
14015 asm statement to place 'li v0,SYS_futex' immediately before
14018 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
14020 * libgomp.texi (Library Index): Renamed from "Index" to prevent
14021 conflict with index.html on case-insensitive file systems.
14023 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
14025 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
14026 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
14028 2012-07-02 Richard Guenther <rguenther@suse.de>
14029 Michael Matz <matz@suse.de>
14030 Tobias Grosser <tobias@grosser.es>
14031 Sebastian Pop <sebpop@gmail.com>
14033 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
14034 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
14035 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14036 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14038 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
14040 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
14042 2012-06-22 Richard Guenther <rguenther@suse.de>
14044 Merge from graphite branch
14045 2012-01-13 Tobias Grosser <tobias@grosser.es>
14047 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14048 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
14050 2012-06-07 Jakub Jelinek <jakub@redhat.com>
14052 PR middle-end/53580
14053 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
14054 use GOMP_barrier () call instead.
14055 * testsuite/libgomp.c/pr26943-3.c: Likewise.
14056 * testsuite/libgomp.c/pr26943-4.c: Likewise.
14057 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
14058 call GOMP_barrier instead.
14059 * testsuite/libgomp.fortran/vla5.f90: Likewise.
14061 2012-06-06 Jakub Jelinek <jakub@redhat.com>
14064 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
14065 argument to memset call.
14067 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
14069 * configure: Regenerated.
14071 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
14073 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
14075 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
14078 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
14080 2012-03-22 Jakub Jelinek <jakub@redhat.com>
14082 PR middle-end/52547
14083 * testsuite/libgomp.c/pr52547.c: New test.
14085 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
14087 * testsuite/lib/libgomp.exp: load fortran-modules.exp
14089 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14091 * configure.tgt (mips-sgi-irix6*): Remove.
14093 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14095 * configure.tgt (alpha*-dec-osf*): Remove.
14097 * config/osf/sem.h: Remove.
14098 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
14100 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
14102 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
14104 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14107 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
14108 Remove ENABLE_SYMVERS_SOL2.
14109 * configure: Regenerate.
14110 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
14111 (PREPROCESS): New variable.
14112 (libgomp.ver): New target.
14113 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
14114 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
14115 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
14117 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
14118 * Makefile.in: Regenerate.
14120 2012-02-14 Walter Lee <walt@tilera.com>
14122 * configure.tgt: Handle tilegx and tilepro.
14123 * config/linux/tile/futex.h: New file.
14125 2012-02-08 Richard Guenther <rguenther@suse.de>
14127 PR tree-optimization/46886
14128 * testsuite/libgomp.c/pr46886.c: New testcase.
14130 2012-01-25 Matthias Klose <doko@ubuntu.com>
14132 * config/linux/arm: Remove empty directory.
14133 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
14135 2011-12-09 Alan Modra <amodra@gmail.com>
14138 * task.c (GOMP_taskwait): Don't access task->children outside of
14139 task_lock mutex region.
14140 (GOMP_task): Likewise.
14142 2011-12-06 Jakub Jelinek <jakub@redhat.com>
14145 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
14147 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
14148 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
14149 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
14150 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
14151 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
14153 2011-12-02 Alan Modra <amodra@gmail.com>
14155 * config/linux/affinity.c: Use atomic rather than sync builtin.
14156 * config/linux/lock.c: Likewise.
14157 * config/linux/ptrlock.h: Likewise.
14158 * config/linux/ptrlock.c: Likewise.
14159 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
14160 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
14161 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
14162 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
14163 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
14164 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
14165 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
14166 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
14167 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
14168 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
14170 2011-11-30 Alan Modra <amodra@gmail.com>
14173 * config/linux/bar.h: Use atomic rather than sync builtins.
14174 * config/linux/bar.c: Likewise. Add missing acquire
14175 synchronisation on generation field.
14176 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
14179 2011-11-30 Alan Modra <amodra@gmail.com>
14181 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
14182 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
14183 * config/linux/mutex.h: Use atomic rather than sync builtins.
14184 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
14185 * config/linux/omp-lock.h: Comment fix.
14186 * config/linux/arm/mutex.h: Delete.
14187 * config/linux/powerpc/mutex.h: Delete.
14188 * config/linux/ia64/mutex.h: Delete.
14189 * config/linux/mips/mutex.h: Delete.
14191 2011-11-30 Alan Modra <amodra@gmail.com>
14194 * config/linux/sem.h: Rewrite.
14195 * config/linux/sem.c: Rewrite.
14197 2011-11-28 Richard Henderson <rth@redhat.com>
14199 * libgomp.h (enum memmodel): New.
14201 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
14203 * configure: Regenerate.
14205 2011-10-10 Matthias Klose <doko@ubuntu.com>
14207 * config/posix95: Remove empty directory.
14209 2011-08-26 Jakub Jelinek <jakub@redhat.com>
14211 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
14213 2011-08-19 Jakub Jelinek <jakub@redhat.com>
14216 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
14217 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
14219 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14221 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
14223 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14226 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
14228 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
14230 * config/linux/proc.h: New.
14231 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
14232 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
14233 (gomp_init_num_threads): Update call to cpuset_popcount.
14234 (get_num_procs): Ditto.
14235 * config/linux/affinity.c (gomp_init_affinity): Call
14236 gomp_cpuset_popcount.
14238 2011-08-02 Jakub Jelinek <jakub@redhat.com>
14242 * omp.h.in (omp_in_final): New prototype.
14243 * omp_lib.f90.in (omp_in_final): New interface.
14244 (omp_integer_kind, omp_logical_kind): Remove
14245 and replace all its uses in the module with 4.
14246 (openmp_version): Change to 201107.
14247 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
14248 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
14249 kind for the parameters.
14250 (omp_in_final): New external.
14251 (openmp_version): Change to 201107.
14252 * task.c (omp_in_final): New function.
14253 (gomp_init_task): Initialize final_task.
14254 (GOMP_task): Remove unused attribute from flags. Handle final
14256 (GOMP_taskyield): New function.
14257 (omp_in_final): Return true if if (false) or final (true) task
14258 or descendant of final (true).
14259 * fortran.c (omp_in_final_): New function.
14260 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
14261 (GOMP_3.0): Export GOMP_taskyield.
14262 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
14264 (parse_unsigned_long_list): New function.
14265 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
14266 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
14267 even if parse_affinity returned false.
14268 * config/linux/affinity.c (gomp_init_affinity): Handle
14269 gomp_cpu_affinity_len == 0.
14270 * libgomp_g.h (GOMP_taskyield): New prototype.
14271 * libgomp.h (struct gomp_task): Add final_task field.
14272 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
14273 * team.c (gomp_team_start): Override new task's nthreads_var icv
14274 if list form OMP_NUM_THREADS has been used and it has value for
14275 the new nesting level.
14277 * testsuite/libgomp.c/atomic-11.c: New test.
14278 * testsuite/libgomp.c/atomic-12.c: New test.
14279 * testsuite/libgomp.c/atomic-13.c: New test.
14280 * testsuite/libgomp.c/atomic-14.c: New test.
14281 * testsuite/libgomp.c/reduction-6.c: New test.
14282 * testsuite/libgomp.c/task-5.c: New test.
14283 * testsuite/libgomp.c++/atomic-2.C: New test.
14284 * testsuite/libgomp.c++/atomic-3.C: New test.
14285 * testsuite/libgomp.c++/atomic-4.C: New test.
14286 * testsuite/libgomp.c++/atomic-5.C: New test.
14287 * testsuite/libgomp.c++/atomic-6.C: New test.
14288 * testsuite/libgomp.c++/atomic-7.C: New test.
14289 * testsuite/libgomp.c++/atomic-8.C: New test.
14290 * testsuite/libgomp.c++/atomic-9.C: New test.
14291 * testsuite/libgomp.c++/task-8.C: New test.
14292 * testsuite/libgomp.c++/reduction-4.C: New test.
14293 * testsuite/libgomp.fortran/allocatable7.f90: New test.
14294 * testsuite/libgomp.fortran/allocatable8.f90: New test.
14295 * testsuite/libgomp.fortran/crayptr3.f90: New test.
14296 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
14297 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
14298 * testsuite/libgomp.fortran/pointer1.f90: New test.
14299 * testsuite/libgomp.fortran/pointer2.f90: New test.
14300 * testsuite/libgomp.fortran/task4.f90: New test.
14302 2011-08-02 Tobias Burnus <burnus@net-b.de>
14304 * libgomp.texi: Update OpenMP spec references to 3.1.
14305 (omp_in_final,OMP_PROC_BIND): New sections.
14306 (OMP_NUM_THREADS): Document that the value can be now a list.
14307 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
14309 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
14311 * config/linux/x86/futex.h: Check __x86_64__ instead of
14314 2011-07-29 Jakub Jelinek <jakub@redhat.com>
14316 PR middle-end/49897
14317 PR middle-end/49898
14318 * testsuite/libgomp.c/pr49897-1.c: New test.
14319 * testsuite/libgomp.c/pr49897-2.c: New test.
14320 * testsuite/libgomp.c/pr49898-1.c: New test.
14321 * testsuite/libgomp.c/pr49898-2.c: New test.
14323 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
14325 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
14326 for ia32 instead of ilp32.
14328 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
14329 * testsuite/libgomp.c/atomic-6.c: Likewise.
14331 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
14333 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
14334 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
14336 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14339 * config/osf/sem.h: New file.
14340 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
14342 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14345 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
14348 2011-07-15 Jakub Jelinek <jakub@redhat.com>
14350 * config/linux/wait.h (do_spin): New inline, largely copied
14351 from do_wait, just don't do futex_wait here, instead return true if
14353 (do_wait): Implement using do_spin.
14354 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
14356 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14357 __sync_bool_compare_and_swap, pass the oldval to
14358 gomp_mutex_lock_slow.
14359 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
14360 If all mutex contenders are just spinning and not sleeping, don't
14361 change state to 2 unnecessarily. Optimize the loop when state has
14362 already become 2 to use just one atomic operation per loop instead
14364 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
14366 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
14367 __sync_bool_compare_and_swap, pass the oldval to
14368 gomp_mutex_lock_slow.
14370 2011-06-22 Jakub Jelinek <jakub@redhat.com>
14373 * iter.c (gomp_iter_static_next): For chunk size 0
14374 only use n ceil/ nthreads size for the first
14375 n % nthreads threads in the team instead of
14376 all threads except for the last few ones which
14377 get less work or none at all.
14378 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
14379 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
14380 chunk argument, set run_sched_modifier to 0 for static
14381 resp. 1 for other kinds. If chunk argument is 0
14382 and not static, set value to 1.
14384 2011-05-19 Jakub Jelinek <jakub@redhat.com>
14387 * testsuite/libgomp.c++/pr49043.C: New test.
14390 * testsuite/libgomp.c++/pr48869.C: New test.
14392 2011-05-06 Jakub Jelinek <jakub@redhat.com>
14395 * fortran.c: Include limits.h.
14397 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
14399 (omp_set_num_threads_8_, omp_set_schedule_8_,
14400 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
14401 omp_get_team_size_8_): Use TO_INT macro.
14402 * testsuite/libgomp.fortran/pr48894.f90: New test.
14404 2011-04-13 Jakub Jelinek <jakub@redhat.com>
14406 PR middle-end/48591
14407 * testsuite/libgomp.c/pr48591.c: New test.
14409 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14412 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
14413 * configure: Regenerate.
14415 2011-02-27 Jakub Jelinek <jakub@redhat.com>
14418 * testsuite/libgomp.fortran/task3.f90: New test.
14420 2011-02-24 Tobias Burnus <burnus@net-b.de>
14422 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
14424 2011-02-23 Jakub Jelinek <jakub@redhat.com>
14427 * libgomp.texi (omp_get_wtime): Don't say time in the past
14428 must be Unix Epoch.
14430 2011-02-18 Jakub Jelinek <jakub@redhat.com>
14433 * testsuite/libgomp.fortran/fortran.exp: Check for both
14434 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
14435 but $blddir != "", still append ${blddir}/${lang_library_path}
14436 to ld_library_path.
14438 2011-02-16 Tobias Burnus <burnus@net-b.de>
14441 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
14442 of libquadmath.a before adding its libpath to ldflags.
14444 2011-02-14 Jakub Jelinek <jakub@redhat.com>
14447 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
14448 to FUTEX_WAIT futex syscall.
14449 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
14451 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14453 * configure: Regenerate.
14455 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
14458 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
14460 2011-01-16 Gerald Pfeifer
14462 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
14464 2010-12-14 Jakub Jelinek <jakub@redhat.com>
14467 * libgomp.fortran/allocatable6.f90: New test.
14469 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14471 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
14472 * configure: Regenerate.
14474 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
14478 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
14479 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
14480 * aclocal.m4: Regenerate.
14481 * configure: Regenerate.
14482 * Makefile.in: Regenerate.
14483 * testsuite/Makefile.in: Regenerate.
14485 2010-12-02 Jakub Jelinek <jakub@redhat.com>
14488 * libgomp.fortran/pr46753.f90: New test.
14491 * env.c (initialize_env): Default to spin count 300000
14492 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
14496 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
14497 at the end if sync builtins aren't supported.
14499 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14501 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
14503 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14505 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
14507 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
14509 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
14511 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
14512 Tobias Burnus <burnus@net-b.de>
14516 * configure: Regenerate.
14518 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
14520 * config/linux/futex.h: New.
14521 * config/linux/arm/mutex.h: New.
14522 * configure.tgt (arm*-*-linux*): Add config path.
14524 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
14526 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14528 2010-09-23 Tobias Burnus <burnus@net-b.de>
14530 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
14531 Change Fortran datatype to LOGICAL.
14532 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
14533 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
14535 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14537 * configure: Regenerate.
14539 2010-07-26 Jakub Jelinek <jakub@redhat.com>
14541 * libgomp.texi: Add function keyword to a couple of Fortran
14542 interfaces, use integer instead of int for Fortran.
14544 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
14546 * libgomp.texi: Fix spelling and pasto problems throughout.
14547 Adjust prototypes to match code.
14549 2010-07-24 Tobias Burnus <burnus@net-b.de>
14551 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
14552 silence -fwhole-file warning.
14554 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14556 * configure.tgt (*-*-solaris2.[56]*): Removed.
14558 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14560 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
14561 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
14562 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
14563 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
14564 targetting solaris2*.
14565 * configure: Regenerate.
14566 * config.h.in: Regenerate.
14568 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
14569 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
14570 Add libgomp_version_dep.
14571 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
14573 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
14574 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
14575 * Makefile.in: Regenerate.
14577 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
14578 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14579 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
14580 to common block, protected by
14581 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
14583 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
14585 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
14587 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
14590 * configure: Regenerate.
14592 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14595 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
14596 * configure: Regenerate.
14597 * Makefile.in: Regenerate.
14598 * testsuite/Makefile.in: Regenerate.
14600 2010-04-26 Jakub Jelinek <jakub@redhat.com>
14603 * testsuite/libgomp.c/pr43893.c: New test.
14604 * testsuite/libgomp.c++/pr43893.C: New test.
14606 2010-04-21 Jakub Jelinek <jakub@redhat.com>
14608 PR middle-end/43570
14609 * testsuite/libgomp.fortran/vla8.f90: New test.
14611 2010-04-20 Jakub Jelinek <jakub@redhat.com>
14614 * config/linux/affinity.c (gomp_init_affinity): Decrease
14615 gomp_available_cpus if affinity mask confines the process to fewer
14617 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
14618 non-NULL, just return gomp_available_cpus.
14621 * sections.c (gomp_sections_init): Initialize ws->mode.
14623 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
14625 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
14626 not unused bar variable.
14627 * configure: Regenerate.
14629 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14631 * Makefile.in: Regenerate.
14632 * aclocal.m4: Regenerate.
14633 * testsuite/Makefile.in: Regenerate.
14635 2010-03-22 Jakub Jelinek <jakub@redhat.com>
14638 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
14639 (initialize_env): Adjust callers.
14640 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
14641 when the argument is 0.
14643 * testsuite/libgomp.c/pr42942.c: New test.
14645 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
14647 PR middle-end/42644
14648 PR middle-end/42130
14649 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
14650 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
14652 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14654 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
14655 * testsuite/libgomp.c++/task-6.C: Likewise.
14657 2010-01-28 Steve Ellcey <sje@cup.hp.com>
14659 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
14661 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
14663 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
14664 * configure: Regenerate.
14666 2010-01-26 Jakub Jelinek <jakub@redhat.com>
14669 * testsuite/libgomp.fortran/allocatable5.f90: New test.
14671 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
14673 * configure.ac: Test for executability of GFORTRAN.
14674 * configure: Regenerate.
14676 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
14678 * configure: Regenerate.
14680 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
14683 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
14685 2010-01-03 Richard Guenther <rguenther@suse.de>
14687 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
14689 2009-12-23 Sebastian Pop <sebpop@gmail.com>
14691 * testsuite/libgomp.graphite/pr4118.c: New.
14693 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14695 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
14696 for darwin, protect the test with require-effective-target tls_runtime.
14697 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
14699 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14702 * testsuite/lib/libgomp.exp: Provide -B options to allow for
14703 link spec %s substitutions for static libraries.
14705 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
14708 * libgomp.graphite/force-parallel-2.c: Reduce array size.
14710 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14712 * Makefile.in: Regenerate.
14713 * configure: Regenerate.
14714 * testsuite/Makefile.in: Regenerate.
14716 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
14718 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
14719 settings for LC_ALL and LANG.
14721 2009-11-25 Jakub Jelinek <jakub@redhat.com>
14724 * testsuite/libgomp.fortran/pr42162.f90: New test.
14726 2009-11-13 Jakub Jelinek <jakub@redhat.com>
14728 PR middle-end/42029
14729 * testsuite/libgomp.c/pr42029.c: New test.
14731 2009-10-26 Jakub Jelinek <jakub@redhat.com>
14733 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
14734 *s. Accept ld version without text in ()s.
14735 * configure: Regenerated.
14737 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
14739 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
14741 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14744 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
14745 or a hyphen (happens with fortran language disabled).
14746 * configure: Regenerate.
14748 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14750 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
14751 use sed script portable to Solaris /bin/sed for extracting ld
14753 * configure: Regenerate.
14755 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
14757 * testsuite/libgomp.graphite/bounds.c: New test.
14759 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14761 * Makefile.am (libgomp_la_LINK): New.
14762 * Makefile.in: Regenerate.
14764 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14766 * configure.ac (AC_PREREQ): Bump to 2.64.
14768 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14770 * Makefile.am (install-html, install-pdf): Remove.
14771 * Makefile.in: Regenerate.
14773 * Makefile.in: Regenerate.
14774 * aclocal.m4: Regenerate.
14775 * config.h.in: Regenerate.
14776 * configure: Regenerate.
14777 * testsuite/Makefile.in: Regenerate.
14779 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14781 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
14782 * Makefile.in: Regenerate.
14784 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
14786 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
14787 * Makefile.in: Regenerate.
14789 2009-08-19 Tobias Burnus <burnus@net-b.de>
14792 omp_lib.h.in: Fix -std=f95 errors.
14794 2009-08-14 David Edelsohn <edelsohn@gnu.org>
14796 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
14797 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
14798 * testsuite/libgomp.graphite/graphite.exp: New.
14800 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
14802 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
14805 2009-08-04 David Daney <ddaney@caviumnetworks.com>
14807 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
14808 needed memory barrier semantics.
14809 * config/linux/mips/mutex.h: New file.
14811 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14813 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
14815 2009-07-16 Joseph Myers <joseph@codesourcery.com>
14817 * configure: Regenerate.
14819 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
14824 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
14825 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
14826 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
14828 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
14830 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
14831 options when choosing a multilib.
14833 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
14835 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
14836 ld_library_path. Use add_path. Add just find_libgcc_s to
14837 ld_library_path, not every libgcc multilib directory.
14838 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
14839 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
14840 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
14842 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
14844 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
14846 * Makefile.am (LTLDFLAGS): Define.
14848 * Makefile.in: Regenerate.
14850 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
14853 * testsuite/libgomp.fortran/fortran.exp: Don't link with
14854 libgfortranbegin, check existence of libgfortran.a instead of
14855 libgfortranbegin.a.
14857 2009-05-20 Jakub Jelinek <jakub@redhat.com>
14860 * team.c (gomp_thread_start): Destroy thr->release semaphore.
14861 (gomp_free_pool_helper): Likewise.
14863 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
14864 Jakub Jelinek <jakub@redhat.com>
14867 * testsuite/libgomp.fortran/workshare2.f90: New test.
14869 2009-04-09 Nick Clifton <nickc@redhat.com>
14871 * iter.c: Change copyright header to refer to version 3 of the
14872 GNU General Public License with version 3.1 of the GCC Runtime
14873 Library Exception and to point readers at the COPYING3 and
14874 COPYING3.RUNTIME files and the FSF's license web page.
14875 * alloc.c: Likewise.
14876 * barrier.c: Likewise.
14877 * config/bsd/proc.c: Likewise.
14878 * config/linux/affinity.c: Likewise.
14879 * config/linux/alpha/futex.h: Likewise.
14880 * config/linux/bar.c: Likewise.
14881 * config/linux/bar.h: Likewise.
14882 * config/linux/ia64/futex.h: Likewise.
14883 * config/linux/ia64/mutex.h: Likewise.
14884 * config/linux/lock.c: Likewise.
14885 * config/linux/mips/futex.h: Likewise.
14886 * config/linux/mutex.c: Likewise.
14887 * config/linux/mutex.h: Likewise.
14888 * config/linux/powerpc/futex.h: Likewise.
14889 * config/linux/proc.c: Likewise.
14890 * config/linux/ptrlock.c: Likewise.
14891 * config/linux/ptrlock.h: Likewise.
14892 * config/linux/s390/futex.h: Likewise.
14893 * config/linux/sem.c: Likewise.
14894 * config/linux/sem.h: Likewise.
14895 * config/linux/sparc/futex.h: Likewise.
14896 * config/linux/wait.h: Likewise.
14897 * config/linux/x86/futex.h: Likewise.
14898 * config/mingw32/proc.c: Likewise.
14899 * config/mingw32/time.c: Likewise.
14900 * config/posix/affinity.c: Likewise.
14901 * config/posix/bar.c: Likewise.
14902 * config/posix/bar.h: Likewise.
14903 * config/posix/lock.c: Likewise.
14904 * config/posix/mutex.h: Likewise.
14905 * config/posix/proc.c: Likewise.
14906 * config/posix/ptrlock.h: Likewise.
14907 * config/posix/sem.c: Likewise.
14908 * config/posix/sem.h: Likewise.
14909 * config/posix/time.c: Likewise.
14910 * config/posix95/lock.c: Likewise.
14911 * critical.c: Likewise.
14913 * error.c: Likewise.
14914 * fortran.c: Likewise.
14915 * iter_ull.c: Likewise.
14916 * libgomp.h: Likewise.
14917 * libgomp_f.h.in: Likewise.
14918 * libgomp_g.h: Likewise.
14919 * loop.c: Likewise.
14920 * loop_ull.c: Likewise.
14921 * omp.h.in: Likewise.
14922 * omp_lib.f90.in: Likewise.
14923 * omp_lib.h.in: Likewise.
14924 * ordered.c: Likewise.
14925 * parallel.c: Likewise.
14926 * sections.c: Likewise.
14927 * single.c: Likewise.
14928 * task.c: Likewise.
14929 * team.c: Likewise.
14930 * work.c: Likewise.
14932 2009-04-09 Jakub Jelinek <jakub@redhat.com>
14934 * testsuite/config/default.exp: Change copyright header to refer to
14935 version 3 of the GNU General Public License and to point readers
14936 at the COPYING3 file and the FSF's license web page.
14938 2009-04-08 Jakub Jelinek <jakub@redhat.com>
14940 PR middle-end/39573
14941 * libgomp.c++/pr39573.C: New test.
14943 2009-04-01 Jakub Jelinek <jakub@redhat.com>
14946 * testsuite/libgomp.c/pr39591-1.c: New test.
14947 * testsuite/libgomp.c/pr39591-2.c: New test.
14948 * testsuite/libgomp.c/pr39591-3.c: New test.
14950 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
14952 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
14953 * testsuite/libgomp.c/atomic-6.c: Ditto.
14955 2009-03-23 Jakub Jelinek <jakub@redhat.com>
14958 * testsuite/libgomp.c/loop-12.c: New test.
14959 * testsuite/libgomp.c/loop-11.c: New test.
14960 * testsuite/libgomp.c++/loop-11.C: New test.
14961 * testsuite/libgomp.c++/loop-12.C: New test.
14962 * testsuite/libgomp.c++/for-8.C: New test.
14964 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
14966 * configure: Regenerate.
14968 2009-02-11 Jakub Jelinek <jakub@redhat.com>
14970 PR middle-end/39154
14971 * testsuite/libgomp.c/pr39154.c: New test.
14973 2009-01-30 Ian Lance Taylor <iant@google.com>
14975 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
14976 libgomp_ld_is_gold. Get gold version number.
14977 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
14978 * configure: Rebuild.
14980 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
14982 * testsuite/lib/libgomp.exp: Add -B option for targets that
14983 use libgfortran.a%s in their specs.
14985 2009-01-07 Jakub Jelinek <jakub@redhat.com>
14988 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
14989 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
14990 HAVE_AS_SYMVER_DIRECTIVE is not defined.
14991 * configure: Regenerated.
14992 * config.h.in: Likewise.
14994 2008-12-28 Jakub Jelinek <jakub@redhat.com>
14997 * testsuite/libgomp.c/pr38650.c: New test.
14998 * testsuite/libgomp.c++/pr38650.C: New test.
15000 2008-12-27 Jakub Jelinek <jakub@redhat.com>
15002 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
15004 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
15006 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
15008 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15010 * configure: Regenerate.
15012 2008-12-08 Jakub Jelinek <jakub@redhat.com>
15014 PR middle-end/36802
15015 * testsuite/libgomp.c/pr36802-1.c: New test.
15016 * testsuite/libgomp.c/pr36802-2.c: New test.
15017 * testsuite/libgomp.c/pr36802-3.c: New test.
15019 2008-12-01 Janis Johnson <janis187@us.ibm.com>
15022 * config/linux/powerpc/mutex.h: New.
15024 2008-12-01 Jakub Jelinek <jakub@redhat.com>
15027 * testsuite/libgomp.c++/for-7.C: New test.
15030 * testsuite/libgomp.c++/for-6.C: New test.
15032 2008-11-26 Janis Johnson <janis187@us.ibm.com>
15035 * testsuite/lib/libgomp.exp: Include new timeout library files.
15036 (libgomp_target_compile): Set timeout value from new proc.
15038 2008-11-13 Steve Ellcey <sje@cup.hp.com>
15041 * config/linux/ia64/mutex.h: New.
15043 2008-11-04 Tobias Burnus <burnus@net-b.de>
15046 * libgomp.texi (Runtime library routines, environment variables):
15047 Update for OpenMP version 3.0.
15049 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
15050 Steve Ellcey <sje@cup.hp.com>
15052 * configure: Regenerate for new libtool.
15053 * Makefile.in: Ditto.
15054 * testsuite/Makefile.in: Ditto.
15056 2008-09-19 Jakub Jelinek <jakub@redhat.com>
15057 Andreas Tobler <a.tobler@schweiz.org>
15059 * config/bsd/proc.c: New file.
15060 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
15061 * configure.ac: Check for header <sys/sysctl.h>
15062 * configure: Regenerate.
15063 * config.h.in: Likewise.
15065 2008-09-05 Janis Johnson <janis187@us.ibm.com>
15067 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
15069 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
15071 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
15072 * Makefile.in: Regenerated.
15073 * testsuite/Makefile.in: Regenerated.
15075 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
15077 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
15078 depend on blddir if blddir exists.
15079 (libgomp_target_compile): Likewise.
15080 * testsuite/libgomp.c++/c++.exp: Likewise.
15081 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15083 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15085 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
15086 Do not list GPL as Invariant Section.
15088 2008-07-28 Ilie Garbacea <ilie@mips.com>
15089 Chao-ying Fu <fu@mips.com>
15091 * configure.tgt: Enable futex for MIPS.
15092 * config/linux/mips/futex.h: New file.
15094 2008-07-16 Jakub Jelinek <jakub@redhat.com>
15096 * team.c (gomp_team_end): Free team immediately if it has
15099 2008-07-08 David Edelsohn <edelsohn@gnu.org>
15101 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
15102 * testsuite/libgomp.fortran/fortran.exp: Same.
15103 * testsuite/libgomp.c/c.exp: Same.
15104 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
15105 directory to library path first.
15107 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
15109 * env.c (parse_stacksize): Add cast to avoid warning.
15110 (parse_spincount): Likewise.
15112 2008-06-27 Jakub Jelinek <jakub@redhat.com>
15114 * testsuite/libgomp.c/loop-10.c: New test.
15115 * libgomp.c/loop-3.c (main): Add lastprivate clause.
15116 * libgomp.c++/loop-6.C (main): Likewise.
15119 * testsuite/libgomp.c/debug-1.c: New test.
15121 2008-06-19 Jakub Jelinek <jakub@redhat.com>
15123 * testsuite/libgomp.c/nqueens-1.c: New test.
15126 * testsuite/libgomp.c++/task-7.C: New function.
15128 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15130 * configure: Regenerate.
15132 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15134 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
15135 mutex when HAVE_SYNC_BUILTINS isn't defined.
15137 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15139 * libgomp.texi (omp_test_lock): Fix typo.
15141 2008-06-12 Tobias Burnus <burnus@net-b.de>
15143 * omp_lib.f90.in: Add "implicit none".
15145 2008-06-12 Jakub Jelinek <jakub@redhat.com>
15147 PR middle-end/36506
15148 * testsuite/libgomp.c/reduction-5.c: New test.
15150 2008-06-11 Jakub Jelinek <jakub@redhat.com>
15152 * libgomp.h (struct gomp_task): Add in_tied_task field.
15153 * task.c (gomp_init_task): Initialize it.
15154 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
15155 unconditionally. Don't call gomp_team_barrier_wake if
15156 current task is implicit or if(0) from implicit and number of
15157 running tasks is equal to nthreads - 1.
15160 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
15161 omp_get_team_size_8): Fix pastos.
15164 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
15165 * configure: Regenerated.
15166 * config.h.in: Regenerated.
15167 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
15170 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
15173 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
15174 (GOMP_loop_ull_dynamic_start): Likewise.
15175 (GOMP_loop_ull_guided_start): Likewise.
15176 (GOMP_loop_ull_ordered_static_start): Likewise.
15177 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
15178 (GOMP_loop_ull_ordered_guided_start): Likewise.
15180 2008-06-06 Jakub Jelinek <jakub@redhat.com>
15181 Richard Henderson <rth@redhat.com>
15182 Ulrich Drepper <drepper@redhat.com>
15183 Jakob Blomer <jakob.blomer@ira.uka.de>
15185 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
15186 Substitute also OMP_*LOCK_25*.
15187 * configure: Regenerated.
15188 * config.h.in: Regenerated.
15189 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
15190 ptrlock.c and task.c.
15191 * Makefile.in: Regenerated.
15192 * testsuite/Makefile.in: Regenerated.
15193 * task.c: New file.
15194 * loop_ull.c: New file.
15195 * iter_ull.c: New file.
15196 * libgomp.h: Include ptrlock.h.
15197 (enum gomp_task_kind): New type.
15198 (struct gomp_team): Add task_lock, task_queue, task_count,
15199 task_running_count, single_count fields. Add
15200 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
15201 Remove work_share_lock, generation_mask,
15202 oldest_live_gen, num_live_gen and init_work_shares fields, add
15203 work work_share_list_alloc, work_share_list_free and work_share_chunk
15204 fields. Change work_shares from pointer to pointers into an array.
15205 Change ordered_release field into gomp_sem_t ** from flexible array
15206 member. Add implicit_task and initial_work_shares fields.
15207 Move close to the end of the struct.
15208 (struct gomp_team_state): Add single_count, last_work_share,
15209 active_level and level fields, remove work_share_generation.
15210 (gomp_barrier_handle_tasks): New prototype.
15211 (gomp_finish_task): New inline function.
15212 (struct gomp_work_share): Move chunk_size, end, incr into
15213 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
15214 next_ll fields. Reshuffle fields. Add next_alloc,
15215 next_ws, next_free and inline_ordered_team_ids fields, change
15216 ordered_team_ids into pointer from flexible array member.
15217 Add mode field. Put lock and next into a different cache line
15218 from most of the write-once fields.
15219 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
15220 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
15221 gomp_iter_ull_guided_next): New prototypes.
15222 (gomp_new_icv): New prototype.
15223 (struct gomp_thread): Add thread_pool and task fields.
15224 (struct gomp_thread_pool): New type.
15225 (gomp_new_team): New prototype.
15226 (gomp_team_start): Change type of last argument.
15227 (gomp_new_work_share): Removed.
15228 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
15229 (gomp_work_share_init_done): New static inline.
15230 (gomp_throttled_spin_count_var, gomp_available_cpus,
15231 gomp_managed_threads): New extern decls.
15232 (gomp_init_task): New prototype.
15233 (gomp_spin_count_var): New extern var decl.
15234 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
15235 or no alias support, or if not PIC.
15236 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
15237 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
15238 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
15239 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
15240 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
15241 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
15242 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
15243 gomp_test_nest_lock_25): New prototypes.
15244 (omp_lock_symver, strong_alias): Define.
15245 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
15247 (gomp_end_task): New.
15248 (struct gomp_task_icv, gomp_global_icv): New.
15249 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
15250 (struct gomp_task): New.
15251 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15252 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15254 (gomp_schedule_type): Reorder enum to match
15256 * team.c (struct gomp_thread_start_data): Add thread_pool and task
15258 (gomp_thread_start): Add gomp_team_barrier_wait call.
15259 For non-nested case remove clearing of docked thread thr fields.
15260 Use pool fields instead of global gomp_* variables. Use
15261 gomp_barrier_wait_last when needed. Initialize ts.active_level.
15262 Create tasks for each member thread.
15263 (free_team): Only destroy team barrier, task_lock here and free it.
15264 (gomp_free_thread): Free last_team if non-NULL.
15265 (gomp_team_end): Call gomp_team_barrier_wait instead of
15266 gomp_barrier_wait. For nested case call one extra
15267 gomp_barrier_wait. Move here some destruction from free_team.
15268 Call free_team on pool->last_team if any, rather than freeing
15269 current team. Destroy work_share_list_free_lock ifndef
15270 HAVE_SYNC_BUILTINS.
15271 (gomp_new_icv): New function.
15272 (gomp_threads, gomp_threads_size, gomp_threads_used,
15273 gomp_threads_dock): Removed.
15274 (gomp_thread_destructor): New variable.
15275 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
15277 (gomp_team_start): Create new pool if current thread doesn't have
15278 one. Use pool fields instead of global gomp_* variables.
15279 Initialize thread_pool field for new threads. Clear single_count.
15280 Change last argument from ws to team, don't create
15281 new team, set ts.work_share to &team->work_shares[0] and clear
15282 ts.last_work_share. Don't clear ts.work_share_generation.
15283 If number of threads changed, adjust atomically gomp_managed_threads.
15284 Use gomp_init_task instead of gomp_new_task,
15285 set thr->task to the corresponding implicit_task array entry.
15286 Create tasks for each member thread. Initialize ts.level.
15287 (initialize_team): Call pthread_key_create on
15288 gomp_thread_destructor.
15289 (team_destructor): New function.
15290 (new_team): Removed.
15291 (gomp_new_team): New function.
15292 (free_team): Free gomp_work_share blocks chained through next_alloc,
15293 instead of freeing work_shares and destroying work_share_lock.
15294 (gomp_team_end): Call gomp_fini_work_share. If number of threads
15295 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
15296 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
15297 of gomp_barrier_wait.
15298 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
15299 instead of gomp_barrier_wait. Call gomp_work_share_init_done
15300 if gomp_work_share_start returned true. Don't unlock ws->lock.
15301 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
15302 of gomp_barrier_wait.
15303 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
15304 gomp_work_share_init_done if gomp_work_share_start returned true.
15305 Don't unlock ws->lock.
15306 * work.c: Include stddef.h.
15307 (free_work_share): Use work_share_list_free_lock instead
15308 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
15309 Call gomp_fini_work_share and then either free ws if orphaned, or
15310 put it into work_share_list_free list of the current team.
15311 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
15313 (gomp_work_share_start, gomp_work_share_end,
15314 gomp_work_share_end_nowait): Rewritten.
15315 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
15316 (openmp_version): Set to 200805.
15317 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15318 omp_sched_guided, omp_sched_auto): New parameters.
15319 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15320 omp_set_max_active_levels, omp_get_max_active_levels,
15321 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15322 omp_get_active_level): New interfaces.
15323 * omp_lib.h.in (openmp_version): Set to 200805.
15324 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
15325 omp_sched_guided, omp_sched_auto): New parameters.
15326 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15327 omp_set_max_active_levels, omp_get_max_active_levels,
15328 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15329 omp_get_active_level): New externals.
15330 * loop.c: Include limits.h.
15331 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
15333 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
15334 Likewise. Use gomp_icv.
15335 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
15336 ts.static_trip here.
15337 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
15338 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
15339 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
15340 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
15341 don't unlock ws->lock, otherwise lock it.
15342 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
15343 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
15344 (gomp_parallel_loop_start): Call gomp_new_team instead of
15345 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
15346 Adjust gomp_team_start caller. Pass 0 as second argument to
15347 gomp_resolve_num_threads.
15348 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
15349 If adding ws->chunk_size nthreads + 1 times after end won't
15350 overflow, set ws->mode to 1.
15351 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
15352 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
15353 GOMP_loop_ull_ordered_static_start,
15354 GOMP_loop_ull_ordered_dynamic_start,
15355 GOMP_loop_ull_ordered_guided_start,
15356 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
15357 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
15358 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
15359 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
15360 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
15362 * libgomp.map: Export lock routines also @@OMP_2.0.
15363 (GOMP_loop_ordered_dynamic_first,
15364 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
15365 GOMP_loop_ordered_static_first): Remove.
15366 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
15367 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
15368 GOMP_loop_ull_ordered_dynamic_next,
15369 GOMP_loop_ull_ordered_dynamic_start,
15370 GOMP_loop_ull_ordered_guided_next,
15371 GOMP_loop_ull_ordered_guided_start,
15372 GOMP_loop_ull_ordered_runtime_next,
15373 GOMP_loop_ull_ordered_runtime_start,
15374 GOMP_loop_ull_ordered_static_next,
15375 GOMP_loop_ull_ordered_static_start,
15376 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
15377 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
15378 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
15379 (omp_set_schedule, omp_get_schedule,
15380 omp_get_thread_limit, omp_set_max_active_levels,
15381 omp_get_max_active_levels, omp_get_level,
15382 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
15383 omp_set_schedule_, omp_set_schedule_8_,
15384 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15385 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15386 omp_get_max_active_levels_, omp_get_level_,
15387 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15388 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15389 New exports @@OMP_3.0.
15390 * omp.h.in (omp_sched_t): New type.
15391 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15392 omp_set_max_active_levels, omp_get_max_active_levels,
15393 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
15394 omp_get_active_level): New prototypes.
15395 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
15396 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
15397 gomp_thread_limit_var, gomp_remaining_threads_count,
15398 gomp_remaining_threads_lock): New variables.
15399 (parse_spincount): New function.
15400 (initialize_env): Call gomp_init_num_threads unconditionally.
15401 Initialize gomp_available_cpus. Call parse_spincount,
15402 initialize gomp_{,throttled_}spin_count_var
15403 depending on presence and value of OMP_WAIT_POLICY and
15404 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
15405 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
15406 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
15407 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
15408 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
15409 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
15410 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
15411 (gomp_global_icv): New.
15412 (parse_schedule): Use it. Parse "auto".
15413 (omp_set_num_threads): Use gomp_icv.
15414 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
15416 (omp_get_max_threads): Move from parallel.c.
15417 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
15418 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
15420 (parse_stacksize, parse_wait_policy): New functions.
15421 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
15422 both wrappers for compatibility and new locks.
15423 (omp_set_schedule, omp_get_schedule,
15424 omp_get_thread_limit, omp_set_max_active_levels,
15425 omp_get_max_active_levels, omp_get_level,
15426 omp_get_ancestor_thread_num, omp_get_team_size,
15427 omp_get_active_level): New ialias_redirect.
15428 (omp_set_schedule_, omp_set_schedule_8_,
15429 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
15430 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
15431 omp_get_max_active_levels_, omp_get_level_,
15432 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
15433 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
15435 * parallel.c: Include limits.h.
15436 (gomp_resolve_num_threads): Add count argument. Rewritten.
15437 (GOMP_parallel_start): Call gomp_new_team and pass that as last
15438 argument to gomp_team_start. Pass 0 as second argument to
15439 gomp_resolve_num_threads.
15440 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
15441 if gomp_thread_limit_var != ULONG_MAX.
15442 (omp_in_parallel): Implement using ts.active_level.
15443 (omp_get_max_threads): Move to env.c.
15444 (omp_get_level, omp_get_ancestor_thread_num,
15445 omp_get_team_size, omp_get_active_level): New functions,
15447 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
15448 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
15449 gomp_iter_dynamic_next instead of the _locked variant and don't take
15450 lock around it, otherwise acquire it before calling
15451 gomp_iter_dynamic_next_locked.
15452 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
15453 gomp_iter_dynamic_next instead of the _locked variant and don't take
15455 (GOMP_parallel_sections_start): Call gomp_new_team instead of
15456 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
15457 Adjust gomp_team_start caller. Pass count as second argument to
15458 gomp_resolve_num_threads, don't adjust num_threads after the call.
15460 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
15461 ws->chunk_size by incr.
15462 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
15464 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
15466 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
15467 (omp_check_defines): Check even the compat defines.
15468 * config/linux/ptrlock.c: New file.
15469 * config/linux/ptrlock.h: New file.
15470 * config/linux/wait.h: New file.
15471 * config/posix/ptrlock.c: New file.
15472 * config/posix/ptrlock.h: New file.
15473 * config/linux/bar.h (gomp_team_barrier_wait,
15474 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15475 (gomp_team_barrier_set_task_pending,
15476 gomp_team_barrier_clear_task_pending,
15477 gomp_team_barrier_set_waiting_for_tasks,
15478 gomp_team_barrier_waiting_for_tasks,
15479 gomp_team_barrier_done): New inlines.
15480 (gomp_barrier_t): Rewritten.
15481 (gomp_barrier_state_t): New typedef.
15482 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
15483 gomp_barrier_wait_start): Rewritten.
15484 (gomp_barrier_wait_end): Change second argument to
15485 gomp_barrier_state_t.
15486 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15488 * config/linux/bar.c: Include wait.h instead of libgomp.h and
15490 (gomp_barrier_wait_end): Rewritten.
15491 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15492 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
15493 * config/posix/bar.h (gomp_barrier_t): Add generation field.
15494 (gomp_barrier_state_t): New typedef.
15495 (gomp_team_barrier_wait,
15496 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
15497 (gomp_barrier_wait_start): Or all but low 2 bits from generation
15498 into the return value. Return gomp_barrier_state_t.
15499 (gomp_team_barrier_set_task_pending,
15500 gomp_team_barrier_clear_task_pending,
15501 gomp_team_barrier_set_waiting_for_tasks,
15502 gomp_team_barrier_waiting_for_tasks,
15503 gomp_team_barrier_done): New inlines.
15504 (gomp_barrier_wait_end): Change second argument to
15505 gomp_barrier_state_t.
15506 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
15508 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
15509 (gomp_barrier_wait_end): Change second argument to
15510 gomp_barrier_state_t.
15511 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
15512 gomp_team_barrier_wake): New functions.
15513 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
15515 (gomp_futex_wake, gomp_futex_wait): New variables.
15516 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
15517 * config/linux/lock.c: Rewrite to make locks task owned,
15518 for backwards compatibility provide the old entrypoints
15519 if symbol versioning. Include wait.h instead of libgomp.h and
15521 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
15522 * config/posix95/lock.c: Rewrite to make locks task owned,
15523 for backwards compatibility provide the old entrypoints
15524 if symbol versioning.
15525 * config/posix/lock.c: Rewrite to make locks task owned,
15526 for backwards compatibility provide the old entrypoints
15527 if symbol versioning.
15528 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
15529 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
15530 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
15531 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15532 (sys_futex0): Return error code.
15533 (futex_wake, futex_wait): If ENOSYS was returned, clear
15534 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15535 (cpu_relax, atomic_write_barrier): New static inlines.
15536 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15537 (futex_wake, futex_wait): If ENOSYS was returned, clear
15538 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15539 (cpu_relax, atomic_write_barrier): New static inlines.
15540 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15541 (sys_futex0): Return error code.
15542 (futex_wake, futex_wait): If ENOSYS was returned, clear
15543 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15544 (cpu_relax, atomic_write_barrier): New static inlines.
15545 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15546 (sys_futex0): Return error code.
15547 (futex_wake, futex_wait): If ENOSYS was returned, clear
15548 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15549 (cpu_relax, atomic_write_barrier): New static inlines.
15550 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15551 (sys_futex0): Return error code.
15552 (futex_wake, futex_wait): If ENOSYS was returned, clear
15553 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15554 (cpu_relax, atomic_write_barrier): New static inlines.
15555 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
15556 (sys_futex0): Return error code.
15557 (futex_wake, futex_wait): If ENOSYS was returned, clear
15558 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
15559 (cpu_relax, atomic_write_barrier): New static inlines.
15560 * config/linux/sem.c: Include wait.h instead of libgomp.h and
15562 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
15563 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
15564 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
15566 (omp_nest_lock_t): Change owner into void *, add lock field.
15567 * config/posix95/omp-lock.h: Include semaphore.h.
15568 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15569 (omp_lock_t): Use sem_t instead of mutex if semaphores
15571 (omp_nest_lock_t): Likewise. Change owner to void *.
15572 * config/posix/omp-lock.h: Include semaphore.h.
15573 (omp_lock_25_t, omp_nest_lock_25_t): New types.
15574 (omp_lock_t): Use sem_t instead of mutex if semaphores
15576 (omp_nest_lock_t): Likewise. Add owner field.
15578 2008-06-06 Jakub Jelinek <jakub@redhat.com>
15580 * testsuite/libgomp.c/collapse-1.c: New test.
15581 * testsuite/libgomp.c/collapse-2.c: New test.
15582 * testsuite/libgomp.c/collapse-3.c: New test.
15583 * testsuite/libgomp.c/icv-1.c: New test.
15584 * testsuite/libgomp.c/icv-2.c: New test.
15585 * testsuite/libgomp.c/lib-2.c: New test.
15586 * testsuite/libgomp.c/lock-1.c: New test.
15587 * testsuite/libgomp.c/lock-2.c: New test.
15588 * testsuite/libgomp.c/lock-3.c: New test.
15589 * testsuite/libgomp.c/loop-4.c: New test.
15590 * testsuite/libgomp.c/loop-5.c: New test.
15591 * testsuite/libgomp.c/loop-6.c: New test.
15592 * testsuite/libgomp.c/loop-7.c: New test.
15593 * testsuite/libgomp.c/loop-8.c: New test.
15594 * testsuite/libgomp.c/loop-9.c: New test.
15595 * testsuite/libgomp.c/nested-3.c: New test.
15596 * testsuite/libgomp.c/nestedfn-6.c: New test.
15597 * testsuite/libgomp.c/sort-1.c: New test.
15598 * testsuite/libgomp.c/task-1.c: New test.
15599 * testsuite/libgomp.c/task-2.c: New test.
15600 * testsuite/libgomp.c/task-3.c: New test.
15601 * testsuite/libgomp.c/task-4.c: New test.
15602 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
15603 to C++ testsuite default compiler options.
15604 * testsuite/libgomp.c++/collapse-1.C: New test.
15605 * testsuite/libgomp.c++/collapse-2.C: New test.
15606 * testsuite/libgomp.c++/ctor-10.C: New test.
15607 * testsuite/libgomp.c++/for-1.C: New test.
15608 * testsuite/libgomp.c++/for-2.C: New test.
15609 * testsuite/libgomp.c++/for-3.C: New test.
15610 * testsuite/libgomp.c++/for-4.C: New test.
15611 * testsuite/libgomp.c++/for-5.C: New test.
15612 * testsuite/libgomp.c++/loop-8.C: New test.
15613 * testsuite/libgomp.c++/loop-9.C: New test.
15614 * testsuite/libgomp.c++/loop-10.C: New test.
15615 * testsuite/libgomp.c++/task-1.C: New test.
15616 * testsuite/libgomp.c++/task-2.C: New test.
15617 * testsuite/libgomp.c++/task-3.C: New test.
15618 * testsuite/libgomp.c++/task-4.C: New test.
15619 * testsuite/libgomp.c++/task-5.C: New test.
15620 * testsuite/libgomp.c++/task-6.C: New test.
15621 * testsuite/libgomp.fortran/allocatable1.f90: New test.
15622 * testsuite/libgomp.fortran/allocatable2.f90: New test.
15623 * testsuite/libgomp.fortran/allocatable3.f90: New test.
15624 * testsuite/libgomp.fortran/allocatable4.f90: New test.
15625 * testsuite/libgomp.fortran/collapse1.f90: New test.
15626 * testsuite/libgomp.fortran/collapse2.f90: New test.
15627 * testsuite/libgomp.fortran/collapse3.f90: New test.
15628 * testsuite/libgomp.fortran/collapse4.f90: New test.
15629 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
15630 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
15631 * testsuite/libgomp.fortran/lib4.f90: New test.
15632 * testsuite/libgomp.fortran/lock-1.f90: New test.
15633 * testsuite/libgomp.fortran/lock-2.f90: New test.
15634 * testsuite/libgomp.fortran/nested1.f90: New test.
15635 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
15636 * testsuite/libgomp.fortran/strassen.f90: New test.
15637 * testsuite/libgomp.fortran/tabs1.f90: New test.
15638 * testsuite/libgomp.fortran/tabs2.f: New test.
15639 * testsuite/libgomp.fortran/task1.f90: New test.
15640 * testsuite/libgomp.fortran/task2.f90: New test.
15641 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
15642 * testsuite/libgomp.fortran/vla5.f90: Likewise.
15643 * testsuite/libgomp.c/pr26943-2.c: Likewise.
15644 * testsuite/libgomp.c/pr26943-3.c: Likewise.
15645 * testsuite/libgomp.c/pr26943-4.c: Likewise.
15647 2008-05-23 Jakub Jelinek <jakub@redhat.com>
15650 * testsuite/libgomp.c++/ctor-11.C: New test.
15651 * testsuite/libgomp.c++/ctor-12.C: New test.
15653 2008-05-15 Janis Johnson <janis187@us.ibm.com>
15655 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
15657 2008-05-07 Jakub Jelinek <jakub@redhat.com>
15659 PR middle-end/36106
15660 * testsuite/libgomp.c/atomic-5.c: New test.
15661 * testsuite/libgomp.c/atomic-6.c: New test.
15662 * testsuite/libgomp.c/autopar-1.c: New test.
15664 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15666 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
15667 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
15668 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
15669 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
15670 * configure: Regenerate.
15671 * Makefile.in, testsuite/Makefile.in: Likewise.
15673 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
15676 * aclocal.m4: Regenerate.
15677 * configure: Regenerate.
15679 2008-03-18 Jakub Jelinek <jakub@redhat.com>
15681 PR middle-end/35611
15682 * testsuite/libgomp.c/atomic-4.c: New test.
15685 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
15686 (gomp_iter_guided_next): Likewise.
15687 * testsuite/libgomp.c/pr35625.c: New test.
15689 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
15691 * aclocal.m4: Regenerate.
15692 * configure: Likewise.
15693 * Makefile.in: Likewise.
15694 * testsuite/Makefile.in: Likewise.
15696 2008-03-13 Jakub Jelinek <jakub@redhat.com>
15698 PR middle-end/35185
15699 * testsuite/libgomp.c++/pr35185.C: New test.
15701 2008-03-12 Jakub Jelinek <jakub@redhat.com>
15703 PR middle-end/35549
15704 * testsuite/libgomp.c/pr35549.c: New test.
15706 2008-03-06 Jakub Jelinek <jakub@redhat.com>
15708 * testsuite/libgomp.c/atomic-3.c: New test.
15710 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
15713 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
15714 .F08 file suffixes.
15716 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
15719 * configure.ac: Add ACX_HEADER_STRING.
15720 * env.c: Include strings.h.
15721 * aclocal.m4: Regenerate.
15722 * config.h.in: Regenerate.
15723 * configure: Regenerate.
15724 * Makefile.in: Regenerate.
15725 * testsuite/Makefile.in: Regenerate.
15727 2008-02-15 Jakub Jelinek <jakub@redhat.com>
15729 PR middle-end/35196
15730 * testsuite/libgomp.c/pr35196.c: New test.
15732 PR middle-end/35130
15733 * testsuite/libgomp.fortran/pr35130.f90: New test.
15734 * testsuite/libgomp.c/pr35130.c: New test.
15736 2008-01-25 Jakub Jelinek <jakub@redhat.com>
15738 PR middle-end/33880
15739 * testsuite/libgomp.c/pr33880.c: New test.
15740 * testsuite/libgomp.fortran/pr33880.f90: New test.
15742 2008-01-24 David Edelsohn <edelsohn@gnu.org>
15744 * configure: Regenerate.
15746 2008-01-08 Jakub Jelinek <jakub@redhat.com>
15748 * configure.ac: Move futex checking into ../config/futex.m4.
15749 * configure: Rebuilt.
15750 * aclocal.m4: Rebuilt.
15751 * Makefile.in: Rebuilt.
15753 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
15754 2007-10-15 ../config/tls.m4 change.
15756 2007-12-19 Jakub Jelinek <jakub@redhat.com>
15759 * testsuite/libgomp.c/pr34513.c: New test.
15760 * testsuite/libgomp.c++/pr34513.C: New test.
15762 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
15765 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
15767 2007-12-04 Jakub Jelinek <jakub@redhat.com>
15769 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
15771 2007-12-03 Jakub Jelinek <jakub@redhat.com>
15773 * testsuite/libgomp.c/private-1.c: New test.
15775 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
15776 Paolo Bonzini <bonzini@gnu.org>
15778 * Makefile.am: Use space as vpath separator. Use 'vpath %'
15779 instead of 'VPATH ='.
15780 * Makefile.in: Regenerate.
15782 2007-11-23 Matthias Klose <doko@ubuntu.com>
15784 * configure.ac: Adjust makeinfo version check.
15785 * configure: Regenerate.
15787 2007-11-10 Jakub Jelinek <jakub@redhat.com>
15790 * testsuite/libgomp.fortran/pr34020.f90: New test.
15792 2007-11-06 Jakub Jelinek <jakub@redhat.com>
15795 * testsuite/libgomp.c++/atomic-1.C: New test.
15797 2007-10-25 Jakub Jelinek <jakub@redhat.com>
15800 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
15801 Make x and y integers rather than (implicit) reals. Add private (j)
15802 clause to the last omp parallel.
15804 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
15806 * configure: Regenerate following changes to ../config/tls.m4.
15808 2007-09-28 Jakub Jelinek <jakub@redhat.com>
15810 * testsuite/libgomp.fortran/stack.f90: New test.
15812 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
15814 * config/mingw32/proc.c: New file.
15816 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
15818 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
15819 (main): Use __get_cpuid to get i386 target fetaures.
15820 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
15821 (main): Use __get_cpuid to get x86_64 target fetaures.
15823 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
15826 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
15827 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
15829 2007-07-12 Jakub Jelinek <jakub@redhat.com>
15832 * testsuite/libgomp.fortran/pr32550.f90: New test.
15833 * testsuite/libgomp.fortran/crayptr2.f90: New test.
15835 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
15837 * aclocal.m4: Regenerated.
15839 2007-07-05 Tobias Burnus <burnus@net-b.de>
15842 * testsuite/libgomp.fortran/pr32359.f90: New.
15844 2007-07-02 Jakub Jelinek <jakub@redhat.com>
15847 * sections.c (GOMP_parallel_sections_start): Only decrease
15848 number of threads to COUNT if dyn_var is true.
15849 * testsuite/libgomp.c/pr32468.c: New test.
15851 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
15854 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
15856 2007-06-21 Jakub Jelinek <jakub@redhat.com>
15858 PR middle-end/32362
15859 * testsuite/libgomp.c/pr32362-1.c: New test.
15860 * testsuite/libgomp.c/pr32362-2.c: New test.
15861 * testsuite/libgomp.c/pr32362-3.c: New test.
15863 2007-06-07 Jakub Jelinek <jakub@redhat.com>
15865 * team.c (gomp_team_start): Fix setting up thread_attr
15868 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
15870 * configure: Regenerate.
15872 2007-05-23 Steve Ellcey <sje@cup.hp.com>
15874 * Makefile.in: Regenerate.
15875 * configure: Regenerate.
15876 * aclocal.m4: Regenerate.
15877 * testsuite/Makefile.in: Regenerate.
15879 2007-05-04 Jakub Jelinek <jakub@redhat.com>
15881 * config/linux/proc.c: New file.
15884 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
15886 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
15888 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
15890 2007-04-16 Matthias Klose <doko@debian.org>
15892 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
15893 flags if not building with -m64.
15894 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
15895 flag for i?86-*-* targets, if current target matches -m64.
15897 2007-04-14 Steve Ellcey <sje@cup.hp.com>
15899 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
15900 * Makefile.in: Regenerate.
15902 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
15905 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
15907 * testsuite/libgomp.fortran/fortran.exp: Likewise.
15909 2007-04-04 Jakub Jelinek <jakub@redhat.com>
15911 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
15913 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
15914 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
15915 (parse_affinity): New function.
15916 (initialize_env): Call it and gomp_init_affinity.
15917 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
15918 create new pthread_attr_t and call gomp_init_thread_affinity
15919 on it for each thread before passing the attribute to pthread_create.
15920 * config/linux/affinity.c: New file.
15921 * config/posix/affinity.c: New file.
15922 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
15923 * configure: Rebuilt.
15924 * config.h.in: Rebuilt.
15925 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
15926 * Makefile.in: Rebuilt.
15928 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
15930 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
15932 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
15933 and use it if found.
15935 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
15937 * testsuite/config/default.exp: New file.
15938 * testsuite/lib/libgomp.exp: New file.
15939 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
15940 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
15941 load_lib *, load_gcc_lib *): Move to libgomp.exp.
15942 (libgomp_load): Remove.
15943 * testsuite/lib/libgomp.exp (libgomp_init): Compute
15944 always_ld_library_path, not ld_library_path. Set additional_flags
15945 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
15946 (target_compile): Do not call libgomp_init. Append lang_library_path
15947 and lang_link_flags to options.
15948 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
15949 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
15951 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
15952 always_ld_library_path. Set LD_LIBRARY_PATH here.
15953 * testsuite/libgomp.fortran/fortran.exp: Ditto.
15954 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
15955 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
15957 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
15958 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
15959 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
15960 * testsuite/libgomp.c/pr29947-1.c: Ditto.
15961 * testsuite/libgomp.c/atomic-10.c: Ditto.
15963 2007-03-21 Jakub Jelinek <jakub@redhat.com>
15965 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
15966 dg-final cleanup-modules line.
15967 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
15968 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
15969 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
15970 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
15971 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
15972 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
15973 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
15975 2007-03-18 Andreas Schwab <schwab@suse.de>
15977 * acinclude.m4: Adjust regular expression for ld version
15979 * configure: Regenerate.
15981 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
15983 * Makefile.am: Add install-pdf target as copied from
15984 automake v1.10 rules.
15985 * Makefile.in: Regenerate
15987 2007-02-07 Jakub Jelinek <jakub@redhat.com>
15990 * configure: Regenerate.
15993 * testsuite/libgomp.c++/pr30703.C: New test.
15995 2007-02-02 Jakub Jelinek <jakub@redhat.com>
15998 2006-07-05 Eric Christopher <echristo@apple.com>
15999 * configure.ac: Depend addition of -pthread on host OS.
16000 * configure: Regenerate.
16002 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
16004 * libgomp.texi: Fix spacing after abbreviations.
16006 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
16009 * configure.ac: Add check for makeinfo
16010 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
16011 if an appropriate version of makeinfo is found.
16012 * aclocal.m4: Regenerated.
16013 * configure: Regenerated.
16014 * Makefile.in: Regenerated.
16015 * testsuite/Makefile.in: Regenerated.
16017 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
16020 * libgomp.texi: More about implementation-dependent settings.
16022 2007-01-26 Tobias Burnus <burnus@net-b.de>
16024 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
16026 2007-01-24 Jakub Jelinek <jakub@redhat.com>
16028 PR middle-end/30494
16029 * testsuite/libgomp.c/pr30494.c: New test.
16031 2007-01-15 Tom Tromey <tromey@redhat.com>
16033 * configure: Rebuilt.
16034 * configure.ac: Fixed comment.
16036 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
16038 * libgomp.texi: Document implementation specific default values of
16039 environment variables.
16041 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
16044 * libgomp.texi: New file.
16045 * configure.ac: Add --enable-generated-files-in-srcdir option.
16046 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
16048 * Makefile.in: Regenerated.
16049 * config.h.in: Regenerated.
16050 * testsuite/Makefile.in: Regenerated.
16053 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
16056 * env.c (omp_set_num_threads): Set illegal thread count to 1.
16058 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
16060 * configure: Regenerate.
16062 2006-12-04 Jakub Jelinek <jakub@redhat.com>
16065 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
16066 start if there shouldn't be any loop iterations.
16067 (gomp_loop_ordered_static_start): Remove start == end test.
16068 * testsuite/libgomp.c/pr29947-1.c: New test.
16069 * testsuite/libgomp.c/pr29947-2.c: New test.
16071 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
16073 * configure.tgt: Force initial-exec TLS model on Linux only.
16075 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
16077 * configure: Regenerated.
16079 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
16081 * env.c (parse_schedule): Reject out of range values.
16082 (parse_unsigned_long): Reject out of range, negative or zero values.
16084 2006-10-29 Jakub Jelinek <jakub@redhat.com>
16087 * testsuite/libgomp.fortran/pr29629.f90: New test.
16089 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
16092 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
16093 * config/posix95: New directory.
16094 * config/posix95/omp-lock.h: New file.
16095 * config/posix95/lock.c: Likewise.
16097 2006-10-14 Geoffrey Keating <geoffk@apple.com>
16099 * aclocal.m4: Regenerate.
16100 * configure: Regenerate.
16102 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16104 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
16107 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
16109 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
16111 * configure: Regenerate.
16112 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
16114 2006-09-26 Jakub Jelinek <jakub@redhat.com>
16116 PR middle-end/25261
16117 PR middle-end/28790
16118 * testsuite/libgomp.c/nestedfn-4.c: New test.
16119 * testsuite/libgomp.c/nestedfn-5.c: New test.
16120 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
16123 * testsuite/libgomp.fortran/condinc1.f: New test.
16124 * testsuite/libgomp.fortran/condinc2.f: New test.
16125 * testsuite/libgomp.fortran/condinc3.f90: New test.
16126 * testsuite/libgomp.fortran/condinc4.f90: New test.
16127 * testsuite/libgomp.fortran/condinc1.inc: New file.
16129 2006-09-18 Tom Tromey <tromey@redhat.com>
16131 * configure: Rebuilt.
16133 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
16136 PR preprocessor/14634
16137 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
16139 * configure: Regenerate.
16141 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
16143 * testsuite/libgomp.fortran/reduction3.f90: Change
16144 -2147483648 to -huge(i)-1 to avoid overflow.
16145 * testsuite/libgomp.fortran/reduction4.f90: Change
16146 Z'ffffffff' to not(0) to avoid overflow.
16148 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
16151 * Makefile.am (libsubincludedir): New.
16152 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
16153 * Makefile.in: Regenerate.
16155 2006-08-17 Jakub Jelinek <jakub@redhat.com>
16158 * env.c: Include ctype.h.
16159 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
16160 leading and/or trailing whitespace and compare strings case
16163 2006-07-16 Jakub Jelinek <jakub@redhat.com>
16166 * testsuite/libgomp.fortran/pr28390.f: New test.
16168 2006-07-05 Eric Christopher <echristo@apple.com>
16170 * configure.ac: Depend addition of -pthread on host OS.
16171 * configure: Regenerate.
16173 2006-06-21 Jakub Jelinek <jakub@redhat.com>
16175 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
16176 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
16179 2006-06-20 Jakub Jelinek <jakub@redhat.com>
16183 * configure.ac: If neither --enable-linux-futex nor
16184 --disable-linux-futex is passed, determine the default by checking
16185 for compiling and/or running against NPTL. With --enable-linux-futex,
16186 check if SYS_gettid and SYS_futex are defined.
16187 * configure: Rebuilt.
16189 2006-06-14 Richard Henderson <rth@redhat.com>
16192 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
16193 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
16195 2006-06-09 Richard Henderson <rth@redhat.com>
16197 * env.c (gomp_nthreads_var): Change to unsigned long.
16198 (gomp_run_sched_chunk): Likewise.
16199 (parse_unsigned_long): Rename from parse_num_threads and generalize.
16200 (initialize_env): Initialize gomp_thread_attr.
16201 * libgomp.h (gomp_nthreads_var): Update decl.
16202 (gomp_run_sched_chunk): Likewise.
16203 (gomp_thread_attr): Declare.
16204 * team.c (gomp_thread_attr): Export.
16205 (initialize_team): Don't initialize it.
16207 2006-06-09 Jakub Jelinek <jakub@redhat.com>
16210 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
16211 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
16213 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16215 * config/mingw32/time.c: New file.
16216 * configure.tgt: Use it.
16218 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
16220 * Makefile.am: Add install-html target. Add install-html to .PHONY
16221 * Makefile.in: Regenerate.
16223 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
16226 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
16227 * testsuite/libgomp.c/critical-1.c: Likewise.
16228 * testsuite/libgomp.c/loop-1.c: Likewise.
16229 * testsuite/libgomp.c/loop-2.c: Likewise.
16230 * testsuite/libgomp.c/single-1.c: Likewise.
16231 * testsuite/libgomp.c/ordered-1.c: Likewise.
16232 * testsuite/libgomp.c/ordered-2.c: Likewise.
16234 2006-05-15 Jakub Jelinek <jakub@redhat.com>
16236 PR middle-end/27416
16237 * libgomp.fortran/pr27416-1.f90: New test.
16239 2006-05-03 Jakub Jelinek <jakub@redhat.com>
16242 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
16243 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
16245 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16248 * testsuite/libgomp.c/pr26943-1.c: New test.
16249 * testsuite/libgomp.c/pr26943-2.c: New test.
16250 * testsuite/libgomp.c/pr26943-3.c: New test.
16251 * testsuite/libgomp.c/pr26943-4.c: New test.
16252 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
16253 * testsuite/libgomp.c++/pr26943.C: New test.
16255 2006-05-02 Jakub Jelinek <jakub@redhat.com>
16257 PR middle-end/27337
16258 * testsuite/libgomp.c++/pr27337.C: New test.
16260 2006-04-26 Jakub Jelinek <jakub@redhat.com>
16263 * testsuite/libgomp.c/pr26171.c: New test.
16265 2006-04-25 Richard Henderson <rth@redhat.com>
16268 * configure.ac: Use GCC_CHECK_TLS.
16269 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
16270 * Makefile.in, aclocal.m4, configure: Regenerate.
16272 2006-04-10 Matthias Klose <doko@debian.org>
16274 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
16275 directory names containing underscores.
16277 2006-03-21 Jakub Jelinek <jakub@redhat.com>
16280 * testsuite/libgomp.c++/pr26691.C: New test.
16282 2006-03-13 Jakub Jelinek <jakub@redhat.com>
16284 * testsuite/libgomp.fortran/retval2.f90: New test.
16286 2006-03-09 Diego Novillo <dnovillo@redhat.com>
16288 * testsuite/libgomp.c++: New directory.
16290 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
16292 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
16293 * config/posix/sem.c: Implement the above.
16295 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
16297 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
16298 define HAVE_BROKEN_POSIX_SEMAPHORES.
16299 * configure: Rebuilt.
16300 * config.h.in: Rebuilt.
16302 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
16305 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
16306 for the other pthread check.
16307 * configure: Regenerate.
16308 * config.h.in: Regenerate.
16310 2006-02-15 Jakub Jelinek <jakub@redhat.com>
16314 * Makefile.am (fincludedir): New variable.
16315 (nodist_include_HEADERS): Remove Fortran files.
16316 (nodist_finclude_HEADERS): New variable.
16317 * Makefile.in: Regenerated.
16319 2006-02-13 Jakub Jelinek <jakub@redhat.com>
16321 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
16322 Remove tests for returning assumed character length arrays.
16324 2006-02-12 Roger Sayle <roger@eyesopen.com>
16325 John David Anglin <dave@hiauly1.hia.nrc.ca>
16328 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
16330 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
16332 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
16334 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
16336 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
16337 part of LD_LIBRARY_PATH manually.
16339 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
16342 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
16345 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
16348 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
16349 * configure.ac (PERL): Don't set.
16350 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
16351 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
16352 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
16353 * omp.h.in: Wrap the new configure substitutions with @ characters.
16354 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
16355 * aclocal.m4, configure, Makefile.in: Regenerate.
16356 * mkomp_h.pl: Delete.
16358 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
16361 * configure.ac: Use GCC_HEADER_STDINT.
16362 * libgomp.h: Include gstdint.h.
16363 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
16364 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
16366 2006-01-24 Richard Henderson <rth@redhat.com>
16369 * configure.ac: Add AM_MAINTAINER_MODE.
16370 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
16372 2006-01-24 Diego Novillo <dnovillo@redhat.com>
16374 * Makefile.in: Regenerate.
16375 * testsuite/Makefile.in: Regenerate.
16376 * aclocal.m4: Regenerate.
16378 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
16380 * config/posix/proc.c: Conditional include of sys/loadavg.h for
16382 * configure.ac: Add check for loadavg.h.
16383 (link_gomp): Adjust comment.
16384 * configure: Regenerate.
16385 * config.h.in: Regenerate.
16387 2006-01-21 Steve Ellcey <sje@cup.hp.com>
16390 * configure.ac: Remove check for alloca.h.
16391 * configure: Regenerate.
16392 * config.h.in: Regenerate.
16393 * libgomp.h: define gomp_alloca to be __builtin_alloca.
16394 * team.c: Remove use of alloca.h.
16395 Call gomp_alloca instead of alloca.
16397 2006-01-20 Steve Ellcey <sje@cup.hp.com>
16400 * team.c: Add include of alloca.h.
16401 * configure.ac: Add check for alloca.h.
16402 * configure: Regenerate.
16403 * config.h.in: Regenerate.
16405 2006-01-17 Jakub Jelinek <jakub@redhat.com>
16408 * testsuite/libgomp.fortran/pr25219.f90: New test.
16410 2005-12-05 Uros Bizjak <uros@kss-loka.si>
16412 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
16413 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
16414 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16415 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16416 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
16417 testsuite/libgomp.fortran/threadprivate1.f90,
16418 testsuite/libgomp.fortran/threadprivate2.f90,
16419 testsuite/libgomp.fortran/threadprivate3.f90,
16420 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16421 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16422 testsuite/libgomp.fortran/omp_parse3.f90: Change required
16423 effective-target to TLS runtime.
16425 * testsuite/libgomp.fortran/pr25162.f: Require
16426 effective-target TLS runtime.
16428 2005-12-01 Jakub Jelinek <jakub@redhat.com>
16430 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
16431 * testsuite/libgomp.c/nestedfn-3.c: New test.
16433 2005-11-30 Jakub Jelinek <jakub@redhat.com>
16436 * testsuite/libgomp.fortran/pr25162.f: New test.
16438 2005-11-28 Jakub Jelinek <jakub@redhat.com>
16440 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
16441 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
16443 2005-11-25 Jakub Jelinek <jakub@redhat.com>
16445 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
16446 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
16447 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
16448 single.c, team.c, work.c, config/linux/alpha/futex.h,
16449 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
16450 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
16451 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
16452 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
16453 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
16454 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
16455 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
16458 2005-11-18 Jakub Jelinek <jakub@redhat.com>
16460 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
16461 to nodist_noinst_HEADERS.
16462 * Makefile.in: Rebuilt.
16464 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
16465 add integer count field.
16466 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
16467 omp_nest_lock_t type change.
16468 (omp_init_nest_lock): Likewise. Initialize count to 0.
16469 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
16471 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
16473 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
16474 Increment count if successful and return the new nesting level.
16475 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
16476 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
16477 * testsuite/libgomp.c/lib-1.c: New test.
16478 * testsuite/libgomp.fortran/lib1.f90: New test.
16479 * testsuite/libgomp.fortran/lib2.f: New test.
16480 * testsuite/libgomp.fortran/lib3.f: New test.
16482 2005-11-17 Richard Henderson <rth@redhat.com>
16485 * Makefile.am (nodist_toolexeclib_HEADERS): New.
16486 * configure.ac (link_gomp): New. Substitute it.
16487 (AC_CONFIG_FILES): Add libgomp.spec.
16488 * libgomp.spec.in: New file.
16489 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
16490 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
16492 2005-11-18 Jakub Jelinek <jakub@redhat.com>
16494 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
16495 reduction(-:var) behaving the same as reduction(+:var).
16496 * testsuite/libgomp.c/reduction-4.c: New test.
16498 2005-11-15 Uros Bizjak <uros@kss-loka.si>
16500 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
16501 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
16502 testsuite/libgomp.c/copyin-3.c,
16503 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
16504 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
16505 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
16506 testsuite/libgomp.c++/pr24455.C,
16507 testsuite/libgomp.fortran/threadprivate1.f90,
16508 testsuite/libgomp.fortran/threadprivate2.f90,
16509 testsuite/libgomp.fortran/threadprivate3.f90,
16510 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
16511 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
16512 testsuite/libgomp.fortran/omp_parse3.f90: Require
16513 effective-target TLS.
16515 2005-11-14 Diego Novillo <dnovillo@redhat.com>
16519 2005-11-13 Jakub Jelinek <jakub@redhat.com>
16522 * team.c (initialize_team): Pass NULL rather than free as
16523 pthread_key_create destructor. Initialize thread specific data
16524 pointer in initial thread to a static local variable rather than
16527 2005-11-11 Uros Bizjak <uros@kss-loka.si>
16529 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
16530 its location to ld_library_path.
16532 2005-11-10 Diego Novillo <dnovillo@redhat.com>
16534 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
16536 2005-11-10 Diego Novillo <dnovillo@redhat.com>
16538 * testsuite/libgomp.c: Rename from libgomp.dg.
16540 2005-11-09 Diego Novillo <dnovillo@redhat.com>
16542 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
16543 threadprivate variable 'i'.
16545 2005-11-09 Jakub Jelinek <jakub@redhat.com>
16547 * config/linux/s390/futex.h: New file.
16548 * configure.tgt: Use it.
16550 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
16551 before the parallel.
16553 2005-11-08 Jakub Jelinek <jakub@redhat.com>
16556 * testsuite/libgomp.c++/master-1.C: New test.
16558 2005-11-07 Jakub Jelinek <jakub@redhat.com>
16560 * testsuite/libgomp.dg/copyin-3.c: New test.
16562 2005-11-07 Jakub Jelinek <jakub@redhat.com>
16564 * testsuite/libgomp.fortran/retval1.f90: New test.
16565 * testsuite/libgomp.fortran/vla7.f90: New test.
16567 2005-11-06 Jakub Jelinek <jakub@redhat.com>
16569 * testsuite/libgomp.fortran/vla2.f90: New test.
16570 * testsuite/libgomp.fortran/vla3.f90: New test.
16571 * testsuite/libgomp.fortran/vla4.f90: New test.
16572 * testsuite/libgomp.fortran/vla5.f90: New test.
16573 * testsuite/libgomp.fortran/vla6.f90: New test.
16575 2005-11-01 Jakub Jelinek <jakub@redhat.com>
16577 * config/linux/sparc/futex.h: New file.
16578 * configure.tgt: Use it.
16579 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
16581 * critical.c: Include stdlib.h.
16582 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
16583 ignoring return value.
16584 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
16585 LIBGOMP_CHECK_SYNC_BUILTINS check.
16586 * configure: Rebuilt.
16588 2005-10-31 Jakub Jelinek <jakub@redhat.com>
16590 * testsuite/libgomp.fortran/vla1.f90: New test.
16592 2005-10-31 Richard Henderson <rth@redhat.com>
16594 * testsuite/libgomp.fortran/character2.f90: Fix race condition
16595 setting 's' in different threads.
16597 2005-10-31 Jakub Jelinek <jakub@redhat.com>
16599 * libgomp.h (attribute_hidden, ialias): Define.
16600 * config/posix/proc.c (omp_get_num_procs): Add ialias.
16601 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
16602 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
16603 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16604 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16605 omp_test_lock, omp_test_nest_lock): Likewise.
16606 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
16607 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
16608 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
16609 omp_test_lock, omp_test_nest_lock): Likewise.
16610 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
16611 omp_get_dynamic, omp_get_nested): Likewise.
16612 * parallel.c (omp_get_num_threads, omp_get_max_threads,
16613 omp_get_thread_num, omp_in_parallel): Likewise.
16614 * fortran.c (ialias_redirect): Define.
16615 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
16616 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
16617 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
16618 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
16619 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
16620 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
16621 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
16622 omp_get_wtime): Add ialias_redirect.
16624 2005-10-30 Jakub Jelinek <jakub@redhat.com>
16626 * fortran.c: Include stdlib.h.
16628 2005-10-29 Jakub Jelinek <jakub@redhat.com>
16630 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
16631 * Makefile.in: Regenerated.
16633 2005-10-28 Jakub Jelinek <jakub@redhat.com>
16635 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
16636 * libgomp_f.h.in (omp_check_defines): New function.
16637 * env.c: Include libgomp_f.h.
16638 (initialize_env): Call omp_check_defines.
16640 * testsuite/libgomp.dg/copyin-2.c: New test.
16641 * testsuite/libgomp.c++/copyin-2.C: New test.
16642 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
16644 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
16645 * testsuite/libgomp.fortran/sharing2.f90: New test.
16647 * testsuite/libgomp.dg/copyin-1.c: New test.
16648 * testsuite/libgomp.c++/copyin-1.C: New test.
16650 2005-10-26 Jakub Jelinek <jakub@redhat.com>
16652 * testsuite/libgomp.fortran/crayptr1.f90: New test.
16654 * testsuite/libgomp.fortran/workshare1.f90: New test.
16656 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
16658 * libgomp.fortran/sharing1.f90: New test.
16660 2005-10-24 Jakub Jelinek <jakub@redhat.com>
16663 * testsuite/libgomp.c++/loop-7.C: New test.
16665 * testsuite/libgomp.dg/nestedfn-2.c: New test.
16667 * testsuite/libgomp.dg/nestedfn-1.c: New test.
16668 * testsuite/libgomp.fortran/reduction6.f90: New test.
16669 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
16671 2005-10-23 Richard Henderson <rth@redhat.com>
16673 * testsuite/libgomp.c++/ctor-1.C: New.
16674 * testsuite/libgomp.c++/ctor-2.C: New.
16675 * testsuite/libgomp.c++/ctor-3.C: New.
16676 * testsuite/libgomp.c++/ctor-4.C: New.
16677 * testsuite/libgomp.c++/ctor-5.C: New.
16678 * testsuite/libgomp.c++/ctor-6.C: New.
16679 * testsuite/libgomp.c++/ctor-7.C: New.
16680 * testsuite/libgomp.c++/ctor-8.C: New.
16681 * testsuite/libgomp.c++/ctor-9.C: New.
16683 2005-10-21 Diego Novillo <dnovillo@redhat.com>
16686 * testsuite/libgomp.c++/pr24455-1.C: New test.
16687 * testsuite/libgomp.c++/pr24455.C: New test.
16688 * testsuite/libgomp.dg/pr24455-1.c: New test.
16689 * testsuite/libgomp.dg/pr24455.c: New test.
16691 2005-10-20 Richard Henderson <rth@redhat.com>
16693 * testsuite/libgomp.c++/loop-6.C: New.
16694 * testsuite/libgomp.dg/loop-3.c: New.
16696 2005-10-20 Jakub Jelinek <jakub@redhat.com>
16698 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
16699 explicitly private.
16700 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
16703 2005-10-19 Diego Novillo <dnovillo@redhat.com>
16705 * testsuite/libgomp.fortran/jacobi.f: New test.
16707 2005-10-19 Richard Henderson <rth@redhat.com>
16709 * configure.tgt (i?86-linux): Default to with_arch instead of
16710 CFLAGS. Add -mtune to match target_cpu.
16711 (x86_64-linux): Tune to i686.
16713 * fortran.c (omp_test_nest_lock_): Fix typo.
16715 2005-10-19 Jakub Jelinek <jakub@redhat.com>
16717 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
16718 gomp_ordered_sync): Do nothing if team->nthreads == 1.
16719 * testsuite/libgomp.dg/ordered-3.c: New test.
16721 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
16722 Remove volatile keyword.
16724 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
16725 in COMMON block to avoid warnings on 64-bit targets.
16727 2005-10-18 Diego Novillo <dnovillo@redhat.com>
16729 * testsuite/libgomp.dg/shared-3.c: New test.
16731 2005-10-18 Jakub Jelinek <jakub@redhat.com>
16733 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
16734 * testsuite/libgomp.fortran/reduction5.f90: New test.
16736 2005-10-18 Jakub Jelinek <jakub@redhat.com>
16738 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
16740 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
16741 flush loop now that __sync_synchronize has proper memory barrier.
16742 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
16743 Add -ffixed-form to dg-options.
16745 2005-10-17 Diego Novillo <dnovillo@redhat.com>
16747 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
16748 from subdirectories.
16749 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
16750 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
16751 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
16752 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
16753 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
16754 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
16755 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
16756 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
16757 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
16758 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
16759 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
16760 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
16761 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
16762 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
16763 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
16764 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
16765 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
16766 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
16767 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
16768 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
16769 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
16770 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
16771 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
16772 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
16773 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
16775 2005-10-17 Jakub Jelinek <jakub@redhat.com>
16777 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
16778 lang_library_path exists. Use find instead of glob to gather tests.
16779 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
16781 2005-10-17 Diego Novillo <dnovillo@redhat.com>
16783 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
16784 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
16785 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
16786 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
16787 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
16788 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
16789 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
16790 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
16791 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
16792 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
16793 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
16794 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
16795 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
16797 2005-10-15 Jakub Jelinek <jakub@redhat.com>
16799 * testsuite/libgomp.dg/vla-1.c: New test.
16801 * testsuite/libgomp.fortran/reference2.f90: New test.
16803 * testsuite/libgomp.fortran/character2.f90: Remove explicit
16804 declaration of omp_get_thread_num.
16805 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
16808 * testsuite/libgomp.fortran/reduction1.f90: New test.
16809 * testsuite/libgomp.fortran/reduction2.f90: New test.
16810 * testsuite/libgomp.fortran/reduction3.f90: New test.
16811 * testsuite/libgomp.fortran/reduction4.f90: New test.
16813 2005-10-13 Richard Henderson <rth@redhat.com>
16815 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
16816 * Makefile.in: Regenerate.
16817 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
16818 * libgomp.h: Include bar.h.
16819 (struct gomp_barrier): Remove.
16820 (struct gomp_team): Add barrier. Replace master_barrier with
16821 master_release. Replace threads with ordered_release.
16822 (struct gomp_thread): Replace barrier with release.
16823 * ordered.c (gomp_ordered_first): Update for ordered_release change.
16824 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
16825 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
16826 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
16827 (GOMP_single_copy_end): Likewise.
16828 * team.c (gomp_threads_dock): New.
16829 (gomp_barrier_init, gomp_barrier_destroy): Remove.
16830 (gomp_thread_start): Use gomp_barrier_wait.
16831 (new_team, free_team): Update for gomp_team changes.
16832 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
16833 (gomp_team_end): Use gomp_barrier_wait.
16834 (initialize_team): Update for gomp_thread changes.
16835 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
16836 (gomp_work_share_end_nowait): Use atomic ops when available.
16837 * config/linux/bar.c, config/linux/bar.h: New files.
16838 * config/posix/bar.c, config/posix/bar.h: New files.
16840 2005-10-13 Jakub Jelinek <jakub@redhat.com>
16842 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
16843 * testsuite/libgomp.dg/single-2.c: New test.
16845 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
16846 lang_link_flags): Unset, so that they aren't inherited from previously
16849 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
16851 2005-10-12 Richard Henderson <rth@redhat.com>
16853 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
16854 (libgomp_init): Use lang_test_file, lang_library_path, and
16855 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
16857 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
16858 (lang_test_file, lang_link_flags): New.
16859 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
16861 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
16862 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
16863 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
16864 testsuite/libgomp.c++/parallel-1.C,
16865 testsuite/libgomp.c++/reduction-1.C,
16866 testsuite/libgomp.c++/reduction-2.C,
16867 testsuite/libgomp.c++/reduction-3.C,
16868 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
16869 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
16870 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
16871 New files, largely cribbed from the C testsuite.
16873 2005-10-12 Jakub Jelinek <jakub@redhat.com>
16875 * testsuite/libgomp.fortran/character1.f90: New test.
16876 * testsuite/libgomp.fortran/character2.f90: New test.
16878 * testsuite/libgomp.dg/nested-1.c: New test.
16879 * testsuite/libgomp.dg/nested-2.c: New test.
16880 * testsuite/libgomp.fortran/do1.f90: New test.
16881 * testsuite/libgomp.fortran/do2.f90: New test.
16883 * testsuite/libgomp.fortran/reference1.f90: New test.
16885 2005-10-11 Jakub Jelinek <jakub@redhat.com>
16887 * testsuite/libgomp.dg/reduction-1.c: New test.
16888 * testsuite/libgomp.dg/reduction-2.c: New test.
16889 * testsuite/libgomp.dg/reduction-3.c: New test.
16891 2005-10-10 Jakub Jelinek <jakub@redhat.com>
16893 * testsuite/libgomp.dg/atomic-1.c: New test.
16894 * testsuite/libgomp.dg/atomic-2.c: New test.
16896 2005-10-09 Richard Henderson <rth@redhat.com>
16898 * critical.c (atomic_lock): New.
16899 (initialize_critical): Initialize it.
16900 (GOMP_atomic_start, GOMP_atomic_end): New.
16901 * libgomp.map: Export them.
16902 * libgomp_g.h: Declare them.
16904 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
16906 2005-10-02 Richard Henderson <rth@redhat.com>
16908 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
16909 to XCFLAGS instead of CFLAGS.
16911 2005-09-30 Richard Henderson <rth@redhat.com>
16913 * configure.ac: Determine whether -pthread or -lpthread is needed.
16914 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
16915 * Makefile.in, configure: Rebuild.
16917 2005-09-28 Richard Henderson <rth@redhat.com>
16919 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
16920 * testsuite/libgomp.dg/omp-single-3.c: New test.
16922 2005-09-28 Diego Novillo <dnovillo@redhat.com>
16924 * testsuite/libgomp.dg/omp-single-2.c: New test.
16925 * testsuite/libgomp.dg/shared-2.c: Fix return code.
16927 2005-09-27 Richard Henderson <rth@redhat.com>
16929 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
16930 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
16932 2005-09-27 Jakub Jelinek <jakub@redhat.com>
16934 * testsuite/libgomp.dg/omp-loop03.c: New test.
16936 2005-09-27 Diego Novillo <dnovillo@redhat.com>
16938 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
16940 2005-09-27 Diego Novillo <dnovillo@redhat.com>
16942 * testsuite/libgomp.dg/omp-single-1.c: New test.
16943 * testsuite/libgomp.dg/shared-1.c: Return 0.
16944 Add prototype for abort.
16945 * testsuite/libgomp.dg/shared-2.c: Likewise.
16947 2005-09-26 Jakub Jelinek <jakub@redhat.com>
16949 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
16952 2005-09-26 Diego Novillo <dnovillo@redhat.com>
16954 * testsuite/libgomp.dg/shared-1.c: New test.
16955 * testsuite/libgomp.dg/shared-2.c: New test.
16957 2005-09-24 Richard Henderson <rth@redhat.com>
16959 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
16961 2005-09-24 Richard Henderson <rth@redhat.com>
16963 * iter.c (gomp_iter_static_next): Round up when computing number
16964 of iterations. Don't bother distributing a remainder equally.
16966 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
16967 Don't call srand. Zero b before testing.
16970 2005-09-24 Jakub Jelinek <jakub@redhat.com>
16972 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
16973 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
16975 2005-09-23 Jakub Jelinek <jakub@redhat.com>
16977 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
16978 without !$omp end do, followed immediately by subroutine end.
16980 2005-09-23 Diego Novillo <dnovillo@redhat.com>
16982 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
16984 2005-09-22 Richard Henderson <rth@redhat.com>
16986 * critical.c (GOMP_critical_name_start): Change argument to void**.
16987 Reuse the pointer space if the mutex fits.
16988 (GOMP_critical_name_end): Likewise.
16989 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
16990 * libgomp_g.h (GOMP_critical_name_start): Update decl.
16991 (GOMP_critical_name_end): Likewise.
16992 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
16993 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
16995 2005-09-20 Richard Henderson <rth@redhat.com>
16997 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
16998 (create_lock_lock): New.
16999 (initialize_critical): Initialize it.
17000 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
17001 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
17003 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17005 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
17007 2005-09-20 Diego Novillo <dnovillo@redhat.com>
17009 * testsuite/libgomp.dg/omp-loop01.c: New test.
17010 * testsuite/libgomp.dg/omp-loop02.c: New test.
17012 2005-09-20 Jakub Jelinek <jakub@redhat.com>
17014 * configure.ac (AC_PROG_FC): Add.
17015 (USE_FORTRAN): New automake conditional.
17016 * configure: Rebuilt.
17017 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
17018 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
17019 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
17020 Add rules to build them.
17021 * Makefile.in: Rebuilt.
17022 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
17023 OMP_NEST_LOCK_KIND.
17024 * libgomp.map: Add Fortran wrappers.
17025 * libgomp_f.h.in: New file.
17026 * omp_lib.h.in: New file.
17027 * omp_lib.f90.in: New file.
17028 * fortran.c: New file.
17029 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
17030 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
17031 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
17032 libgfortran has been built.
17033 * testsuite/libgomp.fortran/fortran.exp: New file.
17034 * testsuite/libgomp.fortran/omp_cond1.f: New test.
17035 * testsuite/libgomp.fortran/omp_cond2.f: New test.
17036 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
17037 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
17038 * testsuite/libgomp.fortran/omp_hello.f: New test.
17039 * testsuite/libgomp.fortran/omp_orphan.f: New test.
17040 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
17041 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
17042 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
17043 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
17044 * testsuite/libgomp.fortran/omp_reduction.f: New test.
17045 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
17046 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
17048 2005-08-30 Richard Henderson <rth@redhat.com>
17050 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
17051 function for when aliases are not usable.
17052 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
17053 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17054 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
17055 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
17056 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
17057 GOMP_loop_ordered_guided_next): Likewise.
17058 * ordered.c (GOMP_ordered_start): Likewise.
17060 2005-08-01 Diego Novillo <dnovillo@redhat.com>
17062 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
17063 * testsuite/libgomp.dg/omp_hello.c: Fix return code
17064 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
17065 * testsuite/libgomp.dg/omp_orphan.c: Likewise
17066 * testsuite/libgomp.dg/omp_reduction.c: Likewise
17067 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
17068 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
17069 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
17070 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
17072 2005-07-07 Eric Christopher <echristo@redhat.com>
17073 Diego Novillo <dnovillo@redhat.com>
17075 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
17076 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
17078 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
17079 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
17080 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
17081 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
17082 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
17083 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
17084 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
17086 2005-06-13 Diego Novillo <dnovillo@redhat.com>
17088 * TOPLEVEL.patch: Remove.
17090 2005-05-16 Richard Henderson <rth@redhat.com>
17092 * configure.ac: Test for clock_gettime.
17093 * config.h.in, configure: Rebuild.
17094 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
17095 (omp_get_wtime): Use clock_gettime if available.
17096 (omp_get_wtick): Use clock_getres if available.
17098 2005-05-11 Richard Henderson <rth@redhat.com>
17100 * config/linux/ia64/futex.h: New file.
17101 * configure.tgt: Use it.
17103 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
17105 2005-05-07 Richard Henderson <rth@redhat.com>
17107 * config/linux/powerpc/futex.h: New file.
17108 * configure.tgt: Use it.
17110 * config/linux/i486/futex.h: Merge ...
17111 * config/linux/x86_64/futex.h: ... into ...
17112 * config/linux/x86/futex.h: ... here.
17113 * configure.tgt: Update to match.
17115 2005-05-06 Richard Henderson <rth@redhat.com>
17117 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
17118 * config/linux/i486/futex.h: Likewise.
17119 * config/linux/x86_64/futex.h: Likewise.
17121 * config/linux/lock.c: New file.
17122 * config/linux/omp-lock.h: New file.
17124 * critical.c, env.h: Don't include omp.h
17125 * config/posix/lock.c: Include libgomp.h instead of omp.h.
17126 * config/posix/time.c: Likewise.
17127 * config/posix/omp-lock.h: New file.
17128 * libgomp.h: Include omp-lock.h and omp.h.
17129 * Makefile.am (nodist_include_HEADERS): New.
17131 * configure.ac (PERL): New.
17132 * mkomp_h.pl: New file.
17133 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
17135 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
17137 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
17138 build directory. Re-add -march=i486 hack.
17140 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
17141 (libgomp_link_flags): Remove.
17142 (libgomp_initialized): Remove.
17143 (libgomp_init): Don't protect from reinitialization. Copy code
17144 from libstdc++ for getting the multilib set correctly.
17146 2005-05-05 Richard Henderson <rth@redhat.com>
17148 * config/linux/alpha/futex.h: New file.
17149 * configure.tgt (alpha*-*-linux*): Use it.
17151 * config/posix/mutex.c: New file.
17152 * config/posix/sem.c: Use libgomp.h.
17154 * configure.tgt (x86_64-linux): Also test CC for -m32.
17155 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
17157 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
17160 * Makefile.am (SUBDIRS): New.
17161 (libgomp_la_LDFLAGS): Add -lpthread.
17162 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
17163 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
17165 * libgomp_g.h: New file.
17166 * libgomp.h: Split out all public declarations to libgomp_g.h.
17167 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
17168 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
17169 * config/linux/sem.h: Likewise.
17170 * config/posix/sem.h: Likewise.
17172 * Makefile.am (AM_LDFLAGS): New.
17173 (libgomp_version_script): Split out from ...
17174 (libgomp_la_LDFLAGS): ... here.
17175 (libgomp_version_info): New.
17176 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
17177 (LIBGOMP_ENABLE): New.
17178 (LIBGOMP_CHECK_LINKER_FEATURES): New.
17179 (LIBGOMP_ENABLE_SYMVERS): New.
17180 * configure.ac (AC_INIT): Version 1.0.
17181 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
17182 (enable-linux-futex): Likewise. Rename from enable-futex.
17183 (libtool_VERSION): New.
17184 (LIBGOMP_ENABLE_SYMVERS): Use it.
17185 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
17186 * Makefile.in, aclocal.m4, configure: Rebuild.
17188 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
17189 (gomp_mutex_unlock_slow): Fix typo.
17190 * config/linux/sem.c: Similarly.
17191 (gomp_sem_post_slow): Fix typo.
17192 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
17193 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
17194 [__PIC__] (sys_futex0): Don't use tmp output in asm.
17196 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
17197 (libgomp_la_LDFLAGS): Add top_srcdir to path.
17198 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
17199 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
17200 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
17201 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
17202 LDFLAGS. Pull enable_futex check to top-level.
17203 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
17204 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
17206 First attempt at real configury.
17207 * Makefile, config.h: Remove file.
17208 * Makefile.am, Makefile.in: New file.
17209 * acinclude.m4 aclocal.m4: New file.
17210 * configure.ac, configure.tgt, configure: New file.
17212 * config/posix/lock.c: Rename from sys-lock.c.
17213 * config/posix/mutex.h: Rename from sys-mutex.h.
17214 * config/posix/sem.c: Rename from sys-sem.c.
17215 * config/posix/sem.h: Rename from sys-sem.h.
17216 * config/posix/proc.c: Rename from sys-proc.c.
17217 * config/posix/time.c: Rename from sys-proc.c.
17219 * config/linux/mutex.c: New file.
17220 * config/linux/mutex.h: New file.
17221 * config/linux/sem.c: New file.
17222 * config/linux/sem.h: New file.
17223 * config/linux/i486/futex.h: New file.
17224 * config/linux/x86_64/futex.h: New file.
17226 2005-05-04 Richard Henderson <rth@redhat.com>
17228 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
17229 * libgomp.h: Declare them.
17230 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
17231 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
17233 2005-05-04 Richard Henderson <rth@redhat.com>
17235 * libgomp-1 code drop
17237 2005-05-04 Richard Henderson <rth@redhat.com>
17239 * iter.c (gomp_iter_static_next): Return tri-state on 0.
17240 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
17241 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
17242 (gomp_iter_static_next): Update.
17243 (gomp_ordered_static_next): Update.
17244 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
17245 (gomp_loop_ordered_static_start): Likewise. Exit early for a
17246 totally empty range.
17247 (gomp_loop_ordered_static_next): Refine test for calling
17248 gomp_ordered_static_next.
17249 * testsuite/ordered-1.c: Add case for more threads than iterations.
17251 * iter.c (gomp_iter_runtime_next_locked): Remove.
17252 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
17253 gomp_loop_guided_start, gomp_loop_ordered_static_start,
17254 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
17255 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
17256 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
17257 gomp_loop_ordered_guided_next): Downcase name, make static, add
17258 an external alias with the old name.
17259 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
17260 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
17261 switch and call one of the above static functions.
17262 * libgomp.h: Update.
17264 * work.c (gomp_work_share_start): Lock the mutex for !first too.
17265 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
17266 GOMP_loop_guided_start, GOMP_loop_runtime_start,
17267 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
17268 GOMP_loop_ordered_guided_start): Update to match.
17269 * sections.c (GOMP_sections_start): Likewise.
17270 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
17272 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
17273 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
17274 Use bounds check instead of modulus.
17275 (gomp_ordered_sync): Split out of GOMP_ordered_start.
17276 (gomp_ordered_last): Don't sync with ordered_owner here.
17277 (gomp_ordered_next): Likewise.
17278 (gomp_ordered_static_loop_next): Likewise.
17279 * loop.c, libgomp.h: Update to match.
17281 * libgomp.h (GOMP_barrier): Declare.
17283 * testsuite/barrier-1.c: New file.
17284 * testsuite/critical-1.c: New file.
17285 * testsuite/ordered-2.c: New file.
17286 * testsuite/ordered-1.c: New file.
17287 * testsuite/sections-1.c: New file.
17288 * testsuite/single-1.c: New file.
17289 * testsuite/Makefile (TESTS): Add them.
17291 2005-05-04 Richard Henderson <rth@redhat.com>
17293 * libgomp.h (struct gomp_work_share): Add ordered_owner.
17294 * loop.c (GOMP_loop_static_start): If not the startup thread,
17295 acquire the mutex to wait for initialization complete.
17296 (GOMP_loop_ordered_static_start): Likewise.
17297 (GOMP_loop_ordered_runtime_start): Likewise.
17298 (GOMP_loop_ordered_static_first): Remove.
17299 (GOMP_loop_ordered_dynamic_first): Remove.
17300 (GOMP_loop_ordered_guided_first): Remove.
17301 (GOMP_loop_ordered_runtime_first): Remove.
17302 * ordered.c (gomp_ordered_loop_first): Post to own release when
17303 we're the first thread.
17304 (gomp_ordered_loop_last): Wait on release if not owner.
17305 (gomp_ordered_loop_next): Likewise.
17306 (gomp_ordered_static_loop_init): New.
17307 (gomp_ordered_static_loop_next): Use ordered_owner.
17308 (GOMP_ordered_start): Likewise.
17309 * work.c (gomp_new_work_share): Initialize ordered_owner.
17311 2005-05-03 Richard Henderson <rth@redhat.com>
17313 * Makefile (OPT): New.
17316 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
17317 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
17318 * libgomp.h, libgomp.map, NOTES: Update to match.
17320 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
17321 Add initialized and thr members.
17322 (gomp_thread_start): Pause when initially spawned to wait for
17323 the whole team to be created.
17324 (gomp_team_start): Release team members at the end.
17326 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
17327 (f_foo_1): Use GOMP_loop_end.
17328 (f_foo_2): Use GOMP_loop_end_nowait.
17330 * testsuite/loop-2.c: New file.
17331 * testsuite/Makefile (TESTS): Add it.
17333 2005-05-03 Richard Henderson <rth@redhat.com>
17335 * iter.c (gomp_iter_static_next): Fix overflow check typo.
17336 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
17337 * team.c (new_team): Initialize oldest_live_gen to 1 if no
17338 initial work_share.
17340 * testsuite/Makefile: New file.
17341 * testsuite/loop-1.c: New file.
17343 2005-05-03 Richard Henderson <rth@redhat.com>
17345 Initial implementation and checkin.
17347 Copyright (C) 2005-2022 Free Software Foundation, Inc.
17349 Copying and distribution of this file, with or without modification,
17350 are permitted in any medium without royalty provided the copyright
17351 notice and this notice are preserved.